[med-svn] [Git][med-team/ismrmrd][upstream] New upstream version 1.15.0

Andreas Tille (@tille) gitlab at salsa.debian.org
Sat Feb 21 17:32:04 GMT 2026



Andreas Tille pushed to branch upstream at Debian Med / ismrmrd


Commits:
d60d47eb by Andreas Tille at 2026-02-21T18:12:08+01:00
New upstream version 1.15.0
- - - - -


21 changed files:

- + .devcontainer/devcontainer.bashrc
- .devcontainer/devcontainer.json
- .github/workflows/ismrmrd_build.yml
- .github/workflows/ismrmrd_conda.yml
- − .github/workflows/ismrmrd_cpp98_smoketest.yml
- .github/workflows/ismrmrd_matlab.yml
- .github/workflows/ismrmrd_windows_build.yml
- .github/workflows/rpkg_build.yml
- .readthedocs.yaml
- CMakeLists.txt
- Dockerfile
- Dockerfile.build-static → Dockerfile.build-variants
- conda/build.sh
- conda/conda_build_config.yaml
- conda/meta.yaml
- + conda/setup-conda-build.sh
- + docker/build-and-test-variant.sh
- docker/test-docker-images.sh → docker/test-images.sh
- environment.yml
- + justfile
- vcpkg.json


Changes:

=====================================
.devcontainer/devcontainer.bashrc
=====================================
@@ -0,0 +1,12 @@
+#!/usr/bin/env bash
+# shellcheck source=/dev/null
+
+source /opt/conda/etc/profile.d/conda.sh
+conda activate ismrmrd
+
+source <(just --completions bash)
+
+if [[ "${BASH_ENV:-}" == "$(readlink -f "${BASH_SOURCE[0]:-}")" ]]; then
+    # We don't want subshells to unnecessarily source this again.
+    unset BASH_ENV
+fi


=====================================
.devcontainer/devcontainer.json
=====================================
@@ -82,10 +82,7 @@
     "common": {
       "username": "automatic"
     },
-    "docker-from-docker": {
-      "version": "20.10",
-      "moby": false
-    },
+    "ghcr.io/devcontainers/features/docker-outside-of-docker:1": {},
     "git": "os-provided"
   }
 }


=====================================
.github/workflows/ismrmrd_build.yml
=====================================
@@ -21,10 +21,9 @@ jobs:
     runs-on: ubuntu-latest
     permissions:
       contents: read
-      packages: write
 
     steps:
-    - uses: actions/checkout at v4
+    - uses: actions/checkout at v6
 
     - name: Create Build Environment
       run: cmake -E make_directory ${{github.workspace}}/build
@@ -36,34 +35,38 @@ jobs:
 
     - name: Configure CMake
       working-directory: ${{github.workspace}}/build
-      shell: bash
       run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE
 
     - name: Build
       working-directory: ${{github.workspace}}/build
-      shell: bash
       run: |
         cmake --build . --config $BUILD_TYPE
         cmake --build . --target doc --config $BUILD_TYPE
+
     - name: Test XML
       working-directory: ${{github.workspace}}/schema
-      shell: bash
       run: for xml_file in *.xml; do xmllint --schema ismrmrd.xsd "$xml_file" --noout; done
 
     - name: Test
       working-directory: ${{github.workspace}}/build/tests
-      shell: bash
       run: ./test_ismrmrd
 
+  build-docker:
+    runs-on: ubuntu-latest
+    needs: build
+    permissions:
+      contents: read
+      packages: write
+    steps:
+    - uses: actions/checkout at v6
     - name: Build and test docker images
       working-directory: ${{github.workspace}}
-      shell: bash
       run: |
         ./docker/build-images.sh
-        ./docker/test-docker-images.sh
+        ./docker/test-images.sh
 
     - name: Log into registry ${{ env.REGISTRY }}
-      uses: docker/login-action at 28218f9b04b4f3f62068d7b6ce6ca5b26e35336c
+      uses: docker/login-action at v3
       with:
         registry: ${{ env.REGISTRY }}
         username: ${{ github.actor }}
@@ -72,31 +75,25 @@ jobs:
     - name: Push images
       if: ${{ github.event_name == 'release' }}
       working-directory: ${{github.workspace}}
