[med-svn] [Git][med-team/ismrmrd][master] 7 commits: New upstream version 1.15.0

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



Andreas Tille pushed to branch master at Debian Med / ismrmrd


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

- - - - -
40bbd2a8 by Andreas Tille at 2026-02-21T18:12:09+01:00
Update upstream source from tag 'upstream/1.15.0'

Update to upstream version '1.15.0'
with Debian dir 4b88cf4547b3c681ebc4ef620b43d6dafe63c61c
- - - - -
0764f8ef by Andreas Tille at 2026-02-21T18:12:13+01:00
Drop use of autotools-dev debhelper.

Changes-By: lintian-brush
Fixes: lintian: debhelper-tools-from-autotools-dev-are-deprecated
See-also: https://lintian.debian.org/tags/debhelper-tools-from-autotools-dev-are-deprecated.html
Fixes: lintian: debhelper-tools-from-autotools-dev-are-deprecated
See-also: https://lintian.debian.org/tags/debhelper-tools-from-autotools-dev-are-deprecated.html
Fixes: lintian: debhelper-tools-from-autotools-dev-are-deprecated
See-also: https://lintian.debian.org/tags/debhelper-tools-from-autotools-dev-are-deprecated.html
Fixes: lintian: debhelper-tools-from-autotools-dev-are-deprecated
See-also: https://lintian.debian.org/tags/debhelper-tools-from-autotools-dev-are-deprecated.html
Fixes: lintian: debhelper-tools-from-autotools-dev-are-deprecated
See-also: https://lintian.debian.org/tags/debhelper-tools-from-autotools-dev-are-deprecated.html
Fixes: lintian: debhelper-tools-from-autotools-dev-are-deprecated
See-also: https://lintian.debian.org/tags/debhelper-tools-from-autotools-dev-are-deprecated.html
Fixes: lintian: debhelper-tools-from-autotools-dev-are-deprecated
See-also: https://lintian.debian.org/tags/debhelper-tools-from-autotools-dev-are-deprecated.html

- - - - -
e6749ee8 by Andreas Tille at 2026-02-21T18:16:46+01:00
Adapt patches to new upstream version.  This also closes libboost1.90 issue thus the according patch can be dropped.

- - - - -
3eecf26d by Andreas Tille at 2026-02-21T18:24:49+01:00
Bump SONAME due to new upstream version

- - - - -
bedd993f by Andreas Tille at 2026-02-21T18:26:00+01:00
Upload to unstable

- - - - -


28 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
- debian/changelog
- debian/control
- debian/patches/Add-support-for-multiarch.patch
- debian/patches/add_static_lib.patch
- − debian/patches/libboost1.90.patch
- debian/patches/series
- debian/rules
- + 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


=====================================
debian/changelog
=====================================
@@ -1,13 +1,15 @@
-ismrmrd (1.14.3-4) UNRELEASED; urgency=medium
+ismrmrd (1.15.0-1) unstable; urgency=medium
 
   * Team upload.
-  * Port to boost 1.90
+  * New upstream version
     Closes: #1128127
   * Standards-Version: 4.7.3
   * Build-Depends: architecture-is-64-bit
     Closes: #863168
+  * Drop use of autotools-dev debhelper.
+  * Bump SONAME due to new upstream version
 
- -- Andreas Tille <tille at debian.org>  Sat, 21 Feb 2026 18:03:31 +0100
+ -- Andreas Tille <tille at debian.org>  Sat, 21 Feb 2026 18:24:53 +0100
 
 ismrmrd (1.14.3-3) unstable; urgency=medium
 


=====================================
debian/control
=====================================
@@ -22,7 +22,7 @@ Vcs-Browser: https://salsa.debian.org/med-team/ismrmrd
 Vcs-Git: https://salsa.debian.org/med-team/ismrmrd.git
 Homepage: https://ismrmrd.github.io/
 
-Package: libismrmrd1.14
+Package: libismrmrd1.15
 Architecture: any
 Multi-Arch: same
 Section: libs
@@ -54,7 +54,7 @@ Depends:
  ${misc:Depends},
  libhdf5-dev,
  libpugixml-dev,
- libismrmrd1.14 (= ${binary:Version}),
+ libismrmrd1.15 (= ${binary:Version}),
 Suggests:
  libismrmrd-doc,
 Description: development files for ISMRMRD


