[PECL-CVS] [pecl-encryption-mcrypt] master: These can never work, as it is no longer possible to install libmcrypt, and there is no pre-compiled one available for Windows

[email protected] (Derick Rethans)
Newsgroups php.pecl.cvs
Message-ID <[email protected]>
Author: Derick Rethans (derickr)
Date: 2025-08-05T10:08:34+01:00

Commit: https://github.com/php/pecl-encryption-mcrypt/commit/86f7a481409387ff2434df9f8d1f1fe63e96199b
Raw diff: https://github.com/php/pecl-encryption-mcrypt/commit/86f7a481409387ff2434df9f8d1f1fe63e96199b.diff

These can never work, as it is no longer possible to install libmcrypt, and there is no pre-compiled one available for Windows

Changed paths:
  M  .github/workflows/build.yml
  M  composer.json


Diff:

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 5d2197e..90d0070 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -9,86 +9,76 @@ on:
     create:
 
 jobs:
+    get-extension-matrix:
+        runs-on: ubuntu-latest
+        name: "Windows Build Matrix"
+        outputs:
+            matrix: ${{ steps.extension-matrix.outputs.matrix }}
+        steps:
+            - name: Checkout
+              uses: actions/checkout@v4
+            - name: Get The Extension Matrix
+              id: extension-matrix
+              uses: php/php-windows-builder/extension-matrix@v1
+              with:
+                php-version-list: '8.0, 8.1, 8.2, 8.3, 8.4, 8.5'
+                arch-list: 'x64'
+
     windows:
-        runs-on: windows-latest
-        name: "Windows: Build and test"
-        defaults:
-            run:
-                shell: cmd
+        needs: get-extension-matrix
+        runs-on: ${{ matrix.os }}
+        name: "Windows"
+        strategy:
+            fail-fast: false
+            matrix: ${{fromJson(needs.get-extension-matrix.outputs.matrix)}}
+        steps:
+            - name: Checkout
+              uses: actions/checkout@v4
+            - name: Build The Extension
+              uses: php/php-windows-builder/extension@v1
+              with:
+                php-version: ${{ matrix.php-version }}
+                arch: ${{ matrix.arch }}
+                ts: ${{ matrix.ts }}
+                args: --with-mcrypt
+                libs: libmcrypt
+
+    linux:
+        runs-on: ubuntu-latest
+        name: "Linux"
         strategy:
             fail-fast: false
             matrix:
-                php: ["7.3", "7.4", "8.0", "8.1", "8.2", "8.3", "8.4", "8.5"]
-                arch: [x86, x64]
-                ts: [nts, ts]
+                php: [8.0, 8.1, 8.2, 8.3, 8.4, 8.5]
+                use-opcache: [true, false]
                 experimental: [false]
         steps:
-                - name: Checkout Repository
-                  uses: actions/checkout@v3
-                - name: Extract Version
-                  shell: powershell
-                  run: |
-                    chcp 65001
-                    $r = Select-String -Path php_mcrypt.h -Pattern 'PHP_MCRYPT_VERSION\s+"(.*)"'
-                    $s = $r.Matches[0].Groups[1]
-                    echo "$s"
-                    $extension_version = 'EXTENSION_VERSION=' + $s
-                    echo $extension_version >> $env:GITHUB_ENV
-                - name: Setup PHP
-                  id: setup-php
-                  uses: cmb69/[email protected]
-                  with:
-                      version: ${{matrix.php}}
-                      arch: ${{matrix.arch}}
-                      ts: ${{matrix.ts}}
-                      deps: "libmcrypt"
-                - name: Enable Developer Command Prompt
-                  uses: ilammy/msvc-dev-cmd@v1
-                  with:
-                      arch: ${{matrix.arch}}
-                      toolset: ${{steps.setup-php.outputs.toolset}}
-                - name: Generate Build Files
-                  run: phpize
-                - name: Configure Build
-                  run: configure --with-mcrypt --with-prefix=${{steps.setup-php.outputs.prefix}}
-                - name: Build
-                  run: nmake
-                - name: Define Module Env
-                  shell: powershell
-                  run: |
-                    chcp 65001
+            -   uses: actions/checkout@v4
 
-                    $dir = (Get-Location).Path + '\'
-                    if ('x64' -eq '${{matrix.arch}}') { $dir = $dir + 'x64\' }
-                    $dir = $dir + 'Release'
-                    if ('ts' -eq '${{matrix.ts}}') { $dir = $dir + '_TS' }
+            -   name: Setup PHP
+                uses: shivammathur/setup-php@v2
+                with:
+                    php-version: "${{ matrix.php }}"
+                    coverage: none
+                    tools: pecl
+                    deps: "libmcrypt"
 
-                    $artifact_name = 'php_mcrypt-${{env.EXTENSION_VERSION}}-${{matrix.php}}'
+            -   name: Compile
+                run: phpize && ./configure && make all
 
-                    if ('7.2' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vc15' }
-                    if ('7.3' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vc15' }
-                    if ('7.4' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vc15' }
-                    if ('8.0' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vs16' }
-                    if ('8.1' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vs16' }
-                    if ('8.2' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vs16' }
-                    if ('8.3' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vs16' }
-                    if ('8.4' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vs17' }
-                    if ('8.5' -eq '${{matrix.php}}') { $artifact_name = $artifact_name + '-vs17' }
+            -   name: Run tests
+                continue-on-error: ${{ matrix.experimental }}
+                run: |
+                    make test
 
-                    if ('nts' -eq '${{matrix.ts}}') { $artifact_name = $artifact_name + '-nts' }
-                    if ('x64' -eq '${{matrix.arch}}') { $artifact_name = $artifact_name + '-x86_64' }
-
-                    $extension_artifact_name = "ARTIFACT_NAME=" + $artifact_name
-                    echo $extension_artifact_name >> $env:GITHUB_ENV
-
-                    $from = $dir + '\php_mcrypt.dll'
-                    $to = $dir + '\' + $artifact_name + ".dll"
-                    Copy-Item $from -Destination $to
-                    $extension_artifact = "ARTIFACT=" + $to
-                    echo $extension_artifact >> $env:GITHUB_ENV
-
-                - name: Upload artifacts
-                  uses: actions/upload-artifact@v3
-                  with:
-                      name: ${{env.ARTIFACT_NAME}}
-                      path: ${{env.ARTIFACT}}
+    release:
+        runs-on: ubuntu-latest
+        name: "PIE Release Artifacts"
+        needs: windows
+        if: ${{ github.event_name == 'release' }}
+        steps:
+            - name: Upload artifact to the release
+              uses: php/php-windows-builder/release@v1
+              with:
+                release: ${{ github.event.release.tag_name }}
+                token: ${{ secrets.GITHUB_TOKEN }}
diff --git a/composer.json b/composer.json
index 236acbc..767f666 100644
--- a/composer.json
+++ b/composer.json
@@ -4,15 +4,16 @@
     "license": "PHP-3.01",
     "description": "Bindings for the libmcrypt library.",
     "require": {
-        "php": ">=7.2"
+        "php": ">= 7.2.0, <= 8.6.0"
     },
     "php-ext": {
         "priority": 20,
+        "extension-name": "mcrypt",
         "configure-options": [
             {
                 "name": "with-mcrypt",
-                "description": "libmcrypt prefix?",
-                "needs-value": false
+                "description": "Include mcrypt support",
+                "needs-value": true
             }
         ]
     }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.