-      shell: bash
       run: |
         ./docker/build-images.sh --tag "${GITHUB_REF##*/}" --push
 
   build-static:
     runs-on: ubuntu-latest
+    needs: build
     permissions:
       contents: read
+    steps:
+    - uses: actions/checkout at v6
+    - name: Build and test static binaries
+      run: ./docker/build-and-test-variant.sh static
 
+  build-cpp98:
+    runs-on: ubuntu-latest
+    needs: build
+    permissions:
+      contents: read
     steps:
-    - uses: actions/checkout at v4
-
-    - name: Build docker image
-      run: |-
-        docker build -f Dockerfile.build-static -t ismrmrd_static .
-
-    - name: Test static binaries
-      run: |-
-        set -euo pipefail
-        test_command="set -euo pipefail \
-              && export PATH=$PATH:/opt/package/bin \
-              && test -f /opt/package/lib/libismrmrd.a \
-              && ! test -e /opt/package/lib/libismrmrd.so \
-              && ismrmrd_generate_cartesian_shepp_logan -o testdata.h5 \
-              && ismrmrd_hdf5_to_stream -i testdata.h5 --use-stdout \
-                | ismrmrd_stream_recon_cartesian_2d --use-stdin --use-stdout \
-                | ismrmrd_stream_to_hdf5 --use-stdin -o result.h5"
-        docker run ismrmrd_static /bin/bash -c "$test_command"
+    - uses: actions/checkout at v6
+    - name: Build and test C++98 binaries
+      run: ./docker/build-and-test-variant.sh cpp98


=====================================
.github/workflows/ismrmrd_conda.yml
=====================================
@@ -12,29 +12,33 @@ jobs:
   build-conda-packages:
     strategy:
       matrix:
-        os: [ubuntu-latest, macos-13]
+        os: [ubuntu-latest]
     runs-on: ${{ matrix.os }}
+    defaults:
+      run:
+        shell: bash -l {0}
+        working-directory: conda
+
     steps:
-      - uses: actions/checkout at v4
+      - uses: actions/checkout at v6
+
       - uses: conda-incubator/setup-miniconda at v3
         with:
           miniforge-version: latest
-          activate-environment: ismrmrd-build
-          environment-file: conda/environment.yml
-          python-version: 3.9
-          auto-activate-base: false
+          auto-activate-base: true
+          activate-environment: ""
+          python-version: 3.13
+
       - name: Build conda package
-        shell: bash -l {0}
-        working-directory: conda
         run: |
+          bash -il ./setup-conda-build.sh
           ./package.sh
           echo "Packages built: $(find build_pkg -name ismrmrd*.tar.bz2)"
-      - name: Push conda package
-        shell: bash -l {0}
+
+      - name: Publish conda package
         if: ${{ github.event_name == 'release' }}
         env:
           ANACONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
-        working-directory: conda
         run: |
           for p in $(find build_pkg -name ismrmrd*.tar.bz2)
           do


=====================================
.github/workflows/ismrmrd_cpp98_smoketest.yml deleted
=====================================
@@ -1,42 +0,0 @@
-name: "C++98 Smoketest"
-
-on:
-  push:
-    branches: [master]
-    tags: ["v*.*.*"]
-  pull_request:
-    branches: [master]
-  workflow_dispatch:
-
-env:
-  BUILD_TYPE: Release
-
-jobs:
-  build:
-    runs-on: ubuntu-latest
-    steps:
-    - uses: actions/checkout at v4
-
-    - name: Create Build Environment
-      run: cmake -E make_directory ${{github.workspace}}/build
-
-    - name: Install dependencies
-      run: |
-        sudo apt-get update
-        sudo apt-get -y install git-core libboost-all-dev libfftw3-dev libhdf5-serial-dev libxml2-utils libpugixml-dev socat
-
-    - name: Configure CMake
-      working-directory: ${{github.workspace}}/build
-      shell: bash
-      run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DCMAKE_CXX_STANDARD=98
-
-    - name: Build
-      working-directory: ${{github.workspace}}/build
-      shell: bash
-      run: |
-        cmake --build . --config $BUILD_TYPE
-
-    - name: Test
-      working-directory: ${{github.workspace}}/build/tests
-      shell: bash
-      run: ./test_ismrmrd


