Skip to content

New packaging script#1383

Open
ahoarau wants to merge 5 commits intosimd-everywhere:masterfrom
ahoarau:new-packaging
Open

New packaging script#1383
ahoarau wants to merge 5 commits intosimd-everywhere:masterfrom
ahoarau:new-packaging

Conversation

@ahoarau
Copy link
Contributor

@ahoarau ahoarau commented Feb 3, 2026

Hi,
Following up on the discussion on #1362 , here's the new packaging script to create a "apt"-like structure.
It rewritten from scratch, but reuses the logic of amalgamate.py.

I took the liberty to:

  • Include the COPYING file inside the archive
  • Use zip as default output (configurable). Zip is the fastest to uncompress on CMake fetchcontent.
  • Include the CMakeLists.txt from the repo so we can fetchcontent just like the whole repo.
  • remove the intermediate versionned folder inside the archive. It only contains simde/

to run (use python or uv):

uv run package_simde.py --output simde-1.2.3.zip

This will give:

uv run .\package_simde.py --output simde-1.2.3.zip
Source directory: D:\a\simde\simde
Archive format: zip
Final output path: D:\a\simde\simde-1.2.3.zip
Temporary build directory: D:\a\simde\simde-1.2.3
Creating directory structure: D:\a\simde\simde-1.2.3\simde
Git Hash: 6ca7194220b965e128232f06809a1913e12f0a13
Amalgamating 23 headers from 'D:\a\simde\simde'...
Processing: arm\neon.h
Processing: arm\sve.h
Processing: mips\msa.h
Processing: wasm\relaxed-simd.h
Processing: wasm\simd128.h
Processing: x86\aes.h
Processing: x86\avx.h
Processing: x86\avx2.h
Processing: x86\avx512.h
Processing: x86\bmi.h
Processing: x86\clmul.h
Processing: x86\f16c.h
Processing: x86\fma.h
Processing: x86\gfni.h
Processing: x86\mmx.h
Processing: x86\sse.h
Processing: x86\sse2.h
Processing: x86\sse3.h
Processing: x86\sse4.1.h
Processing: x86\sse4.2.h
Processing: x86\ssse3.h
Processing: x86\svml.h
Processing: x86\xop.h
Copying COPYING file
Copying CMakeLists.txt file
Creating archive D:\a\simde\simde-1.2.3.zip...
Successfully created D:\a\simde\simde-1.2.3.zip

There are some options/securities to change dirs, overwriting etc. just use "-h" for help:
image

@mr-c No pressure to merge anything. I'd be glad to hear your feedback on this.

@ahoarau
Copy link
Contributor Author

ahoarau commented Feb 3, 2026

Also, with a simple ci script we can push the archive automatically on every pushed tag for example:
release.yml

name: Release

on:
  push:
    tags:
      - 'v*'
      - '*'

jobs:
  package-and-release:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6

      - name: Package simde
        run: python3 package_simde.py --output simde-${{ github.ref_name }}.zip

      - name: Release
        uses: softprops/action-gh-release@v2
        with:
          files: simde-${{ github.ref_name }}.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant