96 Commits

Author SHA1 Message Date
Shivam Mathur
e303256c08 Update Node.js dependenices
Bump version to 1.10.0
2023-07-29 22:37:26 +05:30
Shivam Mathur
63adf40f8c Try to fix packages before installing libraries 2023-07-29 22:33:18 +05:30
github-actions[bot]
7d0d256df1 Updating lists 2023-06-22 15:04:14 +00:00
github-actions[bot]
f6bffb2308 Updating lists 2023-05-19 15:04:12 +00:00
Shivam Mathur
5e752a9c57 Merge pull request #31 from shivammathur/dependabot/npm_and_yarn/xml2js-and-azure/ms-rest-js-and-azure/storage-blob-0.5.0
Bump xml2js, @azure/ms-rest-js and @azure/storage-blob
2023-04-17 07:36:39 +05:30
dependabot[bot]
a0de9172f2 Bump xml2js, @azure/ms-rest-js and @azure/storage-blob
Bumps [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js), [@azure/ms-rest-js](https://github.com/Azure/ms-rest-js) and [@azure/storage-blob](https://github.com/Azure/azure-sdk-for-js). These dependencies needed to be updated together.

Updates `xml2js` from 0.4.23 to 0.5.0
- [Release notes](https://github.com/Leonidas-from-XIV/node-xml2js/releases)
- [Commits](https://github.com/Leonidas-from-XIV/node-xml2js/commits/0.5.0)

Updates `@azure/ms-rest-js` from 2.6.1 to 2.6.6
- [Release notes](https://github.com/Azure/ms-rest-js/releases)
- [Changelog](https://github.com/Azure/ms-rest-js/blob/master/Changelog.md)
- [Commits](https://github.com/Azure/ms-rest-js/commits)

Updates `@azure/storage-blob` from 12.10.0 to 12.14.0
- [Release notes](https://github.com/Azure/azure-sdk-for-js/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-js/blob/main/documentation/Changelog-for-next-generation.md)
- [Commits](https://github.com/Azure/azure-sdk-for-js/compare/@azure/storage-blob_12.10.0...@azure/storage-blob_12.14.0)

---
updated-dependencies:
- dependency-name: xml2js
  dependency-type: indirect
- dependency-name: "@azure/ms-rest-js"
  dependency-type: indirect
- dependency-name: "@azure/storage-blob"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-17 01:49:18 +00:00
Shivam Mathur
5c19332f87 Bump version to 1.9.1
Add support for php-version-file

Update Node.js dependencies
2023-04-17 07:17:34 +05:30
Shivam Mathur
c8177cca56 Drop support for ubuntu 18.04 2023-04-04 15:07:22 +00:00
github-actions[bot]
15d69f21b8 Updating lists 2023-02-09 15:04:15 +00:00
Shivam Mathur
e13a77655f Happy new year 🎉 [skip ci] 2023-02-09 12:57:05 +05:30
github-actions[bot]
680ac6a4c1 Updating lists 2023-01-29 03:23:52 +00:00
Shivam Mathur
b433d435c1 Add PHP 8.3 to the README 2023-01-29 03:41:20 +05:30
Shivam Mathur
d6a8ec7cfb Merge pull request #30 from danepowell/cache-v3
use cache@v3
2023-01-24 21:28:43 +05:30
Dane Powell
41dbe75153 use cache@v3 2023-01-24 07:48:02 -08:00
github-actions[bot]
dafd61109e Updating lists 2023-01-20 15:04:21 +00:00
github-actions[bot]
581f023de0 Updating lists 2023-01-19 15:04:22 +00:00
github-actions[bot]
56ea88f536 Updating lists 2023-01-14 15:04:08 +00:00
github-actions[bot]
1970264699 Updating lists 2023-01-12 15:06:56 +00:00
github-actions[bot]
e119b54661 Updating lists 2023-01-11 15:07:15 +00:00
Shivam Mathur
efbaf97d0a Merge pull request #29 from shivammathur/dependabot/npm_and_yarn/json5-1.0.2
Bump json5 from 1.0.1 to 1.0.2
2023-01-08 17:16:40 +05:30
dependabot[bot]
a8ecef19ac Bump json5 from 1.0.1 to 1.0.2
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-08 06:57:19 +00:00
Shivam Mathur
bb222c3f18 Update README 2022-12-26 03:53:52 +05:30
github-actions[bot]
aedfae77ea Updating lists 2022-12-22 15:04:41 +00:00
github-actions[bot]
ad807e7d2c Updating lists 2022-12-15 15:04:37 +00:00
Shivam Mathur
38fa3d98ee Fix package regex in linux.sh 2022-12-11 03:40:02 +05:30
github-actions[bot]
861c58f080 Updating lists 2022-12-01 15:04:37 +00:00
github-actions[bot]
2ac4a0798e Updating lists 2022-11-24 15:04:13 +00:00
github-actions[bot]
021b07a2b2 Updating lists 2022-11-17 15:04:39 +00:00
github-actions[bot]
dc54f0353a Updating lists 2022-11-16 15:04:44 +00:00
github-actions[bot]
fd65aac1a3 Updating lists 2022-11-13 15:04:57 +00:00
github-actions[bot]
1dd1fede85 Updating lists 2022-11-03 15:05:44 +00:00
github-actions[bot]
f453437052 Updating lists 2022-10-27 15:04:43 +00:00
Shivam Mathur
813b6608e7 Update actions 2022-10-12 17:03:25 +05:30
Shivam Mathur
10843c9071 Bump version to 1.9.0
Bump Node.js dependencies
2022-10-12 16:51:25 +05:30
Shivam Mathur
db6bf65bd9 Switch to $GITHUB_OUTPUT 2022-10-12 16:44:36 +05:30
Shivam Mathur
d33ccd80be Add brew to PATH 2022-09-26 15:21:48 +00:00
github-actions[bot]
46aa274405 Updating lists 2022-09-07 15:05:11 +00:00
Shivam Mathur
9e9ad0fe5f Fix typo in ln command in darwin.sh 2022-09-05 17:35:22 +05:30
Shivam Mathur
f23390933a Remove ca-certificates formula update workaround 2022-09-05 17:28:11 +05:30
Shivam Mathur
c64a1a91b0 Manually link brew libraries on failure 2022-09-05 17:27:11 +05:30
Shivam Mathur
7e3a83aacd Add uses_from_macos libraries in cache on macOS 2022-09-02 16:55:46 +05:30
Shivam Mathur
c157badb12 Reset cache date to 20220831 2022-08-31 18:22:10 +05:30
Shivam Mathur
b47f0a89fb Bump version to 1.8.2
Bump Node.js dependencies
2022-08-30 14:43:45 +05:30
Shivam Mathur
58311d5340 Fix regex in check for valid package names 2022-08-30 14:36:45 +05:30
Shivam Mathur
55034917ed Use dpkg --print-architecture 2022-08-30 14:27:37 +05:30
github-actions[bot]
114c7bf40c Updating lists 2022-08-30 08:39:14 +00:00
Shivam Mathur
567dc865bb Add check for valid package names 2022-08-30 13:38:54 +05:30
Shivam Mathur
4f05196702 Bump version to 1.8.1 2022-08-19 06:03:29 +05:30
github-actions[bot]
ca0d32e2b6 Updating lists 2022-07-26 15:05:17 +00:00
github-actions[bot]
9e26d5f265 Updating lists 2022-07-19 15:11:26 +00:00
github-actions[bot]
9e71412838 Updating lists 2022-07-15 19:24:14 +00:00
github-actions[bot]
b75ff681db Updating lists 2022-07-12 15:08:02 +00:00
github-actions[bot]
bbf97e5a63 Updating lists 2022-07-11 15:15:18 +00:00
github-actions[bot]
c594f79a40 Updating lists 2022-07-05 10:05:22 +00:00
github-actions[bot]
88dd43cc51 Updating lists 2022-06-02 15:05:32 +00:00
Shivam Mathur
b9595b0dae Create deps directory in RUNNER_TOOL_CACHE 2022-05-30 13:40:39 +05:30
Shivam Mathur
d6ac7eb3e1 Check for dependency directory before saving cache 2022-05-30 13:25:36 +05:30
Shivam Mathur
845ca860fc Bump version to 1.8.0 2022-05-30 11:18:37 +05:30
github-actions[bot]
67605e7cb2 Updating lists 2022-05-30 05:41:41 +00:00
Shivam Mathur
a96cc5f73c Add support for ubuntu-22.04 2022-05-30 11:07:44 +05:30
github-actions[bot]
111a9ae78c Updating lists 2022-05-24 13:52:44 +00:00
github-actions[bot]
51ce802077 Updating lists 2022-04-07 15:13:17 +00:00
github-actions[bot]
6f1e8c47b9 Updating lists 2022-04-06 15:13:20 +00:00
github-actions[bot]
0a28ecc62d Updating lists 2022-04-04 15:08:21 +00:00
Shivam Mathur
257e3c93fb Handle cache errors 2022-03-22 10:31:41 +05:30
Shivam Mathur
f1c2fee180 Clear cache for mongodb and http on macOS 2022-03-04 07:01:05 +05:30
Shivam Mathur
bc065e2169 Bump actions/checkout to v3 2022-03-02 03:16:14 +00:00
Shivam Mathur
f77feb6ec0 Bump Node.js dependencies 2022-03-01 21:06:18 +05:30
Shivam Mathur
850e46eba6 Reset cache for vips on macOS 2022-02-24 23:25:53 +05:30
Shivam Mathur
fe198edd1a Bump version to 1.7.1 2022-02-10 06:54:20 +05:30
Shivam Mathur
9c9aa7fd23 Improve node tests workflow 2022-02-10 06:47:30 +05:30
Shivam Mathur
24eb15e5fa Fix import in cache.test.ts 2022-02-10 06:42:53 +05:30
Shivam Mathur
2f6e2f662c Add CodeQL workflow 2022-02-10 06:38:32 +05:30
Shivam Mathur
a4da3200ee Update Node.js dependencies 2022-02-10 06:38:32 +05:30
github-actions[bot]
959ba21b72 Updating lists 2022-01-18 15:14:29 +00:00
Shivam Mathur
5f06df1e0f Happy new year [skip ci] 2022-01-02 08:52:17 +00:00
Shivam Mathur
0d8f2cf62b Refactor workflows 2021-12-17 18:27:03 +05:30
Shivam Mathur
03f7f56b30 Bump Node version to 16.x 2021-12-17 18:27:03 +05:30
Shivam Mathur
79c4acf033 Add npm release workflow 2021-12-17 18:27:02 +05:30
Shivam Mathur
a173299cf0 Bump version to 1.7.0 2021-12-17 18:26:20 +05:30
Shivam Mathur
b0f769600b Add repo, workflow and job in cache key
Reset cache date
2021-12-17 09:53:59 +00:00
github-actions[bot]
fd96c6ef49 Updating lists 2021-12-13 15:05:37 +00:00
Shivam Mathur
506c0905f4 Update versions in README 2021-12-06 08:26:51 +05:30
github-actions[bot]
f509c0eeeb Updating lists 2021-12-02 15:02:55 +00:00
Shivam Mathur
354b2b75c4 Reset cache for PHP 8.1 and above 2021-11-24 13:02:42 +00:00
github-actions[bot]
75fdf09203 Updating lists 2021-11-10 15:12:14 +00:00
Shivam Mathur
2f58e22e3c Reset cache for imap on macOS 2021-10-22 11:36:38 +05:30
Shivam Mathur
2e789925e4 Bump macos cache 2021-10-05 13:09:10 +05:30
Shivam Mathur
5b215c413b Add patch for ca-certificate and reset cache on darwin 2021-10-05 12:54:35 +05:30
Shivam Mathur
20eb4f1c8b Update README 2021-09-27 04:01:02 +05:30
Shivam Mathur
21e27c8c67 Remove Ubuntu 16.04
Use /etc/os-release in release workflow
2021-09-22 05:34:52 +05:30
Shivam Mathur
da8a00bfab Suppress error if library is from lists 2021-09-19 20:09:38 +05:30
Shivam Mathur
59bc1e6fcf Fix to add dependency extensions config 2021-09-19 16:07:21 +05:30
Shivam Mathur
9b4ef64d32 Fix filter_extensions in darwin.sh 2021-09-19 08:03:18 +05:30
Shivam Mathur
e51a646160 Improve support for extensions with custom support on setup-php 2021-09-19 07:53:27 +05:30
Shivam Mathur
da71add69c Bump version to 1.6.2
Update Node.js dependencies
2021-09-19 06:28:55 +05:30
24 changed files with 24206 additions and 25548 deletions

View File

@@ -0,0 +1,4 @@
name : CodeQL Configuration
paths:
- './src'

25
.github/workflows/codeql.yml vendored Normal file
View File

@@ -0,0 +1,25 @@
name: CodeQL Workflow
on:
workflow_dispatch:
schedule:
- cron: '0 15 * * 6'
jobs:
codeql:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
config-file: ./.github/codeql/codeql-configuration.yml
languages: javascript
- name: Autobuild
uses: github/codeql-action/autobuild@v2
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2

View File

@@ -1,4 +1,4 @@
name: Release workflow name: Git release workflow
on: on:
workflow_dispatch: workflow_dispatch:
schedule: schedule:
@@ -10,14 +10,14 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
os: [ubuntu-20.04, ubuntu-18.04, ubuntu-16.04] os: [ubuntu-22.04, ubuntu-20.04]
steps: steps:
- name: Update lists - name: Update lists
run: | run: |
. /etc/lsb-release . /etc/os-release
dpkg -l | awk '($1 == "ii") && ($2 ~ /^lib|lib$/) { print $2 }' | sed 's/:amd64//' > /tmp/"$DISTRIB_CODENAME"-libs dpkg -l | awk '($1 == "ii") && ($2 ~ /^lib|lib$/) { print $2 }' | sed 's/:amd64//' > /tmp/"$VERSION_CODENAME"-libs
- name: Upload Artifact - name: Upload Artifact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v3
with: with:
name: lists name: lists
path: | path: |
@@ -29,15 +29,17 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v3
with: with:
ref: develop ref: develop
fetch-depth: 0 fetch-depth: 0
- name: Download lists - name: Download lists
uses: actions/download-artifact@v2 uses: actions/download-artifact@v3
with: with:
name: lists name: lists
path: src/lists path: src/lists
- name: Add brew to PATH
run: echo "/home/linuxbrew/.linuxbrew/bin" >> $GITHUB_PATH
- name: Update darwin extensions list - name: Update darwin extensions list
run: | run: |
brew tap shivammathur/extensions brew tap shivammathur/extensions

61
.github/workflows/node-release.yml vendored Normal file
View File

@@ -0,0 +1,61 @@
name: Node release workflow
on:
release:
types: [created]
workflow_dispatch:
inputs:
skip:
description: Skip release to repository
required: false
tag:
description: Tag name
required: true
jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout release
if: github.event_name != 'workflow_dispatch'
uses: actions/checkout@v3
- name: Checkout tag
uses: actions/checkout@v3
if: github.event_name == 'workflow_dispatch'
with:
ref: ${{ github.event.inputs.tag }}
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '16.x'
registry-url: https://registry.npmjs.org
- name: Install dependencies and add lib
run: |
npm install
npm run build
sed -i -e '/lib\//d' .gitignore
- name: Publish to NPM
if: "!contains(github.event.inputs.skip, 'skip-npm')"
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Change to GitHub Packages registry
uses: actions/setup-node@v3
with:
registry-url: https://npm.pkg.github.com
scope: '@shivammathur'
- name: Patch package.json
run: |
sed -i 's#"name": "#"name": "@shivammathur/#' package.json
- name: Publish to GitHub Packages
if: "!contains(github.event.inputs.skip, 'skip-github-packages')"
run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

41
.github/workflows/node-test.yml vendored Normal file
View File

@@ -0,0 +1,41 @@
name: Node test workflow
on: [push, pull_request]
jobs:
run:
name: Run
runs-on: ${{ matrix.operating-system }}
strategy:
fail-fast: false
matrix:
operating-system: [ubuntu-latest, windows-latest, macos-latest]
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Setup Node.js 16.x
uses: actions/setup-node@v3
with:
node-version: 16.x
- name: Install dependencies
run: npm install
- name: Prettier Format Check
run: npm run format-check
- name: ESLint Check
run: npm run lint
- name: Run npm audit
run: npm audit
- name: Send Coverage
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: coverage/lcov.info
name: github-actions-codecov-${{ matrix.operating-system }}
fail_ci_if_error: false
verbose: true

View File

@@ -1,31 +0,0 @@
name: Main workflow
on: [push, pull_request]
jobs:
run:
name: Run
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Install dependencies
run: npm install
- name: Prettier Format Check
run: npm run format-check
- name: ESLint Check
run: npm run lint
- name: Run tests
run: npm test
- name: Send Coverage
continue-on-error: true
timeout-minutes: 1
run: curl -s https://codecov.io/bash | bash -s -- -t ${{secrets.CODECOV_TOKEN}} -f coverage/clover.xml -n github-actions-codecov-${{ matrix.operating-system }}-php${{ matrix.php-versions }}

View File

@@ -1,7 +1,7 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2020 shivammathur and contributors Copyright (c) 2020-2023 shivammathur and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View File

@@ -4,7 +4,7 @@
<a href="https://github.com/shivammathur/cache-extensions" title="Cache PHP extensions in GitHub Actions"><img alt="GitHub Actions status" src="https://github.com/shivammathur/cache-extensions/workflows/Main%20workflow/badge.svg"></a> <a href="https://github.com/shivammathur/cache-extensions" title="Cache PHP extensions in GitHub Actions"><img alt="GitHub Actions status" src="https://github.com/shivammathur/cache-extensions/workflows/Main%20workflow/badge.svg"></a>
<a href="https://codecov.io/gh/shivammathur/cache-extensions" title="Code coverage"><img alt="Codecov Code Coverage" src="https://codecov.io/gh/shivammathur/cache-extensions/branch/master/graph/badge.svg"></a> <a href="https://codecov.io/gh/shivammathur/cache-extensions" title="Code coverage"><img alt="Codecov Code Coverage" src="https://codecov.io/gh/shivammathur/cache-extensions/branch/master/graph/badge.svg"></a>
<a href="https://github.com/shivammathur/cache-extensions/blob/master/LICENSE" title="license"><img alt="LICENSE" src="https://img.shields.io/badge/license-MIT-428f7e.svg?logo=open%20source%20initiative&logoColor=white&labelColor=555555"></a> <a href="https://github.com/shivammathur/cache-extensions/blob/master/LICENSE" title="license"><img alt="LICENSE" src="https://img.shields.io/badge/license-MIT-428f7e.svg?logo=open%20source%20initiative&logoColor=white&labelColor=555555"></a>
<a href="#tada-php-support" title="PHP Versions Supported"><img alt="PHP Versions Supported" src="https://img.shields.io/badge/php-5.3%20to%208.1-777bb3.svg?logo=php&logoColor=white&labelColor=555555"></a> <a href="#tada-php-support" title="PHP Versions Supported"><img alt="PHP Versions Supported" src="https://img.shields.io/badge/php-5.3%20to%208.3-777bb3.svg?logo=php&logoColor=white&labelColor=555555"></a>
</p> </p>
Cache PHP extensions in [GitHub Actions](https://github.com/features/actions "GitHub Actions"). This action has to be used along with [shivammathur/setup-php](https://github.com/shivammathur/setup-php "Setup PHP") and [actions/cache](https://github.com/actions/cache "Cache in GitHub Actions") GitHub Actions. It configures the environment required to cache PHP extensions. Refer to [Usage](#memo-usage "How to use this") section for details and example workflow. Cache PHP extensions in [GitHub Actions](https://github.com/features/actions "GitHub Actions"). This action has to be used along with [shivammathur/setup-php](https://github.com/shivammathur/setup-php "Setup PHP") and [actions/cache](https://github.com/actions/cache "Cache in GitHub Actions") GitHub Actions. It configures the environment required to cache PHP extensions. Refer to [Usage](#memo-usage "How to use this") section for details and example workflow.
@@ -33,23 +33,23 @@ Cache PHP extensions in [GitHub Actions](https://github.com/features/actions "Gi
|7.0|`Stable`|`End of life`| |7.0|`Stable`|`End of life`|
|7.1|`Stable`|`End of life`| |7.1|`Stable`|`End of life`|
|7.2|`Stable`|`End of life`| |7.2|`Stable`|`End of life`|
|7.3|`Stable`|`Security fixes only`| |7.3|`Stable`|`End of life`|
|7.4|`Stable`|`Active`| |7.4|`Stable`|`Security fixes only`|
|8.0|`Stable`|`Active`| |8.0|`Stable`|`Active`|
|8.1|`Nightly`|`In development`| |8.1|`Stable`|`Active`|
|8.2|`Nightly`|`In development`| |8.2|`Stable`|`Active`|
|8.3|`Nightly`|`In development`|
## :cloud: OS/Platform Support ## :cloud: OS/Platform Support
|Virtual environment|YAML workflow label| | Virtual environment | YAML workflow label |
|--- |--- | |----------------------|------------------------------------|
|Ubuntu 20.04|`ubuntu-latest` or `ubuntu-20.04`| | Ubuntu 22.04 | `ubuntu-22.04` |
|Ubuntu 18.04|`ubuntu-18.04`| | Ubuntu 20.04 | `ubuntu-latest` or `ubuntu-20.04` |
|Ubuntu 16.04|`ubuntu-16.04`| | Windows Server 2022 | `windows-2022` |
|Windows Server 2022|`windows-2022`| | Windows Server 2019 | `windows-latest` or `windows-2019` |
|Windows Server 2019|`windows-latest` or `windows-2019`| | macOS Big Sur 12.x | `macOS-12` |
|macOS Catalina 10.15|`macos-latest` or `macOS-10.15`| | macOS Big Sur 11.x | `macos-latest` or `macOS-11` |
|macOS Big Sur 11.x|`macOS-11`|
## :memo: Usage ## :memo: Usage
@@ -57,14 +57,23 @@ Use this GitHub Action when the extensions you are adding in [setup-php](https:/
### Inputs ### Inputs
#### `php-version` (required) #### `php-version` (optional)
- Specify the PHP version you want to set up. - Specify the PHP version you want to set up.
- Accepts a `string`. For example `'8.0'`. - Accepts a `string`. For example `'8.0'`.
- Accepts `latest` to set up the latest stable PHP version. - Accepts `latest` to set up the latest stable PHP version.
- Accepts `nightly` to set up a nightly build from the master branch of PHP. - Accepts `nightly` to set up a nightly build from the master branch of PHP.
- Accepts the format `d.x`, where `d` is the major version. For example `5.x`, `7.x` and `8.x`. - Accepts the format `d.x`, where `d` is the major version. For example `5.x`, `7.x` and `8.x`.
- See [PHP support](#tada-php-support) for supported PHP versions. - See [PHP support](#tada-php-support) for the supported PHP versions.
- If not specified, it looks for `php-version-file` input.
#### `php-version-file` (optional)
- Specify a file with the PHP version you want to set up.
- Accepts a `string`. For example `'.phpenv-version'`.
- See [PHP support](#tada-php-support) for the supported PHP versions.
- By default, `.php-version` file is used.
- If not specified and the default `.php-version` file is not found, the latest stable PHP version is set up.
#### `extensions` (required) #### `extensions` (required)
@@ -91,14 +100,14 @@ jobs:
strategy: strategy:
matrix: matrix:
operating-system: [ubuntu-latest, windows-latest, macos-latest] operating-system: [ubuntu-latest, windows-latest, macos-latest]
php-versions: ['7.2', '7.3', '7.4'] php-versions: ['8.0', '8.1', '8.2', '8.3']
name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }} name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
env: env:
extensions: intl, pcov extensions: intl, pcov
key: cache-v1 # can be any string, change to clear the extension cache. key: cache-v1 # can be any string, change to clear the extension cache.
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v2 uses: actions/checkout@v3
- name: Setup cache environment - name: Setup cache environment
id: extcache id: extcache
@@ -109,7 +118,7 @@ jobs:
key: ${{ env.key }} key: ${{ env.key }}
- name: Cache extensions - name: Cache extensions
uses: actions/cache@v2 uses: actions/cache@v3
with: with:
path: ${{ steps.extcache.outputs.dir }} path: ${{ steps.extcache.outputs.dir }}
key: ${{ steps.extcache.outputs.key }} key: ${{ steps.extcache.outputs.key }}
@@ -124,11 +133,11 @@ jobs:
### Thread Safe Setup ### Thread Safe Setup
If you set up both `TS` and `NTS` PHP versions on `Windows` in your workflow, please add `${{ env.phpts }}` to `key` and `restore-keys` inputs in `actions/cache` step in the above workflow to avoid a conflicting cache. If you set up both `TS` and `NTS` PHP versions on `Ubuntu` or `Windows` in your workflow, please add `${{ env.phpts }}` to `key` and `restore-keys` inputs in `actions/cache` step in the above workflow to avoid a conflicting cache.
```yaml ```yaml
- name: Cache extensions - name: Cache extensions
uses: actions/cache@v2 uses: actions/cache@v3
with: with:
path: ${{ steps.extcache.outputs.dir }} path: ${{ steps.extcache.outputs.dir }}
key: ${{ steps.extcache.outputs.key }}-${{ env.phpts }} key: ${{ steps.extcache.outputs.key }}-${{ env.phpts }}
@@ -137,7 +146,7 @@ If you set up both `TS` and `NTS` PHP versions on `Windows` in your workflow, pl
## :scroll: License ## :scroll: License
The scripts and documentation in this project are under the [MIT License](LICENSE "License for shivammathur/cache-extensions"). This project has multiple [dependencies](https://github.com/shivammathur/cache-extensions/network/dependencies "Dependencies for this PHP Action"). Their licenses can be found in their respective repositories. The code and documentation in this project are under the [MIT License](LICENSE "License for shivammathur/cache-extensions"). This project has multiple [dependencies](https://github.com/shivammathur/cache-extensions/network/dependencies "Dependencies for this PHP Action"). Their licenses can be found in their respective repositories.
## :+1: Contributions ## :+1: Contributions
@@ -148,8 +157,8 @@ Contributions are welcome! See [Contributor's Guide](.github/CONTRIBUTING.md "sh
If this action helped you. If this action helped you.
- Please star the project and share it. If you blog, please share your experience of using this action. - Please star the project and share it. If you blog, please share your experience of using this action.
- Please consider supporting our work by sponsoring using [GitHub sponsors](https://github.com/sponsors/shivammathur). - Please support our work by sponsoring using [GitHub sponsors](https://github.com/sponsors/shivammathur).
## :package: Dependencies ## :package: Dependencies
- [Node.js dependencies](https://github.com/shivammathur/setup-php/network/dependencies "Node.js dependencies") - [Node.js dependencies](https://github.com/shivammathur/cache-extensions/network/dependencies "Node.js dependencies")

View File

@@ -1,4 +1,4 @@
import path from 'path'; import * as path from 'path';
import * as spu from 'setup-php/lib/utils'; import * as spu from 'setup-php/lib/utils';
import * as cache from '../src/cache'; import * as cache from '../src/cache';
import * as utils from '../src/utils'; import * as utils from '../src/utils';

View File

@@ -6,8 +6,11 @@ branding:
icon: 'box' icon: 'box'
inputs: inputs:
php-version: php-version:
description: 'PHP version you are setting up.' description: 'Setup PHP version.'
required: true required: false
php-version-file:
description: 'Setup PHP version from a file.'
required: false
extensions: extensions:
description: 'Extensions you want to cache.' description: 'Extensions you want to cache.'
required: true required: true
@@ -15,5 +18,5 @@ inputs:
description: 'Key to version the cache hash.' description: 'Key to version the cache hash.'
required: true required: true
runs: runs:
using: 'node12' using: 'node16'
main: 'dist/index.js' main: 'dist/index.js'

36060
dist/index.js vendored

File diff suppressed because one or more lines are too long

11416
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,14 +1,24 @@
{ {
"name": "cache-extensions", "name": "cache-extensions",
"version": "1.6.1", "version": "1.10.0",
"private": false, "private": false,
"description": "Cache PHP extensions in GitHub Actions", "description": "Cache PHP extensions in GitHub Actions",
"main": "lib/cache.js", "main": "lib/cache.js",
"types": "lib/cache.d.ts",
"directories": {
"lib": "lib",
"test": "__tests__",
"src": "src"
},
"files": [
"lib",
"src"
],
"scripts": { "scripts": {
"build": "tsc", "build": "tsc",
"lint": "eslint **/*.ts --cache", "lint": "eslint **/src/*.ts --cache --fix",
"format": "prettier --write **/*.ts && git add .", "format": "prettier --write **/src/*.ts && git add .",
"format-check": "prettier --check **/*.ts", "format-check": "prettier --check **/src/*.ts",
"release": "ncc build -o dist && git add -f dist/", "release": "ncc build -o dist && git add -f dist/",
"test": "jest" "test": "jest"
}, },
@@ -25,33 +35,32 @@
"author": "shivammathur", "author": "shivammathur",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@actions/cache": "^1.0.7", "@actions/cache": "^3.2.1",
"@actions/core": "^1.4.0", "@actions/core": "^1.10.0",
"@actions/exec": "^1.1.0", "@actions/exec": "^1.1.1",
"setup-php": "^2.14.0" "setup-php": "2.25.4"
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^26.0.24", "@types/jest": "^29.5.3",
"@types/node": "^16.0.0", "@types/node": "^20.4.5",
"@typescript-eslint/eslint-plugin": "^4.28.2", "@typescript-eslint/eslint-plugin": "^6.2.0",
"@typescript-eslint/parser": "^4.28.2", "@typescript-eslint/parser": "^6.2.0",
"@vercel/ncc": "^0.28.6", "@vercel/ncc": "^0.36.1",
"eslint": "^7.30.0", "eslint": "^8.46.0",
"eslint-config-prettier": "^8.3.0", "eslint-config-prettier": "^8.9.0",
"eslint-plugin-import": "^2.23.4", "eslint-plugin-import": "^2.28.0",
"eslint-plugin-jest": "^24.3.6", "eslint-plugin-jest": "^27.2.3",
"eslint-plugin-prettier": "^3.4.0", "eslint-plugin-prettier": "^5.0.0",
"husky": "^4.3.8", "jest": "^29.6.2",
"jest": "^27.0.6", "jest-circus": "^29.6.2",
"jest-circus": "^27.0.6", "prettier": "^3.0.0",
"prettier": "^2.3.2", "ts-jest": "^29.1.1",
"ts-jest": "^27.0.3", "typescript": "^5.1.6"
"typescript": "^4.3.5"
}, },
"husky": { "bugs": {
"skipCI": true, "url": "https://github.com/shivammathur/cache-extensions/issues"
"hooks": { },
"pre-commit": "npm run format && npm run lint && npm run test && npm run build && npm run release" "simple-git-hooks": {
} "pre-commit": "npm run format && npm run lint && npm run test && npm run build && npm run release"
} }
} }

View File

@@ -2,6 +2,7 @@ import {exec} from '@actions/exec';
import * as cache from '@actions/cache'; import * as cache from '@actions/cache';
import * as core from '@actions/core'; import * as core from '@actions/core';
import * as spu from 'setup-php/lib/utils'; import * as spu from 'setup-php/lib/utils';
import * as fs from 'fs';
import * as path from 'path'; import * as path from 'path';
import * as utils from './utils'; import * as utils from './utils';
@@ -27,8 +28,12 @@ export async function handleDependencies(
[cache_key] [cache_key]
); );
await exec(await utils.scriptCall('dependencies', extensions, version)); await exec(await utils.scriptCall('dependencies', extensions, version));
if (!cache_hit) { if (!cache_hit && fs.existsSync(cache_dir)) {
await cache.saveCache([cache_dir], cache_key); try {
await cache.saveCache([cache_dir], cache_key);
} catch {
await cache.saveCache([cache_dir], cache_key + '-take-2');
}
} }
} }
} }
@@ -38,9 +43,7 @@ export async function handleDependencies(
*/ */
export async function run(): Promise<void> { export async function run(): Promise<void> {
try { try {
const version: string = await spu.parseVersion( const version: string = await spu.parseVersion(await spu.readPHPVersion());
await spu.getInput('php-version', true)
);
const extensions: string = await utils.filterExtensions( const extensions: string = await utils.filterExtensions(
await spu.getInput('extensions', true) await spu.getInput('extensions', true)
); );
@@ -56,5 +59,11 @@ export async function run(): Promise<void> {
(async () => { (async () => {
await run(); await run();
})().catch(error => { })().catch(error => {
core.setFailed(error.message); if (error.name === cache.ValidationError.name) {
core.setFailed(error.message);
} else if (error.name === cache.ReserveCacheError.name) {
core.info(error.message);
} else {
core.warning(error.message);
}
}); });

1
src/lists/darwin-deps Normal file
View File

@@ -0,0 +1 @@
geos=geos

View File

@@ -1,17 +1,45 @@
amqp amqp
apcu
ast
couchbase
ds
event
expect expect
gearman
gnupg
grpc grpc
igbinary
imagick imagick
imap imap
lua
mailparse
mcrypt
memcache
memcached memcached
mongodb mongodb
msgpack
newrelic
pcov
pdo_sqlsrv
pecl_http pecl_http
phalcon3 phalcon3
phalcon4 phalcon4
phalcon5
propro
protobuf
psr psr
raphf
rdkafka rdkafka
redis redis
snmp
sqlsrv
ssh2 ssh2
swoole
uuid
v8js
vips vips
xdebug
xdebug2
xlswriter
yaml yaml
zmq zmq

View File

@@ -31,7 +31,6 @@ libatspi2.0-0
libattr1 libattr1
libaudit-common libaudit-common
libaudit1 libaudit1
libauthen-sasl-perl
libavahi-client3 libavahi-client3
libavahi-common-data libavahi-common-data
libavahi-common3 libavahi-common3
@@ -103,7 +102,6 @@ libctf0
libcups2 libcups2
libcurl3-gnutls libcurl3-gnutls
libcurl4 libcurl4
libdata-dump-perl
libdatrie1 libdatrie1
libdb5.3 libdb5.3
libdbus-1-3 libdbus-1-3
@@ -154,12 +152,7 @@ libffi-dev
libffi7 libffi7
libfftw3-double3 libfftw3-double3
libfido2-1 libfido2-1
libfile-basedir-perl
libfile-desktopentry-perl
libfile-listing-perl
libfile-mimeinfo-perl
libfl2 libfl2
libfont-afm-perl
libfontconfig1 libfontconfig1
libfontconfig1-dev libfontconfig1-dev
libfontenc1 libfontenc1
@@ -171,6 +164,7 @@ libfuse2
libfuse3-3 libfuse3-3
libfwupd2 libfwupd2
libfwupdplugin1 libfwupdplugin1
libfwupdplugin5
libgbm-dev libgbm-dev
libgbm1 libgbm1
libgc1c2 libgc1c2
@@ -226,22 +220,17 @@ libgtk-3-common
libgudev-1.0-0 libgudev-1.0-0
libgusb2 libgusb2
libharfbuzz0b libharfbuzz0b
libhashkit2
libhavege1 libhavege1
libhcrypto4-heimdal libhcrypto4-heimdal
libheimbase1-heimdal libheimbase1-heimdal
libheimntlm0-heimdal libheimntlm0-heimdal
libhogweed5 libhogweed5
libhtml-form-perl
libhtml-format-perl
libhtml-parser-perl libhtml-parser-perl
libhtml-tagset-perl libhtml-tagset-perl
libhtml-template-perl libhtml-template-perl
libhtml-tree-perl
libhttp-cookies-perl
libhttp-daemon-perl
libhttp-date-perl libhttp-date-perl
libhttp-message-perl libhttp-message-perl
libhttp-negotiate-perl
libhunspell-1.7-0 libhunspell-1.7-0
libhx509-5-heimdal libhx509-5-heimdal
libice-dev libice-dev
@@ -253,11 +242,8 @@ libidn2-0
libilmbase-dev libilmbase-dev
libilmbase24 libilmbase24
libio-html-perl libio-html-perl
libio-socket-ssl-perl
libio-stringy-perl
libip4tc2 libip4tc2
libip6tc2 libip6tc2
libipc-system-simple-perl
libisc-export1105 libisc-export1105
libisl22 libisl22
libisns0 libisns0
@@ -303,7 +289,6 @@ liblldb-12
libllvm10 libllvm10
libllvm11 libllvm11
libllvm12 libllvm12
libllvm9
liblmdb0 liblmdb0
liblocale-gettext-perl liblocale-gettext-perl
liblqr-1-0 liblqr-1-0
@@ -311,13 +296,11 @@ liblqr-1-0-dev
liblsan0 liblsan0
libltdl-dev libltdl-dev
libltdl7 libltdl7
liblttng-ust-ctl4
liblttng-ust0
liblua5.2-0 liblua5.2-0
liblvm2cmd2.03 liblvm2cmd2.03
liblwp-mediatypes-perl liblwp-mediatypes-perl
liblwp-protocol-https-perl
liblz4-1 liblz4-1
liblz4-dev
liblzma-dev liblzma-dev
liblzma5 liblzma5
liblzo2-2 liblzo2-2
@@ -334,12 +317,14 @@ libmagickwand-6-headers
libmagickwand-6.q16-6 libmagickwand-6.q16-6
libmagickwand-6.q16-dev libmagickwand-6.q16-dev
libmagickwand-dev libmagickwand-dev
libmailtools-perl
libmaxminddb0 libmaxminddb0
libmbim-glib4
libmbim-proxy
libmcrypt4 libmcrypt4
libmecab2 libmecab2
libmediainfo0v5 libmediainfo0v5
libmemcached11 libmemcached11
libmm-glib0
libmms0 libmms0
libmnl0 libmnl0
libmono-2.0-1 libmono-2.0-1
@@ -498,10 +483,6 @@ libncurses-dev
libncurses5 libncurses5
libncurses6 libncurses6
libncursesw6 libncursesw6
libnet-dbus-perl
libnet-http-perl
libnet-smtp-ssl-perl
libnet-ssleay-perl
libnet1 libnet1
libnetfilter-conntrack3 libnetfilter-conntrack3
libnetplan0 libnetplan0
@@ -556,6 +537,7 @@ libpcre2-32-0
libpcre2-8-0 libpcre2-8-0
libpcre2-dev libpcre2-dev
libpcre2-posix2 libpcre2-posix2
libpcre2-posix3
libpcre3 libpcre3
libpcre3-dev libpcre3-dev
libpcre32-3 libpcre32-3
@@ -590,6 +572,8 @@ libpython3.8-dev
libpython3.8-minimal libpython3.8-minimal
libpython3.8-stdlib libpython3.8-stdlib
libqdbm14 libqdbm14
libqmi-glib5
libqmi-proxy
libquadmath0 libquadmath0
librabbitmq4 librabbitmq4
libre2-5 libre2-5
@@ -631,6 +615,7 @@ libsm-dev
libsm6 libsm6
libsmartcols1 libsmartcols1
libsmbios-c2 libsmbios-c2
libsnappy1v5
libsnmp-base libsnmp-base
libsnmp35 libsnmp35
libsodium23 libsodium23
@@ -663,7 +648,6 @@ libtext-wrapi18n-perl
libthai-data libthai-data
libthai0 libthai0
libtidy5deb1 libtidy5deb1
libtie-ixhash-perl
libtiff-dev libtiff-dev
libtiff5 libtiff5
libtiffxx5 libtiffxx5
@@ -675,7 +659,6 @@ libtinyxml2-6a
libtk8.6 libtk8.6
libtommath1 libtommath1
libtool libtool
libtry-tiny-perl
libtsan0 libtsan0
libtss2-esys0 libtss2-esys0
libtypes-serialiser-perl libtypes-serialiser-perl
@@ -710,14 +693,11 @@ libwind0-heimdal
libwmf-dev libwmf-dev
libwmf0.2-7 libwmf0.2-7
libwrap0 libwrap0
libwww-perl
libwww-robotrules-perl
libwxbase3.0-0v5 libwxbase3.0-0v5
libwxgtk3.0-gtk3-0v5 libwxgtk3.0-gtk3-0v5
libx11-6 libx11-6
libx11-data libx11-data
libx11-dev libx11-dev
libx11-protocol-perl
libx11-xcb1 libx11-xcb1
libxau-dev libxau-dev
libxau6 libxau6
@@ -728,7 +708,6 @@ libxcb-glx0
libxcb-present0 libxcb-present0
libxcb-render0 libxcb-render0
libxcb-render0-dev libxcb-render0-dev
libxcb-shape0
libxcb-shm0 libxcb-shm0
libxcb-shm0-dev libxcb-shm0-dev
libxcb-sync1 libxcb-sync1
@@ -753,14 +732,12 @@ libxkbfile-dev
libxkbfile1 libxkbfile1
libxml-libxml-perl libxml-libxml-perl
libxml-namespacesupport-perl libxml-namespacesupport-perl
libxml-parser-perl
libxml-sax-base-perl libxml-sax-base-perl
libxml-sax-perl libxml-sax-perl
libxml-twig-perl
libxml-xpathengine-perl
libxml2 libxml2
libxml2-dev libxml2-dev
libxmlb1 libxmlb1
libxmlb2
libxmlrpc-epi0 libxmlrpc-epi0
libxmlsec1 libxmlsec1
libxmlsec1-openssl libxmlsec1-openssl
@@ -777,11 +754,10 @@ libxt-dev
libxt6 libxt6
libxtables12 libxtables12
libxtst6 libxtst6
libxv1
libxxf86dga1
libxxf86vm1 libxxf86vm1
libyajl2 libyajl2
libyaml-0-2 libyaml-0-2
libyaml-dev
libz3-4 libz3-4
libz3-dev libz3-dev
libzen0v5 libzen0v5

View File

@@ -1,27 +1,27 @@
lib32gcc1 lib32gcc-s1
lib32stdc++6 lib32stdc++6
lib32z1 lib32z1
libaccountsservice0
libacl1 libacl1
libaio1 libaio1
libaom3
libapparmor1 libapparmor1
libappstream4
libapr1 libapr1
libaprutil1 libaprutil1
libaprutil1-dbd-sqlite3 libaprutil1-dbd-sqlite3
libaprutil1-ldap libaprutil1-ldap
libapt-inst2.0 libapt-pkg6.0
libapt-pkg5.0
libarchive13 libarchive13
libargon2-0
libargon2-1 libargon2-1
libasan4 libaria2-0
libasan5 libasan5
libasan6 libasan6
libasn1-8-heimdal libasan8
libasound2 libasound2
libasound2-data libasound2-data
libaspell15 libaspell15
libassuan0 libassuan0
libatasmart4
libatk-bridge2.0-0 libatk-bridge2.0-0
libatk1.0-0 libatk1.0-0
libatk1.0-data libatk1.0-data
@@ -31,25 +31,36 @@ libatspi2.0-0
libattr1 libattr1
libaudit-common libaudit-common
libaudit1 libaudit1
libauthen-sasl-perl
libavahi-client3 libavahi-client3
libavahi-common-data libavahi-common-data
libavahi-common3 libavahi-common3
libbind9-160 libavahi-glib1
libbinutils libbinutils
libbison-dev
libblas-dev libblas-dev
libblas3 libblas3
libblkid-dev
libblkid1 libblkid1
libblockdev-crypto2
libblockdev-fs2
libblockdev-loop2
libblockdev-part-err2
libblockdev-part2
libblockdev-swap2
libblockdev-utils2
libblockdev2
libbpf0
libbrotli-dev
libbrotli1
libbsd0 libbsd0
libburn4 libburn4
libbz2-1.0 libbz2-1.0
libbz2-dev libbz2-dev
libc++-14-dev
libc++-dev libc++-dev
libc++-helpers libc++1-14
libc++1 libc++abi-14-dev
libc++abi-dev libc++abi-dev
libc++abi1 libc++abi1-14
libc-ares2 libc-ares2
libc-bin libc-bin
libc-client2007e libc-client2007e
@@ -65,61 +76,69 @@ libcanberra0
libcap-ng0 libcap-ng0
libcap2 libcap2
libcap2-bin libcap2-bin
libcbor0.8
libcc1-0 libcc1-0
libcgi-fast-perl libcgi-fast-perl
libcgi-pm-perl libcgi-pm-perl
libcgroup1 libcgroup1
libcilkrts5 libclang-common-12-dev
libclang-common-9-dev libclang-common-13-dev
libclang-cpp9 libclang-common-14-dev
libclang1-9 libclang-cpp12
libclang-cpp13
libclang-cpp14
libclang1-12
libclang1-13
libclang1-14
libclone-perl
libcolord2 libcolord2
libcom-err2 libcom-err2
libcommon-sense-perl libcommon-sense-perl
libcroco3 libcrypt-dev
libcrypt1
libcryptsetup12 libcryptsetup12
libctf-nobfd0
libctf0
libcups2 libcups2
libcurl3-gnutls libcurl3-gnutls
libcurl4 libcurl4
libdata-dump-perl
libdatrie1 libdatrie1
libdav1d5
libdb5.3 libdb5.3
libdbus-1-3 libdbus-1-3
libdbus-glib-1-2 libdbus-glib-1-2
libdbusmenu-glib4 libdbusmenu-glib4
libdbusmenu-gtk3-4 libdbusmenu-gtk3-4
libdconf1 libdconf1
libde265-0
libdebconfclient0 libdebconfclient0
libdeflate-dev
libdeflate0
libdevmapper-event1.02.1 libdevmapper-event1.02.1
libdevmapper1.02.1 libdevmapper1.02.1
libdjvulibre-dev libdjvulibre-dev
libdjvulibre-text libdjvulibre-text
libdjvulibre21 libdjvulibre21
libdns-export1100 libdns-export1110
libdns1100
libdpkg-perl libdpkg-perl
libdrm-amdgpu1 libdrm-amdgpu1
libdrm-common libdrm-common
libdrm-intel1
libdrm-nouveau2 libdrm-nouveau2
libdrm-radeon1 libdrm-radeon1
libdrm2 libdrm2
libdumbnet1
libdw1 libdw1
libdwarf1
libeatmydata1 libeatmydata1
libedit2 libedit2
libefiboot1 libefiboot1
libefivar1 libefivar1
libelf1 libelf1
libenchant1c2a libenchant-2-2
libencode-locale-perl libencode-locale-perl
libepoxy0 libepoxy0
liberror-perl liberror-perl
libestr0 libestr0
libevent-2.1-6 libevent-core-2.1-7
libevent-core-2.1-6 libevent-pthreads-2.1-7
libevent-pthreads-2.1-6
libexif-dev libexif-dev
libexif12 libexif12
libexpat1 libexpat1
@@ -128,57 +147,60 @@ libext2fs2
libfakeroot libfakeroot
libfastjson4 libfastjson4
libfbclient2 libfbclient2
libfcgi-bin
libfcgi-perl libfcgi-perl
libfcgi0ldbl
libfdisk1 libfdisk1
libffi-dev libffi-dev
libffi6 libffi8
libfftw3-double3 libfftw3-double3
libfile-basedir-perl libfido2-1
libfile-desktopentry-perl libflashrom1
libfile-listing-perl libfontconfig-dev
libfile-mimeinfo-perl
libfont-afm-perl
libfontconfig1 libfontconfig1
libfontconfig1-dev libfontconfig1-dev
libfontenc1 libfontenc1
libfreetype-dev
libfreetype6 libfreetype6
libfreetype6-dev libfreetype6-dev
libfribidi0 libfribidi0
libfuse2 libfsverity0
libftdi1-2
libfuse3-3
libfwupd2
libfwupdplugin5
libgbm-dev libgbm-dev
libgbm1 libgbm1
libgc1c2 libgc1
libgcab-1.0-0
libgcc-10-dev libgcc-10-dev
libgcc-7-dev libgcc-11-dev
libgcc-12-dev
libgcc-9-dev libgcc-9-dev
libgcc-s1 libgcc-s1
libgcc1
libgconf-2-4 libgconf-2-4
libgcrypt20 libgcrypt20
libgcrypt20-dev
libgd3 libgd3
libgdbm-compat4 libgdbm-compat4
libgdbm5 libgdbm6
libgdiplus libgdiplus
libgdk-pixbuf2.0-0 libgdk-pixbuf-2.0-0
libgdk-pixbuf-2.0-dev
libgdk-pixbuf2.0-bin
libgdk-pixbuf2.0-common libgdk-pixbuf2.0-common
libgdk-pixbuf2.0-dev
libgeoip1
libgflags2.2
libgfortran-10-dev libgfortran-10-dev
libgfortran-7-dev libgfortran-11-dev
libgfortran-12-dev
libgfortran-9-dev libgfortran-9-dev
libgfortran4
libgfortran5 libgfortran5
libgif7 libgif7
libgirepository-1.0-1 libgirepository-1.0-1
libgl1 libgl1
libgl1-mesa-dri libgl1-mesa-dri
libglade2-0
libglade2.0-cil
libglapi-mesa libglapi-mesa
libglib2.0-0 libglib2.0-0
libglib2.0-bin libglib2.0-bin
libglib2.0-cil
libglib2.0-data libglib2.0-data
libglib2.0-dev libglib2.0-dev
libglib2.0-dev-bin libglib2.0-dev-bin
@@ -190,68 +212,45 @@ libgmp10
libgmpxx4ldbl libgmpxx4ldbl
libgnutls30 libgnutls30
libgomp1 libgomp1
libgoogle-glog0v5 libgpg-error-dev
libgpg-error0 libgpg-error0
libgpgme11 libgpgme11
libgpm2 libgpm2
libgraphite2-3 libgraphite2-3
libgraphite2-dev
libgsl-dev libgsl-dev
libgsl23 libgsl27
libgslcblas0 libgslcblas0
libgssapi-krb5-2 libgssapi-krb5-2
libgssapi3-heimdal libgstreamer1.0-0
libgtk-3-0 libgtk-3-0
libgtk-3-common libgtk-3-common
libgtk2.0-0 libgudev-1.0-0
libgtk2.0-cil libgusb2
libgtk2.0-common
libharfbuzz-dev
libharfbuzz-gobject0
libharfbuzz-icu0
libharfbuzz0b libharfbuzz0b
libhavege1 libhavege2
libhcrypto4-heimdal libheif1
libheimbase1-heimdal libhogweed6
libheimntlm0-heimdal
libhogweed4
libhtml-form-perl
libhtml-format-perl
libhtml-parser-perl libhtml-parser-perl
libhtml-tagset-perl libhtml-tagset-perl
libhtml-template-perl libhtml-template-perl
libhtml-tree-perl
libhttp-cookies-perl
libhttp-daemon-perl
libhttp-date-perl libhttp-date-perl
libhttp-message-perl libhttp-message-perl
libhttp-negotiate-perl libhunspell-1.7-0
libhunspell-1.6-0
libhx509-5-heimdal
libice-dev libice-dev
libice6 libice6
libicu-dev libicu-dev
libicu-le-hb-dev libicu70
libicu-le-hb0
libicu60
libicu65
libiculx60
libidn11
libidn2-0 libidn2-0
libilmbase-dev libilmbase-dev
libilmbase12 libilmbase25
libinih1
libintl-perl
libintl-xs-perl
libio-html-perl libio-html-perl
libio-socket-ssl-perl libip4tc2
libip4tc0 libip6tc2
libip6tc0 libisc-export1105
libipc-system-simple-perl libisl23
libiptc0
libirs160
libisc-export169
libisc169
libisccc160
libisccfg160
libisl19
libisns0 libisns0
libisoburn1 libisoburn1
libisofs6 libisofs6
@@ -259,6 +258,7 @@ libitm1
libjansson4 libjansson4
libjbig-dev libjbig-dev
libjbig0 libjbig0
libjcat1
libjpeg-dev libjpeg-dev
libjpeg-turbo8 libjpeg-turbo8
libjpeg-turbo8-dev libjpeg-turbo8-dev
@@ -266,17 +266,19 @@ libjpeg8
libjpeg8-dev libjpeg8-dev
libjq1 libjq1
libjs-jquery libjs-jquery
libjson-c3 libjs-sphinxdoc
libjs-underscore
libjs-xmlextras
libjson-c5
libjson-glib-1.0-0 libjson-glib-1.0-0
libjson-glib-1.0-common libjson-glib-1.0-common
libjson-perl libjson-perl
libjson-xs-perl libjson-xs-perl
libjte1 libjte2
libk5crypto3 libk5crypto3
libkeyutils1 libkeyutils1
libklibc libklibc
libkmod2 libkmod2
libkrb5-26-heimdal
libkrb5-3 libkrb5-3
libkrb5support0 libkrb5support0
libksba8 libksba8
@@ -284,13 +286,15 @@ liblapack-dev
liblapack3 liblapack3
liblcms2-2 liblcms2-2
liblcms2-dev liblcms2-dev
libldap-2.4-2 libldap-2.5-0
libldap-common libldap-common
libldb1 liblldb-12
liblldb-9 liblldb-13
libllvm10 liblldb-14
libllvm6.0 libllvm12
libllvm9 libllvm13
libllvm14
libllvm15
liblmdb0 liblmdb0
liblocale-gettext-perl liblocale-gettext-perl
liblqr-1-0 liblqr-1-0
@@ -298,17 +302,11 @@ liblqr-1-0-dev
liblsan0 liblsan0
libltdl-dev libltdl-dev
libltdl7 libltdl7
liblttng-ust-ctl4 liblua5.3-0
liblttng-ust0 liblvm2cmd2.03
liblua5.2-0
liblvm2app2.2
liblvm2cmd2.02
liblwp-mediatypes-perl liblwp-mediatypes-perl
liblwp-protocol-https-perl
liblwres160
liblxc-common
liblxc1
liblz4-1 liblz4-1
liblz4-dev
liblzma-dev liblzma-dev
liblzma5 liblzma5
liblzo2-2 liblzo2-2
@@ -317,20 +315,26 @@ libmagic-mgc
libmagic1 libmagic1
libmagickcore-6-arch-config libmagickcore-6-arch-config
libmagickcore-6-headers libmagickcore-6-headers
libmagickcore-6.q16-3 libmagickcore-6.q16-6
libmagickcore-6.q16-3-extra libmagickcore-6.q16-6-extra
libmagickcore-6.q16-dev libmagickcore-6.q16-dev
libmagickcore-dev libmagickcore-dev
libmagickwand-6-headers libmagickwand-6-headers
libmagickwand-6.q16-3 libmagickwand-6.q16-6
libmagickwand-6.q16-dev libmagickwand-6.q16-dev
libmagickwand-dev libmagickwand-dev
libmailtools-perl libmaxminddb0
libmcrypt4 libmbim-glib4
libmbim-proxy
libmd0
libmecab2
libmediainfo0v5 libmediainfo0v5
libmemcached11 libmemcached11
libmm-glib0
libmms0 libmms0
libmnl0 libmnl0
libmodule-find-perl
libmodule-scandeps-perl
libmono-2.0-1 libmono-2.0-1
libmono-2.0-dev libmono-2.0-dev
libmono-accessibility4.0-cil libmono-accessibility4.0-cil
@@ -475,54 +479,57 @@ libmono-xbuild-tasks4.0-cil
libmonoboehm-2.0-1 libmonoboehm-2.0-1
libmonosgen-2.0-1 libmonosgen-2.0-1
libmonosgen-2.0-dev libmonosgen-2.0-dev
libmount-dev
libmount1 libmount1
libmpc3 libmpc3
libmpdec2 libmpdec3
libmpfr6 libmpfr6
libmpx2
libmspack0 libmspack0
libmysqlclient-dev libmysqlclient-dev
libmysqlclient20 libmysqlclient21
libncurses5 libncurses-dev
libncurses5-dev libncurses6
libncursesw5 libncursesw6
libnet-dbus-perl
libnet-http-perl
libnet-smtp-ssl-perl
libnet-ssleay-perl
libnet1
libnetfilter-conntrack3 libnetfilter-conntrack3
libnetplan0 libnetplan0
libnettle6 libnettle8
libnewt0.52 libnewt0.52
libnfnetlink0 libnfnetlink0
libnftables1
libnftnl11
libnghttp2-14 libnghttp2-14
libnginx-mod-http-geoip libnginx-mod-http-geoip2
libnginx-mod-http-image-filter libnginx-mod-http-image-filter
libnginx-mod-http-xslt-filter libnginx-mod-http-xslt-filter
libnginx-mod-mail libnginx-mod-mail
libnginx-mod-stream libnginx-mod-stream
libnih1 libnginx-mod-stream-geoip2
libnl-3-200 libnl-3-200
libnl-genl-3-200 libnl-genl-3-200
libnorm1 libnorm1
libnotify4
libnpth0 libnpth0
libnsl-dev
libnsl2
libnspr4 libnspr4
libnss-systemd libnss-systemd
libnss3 libnss3
libntfs-3g88 libntfs-3g89
libnuma1 libnuma1
libobjc-7-dev libobjc-11-dev
libobjc4 libobjc4
libodbc1 libodbc2
libodbccr2
libodbcinst2
libogg0 libogg0
libomp-9-dev libonig5
libomp5-9
libonig4
libopenexr-dev libopenexr-dev
libopenexr22 libopenexr25
libopeniscsiusr
libopenjp2-7
libopenjp2-7-dev
libostree-1-1
libp11-kit0 libp11-kit0
libpackagekit-glib2-18
libpam-cap libpam-cap
libpam-modules libpam-modules
libpam-modules-bin libpam-modules-bin
@@ -534,104 +541,105 @@ libpangocairo-1.0-0
libpangoft2-1.0-0 libpangoft2-1.0-0
libpaper-utils libpaper-utils
libpaper1 libpaper1
libparted-fs-resize0
libparted2 libparted2
libpcap0.8 libpcap0.8
libpci3 libpci3
libpciaccess0
libpcre16-3 libpcre16-3
libpcre2-16-0 libpcre2-16-0
libpcre2-32-0 libpcre2-32-0
libpcre2-8-0 libpcre2-8-0
libpcre2-dev libpcre2-dev
libpcre2-posix2 libpcre2-posix3
libpcre3 libpcre3
libpcre3-dev libpcre3-dev
libpcre32-3 libpcre32-3
libpcrecpp0v5 libpcrecpp0v5
libperl5.26 libperl5.34
libpfm4 libpfm4
libpgm-5.2-0 libpgm-5.3-0
libpipeline1 libpipeline1
libpixman-1-0 libpixman-1-0
libpixman-1-dev libpixman-1-dev
libplymouth4 libplymouth5
libpng-dev libpng-dev
libpng16-16 libpng16-16
libpolkit-agent-1-0 libpolkit-agent-1-0
libpolkit-backend-1-0
libpolkit-gobject-1-0 libpolkit-gobject-1-0
libpopt0 libpopt0
libpq-dev libpq-dev
libpq5 libpq5
libprocps6 libproc-processtable-perl
libprotobuf-c1 libprocps8
libprotobuf10 libprotobuf-lite23
libproxy1v5 libproxy1v5
libpsl5 libpsl5
libpthread-stubs0-dev libpthread-stubs0-dev
libpython-dev
libpython-stdlib
libpython2.7
libpython2.7-dev
libpython2.7-minimal
libpython2.7-stdlib
libpython3-dev libpython3-dev
libpython3-stdlib libpython3-stdlib
libpython3.6 libpython3.10
libpython3.6-dev libpython3.10-dev
libpython3.6-minimal libpython3.10-minimal
libpython3.6-stdlib libpython3.10-stdlib
libqdbm14 libqdbm14
libqmi-glib5
libqmi-proxy
libquadmath0 libquadmath0
librabbitmq4 librabbitmq4
libre2-4 libre2-9
libreadline-dev libreadline-dev
libreadline5 libreadline8
libreadline7 librpm9
librecode0 librpmbuild9
librest-0.7-0 librpmio9
libroken18-heimdal librpmsign9
librpm8
librpmbuild8
librpmio8
librpmsign8
librsvg2-2 librsvg2-2
librsvg2-common librsvg2-common
librsvg2-dev librsvg2-dev
librtmp1 librtmp1
libruby2.5 libruby3.0
libsasl2-2 libsasl2-2
libsasl2-modules libsasl2-modules
libsasl2-modules-db libsasl2-modules-db
libsctp1
libseccomp2 libseccomp2
libsecret-1-0 libsecret-1-0
libsecret-1-dev libsecret-1-dev
libsecret-common libsecret-common
libselinux1 libselinux1
libselinux1-dev
libsemanage-common libsemanage-common
libsemanage1 libsemanage2
libsensors4 libsensors-config
libsepol1 libsensors5
libsepol-dev
libsepol2
libserf-1-1 libserf-1-1
libsgutils2-2
libsigsegv2 libsigsegv2
libslang2 libslang2
libslirp0
libsm-dev libsm-dev
libsm6 libsm6
libsmartcols1 libsmartcols1
libsmbios-c2
libsnappy1v5
libsnmp-base libsnmp-base
libsnmp30 libsnmp40
libsodium23 libsodium23
libsoup-gnome2.4-1 libsort-naturally-perl
libsoup2.4-1 libsoup2.4-1
libsoup2.4-common
libsqlite3-0 libsqlite3-0
libsqlite3-dev libsqlite3-dev
libss2 libss2
libssh-4
libssh2-1
libssl-dev libssl-dev
libssl1.0.0
libssl1.1 libssl1.1
libssl3
libstdc++-10-dev libstdc++-10-dev
libstdc++-7-dev libstdc++-11-dev
libstdc++-12-dev
libstdc++-9-dev libstdc++-9-dev
libstdc++6 libstdc++6
libstemmer0d libstemmer0d
@@ -640,9 +648,9 @@ libsybdb5
libsystemd0 libsystemd0
libtalloc2 libtalloc2
libtasn1-6 libtasn1-6
libtbb2
libtcl8.6 libtcl8.6
libtdb1 libtdb1
libterm-readkey-perl
libtevent0 libtevent0
libtext-charwidth-perl libtext-charwidth-perl
libtext-iconv-perl libtext-iconv-perl
@@ -651,57 +659,68 @@ libtext-wrapi18n-perl
libthai-data libthai-data
libthai0 libthai0
libtidy5deb1 libtidy5deb1
libtie-ixhash-perl
libtiff-dev libtiff-dev
libtiff5 libtiff5
libtiff5-dev
libtiffxx5 libtiffxx5
libtimedate-perl libtimedate-perl
libtinfo-dev libtinfo-dev
libtinfo5 libtinfo6
libtinyxml2-6 libtinyxml2-9
libtirpc-common
libtirpc-dev
libtirpc3
libtk8.6 libtk8.6
libtommath1 libtommath1
libtool libtool
libtry-tiny-perl
libtsan0 libtsan0
libtsan2
libtss2-esys-3.0.2-0
libtss2-mu0
libtss2-rc0
libtss2-sys1
libtss2-tcti-cmd0
libtss2-tcti-device0
libtss2-tcti-mssim0
libtss2-tcti-swtpm0
libtypes-serialiser-perl libtypes-serialiser-perl
libu2f-udev libu2f-udev
libubsan0
libubsan1 libubsan1
libuchardet0
libucl1 libucl1
libudev1 libudev1
libudisks2-0
libunistring2 libunistring2
libunwind-14
libunwind-14-dev
libunwind8 libunwind8
liburcu6 liburcu8
liburi-perl liburi-perl
libusb-1.0-0 libusb-1.0-0
libutempter0 libutempter0
libutf8proc2
libuuid1 libuuid1
libuv1 libuv1
libvolume-key1
libvorbis0a libvorbis0a
libvorbisfile3 libvorbisfile3
libvpx5
libvulkan1 libvulkan1
libwayland-client0 libwayland-client0
libwayland-cursor0 libwayland-cursor0
libwayland-egl1 libwayland-egl1
libwayland-server0 libwayland-server0
libwbclient0 libwbclient0
libwebp6 libwebp7
libwind0-heimdal libwebpdemux2
libwebpmux3
libwmf-0.2-7
libwmf-dev libwmf-dev
libwmf0.2-7 libwmflite-0.2-7
libwrap0 libwrap0
libwww-perl
libwww-robotrules-perl
libwxbase3.0-0v5
libwxgtk3.0-0v5
libx11-6 libx11-6
libx11-data libx11-data
libx11-dev libx11-dev
libx11-protocol-perl
libx11-xcb1 libx11-xcb1
libx265-199
libxau-dev libxau-dev
libxau6 libxau6
libxaw7 libxaw7
@@ -711,10 +730,10 @@ libxcb-glx0
libxcb-present0 libxcb-present0
libxcb-render0 libxcb-render0
libxcb-render0-dev libxcb-render0-dev
libxcb-shape0
libxcb-shm0 libxcb-shm0
libxcb-shm0-dev libxcb-shm0-dev
libxcb-sync1 libxcb-sync1
libxcb-xfixes0
libxcb1 libxcb1
libxcb1-dev libxcb1-dev
libxcomposite1 libxcomposite1
@@ -726,7 +745,6 @@ libxext-dev
libxext6 libxext6
libxfixes3 libxfixes3
libxfont2 libxfont2
libxft-dev
libxft2 libxft2
libxi6 libxi6
libxinerama1 libxinerama1
@@ -735,14 +753,11 @@ libxkbfile-dev
libxkbfile1 libxkbfile1
libxml-libxml-perl libxml-libxml-perl
libxml-namespacesupport-perl libxml-namespacesupport-perl
libxml-parser-perl
libxml-sax-base-perl libxml-sax-base-perl
libxml-sax-perl libxml-sax-perl
libxml-twig-perl
libxml-xpathengine-perl
libxml2 libxml2
libxml2-dev libxml2-dev
libxmlrpc-epi0 libxmlb2
libxmlsec1 libxmlsec1
libxmlsec1-openssl libxmlsec1-openssl
libxmu6 libxmu6
@@ -758,13 +773,18 @@ libxt-dev
libxt6 libxt6
libxtables12 libxtables12
libxtst6 libxtst6
libxv1
libxxf86dga1
libxxf86vm1 libxxf86vm1
libxxhash0
libyajl2 libyajl2
libyaml-0-2 libyaml-0-2
libyaml-dev
libz3-4
libz3-dev
libzen0v5 libzen0v5
libzip4 libzip4
libzmq5 libzmq5
libzstd-dev
libzstd1 libzstd1
python3-launchpadlib
python3-oauthlib python3-oauthlib
python3-wadllib

4
src/lists/linux-deps Normal file
View File

@@ -0,0 +1,4 @@
geos=libgeos-dev
pdo_firebird=firebird-dev
oci8=libaio-dev
pdo_oci=libaio-dev

View File

@@ -1,743 +0,0 @@
lib32gcc1
lib32stdc++6
lib32z1
libaccountsservice0
libacl1
libaio1
libapparmor-perl
libapparmor1
libapr1
libaprutil1
libaprutil1-dbd-sqlite3
libaprutil1-ldap
libapt-inst2.0
libapt-pkg5.0
libarchive13
libargon2-1
libasan2
libasan5
libasn1-8-heimdal
libasound2
libasound2-data
libaspell15
libasprintf0v5
libassuan0
libatk-bridge2.0-0
libatk1.0-0
libatk1.0-data
libatm1
libatomic1
libatspi2.0-0
libattr1
libaudit-common
libaudit1
libauthen-sasl-perl
libavahi-client3
libavahi-common-data
libavahi-common3
libbind9-140
libbison-dev
libblas-common
libblas-dev
libblas3
libblkid1
libboost-filesystem1.58.0
libboost-system1.58.0
libbsd0
libburn4
libbz2-1.0
libbz2-dev
libc++-dev
libc++-helpers
libc++1
libc++abi-dev
libc++abi1
libc-ares2
libc-bin
libc-client2007e
libc-dev-bin
libc6
libc6-dev
libc6-i386
libcairo-gobject2
libcairo-script-interpreter2
libcairo2
libcairo2-dev
libcanberra0
libcap-ng0
libcap2
libcap2-bin
libcapnp-0.5.3
libcc1-0
libcdt5
libcgi-fast-perl
libcgi-pm-perl
libcgraph6
libcgroup1
libcilkrts5
libclang-common-9-dev
libclang-cpp9
libcolord2
libcomerr2
libcommon-sense-perl
libcroco3
libcryptsetup4
libcups2
libcurl3
libcurl3-gnutls
libdatrie1
libdb5.3
libdbus-1-3
libdbus-glib-1-2
libdbusmenu-glib4
libdbusmenu-gtk3-4
libdconf1
libdebconfclient0
libdevmapper-event1.02.1
libdevmapper1.02.1
libdjvulibre-dev
libdjvulibre-text
libdjvulibre21
libdns-export162
libdns162
libdpkg-perl
libdrm-amdgpu1
libdrm-common
libdrm-intel1
libdrm-nouveau2
libdrm-radeon1
libdrm2
libdumbnet1
libdw1
libeatmydata1
libedit2
libefivar0
libegl1-mesa
libelf1
libenchant1c2a
libencode-locale-perl
libepoxy0
liberror-perl
libestr0
libevent-2.0-5
libevent-core-2.0-5
libevent-pthreads-2.0-5
libexif-dev
libexif12
libexpat1
libexpat1-dev
libfakeroot
libfbclient2
libfcgi-perl
libfdisk1
libffi-dev
libffi6
libfftw3-double3
libfile-basedir-perl
libfile-desktopentry-perl
libfile-listing-perl
libfile-mimeinfo-perl
libfl-dev
libfont-afm-perl
libfontconfig1
libfontconfig1-dev
libfontenc1
libfreetype6
libfreetype6-dev
libfribidi0
libfuse2
libgbm-dev
libgbm1
libgc1c2
libgcc-5-dev
libgcc-9-dev
libgcc1
libgconf-2-4
libgcrypt20
libgd3
libgdbm3
libgdiplus
libgdk-pixbuf2.0-0
libgdk-pixbuf2.0-common
libgdk-pixbuf2.0-dev
libgeoip1
libgflags2v5
libgfortran-5-dev
libgfortran-9-dev
libgfortran3
libgfortran5
libgif7
libgirepository-1.0-1
libgl1-mesa-dri
libgl1-mesa-glx
libglade2-0
libglade2.0-cil
libglapi-mesa
libglib2.0-0
libglib2.0-bin
libglib2.0-cil
libglib2.0-data
libglib2.0-dev
libgmp-dev
libgmp10
libgmpxx4ldbl
libgnutls-openssl27
libgnutls30
libgomp1
libgoogle-glog0v5
libgpg-error0
libgpm2
libgraphite2-3
libgraphviz-dev
libgsl-dev
libgsl2
libgssapi-krb5-2
libgssapi3-heimdal
libgtk-3-0
libgtk-3-bin
libgtk-3-common
libgtk2.0-0
libgtk2.0-cil
libgtk2.0-common
libgvc6
libgvc6-plugins-gtk
libgvpr2
libharfbuzz0b
libhavege1
libhcrypto4-heimdal
libheimbase1-heimdal
libheimntlm0-heimdal
libhogweed4
libhtml-form-perl
libhtml-format-perl
libhtml-parser-perl
libhtml-tagset-perl
libhtml-template-perl
libhtml-tree-perl
libhttp-cookies-perl
libhttp-daemon-perl
libhttp-date-perl
libhttp-message-perl
libhttp-negotiate-perl
libhunspell-1.3-0
libhx509-5-heimdal
libice-dev
libice6
libicu-dev
libicu55
libicu65
libidn11
libilmbase-dev
libilmbase12
libio-html-perl
libio-socket-ssl-perl
libipc-system-simple-perl
libisc-export160
libisc160
libisccc140
libisccfg140
libisl15
libisoburn1
libisofs6
libitm1
libjasper-dev
libjasper1
libjbig-dev
libjbig0
libjpeg-dev
libjpeg-turbo8
libjpeg-turbo8-dev
libjpeg8
libjpeg8-dev
libjs-jquery
libjson-c2
libjson-glib-1.0-0
libjson-glib-1.0-common
libjson-perl
libjson-xs-perl
libjte1
libk5crypto3
libkeyutils1
libklibc
libkmod2
libkrb5-26-heimdal
libkrb5-3
libkrb5support0
libksba8
liblapack-dev
liblapack3
liblcms2-2
liblcms2-dev
libldap-2.4-2
libldb1
liblldb-9
libllvm6.0
libllvm9
liblmdb0
liblocale-gettext-perl
liblqr-1-0
liblqr-1-0-dev
liblsan0
libltdl-dev
libltdl7
liblttng-ust-ctl2
liblttng-ust0
liblua5.1-0
liblua5.2-0
liblvm2app2.2
liblvm2cmd2.02
liblwp-mediatypes-perl
liblwp-protocol-https-perl
liblwres141
liblxc1
liblz4-1
liblzma-dev
liblzma5
liblzo2-2
libmagic-dev
libmagic1
libmagickcore-6-arch-config
libmagickcore-6-headers
libmagickcore-6.q16-2
libmagickcore-6.q16-2-extra
libmagickcore-6.q16-dev
libmagickcore-dev
libmagickwand-6-headers
libmagickwand-6.q16-2
libmagickwand-6.q16-dev
libmagickwand-dev
libmailtools-perl
libmcrypt4
libmediainfo0v5
libmemcached11
libmirclient9
libmircommon7
libmircore1
libmirprotobuf3
libmms0
libmnl0
libmono-2.0-1
libmono-2.0-dev
libmono-accessibility4.0-cil
libmono-cairo4.0-cil
libmono-cecil-private-cil
libmono-cil-dev
libmono-codecontracts4.0-cil
libmono-compilerservices-symbolwriter4.0-cil
libmono-corlib4.5-cil
libmono-cscompmgd0.0-cil
libmono-csharp4.0c-cil
libmono-custommarshalers4.0-cil
libmono-data-tds4.0-cil
libmono-db2-1.0-cil
libmono-debugger-soft4.0a-cil
libmono-http4.0-cil
libmono-i18n-cjk4.0-cil
libmono-i18n-mideast4.0-cil
libmono-i18n-other4.0-cil
libmono-i18n-rare4.0-cil
libmono-i18n-west4.0-cil
libmono-i18n4.0-all
libmono-i18n4.0-cil
libmono-ldap4.0-cil
libmono-management4.0-cil
libmono-messaging-rabbitmq4.0-cil
libmono-messaging4.0-cil
libmono-microsoft-build-engine4.0-cil
libmono-microsoft-build-framework4.0-cil
libmono-microsoft-build-tasks-v4.0-4.0-cil
libmono-microsoft-build-utilities-v4.0-4.0-cil
libmono-microsoft-build4.0-cil
libmono-microsoft-csharp4.0-cil
libmono-microsoft-visualc10.0-cil
libmono-microsoft-web-infrastructure1.0-cil
libmono-oracle4.0-cil
libmono-parallel4.0-cil
libmono-peapi4.0a-cil
libmono-posix4.0-cil
libmono-profiler
libmono-rabbitmq4.0-cil
libmono-relaxng4.0-cil
libmono-security4.0-cil
libmono-sharpzip4.84-cil
libmono-simd4.0-cil
libmono-smdiagnostics0.0-cil
libmono-sqlite4.0-cil
libmono-system-componentmodel-composition4.0-cil
libmono-system-componentmodel-dataannotations4.0-cil
libmono-system-configuration-install4.0-cil
libmono-system-configuration4.0-cil
libmono-system-core4.0-cil
libmono-system-data-datasetextensions4.0-cil
libmono-system-data-entity4.0-cil
libmono-system-data-linq4.0-cil
libmono-system-data-services-client4.0-cil
libmono-system-data-services4.0-cil
libmono-system-data4.0-cil
libmono-system-deployment4.0-cil
libmono-system-design4.0-cil
libmono-system-drawing-design4.0-cil
libmono-system-drawing4.0-cil
libmono-system-dynamic4.0-cil
libmono-system-enterpriseservices4.0-cil
libmono-system-identitymodel-selectors4.0-cil
libmono-system-identitymodel4.0-cil
libmono-system-io-compression-filesystem4.0-cil
libmono-system-io-compression4.0-cil
libmono-system-json-microsoft4.0-cil
libmono-system-json4.0-cil
libmono-system-ldap-protocols4.0-cil
libmono-system-ldap4.0-cil
libmono-system-management4.0-cil
libmono-system-messaging4.0-cil
libmono-system-net-http-formatting4.0-cil
libmono-system-net-http-webrequest4.0-cil
libmono-system-net-http4.0-cil
libmono-system-net4.0-cil
libmono-system-numerics-vectors4.0-cil
libmono-system-numerics4.0-cil
libmono-system-reactive-core2.2-cil
libmono-system-reactive-debugger2.2-cil
libmono-system-reactive-experimental2.2-cil
libmono-system-reactive-interfaces2.2-cil
libmono-system-reactive-linq2.2-cil
libmono-system-reactive-observable-aliases0.0-cil
libmono-system-reactive-platformservices2.2-cil
libmono-system-reactive-providers2.2-cil
libmono-system-reactive-runtime-remoting2.2-cil
libmono-system-reactive-windows-forms2.2-cil
libmono-system-reactive-windows-threading2.2-cil
libmono-system-reflection-context4.0-cil
libmono-system-runtime-caching4.0-cil
libmono-system-runtime-durableinstancing4.0-cil
libmono-system-runtime-serialization-formatters-soap4.0-cil
libmono-system-runtime-serialization4.0-cil
libmono-system-runtime4.0-cil
libmono-system-security4.0-cil
libmono-system-servicemodel-activation4.0-cil
libmono-system-servicemodel-discovery4.0-cil
libmono-system-servicemodel-internals0.0-cil
libmono-system-servicemodel-routing4.0-cil
libmono-system-servicemodel-web4.0-cil
libmono-system-servicemodel4.0a-cil
libmono-system-serviceprocess4.0-cil
libmono-system-threading-tasks-dataflow4.0-cil
libmono-system-transactions4.0-cil
libmono-system-web-abstractions4.0-cil
libmono-system-web-applicationservices4.0-cil
libmono-system-web-dynamicdata4.0-cil
libmono-system-web-extensions-design4.0-cil
libmono-system-web-extensions4.0-cil
libmono-system-web-http-selfhost4.0-cil
libmono-system-web-http-webhost4.0-cil
libmono-system-web-http4.0-cil
libmono-system-web-mobile4.0-cil
libmono-system-web-mvc3.0-cil
libmono-system-web-razor2.0-cil
libmono-system-web-regularexpressions4.0-cil
libmono-system-web-routing4.0-cil
libmono-system-web-services4.0-cil
libmono-system-web-webpages-deployment2.0-cil
libmono-system-web-webpages-razor2.0-cil
libmono-system-web-webpages2.0-cil
libmono-system-web4.0-cil
libmono-system-windows-forms-datavisualization4.0a-cil
libmono-system-windows-forms4.0-cil
libmono-system-windows4.0-cil
libmono-system-workflow-activities4.0-cil
libmono-system-workflow-componentmodel4.0-cil
libmono-system-workflow-runtime4.0-cil
libmono-system-xaml4.0-cil
libmono-system-xml-linq4.0-cil
libmono-system-xml-serialization4.0-cil
libmono-system-xml4.0-cil
libmono-system4.0-cil
libmono-tasklets4.0-cil
libmono-webbrowser4.0-cil
libmono-webmatrix-data4.0-cil
libmono-windowsbase4.0-cil
libmono-xbuild-tasks4.0-cil
libmonoboehm-2.0-1
libmonosgen-2.0-1
libmonosgen-2.0-dev
libmount1
libmpc3
libmpdec2
libmpfr4
libmpx0
libmspack0
libmysqlclient-dev
libmysqlclient20
libncurses5
libncurses5-dev
libncursesw5
libnet-dbus-perl
libnet-http-perl
libnet-smtp-ssl-perl
libnet-ssleay-perl
libnetfilter-conntrack3
libnettle6
libnewt0.52
libnfnetlink0
libnih-dbus1
libnih1
libnorm1
libnotify4
libnpth0
libnspr4
libnss3
libnss3-nssdb
libnuma1
libobjc-5-dev
libobjc4
libodbc1
libogg0
libomp-9-dev
libomp5-9
libonig2
libopenexr-dev
libopenexr22
libp11-kit0
libpam-modules
libpam-modules-bin
libpam-runtime
libpam-systemd
libpam0g
libpango-1.0-0
libpangocairo-1.0-0
libpangoft2-1.0-0
libpaper-utils
libpaper1
libparted2
libpathplan4
libpcap0.8
libpci3
libpciaccess0
libpcre16-3
libpcre2-16-0
libpcre2-32-0
libpcre2-8-0
libpcre2-dev
libpcre2-posix2
libpcre3
libpcre3-dev
libpcre32-3
libpcrecpp0v5
libperl5.22
libpfm4
libpgm-5.2-0
libpipeline1
libpixman-1-0
libpixman-1-dev
libplymouth4
libpng12-0
libpng12-dev
libpolkit-agent-1-0
libpolkit-backend-1-0
libpolkit-gobject-1-0
libpopt0
libpq-dev
libpq5
libprocps4
libprotobuf-lite9v5
libproxy1v5
libpthread-stubs0-dev
libpython-dev
libpython-stdlib
libpython2.7
libpython2.7-dev
libpython2.7-minimal
libpython2.7-stdlib
libpython3-dev
libpython3-stdlib
libpython3.5
libpython3.5-dev
libpython3.5-minimal
libpython3.5-stdlib
libqdbm14
libquadmath0
librabbitmq4
libre2-1v5
libreadline-dev
libreadline5
libreadline6
libreadline6-dev
librecode0
librest-0.7-0
libroken18-heimdal
librpm3
librpmbuild3
librpmio3
librpmsign3
librsvg2-2
librsvg2-common
librsvg2-dev
librtmp1
libruby2.3
libsasl2-2
libsasl2-modules
libsasl2-modules-db
libsctp1
libseccomp2
libsecret-1-0
libsecret-1-dev
libsecret-common
libselinux1
libsemanage-common
libsemanage1
libsensors4
libsepol1
libserf-1-1
libsigsegv2
libslang2
libsm-dev
libsm6
libsmartcols1
libsnmp-base
libsnmp30
libsodium23
libsoup-gnome2.4-1
libsoup2.4-1
libsqlite3-0
libsqlite3-dev
libss2
libssh2-1
libssl-dev
libssl-doc
libssl1.0.0
libssl1.1
libstdc++-5-dev
libstdc++-9-dev
libstdc++6
libstemmer0d
libsvn1
libsybdb5
libsystemd0
libtalloc2
libtasn1-6
libtbb2
libtcl8.6
libtcltk-ruby
libtdb1
libtevent0
libtext-charwidth-perl
libtext-iconv-perl
libtext-unidecode-perl
libtext-wrapi18n-perl
libthai-data
libthai0
libtidy5deb1
libtie-ixhash-perl
libtiff5
libtiff5-dev
libtiffxx5
libtimedate-perl
libtinfo-dev
libtinfo5
libtinyxml2-2v5
libtk8.6
libtool
libtsan0
libtypes-serialiser-perl
libubsan0
libubsan1
libucl1
libudev1
libunwind8
liburcu4
liburi-perl
libusb-0.1-4
libusb-1.0-0
libustr-1.0-1
libutempter0
libuuid1
libvorbis0a
libvorbisfile3
libvpx3
libvulkan1
libwayland-client0
libwayland-cursor0
libwayland-egl1-mesa
libwayland-server0
libwbclient0
libwind0-heimdal
libwmf-dev
libwmf0.2-7
libwrap0
libwww-perl
libwww-robotrules-perl
libwxbase3.0-0v5
libwxgtk3.0-0v5
libx11-6
libx11-data
libx11-dev
libx11-protocol-perl
libx11-xcb1
libxau-dev
libxau6
libxaw7
libxcb-dri2-0
libxcb-dri3-0
libxcb-glx0
libxcb-present0
libxcb-render0
libxcb-render0-dev
libxcb-shape0
libxcb-shm0
libxcb-shm0-dev
libxcb-sync1
libxcb-xfixes0
libxcb1
libxcb1-dev
libxcomposite1
libxcursor1
libxdamage1
libxdmcp-dev
libxdmcp6
libxdot4
libxext-dev
libxext6
libxfixes3
libxfont1
libxft-dev
libxft2
libxi6
libxinerama1
libxkbcommon0
libxkbfile-dev
libxkbfile1
libxml-libxml-perl
libxml-namespacesupport-perl
libxml-parser-perl
libxml-sax-base-perl
libxml-sax-perl
libxml-twig-perl
libxml-xpathengine-perl
libxml2
libxml2-dev
libxmlrpc-epi0
libxmlsec1
libxmlsec1-openssl
libxmu6
libxmuu1
libxpm4
libxrandr2
libxrender-dev
libxrender1
libxshmfence1
libxslt1.1
libxss1
libxt-dev
libxt6
libxtables11
libxtst6
libxv1
libxxf86dga1
libxxf86vm1
libyaml-0-2
libz3-dev
libzen0v5
libzip4
libzmq5
libzstd1
python3-oauthlib

View File

@@ -78,7 +78,7 @@ extension_dir_linux() {
data() { data() {
old_versions="5.[3-5]" old_versions="5.[3-5]"
date='20210919' date='20220831'
if [ "$os" = "Linux" ]; then if [ "$os" = "Linux" ]; then
. /etc/lsb-release . /etc/lsb-release
os=$os-$DISTRIB_CODENAME os=$os-$DISTRIB_CODENAME
@@ -93,12 +93,13 @@ data() {
os="Windows" os="Windows"
dir='C:\\tools\\php\\ext' dir='C:\\tools\\php\\ext'
fi fi
key="$os"-ext-"$version"-$(echo -n "$extensions-$key" | openssl dgst -sha256 | cut -d ' ' -f 2) job="${GITHUB_REPOSITORY}-${GITHUB_WORKFLOW}-${GITHUB_JOB}"
key="$key-$date" key="$(echo -n "$extensions-$key-$job" | openssl dgst -sha256 | cut -d ' ' -f 2)"
key="$os"-"$version"-"$key"-"$date"
echo "$dir" > "${RUNNER_TEMP:?}"/dir echo "$dir" > "${RUNNER_TEMP:?}"/dir
echo "$key" > "${RUNNER_TEMP:?}"/key echo "$key" > "${RUNNER_TEMP:?}"/key
echo "::set-output name=dir::$dir" echo "dir=$dir" >> "${GITHUB_OUTPUT:?}"
echo "::set-output name=key::$key" echo "key=$key" >> "${GITHUB_OUTPUT:?}"
} }
dependencies() { dependencies() {
@@ -107,6 +108,7 @@ dependencies() {
export cross="✗" export cross="✗"
export ext_config_directory="/tmp/extcache" export ext_config_directory="/tmp/extcache"
export deps_cache_directory="${RUNNER_TOOL_CACHE}"/deps export deps_cache_directory="${RUNNER_TOOL_CACHE}"/deps
sudo mkdir -p "$deps_cache_directory"
script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd) script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)
# shellcheck disable=SC1090 # shellcheck disable=SC1090
. "$script_dir/$(echo "$os" | tr '[:upper:]' '[:lower:]').sh" . "$script_dir/$(echo "$os" | tr '[:upper:]' '[:lower:]').sh"

View File

@@ -23,11 +23,27 @@ add_brew_tap() {
fi fi
} }
get_dependencies() {
extension=$1
list_deps="$(grep "$extension" "${script_dir:?}"/../lists/darwin-deps | cut -d '=' -f 2)"
formula_file="$tap_dir/$ext_tap/Formula/$extension@${version:?}.rb"
if [ -e "$formula_file" ]; then
formula_deps="$(grep "depends_on" "$formula_file" | cut -d '"' -f 2 | tr '\n' ' ')"
formula_deps_from_macos="$(grep "uses_from_macos \"lib" "$formula_file" | cut -d '"' -f 2 | tr '\n' ' ')"
fi
deps=()
[[ -n "${list_deps[*]}" ]] && deps+=("${list_deps[@]}")
[[ -n "${formula_deps[*]}" ]] && deps+=("${formula_deps[@]}")
[[ -n "${formula_deps_from_macos[*]}" ]] && deps+=("${formula_deps_from_macos[@]}")
echo "${deps[@]}"
}
filter_extensions() { filter_extensions() {
extensions_array=("$@") extensions_array=("$@")
filtered_extensions=() filtered_extensions=()
for ext in "${extensions_array[@]}"; do for ext in "${extensions_array[@]}"; do
if grep -i -q -w "$ext" "${script_dir:?}"/../lists/darwin-extensions; then if grep -i -q -w "$ext" "${script_dir:?}"/../lists/darwin-extensions ||
grep -q "$ext=" "${script_dir:?}"/../lists/darwin-deps; then
filtered_extensions+=("$ext") filtered_extensions+=("$ext")
fi fi
done done
@@ -40,7 +56,7 @@ setup_extensions_helper() {
extension_dir=$3 extension_dir=$3
cached_extension="${deps_cache_directory:?}/$dependency_extension.so" cached_extension="${deps_cache_directory:?}/$dependency_extension.so"
if ! [ -e "$cached_extension" ]; then if ! [ -e "$cached_extension" ]; then
brew install "$dependency_extension@${version:?}" brew install "$dependency_extension@$version"
sudo find "$brew_cellar/$dependency_extension@${version:?}" -name "$dependency_extension.so" -exec cp {} "$cached_extension" \; sudo find "$brew_cellar/$dependency_extension@${version:?}" -name "$dependency_extension.so" -exec cp {} "$cached_extension" \;
else else
echo "Found $dependency_extension extension in cache" echo "Found $dependency_extension extension in cache"
@@ -103,6 +119,9 @@ restore_library_helper() {
if ! [ -d "$brew_prefix/opt/$dep_name" ]; then if ! [ -d "$brew_prefix/opt/$dep_name" ]; then
brew link --force --overwrite "$dep_name" 2>/dev/null || true brew link --force --overwrite "$dep_name" 2>/dev/null || true
fi fi
if ! [ -d "$brew_prefix/opt/$dep_name" ]; then
sudo ln -sf "$brew_cellar"/"$dep_name"/* "$brew_prefix"/opt/"$dep_name"
fi
} }
restore_library() { restore_library() {
@@ -120,7 +139,7 @@ setup_libraries() {
shift 1 shift 1
libraries_array=("$@") libraries_array=("$@")
ext_deps_dir="$deps_cache_directory/$extension" ext_deps_dir="$deps_cache_directory/$extension"
sudo cp -a "$tap_dir"/"$ext_tap"/.github/deps/"$extension"/*.rb "$tap_dir"/"$core_tap"/Formula/ sudo cp -a "$tap_dir"/"$ext_tap"/.github/deps/"$extension"/*.rb "$tap_dir"/"$core_tap"/Formula/ 2>/dev/null || true
sudo mkdir -p "$ext_deps_dir" sudo mkdir -p "$ext_deps_dir"
echo "::group::Logs to set up libraries required for $extension" echo "::group::Logs to set up libraries required for $extension"
for lib in "${libraries_array[@]}"; do for lib in "${libraries_array[@]}"; do
@@ -145,7 +164,7 @@ setup_dependencies() {
add_brew_tap "$php_tap" add_brew_tap "$php_tap"
add_brew_tap "$ext_tap" add_brew_tap "$ext_tap"
for extension in "${extensions_array[@]}"; do for extension in "${extensions_array[@]}"; do
IFS=' ' read -r -a dependency_array <<<"$(grep "depends_on" "$tap_dir/$ext_tap/Formula/$extension@$version.rb" | cut -d '"' -f 2 | tr '\n' ' ')" IFS=' ' read -r -a dependency_array <<<"$(get_dependencies "$extension")"
IFS=' ' read -r -a extension_array <<<"$(echo "${dependency_array[@]}" | grep -Eo "[a-z]*@" | sed 's/@//' | tr '\n' ' ')" IFS=' ' read -r -a extension_array <<<"$(echo "${dependency_array[@]}" | grep -Eo "[a-z]*@" | sed 's/@//' | tr '\n' ' ')"
IFS=' ' read -r -a libraries_array <<<"${dependency_array[@]//shivammathur*/}" IFS=' ' read -r -a libraries_array <<<"${dependency_array[@]//shivammathur*/}"
if [[ -n "${libraries_array[*]// /}" ]]; then if [[ -n "${libraries_array[*]// /}" ]]; then

View File

@@ -4,11 +4,17 @@ link_apt_fast() {
fi fi
} }
add_sudo() {
if ! command -v sudo >/dev/null; then
apt-get install -y sudo || (apt-get update && apt-get install -y sudo)
fi
}
fetch_package() { fetch_package() {
if ! [ -e /tmp/Packages ]; then if ! [ -e /tmp/Packages ]; then
. /etc/lsb-release . /etc/os-release
deb_build_arch=$(dpkg-architecture -q DEB_BUILD_ARCH) arch=$(dpkg --print-architecture)
curl -o /tmp/Packages.gz -sL "http://ppa.launchpad.net/ondrej/php/ubuntu/dists/$DISTRIB_CODENAME/main/binary-$deb_build_arch/Packages.gz" curl -o /tmp/Packages.gz -sL "http://ppa.launchpad.net/ondrej/php/ubuntu/dists/$VERSION_CODENAME/main/binary-$arch/Packages.gz"
gzip -df /tmp/Packages.gz gzip -df /tmp/Packages.gz
fi fi
} }
@@ -16,7 +22,12 @@ fetch_package() {
get_dependencies() { get_dependencies() {
package=$1 package=$1
prefix=$2 prefix=$2
sed -e '/Package:\s'"$package$"'/,/^\s*$/!d' /tmp/Packages | grep -Eo "^Depends.*" | tr ',' '\n' | awk -v ORS='' '/^\s'"$prefix"'/{print$0}' | sed -e 's/([^()]*)//g' | sort | uniq | xargs echo -n list_deps="$(grep "${package#*-}" "${script_dir:?}"/../lists/linux-deps | cut -d '=' -f 2 | grep -Eo "$prefix.*")"
package_deps="$(sed -e '/Package:\s'"$package$"'/,/^\s*$/!d' /tmp/Packages | grep -Eo "^Depends.*" | tr ',' '\n' | awk -v ORS='' '/^\s'"$prefix"'/{print$0}' | sed -e 's/([^()]*)//g' | sort | uniq | xargs echo -n)"
deps=()
[[ -n "${list_deps[*]}" ]] && deps+=("${list_deps[@]}")
[[ -n "${package_deps[*]}" ]] && deps+=("${package_deps[@]}")
echo "${deps[@]}"
} }
get_package_link() { get_package_link() {
@@ -58,7 +69,7 @@ setup_extensions() {
filter_libraries() { filter_libraries() {
libraries="$(echo "$1" | xargs -n1 | sort | uniq | xargs)" libraries="$(echo "$1" | xargs -n1 | sort | uniq | xargs)"
for library in $libraries; do for library in $libraries; do
if grep -i -q -w "$library" "${script_dir:?}"/../lists/"$DISTRIB_CODENAME"-libs; then if grep -i -q -w "$library" "${script_dir:?}"/../lists/"$VERSION_CODENAME"-libs; then
libraries=${libraries//$library/} libraries=${libraries//$library/}
fi fi
done done
@@ -74,7 +85,7 @@ setup_libraries() {
IFS=' ' read -r -a libraries_array <<<"$libraries" IFS=' ' read -r -a libraries_array <<<"$libraries"
link_apt_fast link_apt_fast
echo "::group::Logs to set up required libraries" echo "::group::Logs to set up required libraries"
sudo DEBIAN_FRONTEND=noninteractive apt-fast install --no-install-recommends --no-upgrade -y "${libraries_array[@]}" sudo DEBIAN_FRONTEND=noninteractive apt-fast install --no-install-recommends --no-upgrade -y "${libraries_array[@]}" || (sudo DEBIAN_FRONTEND=noninteractive apt-get update && sudo DEBIAN_FRONTEND=noninteractive apt-fast install --no-install-recommends --no-upgrade -y "${libraries_array[@]}")
ec="$?" ec="$?"
echo "::endgroup::" echo "::endgroup::"
if [ "$ec" -eq "0" ]; then mark="${tick:?}"; else mark="${cross:?}"; fi if [ "$ec" -eq "0" ]; then mark="${tick:?}"; else mark="${cross:?}"; fi
@@ -87,16 +98,23 @@ setup_dependencies() {
extensions=$1 extensions=$1
extension_dir=$2 extension_dir=$2
[[ -z "${extensions// }" ]] && return [[ -z "${extensions// }" ]] && return
add_sudo
IFS=' ' read -r -a extensions_array <<<"$(echo "$extensions" | sed -e "s/pdo[_-]//g" -Ee "s/^|,\s*/ php$version-/g")" IFS=' ' read -r -a extensions_array <<<"$(echo "$extensions" | sed -e "s/pdo[_-]//g" -Ee "s/^|,\s*/ php$version-/g")"
. /etc/lsb-release . /etc/os-release
sudo rm -rf "${ext_config_directory:?}" || true sudo rm -rf "${ext_config_directory:?}" || true
libraries="" libraries=""
extension_packages="" extension_packages=""
for extension_package in "${extensions_array[@]}"; do for extension_package in "${extensions_array[@]}"; do
[[ ! "$extension_package" =~ php[0-9]+\.[0-9]+-[a-zA-Z0-9]+$ ]] && continue
fetch_package fetch_package
libraries="$libraries $(get_dependencies "$extension_package" "lib")" libraries="$libraries $(get_dependencies "$extension_package" "lib")"
extension_packages="$extension_packages $(get_dependencies "$extension_package" "php$version-")" IFS=' ' read -r -a dependency_extension_packages_array <<<"$(get_dependencies "$extension_package" "php$version-")"
extension_packages="$extension_packages ${dependency_extension_packages_array[*]}"
extension_packages="${extension_packages//php$version-common/}" extension_packages="${extension_packages//php$version-common/}"
for dependency_extension in "${dependency_extension_packages_array[@]}"; do
mkdir -p "$ext_config_directory/${extension_package#*-}"
add_config "${extension_package#*-}" "$dependency_extension"
done
done done
if [[ -n "${libraries// /}" ]]; then if [[ -n "${libraries// /}" ]]; then
setup_libraries "$libraries" setup_libraries "$libraries"

View File

@@ -1,5 +1,6 @@
{ {
"compilerOptions": { "compilerOptions": {
"declaration": true,
"esModuleInterop": true, "esModuleInterop": true,
"lib": [ "lib": [
"ESNext" "ESNext"