=====================================
.github/workflows/ismrmrd_matlab.yml
=====================================
@@ -13,7 +13,7 @@ jobs:
     runs-on: ubuntu-latest
 
     steps:
-    - uses: actions/checkout at v4
+    - uses: actions/checkout at v6
 
     - name: Set up MATLAB
       uses: matlab-actions/setup-matlab at v2


=====================================
.github/workflows/ismrmrd_windows_build.yml
=====================================
@@ -14,7 +14,7 @@ jobs:
     runs-on: windows-latest
 
     steps:
-    - uses: actions/checkout at v4
+    - uses: actions/checkout at v6
 
     - name: Create Build Environment
       shell: pwsh


=====================================
.github/workflows/rpkg_build.yml
=====================================
@@ -18,7 +18,7 @@ jobs:
     - name: Install dependencies
       run: sudo dnf install rpkg git dnf-plugins-core -y
 
-    - uses: actions/checkout at v4
+    - uses: actions/checkout at v6
       with:
         fetch-depth: 0
     - name: Run RPKG


=====================================
.readthedocs.yaml
=====================================
@@ -6,9 +6,9 @@ version: 2
 
 # Set the OS, Python version and other tools you might need
 build:
-  os: ubuntu-20.04
+  os: ubuntu-24.04
   tools:
-    python: "3.9"
+    python: "3.13"
 
 # Build documentation in the "docs/" directory with Sphinx
 sphinx:


=====================================
CMakeLists.txt
=====================================
@@ -40,7 +40,8 @@ endif()
 
 # compiler flags
 if(NOT "${CMAKE_CXX_STANDARD}")
-  set(CMAKE_CXX_STANDARD 11)
+  set(CMAKE_CXX_STANDARD 17)
+  message(STATUS "CMAKE_CXX_STANDARD not set, defaulting to ${CMAKE_CXX_STANDARD}")
 else()
   message(STATUS "CMAKE_CXX_STANDARD set externally to ${CMAKE_CXX_STANDARD}")
 endif()
@@ -74,8 +75,6 @@ elseif (build4GE)
     set(Boost_USE_STATIC_LIBS       "ON")
     set(Boost_NO_SYSTEM_PATHS       "TRUE")
     set(HDF5_USE_STATIC_LIBRARIES   "yes")
-    set(CMAKE_C_FLAGS               "${CMAKE_C_FLAGS} -std=c99 -Wall")
-    set(CMAKE_CXX_FLAGS             "${CMAKE_CXX_FLAGS} -w -D_GLIBCXX_USE_CXX11_ABI=0")
 else ()
     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -Wall -Werror")
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror")
@@ -92,8 +91,8 @@ endif ()
 #in the utility libraries, that don't affect the data format itself.
 # For more information see http://semver.org/
 set(ISMRMRD_VERSION_MAJOR 1)
-set(ISMRMRD_VERSION_MINOR 14)
-set(ISMRMRD_VERSION_PATCH 3)
+set(ISMRMRD_VERSION_MINOR 15)
+set(ISMRMRD_VERSION_PATCH 0)
 
 set(ISMRMRD_VERSION_STRING ${ISMRMRD_VERSION_MAJOR}.${ISMRMRD_VERSION_MINOR}.${ISMRMRD_VERSION_PATCH})
 set(ISMRMRD_SOVERSION ${ISMRMRD_VERSION_MAJOR}.${ISMRMRD_VERSION_MINOR})
@@ -156,12 +155,14 @@ if (BUILD_STATIC)
     set(Boost_USE_STATIC_LIBS On)
     set(HDF5_USE_STATIC_LIBRARIES TRUE)
     set(FFTW_USE_STATIC_LIBS TRUE)
+    message(STATUS "Building ISMRMRD as static library")
 else()
     add_definitions(-DBOOST_TEST_DYN_LINK)
+    message(STATUS "Building ISMRMRD as shared library")
 endif()
 
 # Find Boost for tests and utilities