=====================================
debian/patches/Add-support-for-multiarch.patch
=====================================
@@ -8,7 +8,7 @@ Subject: Add support for multiarch.
 
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -331,7 +331,7 @@ configure_file(cmake/ISMRMRDConfig.cmake
+@@ -332,7 +332,7 @@ configure_file(cmake/ISMRMRDConfig.cmake
  
  set(CONFIG_ISMRMRD_SCHEMA_DIR   ${CMAKE_INSTALL_PREFIX}/share/ismrmrd/schema)
  set(CONFIG_ISMRMRD_TARGET_INCLUDE_DIRS ${CMAKE_INSTALL_PREFIX}/include)


=====================================
debian/patches/add_static_lib.patch
=====================================
@@ -4,16 +4,7 @@ Description: Add static library
 
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -161,7 +161,7 @@ else()
- endif()
- 
- # Find Boost for tests and utilities
--find_package(Boost COMPONENTS filesystem random program_options unit_test_framework)
-+find_package(Boost REQUIRED COMPONENTS filesystem system random program_options unit_test_framework)
- find_package(pugixml CONFIG REQUIRED)
- find_package(FFTW COMPONENTS FLOAT_LIB)
- 
-@@ -246,11 +246,13 @@ if (BUILD_STATIC)
+@@ -247,11 +247,13 @@ if (BUILD_STATIC)
  else()
    set(ISMRMRD_PUGIXML_LIBRARIES pugixml::shared)
    add_library(ismrmrd SHARED ${ISMRMRD_TARGET_SOURCES})
@@ -27,7 +18,7 @@ Description: Add static library
  if (USE_HDF5_DATASET_SUPPORT)
    target_compile_options(ismrmrd PUBLIC ${HDF5_DEFINITIONS})
  endif()
-@@ -271,7 +273,12 @@ set_target_properties(ismrmrd
+@@ -272,7 +274,12 @@ set_target_properties(ismrmrd
    VERSION ${ISMRMRD_VERSION_STRING}
    SOVERSION ${ISMRMRD_SOVERSION})
  
@@ -40,7 +31,7 @@ Description: Add static library
  list(APPEND ISMRMRD_LIBRARIES ismrmrd) # Add to list of libraries to be found
  list(APPEND ISMRMRD_LIBRARY_DIRS ${CMAKE_BINARY_DIR} ) # Add to list of directories to find libraries
  
-@@ -284,6 +291,7 @@ install(TARGETS ismrmrd EXPORT ISMRMRDTa
+@@ -285,6 +292,7 @@ install(TARGETS ismrmrd EXPORT ISMRMRDTa
     RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
     COMPONENT Devel
  )


=====================================
debian/patches/libboost1.90.patch deleted
=====================================
@@ -1,16 +0,0 @@
-Description: Port to boost 1.90
-Author: Andreas Tille <tille at debian.org>
-Last-Update: 2026-02-21
-Bug-Debian: https://bugs.debian.org/1128127
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -161,7 +161,7 @@ else()
- endif()
- 
- # Find Boost for tests and utilities
--find_package(Boost REQUIRED COMPONENTS filesystem system random program_options unit_test_framework)
-+find_package(Boost REQUIRED COMPONENTS filesystem random program_options unit_test_framework)
- find_package(pugixml CONFIG REQUIRED)
- find_package(FFTW COMPONENTS FLOAT_LIB)
- 


=====================================
debian/patches/series
=====================================
@@ -4,4 +4,3 @@ remove-travis-build-status.patch
 add_static_lib.patch
 locale.patch
 struct-padding.patch
-libboost1.90.patch


=====================================
debian/rules
=====================================
@@ -27,12 +27,12 @@ override_dh_install-arch:
 	find debian/tmp -name ismrmrd.xsd -delete
 	dh_install -a
 	d-shlibmove --commit \
-		    --multiarch \
-		    --devunversioned \
-		    --exclude-la \
-		    --movedev debian/tmp/usr/lib/*/cmake usr/lib/$(DEB_HOST_MULTIARCH) \
-		    --movedev debian/tmp/usr/include usr \
-		    debian/tmp/usr/lib/*/*.so
+		 --multiarch \
+		 --devunversioned \
+		 --exclude-la \
+		 --movedev debian/tmp/usr/lib/*/cmake usr/lib/$(DEB_HOST_MULTIARCH) \
+		 --movedev debian/tmp/usr/include usr \
+		 debian/tmp/usr/lib/*/*.so
 	find debian -name "lib*.la" -delete
 
 override_dh_auto_install-indep:
@@ -46,5 +46,5 @@ override_dh_compress:
 	dh_compress --exclude=examples
 
 override_dh_missing-arch:
-	find debian/tmp -type f  \( -name '*.m' -o -name 'ismrmrd_c_example' \) -delete
+	find debian/tmp -type f \( -name '*.m' -o -name 'ismrmrd_c_example' \) -delete
 	dh_missing -a


=====================================
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/-/compare/c24406d85e9b6ab9c9c30ed689405cd758dea0c7...bedd993f42b99488da5fe818e0991b5649bbb7a7

-- 
View it on GitLab: https://salsa.debian.org/med-team/ismrmrd/-/compare/c24406d85e9b6ab9c9c30ed689405cd758dea0c7...bedd993f42b99488da5fe818e0991b5649bbb7a7
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/5b708458/attachment-0001.htm>


More information about the debian-med-commit mailing list