diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..f0896d3 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,26 @@ +{ + "name": "Ubuntu 24.04 with C++", + + "image": "mcr.microsoft.com/devcontainers/cpp:ubuntu-24.04", + // Configure tool-specific properties. + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + "settings": { + "terminal.integrated.shell.linux": "/bin/bash" + }, + "extensions": [ + "ms-vscode.cpptools", + "ms-vscode.cmake-tools", + "josetr.cmake-language-support-vscode", + "asciidoctor.asciidoctor-vscode", + "ms-python.python", + "ms-toolsai.jupyter", + "ms-vsliveshare.vsliveshare", + "asciidoctor.asciidoctor-vscode", + "shardulm94.trailing-spaces", + "redhat.vscode-yaml" + ] + } + } +} \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index da53cb1..d45fa7a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,62 +5,21 @@ on: push: branches: - master + tags: + - 'v*' pull_request: branches: - master jobs: - build-cache: - runs-on: ubuntu-24.04 - permissions: - packages: write - strategy: - matrix: - env_variant: [default] - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - submodules: true - - - name: Set up Spack - uses: spack/setup-spack@v2.1.1 - with: - buildcache: true - color: true - path: _spack - - - name: Checkout NumPEx Spack packages - uses: actions/checkout@v4 - with: - repository: numpex/spack.numpex - path: numpex-spack - fetch-depth: 1 - - - name: Add NumPEx repo to Spack - run: | - spack repo add numpex-spack - - - name: Install Metis via Spack - run: | - ls -l - spack -e spack/metis-${{ matrix.env_variant }} install --no-check-signature - - - name: Push packages and update index - run: | - spack -e spack/metis-${{ matrix.env_variant }} mirror set --push --oci-username ${{ github.actor }} --oci-password "${{ secrets.GITHUB_TOKEN }}" feelpp-buildcache - spack -e spack/metis-${{ matrix.env_variant }} buildcache push --base-image ubuntu:24.04 --unsigned --update-index feelpp-buildcache - if: ${{ !cancelled() }} - build: - needs: build-cache runs-on: ubuntu-24.04 permissions: packages: write strategy: matrix: - env_variant: [default] - preset: [default, shared] + env_variant: [metis-default] + preset: [int32-real32-shared, int64-real64-shared] continue-on-error: false steps: - name: Checkout repository @@ -68,35 +27,63 @@ jobs: with: submodules: true - - name: Set up Spack - uses: spack/setup-spack@v2.1.1 + - name: Prepare Spack & Push Build-Cache + uses: numpex/spack-buildcache-action@v1.1.2 with: - buildcache: true - color: true - path: _spack - - - name: Checkout NumPEx Spack packages - uses: actions/checkout@v4 - with: - repository: numpex/spack.numpex - path: numpex-spack - fetch-depth: 1 - - - name: Add NumPEx repo to Spack - run: | - spack repo add numpex-spack - - - name: Spack install dependencies - run: spack -e spack/metis-${{ matrix.env_variant }} install --no-check-signature + env-variant: ${{ matrix.env_variant }} + repo-packages: numpex/spack.numpex + repo-packages-path: numpex-spack + mirror: numpex-buildcache + mirror-token: ${{ secrets.GITHUB_TOKEN }} + env-path: .spack + # base-image: ubuntu:24.04 - name: Configure CMake shell: spack-bash {0} run: | - spack env activate spack/metis-${{ matrix.env_variant }} + spack env activate .spack/${{ matrix.env_variant }} cmake --preset ${{ matrix.preset }} - name: Build run: cmake --build --preset ${{ matrix.preset }} --parallel - name: Test - run: ctest --preset ${{ matrix.preset }} --output-on-failure \ No newline at end of file + run: ctest --preset ${{ matrix.preset }} --output-on-failure + + - name: Package with CPack + run: | + cmake --build --preset ${{ matrix.preset }} --target package + cmake --build --preset ${{ matrix.preset }} --target package_source + + - name: Upload Metis artifacts + uses: actions/upload-artifact@v4 + with: + name: metis-artifacts-${{ matrix.preset }} + path: | + build/${{ matrix.preset }}/*.tar.gz + build/${{ matrix.preset }}/*.zip + release: + # only run on tag pushes + if: startsWith(github.ref, 'refs/tags/') + needs: build + runs-on: ubuntu-24.04 + steps: + - name: Download Metis artifacts + uses: actions/download-artifact@v4 + with: + path: dist + + - name: Create Release + uses: softprops/action-gh-release@v2 + with: + # include both tgz and zip + files: | + dist/*.tar.gz + dist/*.zip + draft: false + # mark prereleases for pre-releases tags + prerelease: ${{ contains(github.ref, '-rc') || contains(github.ref, '-alpha') || contains(github.ref, '-beta') }} + name: Release ${{ github.ref_name }} + generate_release_notes: true + tag_name: ${{ github.ref }} + token: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 1cde0c3..70a6342 100644 --- a/.gitignore +++ b/.gitignore @@ -61,4 +61,4 @@ GKlib .svn/ .spack-env -spack.lock \ No newline at end of file +metis-*/ \ No newline at end of file diff --git a/.spack/metis-default/spack.lock b/.spack/metis-default/spack.lock new file mode 100644 index 0000000..07b4955 --- /dev/null +++ b/.spack/metis-default/spack.lock @@ -0,0 +1 @@ +{"_meta":{"file-type":"spack-lockfile","lockfile-version":6,"specfile-version":5},"spack":{"version":"1.0.0.dev0","type":"git","commit":"3f8d5fed393b35d129b03f092ea9cb6b857b634c"},"roots":[{"hash":"3cj3k2fjn4hfyvufwrdfys6bhzttyc2n","spec":"gcc@12:"},{"hash":"xporznkugn4qu5ko4jnh7fgojfuvzquk","spec":"gklib %gcc@12:"}],"concrete_specs":{"3cj3k2fjn4hfyvufwrdfys6bhzttyc2n":{"name":"gcc","version":"15.1.0","arch":{"platform":"linux","platform_os":"ubuntu24.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"binutils":false,"bootstrap":true,"build_system":"autotools","build_type":"RelWithDebInfo","graphite":false,"languages":["c","c++","fortran"],"mold":false,"nvptx":false,"piclibs":false,"profiled":false,"strip":false,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"zui4vdeuta3h7sremubpcwt3yjlawoexmrut3l62gebrpf3jlxuq====","dependencies":[{"name":"compiler-wrapper","hash":"qcgxz7lngyik2f6h55fvnrq2x2tvld23","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"diffutils","hash":"vypacletq7k6duftdyt627x5arvzf2zs","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"gawk","hash":"b65kbitqll4r263ix6pqrnghy5joksad","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"gcc","hash":"jepzatnqzi2inzfbr35bl5txzpuzmqcy","parameters":{"deptypes":["build"],"virtuals":["c","cxx"]}},{"name":"gcc-runtime","hash":"pkckr6ock6r7mnlyu25h3ahlu4y4w5rk","parameters":{"deptypes":["link"],"virtuals":[]}},{"name":"glibc","hash":"2fbs345cfsotvluodgtxhkem6gwcq7i3","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"gmp","hash":"r6g6mafswao4s2gw5vndio7kkp7x7v2j","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"libtool","hash":"azvarc6lisnkfrdv2b5pgrxattxdsb2v","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"mpc","hash":"qb6t5xgxghwzueoypaledv6wqwi56kzu","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"mpfr","hash":"lobwty3zhuzknxmdobups6sul2vmyhcp","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"perl","hash":"fklxodqpl5qa6awbgee5eqvkcnzhndrt","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"texinfo","hash":"lki2bgamtqoppp5cvhg32vkrvssowvn3","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"zlib-ng","hash":"vadvpfj2mrmlrwl5x5ail6o6gl6lezkp","parameters":{"deptypes":["build","link"],"virtuals":["zlib-api"]}},{"name":"zstd","hash":"leaneta2pcrzhiwjkje7z6bztkvjsnje","parameters":{"deptypes":["build","link"],"virtuals":[]}}],"annotations":{"original_specfile_version":5},"hash":"3cj3k2fjn4hfyvufwrdfys6bhzttyc2n"},"qcgxz7lngyik2f6h55fvnrq2x2tvld23":{"name":"compiler-wrapper","version":"1.0","arch":{"platform":"linux","platform_os":"ubuntu24.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"generic","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"yddw7n6fqj7xyws4ji7mipxn35xs3h4wipgnwawhtmer53lrpmyq====","annotations":{"original_specfile_version":5},"hash":"qcgxz7lngyik2f6h55fvnrq2x2tvld23"},"vypacletq7k6duftdyt627x5arvzf2zs":{"name":"diffutils","version":"3.10","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"kbmzdy7mgklc24qx55cvx7kq7hceby2yav4fnf64gfdo7epdghwa====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["build","link"],"virtuals":["iconv","libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"vypacletq7k6duftdyt627x5arvzf2zs"},"ob46f4apc7zqnt6cq7jem6iodf72z45y":{"name":"glibc","version":"2.35","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"external":{"path":"/usr","module":null,"extra_attributes":{}},"package_hash":"6fpf3zdg7hq5rihyyy2uqirjv4cz6bqwuhxackeq22cszeyklvua====","annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y"},"2i5w66ksi2es67thjquz25hzgovdfquf":{"name":"gmake","version":"4.4.1","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"generic","guile":false,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"ghstvqlc3r7kgiikwx24xhcxdxcqdk5viinrzgm2mssqigfonika====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"2i5w66ksi2es67thjquz25hzgovdfquf"},"b65kbitqll4r263ix6pqrnghy5joksad":{"name":"gawk","version":"5.3.1","arch":{"platform":"linux","platform_os":"ubuntu24.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","nls":false,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"tsrewxkp6bgv7xfy2hjvxjveawaw4pwcsz27zj2qsm4az2qr4gcq====","dependencies":[{"name":"compiler-wrapper","hash":"qcgxz7lngyik2f6h55fvnrq2x2tvld23","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"gcc","hash":"jepzatnqzi2inzfbr35bl5txzpuzmqcy","parameters":{"deptypes":["build"],"virtuals":["c"]}},{"name":"gcc-runtime","hash":"pkckr6ock6r7mnlyu25h3ahlu4y4w5rk","parameters":{"deptypes":["link"],"virtuals":[]}},{"name":"glibc","hash":"2fbs345cfsotvluodgtxhkem6gwcq7i3","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"gmp","hash":"r6g6mafswao4s2gw5vndio7kkp7x7v2j","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"libsigsegv","hash":"2buqgc3n7m2tlhiqlprzq7rg7o2sq55r","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"mpfr","hash":"lobwty3zhuzknxmdobups6sul2vmyhcp","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"readline","hash":"q7i4kwekutxkrtvp3saoycovxpjesg7y","parameters":{"deptypes":["build","link"],"virtuals":[]}}],"annotations":{"original_specfile_version":5},"hash":"b65kbitqll4r263ix6pqrnghy5joksad"},"jepzatnqzi2inzfbr35bl5txzpuzmqcy":{"name":"gcc","version":"9.4.0","arch":{"platform":"linux","platform_os":"ubuntu20.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"binutils":false,"bootstrap":true,"build_system":"autotools","build_type":"RelWithDebInfo","graphite":false,"languages":["c","c++","fortran"],"nvptx":false,"patches":["d4919d68d5460049d370e79ff78bbc320cfe66a7fdf6dfc92cf7e133152b2d56"],"piclibs":false,"profiled":false,"strip":false,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"external":{"path":"/usr","module":null,"extra_attributes":{"compilers":{"c":"/usr/bin/gcc","cxx":"/usr/bin/g++"}}},"patches":["d4919d68d5460049d370e79ff78bbc320cfe66a7fdf6dfc92cf7e133152b2d56"],"package_hash":"ik65guqjly3mabfjcifjaf6n5wg3gicdsbmsb3hzhh4ehw5qplsa====","annotations":{"original_specfile_version":5},"hash":"jepzatnqzi2inzfbr35bl5txzpuzmqcy"},"pkckr6ock6r7mnlyu25h3ahlu4y4w5rk":{"name":"gcc-runtime","version":"9.4.0","arch":{"platform":"linux","platform_os":"ubuntu24.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"generic","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"up2pdsw5tfvmn5gwgb3opl46la3uxoptkr3udmradd54s7qo72ha====","dependencies":[{"name":"gcc","hash":"jepzatnqzi2inzfbr35bl5txzpuzmqcy","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"glibc","hash":"2fbs345cfsotvluodgtxhkem6gwcq7i3","parameters":{"deptypes":["link"],"virtuals":["libc"]}}],"annotations":{"original_specfile_version":5},"hash":"pkckr6ock6r7mnlyu25h3ahlu4y4w5rk"},"2fbs345cfsotvluodgtxhkem6gwcq7i3":{"name":"glibc","version":"2.39","arch":{"platform":"linux","platform_os":"ubuntu24.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"external":{"path":"/usr","module":null,"extra_attributes":{}},"package_hash":"i5pyttni2dr3ucfxfjobgtcsbnes6ebwepmzb7bboy3k4fk2rboa====","annotations":{"original_specfile_version":5},"hash":"2fbs345cfsotvluodgtxhkem6gwcq7i3"},"r6g6mafswao4s2gw5vndio7kkp7x7v2j":{"name":"gmp","version":"6.3.0","arch":{"platform":"linux","platform_os":"ubuntu24.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","cxx":true,"libs":["shared","static"],"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"i34t5lcop5qus7ef2hncgmk6tykevn7ksit5bco3tb3me4lo7f6a====","dependencies":[{"name":"autoconf","hash":"44hks46iaqbgq5wxwkyvqttujwd6dfyk","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"automake","hash":"eaucnpeeexa3jqoa3m2zzajx4osggxld","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"compiler-wrapper","hash":"qcgxz7lngyik2f6h55fvnrq2x2tvld23","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"gcc","hash":"jepzatnqzi2inzfbr35bl5txzpuzmqcy","parameters":{"deptypes":["build"],"virtuals":["c","cxx"]}},{"name":"gcc-runtime","hash":"pkckr6ock6r7mnlyu25h3ahlu4y4w5rk","parameters":{"deptypes":["link"],"virtuals":[]}},{"name":"glibc","hash":"2fbs345cfsotvluodgtxhkem6gwcq7i3","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"libtool","hash":"azvarc6lisnkfrdv2b5pgrxattxdsb2v","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"m4","hash":"f2iq4foz2aky2aqfgh5vgsmkzojkdtxu","parameters":{"deptypes":["build"],"virtuals":[]}}],"annotations":{"original_specfile_version":5},"hash":"r6g6mafswao4s2gw5vndio7kkp7x7v2j"},"44hks46iaqbgq5wxwkyvqttujwd6dfyk":{"name":"autoconf","version":"2.72","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"o2p7sd2y7u3arqkk24aap54uarfgpxcdohyjbpcmw56nkbs27ueq====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"m4","hash":"f2iq4foz2aky2aqfgh5vgsmkzojkdtxu","parameters":{"deptypes":["build","run"],"virtuals":[]}},{"name":"perl","hash":"fklxodqpl5qa6awbgee5eqvkcnzhndrt","parameters":{"deptypes":["build","run"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"44hks46iaqbgq5wxwkyvqttujwd6dfyk"},"f2iq4foz2aky2aqfgh5vgsmkzojkdtxu":{"name":"m4","version":"1.4.19","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","patches":["9dc5fbd0d5cb1037ab1e6d0ecc74a30df218d0a94bdd5a02759a97f62daca573","bfdffa7c2eb01021d5849b36972c069693654ad826c1a20b53534009a4ec7a89"],"sigsegv":true,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"patches":["bfdffa7c2eb01021d5849b36972c069693654ad826c1a20b53534009a4ec7a89","9dc5fbd0d5cb1037ab1e6d0ecc74a30df218d0a94bdd5a02759a97f62daca573"],"package_hash":"npb7a53yz7wqx4nvnasxwgzxaoiks6sdjz2eugrgkjxs4ml24xea====","dependencies":[{"name":"diffutils","hash":"vypacletq7k6duftdyt627x5arvzf2zs","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"libsigsegv","hash":"2buqgc3n7m2tlhiqlprzq7rg7o2sq55r","parameters":{"deptypes":["build","link"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"f2iq4foz2aky2aqfgh5vgsmkzojkdtxu"},"2buqgc3n7m2tlhiqlprzq7rg7o2sq55r":{"name":"libsigsegv","version":"2.14","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"ypp3sciaprcyojozq2c5gqugtewmr5ytjbfpycyhu6wivtky7rja====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"2buqgc3n7m2tlhiqlprzq7rg7o2sq55r"},"fklxodqpl5qa6awbgee5eqvkcnzhndrt":{"name":"perl","version":"5.38.0","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"generic","cpanm":true,"opcode":true,"open":true,"patches":["714e4d1c7496e6b23834e7c88da3d69139418860fbc488fe82fd226b450a4be7"],"shared":true,"threads":true,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"patches":["714e4d1c7496e6b23834e7c88da3d69139418860fbc488fe82fd226b450a4be7"],"package_hash":"ta4gjmwr42nirckhlozeuijm5sx4pvf76ydo7ee5ixwwcttrhxha====","dependencies":[{"name":"berkeley-db","hash":"s4xxfelbpdcsoyvwrl4zjz5fzph6kqta","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"bzip2","hash":"foieuzksyh2iplc2dzxk6woupqnnzafe","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"gdbm","hash":"kcmfaavdwdvgehlnauczsgexnl52ti6x","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"zlib-ng","hash":"vadvpfj2mrmlrwl5x5ail6o6gl6lezkp","parameters":{"deptypes":["build","link"],"virtuals":["zlib-api"]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"fklxodqpl5qa6awbgee5eqvkcnzhndrt"},"s4xxfelbpdcsoyvwrl4zjz5fzph6kqta":{"name":"berkeley-db","version":"18.1.40","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","cxx":true,"docs":false,"patches":["26090f418891757af46ac3b89a9f43d6eb5989f7a3dce3d1cfc99fba547203b3","b231fcc4d5cff05e5c3a4814f6a5af0e9a966428dc2176540d2c05aff41de522"],"stl":true,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"patches":["b231fcc4d5cff05e5c3a4814f6a5af0e9a966428dc2176540d2c05aff41de522","26090f418891757af46ac3b89a9f43d6eb5989f7a3dce3d1cfc99fba547203b3"],"package_hash":"h57ydfn33zevvzctzzioiiwjwe362izbbwncb6a26dfeno4y7tda====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"s4xxfelbpdcsoyvwrl4zjz5fzph6kqta"},"foieuzksyh2iplc2dzxk6woupqnnzafe":{"name":"bzip2","version":"1.0.8","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"generic","debug":false,"pic":false,"shared":true,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"wa33h4h2abj7tx5cndixz7bdwu5fspdaf2kjlqsinnearayw6fra====","dependencies":[{"name":"diffutils","hash":"vypacletq7k6duftdyt627x5arvzf2zs","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"foieuzksyh2iplc2dzxk6woupqnnzafe"},"kcmfaavdwdvgehlnauczsgexnl52ti6x":{"name":"gdbm","version":"1.23","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"liepxl6phlcxbgfmibxafhewtihlgaa4x3hko37ckqlafhxkrgdq====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"readline","hash":"q7i4kwekutxkrtvp3saoycovxpjesg7y","parameters":{"deptypes":["build","link"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"kcmfaavdwdvgehlnauczsgexnl52ti6x"},"q7i4kwekutxkrtvp3saoycovxpjesg7y":{"name":"readline","version":"8.2","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","patches":["bbf97f1ec40a929edab5aa81998c1e2ef435436c597754916e6a5868f273aff7"],"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"patches":["bbf97f1ec40a929edab5aa81998c1e2ef435436c597754916e6a5868f273aff7"],"package_hash":"oww6dmr7xqgg6j7iiluonxbcl4irqnnrip4vfkjdwujncwnuhwuq====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"ncurses","hash":"2it6ne7sib26k3mkxtr7rsfy7ntyk45b","parameters":{"deptypes":["build","link"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"q7i4kwekutxkrtvp3saoycovxpjesg7y"},"2it6ne7sib26k3mkxtr7rsfy7ntyk45b":{"name":"ncurses","version":"6.5","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"abi":"none","build_system":"autotools","patches":["7a351bc4953a4ab70dabdbea31c8db0c03d40ce505335f3b6687180dde24c535"],"symlinks":false,"termlib":true,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"patches":["7a351bc4953a4ab70dabdbea31c8db0c03d40ce505335f3b6687180dde24c535"],"package_hash":"rlqzqxoau3wwzu62x6qxlf4flon6b4n3p4zesnc6t2oyybrvnkwq====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"pkgconf","hash":"udj2is6zd4txwiunnmvdcyjj4mzc57rd","parameters":{"deptypes":["build"],"virtuals":["pkgconfig"]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"2it6ne7sib26k3mkxtr7rsfy7ntyk45b"},"udj2is6zd4txwiunnmvdcyjj4mzc57rd":{"name":"pkgconf","version":"2.2.0","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"gl6tpyarjlclzsal6wa4dtc7cdzprq36nbibalai4a6wgzblrseq====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"udj2is6zd4txwiunnmvdcyjj4mzc57rd"},"vadvpfj2mrmlrwl5x5ail6o6gl6lezkp":{"name":"zlib-ng","version":"2.1.6","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","compat":true,"new_strategies":true,"opt":true,"pic":true,"shared":true,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"mulfc7ykutrxflhqn3h6pqypexmggje35ldj6ekqxn53zdhrkpuq====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"vadvpfj2mrmlrwl5x5ail6o6gl6lezkp"},"eaucnpeeexa3jqoa3m2zzajx4osggxld":{"name":"automake","version":"1.16.5","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"mwdviv4g6xu2ttfs6dnzmwbofpxa4vke3y5egbb6w4fesykvnbda====","dependencies":[{"name":"autoconf","hash":"44hks46iaqbgq5wxwkyvqttujwd6dfyk","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"perl","hash":"fklxodqpl5qa6awbgee5eqvkcnzhndrt","parameters":{"deptypes":["build","run"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"eaucnpeeexa3jqoa3m2zzajx4osggxld"},"azvarc6lisnkfrdv2b5pgrxattxdsb2v":{"name":"libtool","version":"2.4.7","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"7lyavyiwpnrhw7tfv5vgri32at345gdegbixiskk63ext2f5rzza====","dependencies":[{"name":"findutils","hash":"66b3nixhck4wwcraohwb4yv4xkqhuhq7","parameters":{"deptypes":["run"],"virtuals":[]}},{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"m4","hash":"f2iq4foz2aky2aqfgh5vgsmkzojkdtxu","parameters":{"deptypes":["build"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"azvarc6lisnkfrdv2b5pgrxattxdsb2v"},"66b3nixhck4wwcraohwb4yv4xkqhuhq7":{"name":"findutils","version":"4.9.0","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","patches":["440b9543365b4692a2e6e0b5674809659846658d34d1dfc542c4397c8d668b92"],"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"patches":["440b9543365b4692a2e6e0b5674809659846658d34d1dfc542c4397c8d668b92"],"package_hash":"bo3pd5cjg27xg6plm5x6znimvxfa2rj4br754j67zlk363w2hxvq====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"66b3nixhck4wwcraohwb4yv4xkqhuhq7"},"lobwty3zhuzknxmdobups6sul2vmyhcp":{"name":"mpfr","version":"4.2.1","arch":{"platform":"linux","platform_os":"ubuntu24.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","libs":["shared","static"],"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"fjdpxtxyom6yhygj44hzggoiddo7i6iqhlk65fve77c2w5migb5a====","dependencies":[{"name":"autoconf","hash":"44hks46iaqbgq5wxwkyvqttujwd6dfyk","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"autoconf-archive","hash":"l2e23hrihje6jbbew44uh4po6y5l4465","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"automake","hash":"eaucnpeeexa3jqoa3m2zzajx4osggxld","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"compiler-wrapper","hash":"qcgxz7lngyik2f6h55fvnrq2x2tvld23","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"gcc","hash":"jepzatnqzi2inzfbr35bl5txzpuzmqcy","parameters":{"deptypes":["build"],"virtuals":["c"]}},{"name":"gcc-runtime","hash":"pkckr6ock6r7mnlyu25h3ahlu4y4w5rk","parameters":{"deptypes":["link"],"virtuals":[]}},{"name":"glibc","hash":"2fbs345cfsotvluodgtxhkem6gwcq7i3","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"gmp","hash":"r6g6mafswao4s2gw5vndio7kkp7x7v2j","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"libtool","hash":"azvarc6lisnkfrdv2b5pgrxattxdsb2v","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"m4","hash":"f2iq4foz2aky2aqfgh5vgsmkzojkdtxu","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"texinfo","hash":"lki2bgamtqoppp5cvhg32vkrvssowvn3","parameters":{"deptypes":["build"],"virtuals":[]}}],"annotations":{"original_specfile_version":5},"hash":"lobwty3zhuzknxmdobups6sul2vmyhcp"},"l2e23hrihje6jbbew44uh4po6y5l4465":{"name":"autoconf-archive","version":"2023.02.20","arch":{"platform":"linux","platform_os":"ubuntu20.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"47jhxticfvx75kodzwb4ggjsxohgnztyenun336s6yap6ydwo4za====","dependencies":[{"name":"gmake","hash":"fuoncglinncidiiyjaircbu4gu2vomda","parameters":{"deptypes":["build"],"virtuals":[]}}],"annotations":{"original_specfile_version":5},"hash":"l2e23hrihje6jbbew44uh4po6y5l4465"},"fuoncglinncidiiyjaircbu4gu2vomda":{"name":"gmake","version":"4.4.1","arch":{"platform":"linux","platform_os":"ubuntu20.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"generic","guile":false,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"ebff4j7wot26anmsgwi75z5t2a5qlyk66cys5a75aev5xbcnktqq====","dependencies":[{"name":"compiler-wrapper","hash":"73wkuy3ny43vhn25gdx3rx4q5mgtdmjh","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"gcc","hash":"jepzatnqzi2inzfbr35bl5txzpuzmqcy","parameters":{"deptypes":["build"],"virtuals":["c"]}},{"name":"gcc-runtime","hash":"e3ffodm3sr65vmjhpzc2zl4w7d6pfsuj","parameters":{"deptypes":["link"],"virtuals":[]}},{"name":"glibc","hash":"abbprwvk2hsyeysxyxhtmivm7mdn6nvz","parameters":{"deptypes":["link"],"virtuals":["libc"]}}],"annotations":{"original_specfile_version":5},"hash":"fuoncglinncidiiyjaircbu4gu2vomda"},"73wkuy3ny43vhn25gdx3rx4q5mgtdmjh":{"name":"compiler-wrapper","version":"1.0","arch":{"platform":"linux","platform_os":"ubuntu20.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"generic","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"yddw7n6fqj7xyws4ji7mipxn35xs3h4wipgnwawhtmer53lrpmyq====","annotations":{"original_specfile_version":5},"hash":"73wkuy3ny43vhn25gdx3rx4q5mgtdmjh"},"e3ffodm3sr65vmjhpzc2zl4w7d6pfsuj":{"name":"gcc-runtime","version":"9.4.0","arch":{"platform":"linux","platform_os":"ubuntu20.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"generic","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"up2pdsw5tfvmn5gwgb3opl46la3uxoptkr3udmradd54s7qo72ha====","dependencies":[{"name":"gcc","hash":"jepzatnqzi2inzfbr35bl5txzpuzmqcy","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"glibc","hash":"abbprwvk2hsyeysxyxhtmivm7mdn6nvz","parameters":{"deptypes":["link"],"virtuals":["libc"]}}],"annotations":{"original_specfile_version":5},"hash":"e3ffodm3sr65vmjhpzc2zl4w7d6pfsuj"},"abbprwvk2hsyeysxyxhtmivm7mdn6nvz":{"name":"glibc","version":"2.31","arch":{"platform":"linux","platform_os":"ubuntu20.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"external":{"path":"/usr","module":null,"extra_attributes":{}},"package_hash":"24swlgvucy7i2yingwve257unenycgzrtt6ok7d6gyjrgsyx3gzq====","annotations":{"original_specfile_version":5},"hash":"abbprwvk2hsyeysxyxhtmivm7mdn6nvz"},"lki2bgamtqoppp5cvhg32vkrvssowvn3":{"name":"texinfo","version":"7.1","arch":{"platform":"linux","platform_os":"ubuntu24.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"f7rcojgy4xa43bfe65vbqrthfhrqpo3sljflevq4hoynr2dxuh2q====","dependencies":[{"name":"compiler-wrapper","hash":"qcgxz7lngyik2f6h55fvnrq2x2tvld23","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"gcc","hash":"jepzatnqzi2inzfbr35bl5txzpuzmqcy","parameters":{"deptypes":["build"],"virtuals":["c","cxx"]}},{"name":"gcc-runtime","hash":"pkckr6ock6r7mnlyu25h3ahlu4y4w5rk","parameters":{"deptypes":["link"],"virtuals":[]}},{"name":"gettext","hash":"6walsy7plkh5jsmhfcjs7ycegmmoejxb","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"glibc","hash":"2fbs345cfsotvluodgtxhkem6gwcq7i3","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"ncurses","hash":"2it6ne7sib26k3mkxtr7rsfy7ntyk45b","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"perl","hash":"fklxodqpl5qa6awbgee5eqvkcnzhndrt","parameters":{"deptypes":["build","link"],"virtuals":[]}}],"annotations":{"original_specfile_version":5},"hash":"lki2bgamtqoppp5cvhg32vkrvssowvn3"},"6walsy7plkh5jsmhfcjs7ycegmmoejxb":{"name":"gettext","version":"0.22.5","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","bzip2":true,"curses":true,"git":true,"libunistring":false,"libxml2":true,"pic":true,"shared":true,"tar":true,"xz":true,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"6jj4v4jxihnsb4fzhdviq2ht6bep4pjfciqeg453dhyj73e4fl6a====","dependencies":[{"name":"bzip2","hash":"foieuzksyh2iplc2dzxk6woupqnnzafe","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["build","link"],"virtuals":["iconv","libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"libxml2","hash":"is4ojmbyyf3ncmbw2bnk52jqmepvnx4a","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"ncurses","hash":"2it6ne7sib26k3mkxtr7rsfy7ntyk45b","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"tar","hash":"7xpkkpmchep5rttlbrjdprrmjdfx7o2c","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"xz","hash":"h3chnd2whpjrstvirppzwng4nrqfrzip","parameters":{"deptypes":["build","link","run"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"6walsy7plkh5jsmhfcjs7ycegmmoejxb"},"is4ojmbyyf3ncmbw2bnk52jqmepvnx4a":{"name":"libxml2","version":"2.10.3","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","pic":true,"python":false,"shared":true,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"squqo2aayigwxdusu3q3syojwit5gqdh6q4un576652hy4gytxcq====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["build","link"],"virtuals":["iconv","libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"pkgconf","hash":"udj2is6zd4txwiunnmvdcyjj4mzc57rd","parameters":{"deptypes":["build"],"virtuals":["pkgconfig"]}},{"name":"xz","hash":"h3chnd2whpjrstvirppzwng4nrqfrzip","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"zlib-ng","hash":"vadvpfj2mrmlrwl5x5ail6o6gl6lezkp","parameters":{"deptypes":["build","link"],"virtuals":["zlib-api"]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"is4ojmbyyf3ncmbw2bnk52jqmepvnx4a"},"h3chnd2whpjrstvirppzwng4nrqfrzip":{"name":"xz","version":"5.4.6","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","libs":["shared","static"],"pic":false,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"zt5vu2vph2v2qjwgdbe7btgcz7axpyalorcsqiuxhrg5grwgrrvq====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"h3chnd2whpjrstvirppzwng4nrqfrzip"},"7xpkkpmchep5rttlbrjdprrmjdfx7o2c":{"name":"tar","version":"1.34","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","zip":"pigz","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"cpgzon3rxegbd3xdnmhrmxvzaq5hyvpzz4y6egmhghhydvefupuq====","dependencies":[{"name":"bzip2","hash":"foieuzksyh2iplc2dzxk6woupqnnzafe","parameters":{"deptypes":["run"],"virtuals":[]}},{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["build","link"],"virtuals":["iconv","libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"pigz","hash":"7ssau2ubdmlbm25c4gwfvfdebjz7qrdk","parameters":{"deptypes":["run"],"virtuals":[]}},{"name":"xz","hash":"h3chnd2whpjrstvirppzwng4nrqfrzip","parameters":{"deptypes":["run"],"virtuals":[]}},{"name":"zstd","hash":"leaneta2pcrzhiwjkje7z6bztkvjsnje","parameters":{"deptypes":["run"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"7xpkkpmchep5rttlbrjdprrmjdfx7o2c"},"7ssau2ubdmlbm25c4gwfvfdebjz7qrdk":{"name":"pigz","version":"2.8","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"makefile","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"4w67lflje4giekjg4ie2vpyuiunjcumo6geofykvon3hodllp42q====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"zlib-ng","hash":"vadvpfj2mrmlrwl5x5ail6o6gl6lezkp","parameters":{"deptypes":["build","link"],"virtuals":["zlib-api"]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"7ssau2ubdmlbm25c4gwfvfdebjz7qrdk"},"leaneta2pcrzhiwjkje7z6bztkvjsnje":{"name":"zstd","version":"1.5.6","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"makefile","compression":["none"],"libs":["shared","static"],"programs":true,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"uvmrov4c6unft6o4yd3jk3uqvweua3uhwdli4sw7h5wvklaf5t3q====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"leaneta2pcrzhiwjkje7z6bztkvjsnje"},"qb6t5xgxghwzueoypaledv6wqwi56kzu":{"name":"mpc","version":"1.3.1","arch":{"platform":"linux","platform_os":"ubuntu24.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","libs":["shared","static"],"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"webjlp34evhh4wauduchhdv4t35ibc3ifgq4ep4q6su5lauip6ha====","dependencies":[{"name":"compiler-wrapper","hash":"qcgxz7lngyik2f6h55fvnrq2x2tvld23","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"gcc","hash":"jepzatnqzi2inzfbr35bl5txzpuzmqcy","parameters":{"deptypes":["build"],"virtuals":["c"]}},{"name":"gcc-runtime","hash":"pkckr6ock6r7mnlyu25h3ahlu4y4w5rk","parameters":{"deptypes":["link"],"virtuals":[]}},{"name":"glibc","hash":"2fbs345cfsotvluodgtxhkem6gwcq7i3","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"gmp","hash":"r6g6mafswao4s2gw5vndio7kkp7x7v2j","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"mpfr","hash":"lobwty3zhuzknxmdobups6sul2vmyhcp","parameters":{"deptypes":["build","link"],"virtuals":[]}}],"annotations":{"original_specfile_version":5},"hash":"qb6t5xgxghwzueoypaledv6wqwi56kzu"},"xporznkugn4qu5ko4jnh7fgojfuvzquk":{"name":"gklib","version":"5.2.0","arch":{"platform":"linux","platform_os":"ubuntu24.04","target":"x86_64_v3"},"namespace":"spack.numpex","parameters":{"build_system":"cmake","build_type":"Release","debug":false,"generator":"make","ipo":false,"shared":true,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"s56ct6qlmqh5jqaookokeh4lkn4mdmc2ehlchyywoqlajo2jpe2q====","dependencies":[{"name":"cmake","hash":"hd6o3qve3dlbqey7lh37feat3nfa4f46","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"compiler-wrapper","hash":"qcgxz7lngyik2f6h55fvnrq2x2tvld23","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"gcc","hash":"3cj3k2fjn4hfyvufwrdfys6bhzttyc2n","parameters":{"deptypes":["build","link"],"virtuals":["c"]}},{"name":"gcc-runtime","hash":"45na3dyj7gf3twtyzd7lhfsao7lnyqfh","parameters":{"deptypes":["link"],"virtuals":[]}},{"name":"glibc","hash":"nmh7m3scvygv3ar7s2vqky2uizl7jmaa","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}}],"annotations":{"original_specfile_version":5},"hash":"xporznkugn4qu5ko4jnh7fgojfuvzquk"},"hd6o3qve3dlbqey7lh37feat3nfa4f46":{"name":"cmake","version":"3.27.9","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"generic","build_type":"Release","doc":false,"ncurses":true,"ownlibs":true,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"4nfzzuirvovagbkvkxjvtkvwyokgaekv3iyo3emo7h2ai42uofmq====","dependencies":[{"name":"curl","hash":"5ibjroa337fq6ux7zfjmq5b6xk7ezucs","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"ncurses","hash":"2it6ne7sib26k3mkxtr7rsfy7ntyk45b","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"zlib-ng","hash":"vadvpfj2mrmlrwl5x5ail6o6gl6lezkp","parameters":{"deptypes":["build","link"],"virtuals":["zlib-api"]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"hd6o3qve3dlbqey7lh37feat3nfa4f46"},"5ibjroa337fq6ux7zfjmq5b6xk7ezucs":{"name":"curl","version":"8.7.1","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","gssapi":false,"ldap":false,"libidn2":false,"librtmp":false,"libs":["shared","static"],"libssh":false,"libssh2":false,"nghttp2":true,"tls":["openssl"],"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"kcgsfmigaqmusztsy67k2gfkizipob2uj5o5yub2i4onsxph454q====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"nghttp2","hash":"77uqgj3tnfbsh3uko3lklsswuoff7p3d","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"openssl","hash":"vxfysozs7q5z3qxdyhagbubshmagstd7","parameters":{"deptypes":["build","link"],"virtuals":[]}},{"name":"perl","hash":"fklxodqpl5qa6awbgee5eqvkcnzhndrt","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"pkgconf","hash":"udj2is6zd4txwiunnmvdcyjj4mzc57rd","parameters":{"deptypes":["build"],"virtuals":["pkgconfig"]}},{"name":"zlib-ng","hash":"vadvpfj2mrmlrwl5x5ail6o6gl6lezkp","parameters":{"deptypes":["build","link"],"virtuals":["zlib-api"]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"5ibjroa337fq6ux7zfjmq5b6xk7ezucs"},"77uqgj3tnfbsh3uko3lklsswuoff7p3d":{"name":"nghttp2","version":"1.61.0","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"6dlcuezxyasdali4g6bjjt4yteqwgh3h22d3xxosfh2xhqotl5yq====","dependencies":[{"name":"diffutils","hash":"vypacletq7k6duftdyt627x5arvzf2zs","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"pkgconf","hash":"udj2is6zd4txwiunnmvdcyjj4mzc57rd","parameters":{"deptypes":["build"],"virtuals":["pkgconfig"]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"77uqgj3tnfbsh3uko3lklsswuoff7p3d"},"vxfysozs7q5z3qxdyhagbubshmagstd7":{"name":"openssl","version":"3.3.0","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"generic","certs":"mozilla","docs":false,"shared":true,"cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"nosdt2e4evafjqgoepbjwjs5swb6yvf227cjdn5qwof6es7m53fa====","dependencies":[{"name":"ca-certificates-mozilla","hash":"majgn3gehmzcirghja2zl5accyhpjabq","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}},{"name":"gmake","hash":"2i5w66ksi2es67thjquz25hzgovdfquf","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"perl","hash":"fklxodqpl5qa6awbgee5eqvkcnzhndrt","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"zlib-ng","hash":"vadvpfj2mrmlrwl5x5ail6o6gl6lezkp","parameters":{"deptypes":["build","link"],"virtuals":["zlib-api"]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"vxfysozs7q5z3qxdyhagbubshmagstd7"},"majgn3gehmzcirghja2zl5accyhpjabq":{"name":"ca-certificates-mozilla","version":"2023-05-30","arch":{"platform":"linux","platform_os":"ubuntu22.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"generic","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"63npvwqwo2x7i6emvnklh4mhcn45gx2qzveorybh5h2inwr55sea====","dependencies":[{"name":"glibc","hash":"ob46f4apc7zqnt6cq7jem6iodf72z45y","parameters":{"deptypes":["link"],"virtuals":["libc"]}}],"annotations":{"original_specfile_version":4,"compiler":"clang@=15.0.7"},"hash":"majgn3gehmzcirghja2zl5accyhpjabq"},"45na3dyj7gf3twtyzd7lhfsao7lnyqfh":{"name":"gcc-runtime","version":"15.1.0","arch":{"platform":"linux","platform_os":"ubuntu24.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"generic","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"package_hash":"up2pdsw5tfvmn5gwgb3opl46la3uxoptkr3udmradd54s7qo72ha====","dependencies":[{"name":"gcc","hash":"3cj3k2fjn4hfyvufwrdfys6bhzttyc2n","parameters":{"deptypes":["build"],"virtuals":[]}},{"name":"glibc","hash":"nmh7m3scvygv3ar7s2vqky2uizl7jmaa","parameters":{"deptypes":["link"],"virtuals":["libc"]}}],"annotations":{"original_specfile_version":5},"hash":"45na3dyj7gf3twtyzd7lhfsao7lnyqfh"},"nmh7m3scvygv3ar7s2vqky2uizl7jmaa":{"name":"glibc","version":"2.39","arch":{"platform":"linux","platform_os":"ubuntu24.04","target":"x86_64_v3"},"namespace":"builtin","parameters":{"build_system":"autotools","cflags":[],"cppflags":[],"cxxflags":[],"fflags":[],"ldflags":[],"ldlibs":[]},"external":{"path":"/usr","module":null,"extra_attributes":{}},"package_hash":"25tj5wl7gil5nxhhfysfoef4x2hzf52n5eg4krohjeyw4o55r4vq====","annotations":{"original_specfile_version":5},"hash":"nmh7m3scvygv3ar7s2vqky2uizl7jmaa"}}} \ No newline at end of file diff --git a/spack/metis-default/spack.yaml b/.spack/metis-default/spack.yaml similarity index 89% rename from spack/metis-default/spack.yaml rename to .spack/metis-default/spack.yaml index 356e80d..8fb6bae 100644 --- a/spack/metis-default/spack.yaml +++ b/.spack/metis-default/spack.yaml @@ -24,4 +24,4 @@ spack: concretizer: unify: when_possible mirrors: - feelpp-buildcache: oci://ghcr.io/feelpp/spack-buildcache + numpex-buildcache: oci://ghcr.io/numpex/spack-buildcache diff --git a/CMakeLists.txt b/CMakeLists.txt index 2d184d4..cf7a1f9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,15 @@ cmake_minimum_required(VERSION 3.21) -project(METIS VERSION 5.3.0 LANGUAGES C) - +project(metis VERSION 5.3.1 LANGUAGES C) + +set(METIS_PRERELEASE "-rc.8") +set(METIS_VERSION_STRING "${PROJECT_VERSION}${METIS_PRERELEASE}") +set(METIS_VERSION_MAJOR 5) +set(METIS_VERSION_MINOR 3) +set(METIS_VERSION_PATCH 1) +set(METIS_VERSION "${METIS_VERSION_MAJOR}.${METIS_VERSION_MINOR}.${METIS_VERSION_PATCH}${METIS_PRERELEASE}") +set(METIS_VERSION_NUMBER + ((METIS_VERSION_MAJOR << 16) | (METIS_VERSION_MINOR << 9) | METIS_VERSION_PATCH) +) # ----------------------------------------------------------------------------- # 1) Expose the same options that your old Makefile used: # ----------------------------------------------------------------------------- @@ -42,40 +51,11 @@ if(REAL64) set(_METIS_REALWIDTH 64) endif() -# ----------------------------------------------------------------------------- -# Generate xinclude directory and headers -# ----------------------------------------------------------------------------- -set(XINCLUDE_DIR "${CMAKE_BINARY_DIR}/xinclude") -file(MAKE_DIRECTORY ${XINCLUDE_DIR}) - -# metis.h.in should define @ _METIS_IDXWIDTH @ and @ _METIS_REALWIDTH @ at top -configure_file( - "${CMAKE_SOURCE_DIR}/include/metis.h.in" - "${XINCLUDE_DIR}/metis.h" - @ONLY -) - -# copy the CMakeLists.txt stub into xinclude -configure_file( - "${CMAKE_SOURCE_DIR}/include/CMakeLists.txt" - "${XINCLUDE_DIR}/CMakeLists.txt" - COPYONLY -) - -# make sure generated headers are found first -include_directories(BEFORE ${XINCLUDE_DIR}) - -# ----------------------------------------------------------------------------- -# GKlib include/link paths (if provided) -# ----------------------------------------------------------------------------- -if(GKLIB_PATH) - include_directories(${GKLIB_PATH}/include) - link_directories(${GKLIB_PATH}/lib) -endif() - +include(GNUInstallDirs) # ----------------------------------------------------------------------------- # Add subdirectories for core library and programs # ----------------------------------------------------------------------------- +add_subdirectory(include) add_subdirectory(libmetis) add_subdirectory(programs) @@ -110,3 +90,26 @@ install( DESTINATION ${ConfigPackageLocation} ) +# ----------------------------------------------------------------------------- +# CPack packaging +# ----------------------------------------------------------------------------- +include(InstallRequiredSystemLibraries) +set(CPACK_PACKAGE_NAME "Metis") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "METIS Graph Partitioning Library") +set(CPACK_PACKAGE_VERSION_MAJOR "${METIS_VERSION_MAJOR}") +set(CPACK_PACKAGE_VERSION_MINOR "${METIS_VERSION_MINOR}") +set(CPACK_PACKAGE_VERSION_PATCH "${METIS_VERSION_PATCH}") +set(CPACK_PACKAGE_VERSION "${METIS_VERSION}") +set(CPACK_PACKAGE_NAME "${PROJECT_NAME}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}${METIS_PRERELEASE}") +set(CPACK_SOURCE_PACKAGE_FILE_NAME "${PROJECT_NAME}-${PROJECT_VERSION}${METIS_PRERELEASE}") +SET(CPACK_PACKAGE_FILE_NAME "${PROJECT_NAME}-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}${METIS_PRERELEASE}-${CMAKE_SYSTEM_NAME}") + +# Optionally point to your LICENSE and README +set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE") +set(CPACK_RESOURCE_FILE_README "${CMAKE_SOURCE_DIR}/README.md") +set(CPACK_GENERATOR "TGZ;ZIP") +set(CPACK_SOURCE_IGNORE_FILES + "/build/;/.spack-env/;spack*;metis-*;.git/;~$;${CPACK_SOURCE_IGNORE_FILES}" +) + +include(CPack) \ No newline at end of file diff --git a/CMakePresets.json b/CMakePresets.json index 91e69fc..7b38f01 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -38,6 +38,7 @@ "cacheVariables": { "BUILD_SHARED_LIBS": "ON", "CMAKE_RUNTIME_OUTPUT_DIRECTORY": "${sourceDir}/build/${presetName}/bin" + //"CMAKE_INSTALL_PREFIX": "${sourceDir}/build/${presetName}-install/" } }, { @@ -51,6 +52,38 @@ "CMAKE_RUNTIME_OUTPUT_DIRECTORY": "${sourceDir}/build/${presetName}/bin", "GKLIB_PATH": "./GKlib" } + }, + { + "name": "int64", + "hidden": true, + "displayName": "64-bit integers", + "description": "64-bit integers build of METIS", + "inherits": "default", + "cacheVariables": { + "IDX64": "ON" + } + }, + { + "name": "real64", + "hidden": true, + "displayName": "64-bit real numbers", + "description": "64-bit real numbers build of METIS", + "inherits": "default", + "cacheVariables": { + "REAL64": "ON" + } + }, + { + "name": "int32-real32-shared", + "displayName": "32-bit index and real numbers (shared)", + "description": "32-bit index and real numbers build of METIS", + "inherits": ["shared"] + }, + { + "name": "int64-real64-shared", + "displayName": "64-bit index and real numbers (shared)", + "description": "64-bit index and real numbers build of METIS", + "inherits": ["int64","real64", "shared"] } ], "buildPresets": [ @@ -65,6 +98,14 @@ { "name": "local-gklib", "configurePreset": "local-gklib" + }, + { + "name": "int32-real32-shared", + "configurePreset": "int32-real32-shared" + }, + { + "name": "int64-real64-shared", + "configurePreset": "int64-real64-shared" } ], "testPresets": [ @@ -79,6 +120,14 @@ { "name": "local-gklib", "configurePreset": "local-gklib" + }, + { + "name": "int32-real32-shared", + "configurePreset": "int32-real32-shared" + }, + { + "name": "int64-real64-shared", + "configurePreset": "int64-real64-shared" } ] } \ No newline at end of file diff --git a/cmake/MetisConfig.cmake.in b/cmake/MetisConfig.cmake.in index 7d4884d..c5137b5 100644 --- a/cmake/MetisConfig.cmake.in +++ b/cmake/MetisConfig.cmake.in @@ -1,5 +1,7 @@ @PACKAGE_INIT@ +include(CMakeFindDependencyMacro) +find_dependency(GKlib REQUIRED) include("${CMAKE_CURRENT_LIST_DIR}/MetisConfigVersion.cmake") # this import makes the imported target available diff --git a/include/CMakeLists.txt b/include/CMakeLists.txt index 9515a51..aefd777 100644 --- a/include/CMakeLists.txt +++ b/include/CMakeLists.txt @@ -1,3 +1,4 @@ +configure_file(metis.h.in metis.h @ONLY) if(METIS_INSTALL) - install(FILES metis.h DESTINATION include) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/metis.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/metis) endif() diff --git a/libmetis/CMakeLists.txt b/libmetis/CMakeLists.txt index 76fcda2..9e321b8 100644 --- a/libmetis/CMakeLists.txt +++ b/libmetis/CMakeLists.txt @@ -14,17 +14,12 @@ target_include_directories(metis PUBLIC $ $ + $ $ - $ + $ ) -target_compile_definitions(metis - PRIVATE - IDXTYPEWIDTH=32 - REALTYPEWIDTH=32 -) - target_link_libraries(metis PUBLIC m GKlib::GKlib