-find_package(Boost COMPONENTS filesystem random program_options unit_test_framework)
+find_package(Boost CONFIG COMPONENTS filesystem random program_options unit_test_framework)
 find_package(pugixml CONFIG REQUIRED)
 find_package(FFTW COMPONENTS FLOAT_LIB)
 


=====================================
Dockerfile
=====================================
@@ -7,13 +7,9 @@
 # subsequent stage and normalize the permissions.
 #########################################################
 
-ARG USERNAME="vscode"
-ARG USER_UID=1000
-ARG USER_GID=$USER_UID
+FROM mcr.microsoft.com/oss/busybox/busybox:1.33.1 AS file-normalizer
 
-FROM mcr.microsoft.com/oss/busybox/busybox:1.33.1 as file-normalizer
-
-COPY environment.yml /data/
+COPY environment.yml .devcontainer/devcontainer.bashrc /data/
 RUN chmod -R 555 /data/
 
 RUN mkdir -p /entrypoints
@@ -23,13 +19,12 @@ COPY docker/entrypoint-stream.sh /entrypoints/
 RUN sed -i 's/\r$//' /entrypoints/*.sh
 RUN chmod +x /entrypoints/*.sh
 
-FROM mcr.microsoft.com/devcontainers/base:1.2.4-jammy AS basecontainer
+FROM mcr.microsoft.com/devcontainers/base:ubuntu-24.04 AS basecontainer
 
 # Install needed packages and setup non-root user.
-ARG USERNAME
-ARG USER_UID
-ARG USER_GID
-
+ARG USERNAME="vscode"
+ARG USER_UID=1000
+ARG USER_GID=$USER_UID
 ARG CONDA_GID=900
 ARG CONDA_ENVIRONMENT_NAME=ismrmrd
 
@@ -37,7 +32,7 @@ RUN apt-get update && apt-get install -y \
     libc6-dbg \
     && rm -rf /var/lib/apt/lists/*
 
-ARG MINIFORGE_VERSION=25.3.0-3
+ARG MINIFORGE_VERSION=25.11.0-1
 
 # Based on https://github.com/conda-forge/miniforge-images/blob/master/ubuntu/Dockerfile
 RUN wget --no-hsts --quiet https://github.com/conda-forge/miniforge/releases/download/${MINIFORGE_VERSION}/Miniforge3-${MINIFORGE_VERSION}-Linux-$(uname -m).sh -O /tmp/miniforge.sh \
@@ -61,25 +56,27 @@ ARG USER_GID
 # Create a conda environment from the environment file in the repo root.
 COPY --from=file-normalizer --chown=$USER_UID:conda /data/environment.yml /tmp/build/
 RUN umask 0002 \
-    && /opt/conda/bin/mamba env create -f /tmp/build/environment.yml \
-    && /opt/conda/bin/mamba clean -fy \
+    && /opt/conda/bin/conda env create -f /tmp/build/environment.yml \
+    && /opt/conda/bin/conda clean -fy \
     && sudo chown -R :conda /opt/conda/envs
 
+# Add a file that is to be sourced from .bashrc and from the devops pipeline stages
+COPY --from=file-normalizer /data/devcontainer.bashrc /opt/devcontainer/
+
 # Add a section to /etc/bash.bashrc that ensures that a section is present at the end of ~/.bashrc.
 # We can't just write to .bashrc from here because it will be overwritten if the devcontainer user has
 # opted to use their own dotfiles repo. The dotfiles repo is cloned after the postCreateCommand
 # in the devcontainer.json file is executed.
 RUN echo "\n\
-if ! grep -q \"^source /opt/conda/etc/profile.d/conda.sh\" /home/${USERNAME}/.bashrc; then\n\
-	echo \"source /opt/conda/etc/profile.d/conda.sh\" >> /home/${USERNAME}/.bashrc\n\
-	echo \"conda activate $(grep 'name:' /tmp/build/environment.yml | awk '{print $2}')\" >> /home/${USERNAME}/.bashrc\n\
+if ! grep -q \"^source /opt/devcontainer/devcontainer.bashrc\" \${HOME}/.bashrc; then\n\
+	echo \"source /opt/devcontainer/devcontainer.bashrc\" >> \${HOME}/.bashrc\n\
 fi\n" >> /etc/bash.bashrc
 
 ENV CMAKE_GENERATOR=Ninja
 
 # Create a kits file for the VSCode CMake Tools extension, so you are not prompted for which kit to select whenever you open VSCode
 RUN mkdir -p /home/vscode/.local/share/CMakeTools \
-    && echo '[{"name":"GCC-11","compilers":{"C":"/opt/conda/envs/ismrmrd/bin/x86_64-conda_cos6-linux-gnu-gcc","CXX":"/opt/conda/envs/ismrmrd/bin/x86_64-conda_cos6-linux-gnu-g++"}}]' > /home/vscode/.local/share/CMakeTools/cmake-tools-kits.json \
+    && echo '[{"name":"GCC-15","compilers":{"C":"/opt/conda/envs/ismrmrd/bin/x86_64-conda-linux-gnu-gcc","CXX":"/opt/conda/envs/ismrmrd/bin/x86_64-conda-linux-gnu-g++"}}]' > /home/vscode/.local/share/CMakeTools/cmake-tools-kits.json \
     && chown vscode:conda /home/vscode/.local/share/CMakeTools/cmake-tools-kits.json
 
 FROM devcontainer AS ismrmrd-build
@@ -112,8 +109,8 @@ COPY --from=file-normalizer --chown=$USER_UID:conda /data/environment.yml /tmp/b
 RUN grep -v "#.*\<dev\>" /tmp/build/environment.yml > /tmp/build/filtered_environment.yml \
     && mv /tmp/build/filtered_environment.yml /tmp/build/environment.yml \
     && umask 0002 \
-    && /opt/conda/bin/mamba env create -f /tmp/build/environment.yml \
-    && /opt/conda/bin/mamba clean -fy \
+    && /opt/conda/bin/conda env create -f /tmp/build/environment.yml \
+    && /opt/conda/bin/conda clean -fy \
     && sudo chown -R :conda /opt/conda/envs
 
 COPY --from=ismrmrd-build --chown=$USER_UID:conda /opt/package /opt/conda/envs/ismrmrd/


=====================================
Dockerfile.build-static → Dockerfile.build-variants
=====================================
@@ -1,4 +1,9 @@
-FROM ubuntu:noble AS ismrmrd_static
+ARG UBUNTU_VARIANT=noble
+
+FROM ubuntu:${UBUNTU_VARIANT} AS base
+
+ARG CXX_STANDARD=17
+ARG BUILD_STATIC=On
 
 RUN apt-get update \
     && DEBIAN_FRONTEND=noninteractive apt-get install -y \
@@ -12,9 +17,9 @@ RUN apt-get update \
     && apt-get clean
 
 RUN locale-gen en_US.UTF-8
-ENV LANG en_US.UTF-8
-ENV LANGUAGE en_US:en
-ENV LC_ALL en_US.UTF-8
+ENV LANG=en_US.UTF-8
+ENV LANGUAGE=en_US:en
+ENV LC_ALL=en_US.UTF-8
 
 RUN mkdir -p /opt/code/ismrmrd
 COPY . /opt/code/ismrmrd/
@@ -25,9 +30,13 @@ RUN cd /opt/code/ismrmrd && \
     cmake \
         -G Ninja \
         -D CMAKE_BUILD_TYPE=Release \
+        -D CMAKE_CXX_STANDARD=${CXX_STANDARD} \
+        -D BUILD_STATIC=${BUILD_STATIC} \
         -D CMAKE_INSTALL_PREFIX=/opt/package \
-        -D BUILD_STATIC=On \
         ../ && \
     ninja && \
     ./tests/test_ismrmrd && \
     ninja install
+
+ENV LD_LIBRARY_PATH=/opt/package/lib
+ENV PATH=$PATH:/opt/package/bin


=====================================
conda/build.sh
=====================================
@@ -2,10 +2,13 @@
 
 set -euo pipefail
 
-mkdir -p build
-cd build
+mkdir -p build-conda
+cd build-conda
 
-cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${PREFIX} \
+cmake -G Ninja \
+      -D CMAKE_BUILD_TYPE=Release \
+      -D CMAKE_CXX_STANDARD=17 \
+      -D CMAKE_INSTALL_PREFIX=${PREFIX} \
       ../
 
 ninja


=====================================
conda/conda_build_config.yaml
=====================================
@@ -1,5 +1,5 @@
 boost:
-    - 1.76.0
     - 1.80.0
+    - 1.84.0
 pin_run_as_build:
     boost: x.x


=====================================
conda/meta.yaml
=====================================
@@ -17,19 +17,19 @@ requirements:
     - boost
     - clang>=13.0.1        # [osx]
     - clangxx>=13.0.1      # [osx]
-    - cmake>=3.20.0
-    - fftw=3.3.9
-    - gcc_linux-64>=9.0.0  # [linux64]
-    - gxx_linux-64>=9.0.0  # [linux64]
+    - cmake>=4.2.0
+    - fftw=3.3.*
+    - gcc_linux-64>=15.0.0  # [linux64]
+    - gxx_linux-64>=15.0.0  # [linux64]
     - git
-    - hdf5=1.10.6
-    - ninja=1.10.*
-    - pugixml=1.12.1
+    - hdf5=1.14.*
+    - ninja=1.13.*
+    - pugixml=1.15
   run:
     - boost {{ boost }}
-    - hdf5=1.10.6
-    - fftw=3.3.9
-    - pugixml=1.12.1
+    - hdf5=1.14.*
+    - fftw=3.3.*
+    - pugixml=1.15
 
 test:
   requires:


=====================================
conda/setup-conda-build.sh
=====================================
@@ -0,0 +1,6 @@
+#!/usr/bin/env bash
+
+set -e
+
+conda install -y -n base conda-build anaconda-client
+conda activate base


=====================================
docker/build-and-test-variant.sh
=====================================
@@ -0,0 +1,61 @@
+#!/bin/bash
+
+set -eo pipefail
+
+# Parse command-line argument
+if [ $# -ne 1 ]; then
+    echo "Usage: $0 [static|cpp98]" >&2
+    echo "  static - Build and test static variant" >&2
+    echo "  cpp98  - Build and test C++98 variant" >&2
+    exit 1
+fi
+
+variant="$1"
+
+# Dockerfile is in the root director one level up from this script
+dockerfile="$(dirname "${BASH_SOURCE[0]}")/../Dockerfile.build-variants"
+context="$(dirname "${BASH_SOURCE[0]}")/.."
+
+case "$variant" in
+    "static")
+        echo "Building and testing static variant..."
+        docker build -f "$dockerfile" "$context" \
+            --build-arg UBUNTU_VARIANT=noble \
+            --build-arg CXX_STANDARD=17 \
+            --build-arg BUILD_STATIC=On \
+            -t ismrmrd-static
+
+        test_command="set -euo pipefail \
+                && export PATH=$PATH:/opt/package/bin \
+                && test -f /opt/package/lib/libismrmrd.a \
+                && ! test -e /opt/package/lib/libismrmrd.so \
+                && ismrmrd_generate_cartesian_shepp_logan -o testdata.h5 \
+                && ismrmrd_hdf5_to_stream -i testdata.h5 --use-stdout \
+                | ismrmrd_stream_recon_cartesian_2d --use-stdin --use-stdout \
+                | ismrmrd_stream_to_hdf5 --use-stdin -o result.h5"
+        docker run --rm ismrmrd-static /bin/bash -c "$test_command"
+        ;;
+
+    "cpp98")
+        echo "Building and testing C++98 variant..."
+        docker build -f "$dockerfile" "$context" \
+            --build-arg UBUNTU_VARIANT=jammy \
+            --build-arg CXX_STANDARD=98 \
+            --build-arg BUILD_STATIC=Off \
+            -t ismrmrd-cpp98
+
+        test_command="set -euo pipefail \
+                && export PATH=$PATH:/opt/package/bin \
+                && ismrmrd_generate_cartesian_shepp_logan -o testdata.h5 \
+                && ismrmrd_hdf5_to_stream -i testdata.h5 --use-stdout \
+                | ismrmrd_stream_recon_cartesian_2d --use-stdin --use-stdout \
+                | ismrmrd_stream_to_hdf5 --use-stdin -o result.h5"
+        docker run --rm ismrmrd-cpp98 /bin/bash -c "$test_command"
+        ;;
+
+    *)
+        echo "Error: Invalid argument '$variant'. Must be either 'static' or 'cpp98'." >&2
+        echo "Usage: $0 [static|cpp98]" >&2
+        exit 1
+        ;;
+esac


=====================================
docker/test-docker-images.sh → docker/test-images.sh
=====================================


=====================================
environment.yml
=====================================
@@ -1,21 +1,18 @@
 name: ismrmrd
 channels:
   - conda-forge
-  - defaults
 dependencies:
-  - boost=1.80.0
-  - cmake=3.21.3             # dev
-  - fftw=3.3.9
-  - gcc_linux-64=11.2.0      # dev
-  - gdb=11.1                 # dev
-  - gxx_linux-64=11.2.0      # dev
-  - h5py=3.2.1               # dev
-  - hdf5=1.10.6
-  - matplotlib=3.4.3         # dev
-  - ninja=1.10.2             # dev
-  - numpy=1.22.1             # dev
-  - pugixml=1.12.1
-  - pyfftw=0.12.0            # dev
-  - python=3.9               # dev
-  - scipy=1.7.1              # dev
-  - xsdata=22.2              # dev
+  - boost=1.84.0
+  - cmake=4.2.2           # dev
+  - doxygen=1.13.2        # dev
+  - fftw=3.3.10
+  - gcc_linux-64=15.2.0   # dev
+  - gdb=17.1              # dev
+  - gxx_linux-64=15.2.0   # dev
+  - h5py=3.15.1           # dev
+  - hdf5=1.14.6
+  - just=1.46.0           # dev
+  - ninja=1.13.2          # dev
+  - numpy=2.4.1           # dev
+  - pugixml=1.15
+  - python=3.13.7         # dev


=====================================
justfile
=====================================
@@ -0,0 +1,49 @@
+set shell := ['bash', '-ceuo', 'pipefail']
+
+cpp_version := "17"
+build_type := "RelWithDebInfo"
+
+ at default: test
+
+ at all: test build-docs build-docker build-static build-cpp98 build-conda
+
+ at configure:
+    mkdir -p build; \
+    cd build; \
+    cmake -GNinja \
+        -D CMAKE_BUILD_TYPE={{ build_type }} \
+        -D CMAKE_CXX_STANDARD={{ cpp_version }} \
+        -D CMAKE_INSTALL_PREFIX=$(conda info --json | jq -r .default_prefix) \
+        ..
+
+ at autoconfigure:
+    if [ ! -f "build/build.ninja" ]; then \
+        echo "Ninja file not found. Running cmake..."; \
+        just configure; \
+    fi
+
+ at build: autoconfigure
+    cd build && ninja
+
+ at test: build
+    cd build/tests && ./test_ismrmrd
+
+ at install: test
+    cd build && ninja install
+
+ at build-docker:
+    ./docker/build-images.sh; \
+    ./docker/test-images.sh
+
+ at build-static:
+    ./docker/build-and-test-variant.sh static
+
+ at build-cpp98:
+    ./docker/build-and-test-variant.sh cpp98
+
+ at build-docs: autoconfigure
+    cd build && ninja doc
+
+ at build-conda:
+    bash -il ./conda/setup-conda-build.sh; \
+    cd conda && ./package.sh


=====================================
vcpkg.json
=====================================
@@ -1,7 +1,7 @@
 {
   "$schema": "https://raw.githubusercontent.com/microsoft/vcpkg/master/scripts/vcpkg.schema.json",
   "name": "ismrmrd",
-  "version": "1.14.3",
+  "version": "1.15.0",
   "dependencies": [
     {
       "name": "hdf5",



View it on GitLab: https://salsa.debian.org/med-team/ismrmrd/-/commit/d60d47ebcb2b93c07ba024e788a7f5b2e5be2798

-- 
View it on GitLab: https://salsa.debian.org/med-team/ismrmrd/-/commit/d60d47ebcb2b93c07ba024e788a7f5b2e5be2798
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20260221/3ec1d027/attachment-0001.htm>


More information about the debian-med-commit mailing list