Add Dockerfile and RPM spec files for building libvips versions 8.17.3 and 8.18.2 on el10.

This commit is contained in:
2026-06-05 01:09:56 +02:00
parent 0560cb296b
commit 708c1708fe
4 changed files with 280 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
FROM rockylinux/rockylinux:10.1.20251123 AS base
WORKDIR /root
ARG LIBVIPS_VERSION=8.17.3
RUN dnf update -y && dnf install -y \
cmake \
curl \
epel-release \
expat-devel \
gcc \
gcc-c++ \
glib2-devel \
libarchive-devel \
libjpeg-turbo-devel \
libpng-devel \
librsvg2-devel \
libtiff-devel \
libwebp-devel \
python3-pip \
rpmdevtools \
xz
RUN crb enable
RUN dnf install -y \
libheif-devel \
libimagequant-devel \
libjxl-devel \
LibRaw-devel \
ninja-build \
openexr-devel \
openjpeg2-devel \
rpmlint \
&& dnf clean all
FROM base AS updated
RUN rpmdev-setuptree
RUN curl -L https://github.com/libvips/libvips/releases/download/v${LIBVIPS_VERSION}/vips-${LIBVIPS_VERSION}.tar.xz \
-o rpmbuild/SOURCES/vips-${LIBVIPS_VERSION}.tar.xz
COPY libvips-${LIBVIPS_VERSION}.spec rpmbuild/SPECS/libvips-${LIBVIPS_VERSION}.spec
RUN rpmlint rpmbuild/SPECS/libvips-${LIBVIPS_VERSION}.spec
FROM updated AS build
RUN rpmbuild -ba rpmbuild/SPECS/libvips-${LIBVIPS_VERSION}.spec
CMD ["/bin/bash"]
+87
View File
@@ -0,0 +1,87 @@
%define LIBVIPS_VERSION_MINOR 8.17
%define LIBVIPS_VERSION %{LIBVIPS_VERSION_MINOR}.3
Name: libvips
Version: %{LIBVIPS_VERSION}
Release: 1%{?dist}
License: LGPL-2.1
Summary: A fast image processing library with low memory needs.
ExclusiveArch: x86_64
Source: https://github.com/libvips/libvips/releases/download/v%{LIBVIPS_VERSION}/vips-%{LIBVIPS_VERSION}.tar.xz
URL: https://www.libvips.org/
Requires: libheif
Requires: libimagequant
Requires: openexr
Requires: cairo
Requires: expat
Requires: glib2
Requires: libarchive
Requires: libpng
Requires: LibRaw
Requires: librsvg2
Requires: libtiff
Requires: libwebp
Requires: openjpeg2
Requires: libjpeg-turbo
Requires: openjpeg2
BuildRequires: cmake
BuildRequires: expat-devel
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glib2-devel
BuildRequires: libarchive-devel
BuildRequires: libheif-devel
BuildRequires: libimagequant-devel
BuildRequires: libjpeg-turbo-devel
BuildRequires: libjxl-devel
BuildRequires: libpng-devel
BuildRequires: LibRaw-devel
BuildRequires: librsvg2-devel
BuildRequires: libtiff-devel
BuildRequires: libwebp-devel
BuildRequires: ninja-build
BuildRequires: openexr-devel
BuildRequires: openjpeg2-devel
BuildRequires: python3-pip
%description
libvips is a demand-driven, horizontally threaded image processing library.
Compared to similar libraries, libvips runs quickly and uses little memory.
libvips is licensed under the LGPL-2.1-or-later.
It has around 300 operations covering arithmetic, histograms, convolution, morphological operations, frequency filtering,
colour, resampling, statistics and others. It supports a large range of numeric types, from 8-bit int to 128-bit complex.
Images can have any number of bands. It supports a good range of image formats, including JPEG, JPEG 2000, JPEG XL, TIFF,
PNG, WebP, HEIC, AVIF, FITS, Matlab, OpenEXR, PDF, SVG, HDR, PPM / PGM / PFM, CSV, GIF, Analyze, NIfTI, DeepZoom, and
OpenSlide. It can also load images via ImageMagick or GraphicsMagick, letting it work with formats like DICOM.
%prep
%setup -q -n vips-%{LIBVIPS_VERSION}
pip3 install meson
%conf
meson setup build --prefix=/usr
%build
meson compile -C build
%install
meson install -C build --destdir %{buildroot}
%files
%{_bindir}/vips*
%{_libdir}/libvips.so
%{_libdir}/libvips.so.*
%{_libdir}/libvips-cpp.so
%{_libdir}/libvips-cpp.so.*
%{_libdir}/pkgconfig/*
%{_libdir}/vips-modules-%{LIBVIPS_VERSION_MINOR}/*
/usr/share/locale/*
/usr/share/man/*
%{_includedir}/vips
%changelog
* Wed Jun 03 2026 Marko Zivanovic <marko@zivanovic.email> - 8.17.3-1
- Initial package.
+53
View File
@@ -0,0 +1,53 @@
FROM rockylinux/rockylinux:10.1.20251123 AS base
WORKDIR /root
ARG LIBVIPS_VERSION=8.18.2
RUN dnf update -y && dnf install -y \
cmake \
curl \
epel-release \
expat-devel \
gcc \
gcc-c++ \
glib2-devel \
libarchive-devel \
libjpeg-turbo-devel \
libpng-devel \
librsvg2-devel \
libtiff-devel \
libwebp-devel \
python3-pip \
rpmdevtools \
xz
RUN crb enable
RUN dnf install -y \
libheif-devel \
libimagequant-devel \
libjxl-devel \
LibRaw-devel \
ninja-build \
openexr-devel \
openjpeg2-devel \
rpmlint \
&& dnf clean all
FROM base AS updated
RUN rpmdev-setuptree
RUN curl -L https://github.com/libvips/libvips/releases/download/v${LIBVIPS_VERSION}/vips-${LIBVIPS_VERSION}.tar.xz \
-o rpmbuild/SOURCES/vips-${LIBVIPS_VERSION}.tar.xz
COPY libvips-${LIBVIPS_VERSION}.spec rpmbuild/SPECS/libvips-${LIBVIPS_VERSION}.spec
RUN rpmlint rpmbuild/SPECS/libvips-${LIBVIPS_VERSION}.spec
FROM updated AS build
RUN rpmbuild -ba rpmbuild/SPECS/libvips-${LIBVIPS_VERSION}.spec
CMD ["/bin/bash"]
+87
View File
@@ -0,0 +1,87 @@
%define LIBVIPS_VERSION_MINOR 8.18
%define LIBVIPS_VERSION %{LIBVIPS_VERSION_MINOR}.2
Name: libvips
Version: %{LIBVIPS_VERSION}
Release: 1%{?dist}
License: LGPL-2.1
Summary: A fast image processing library with low memory needs.
ExclusiveArch: x86_64
Source: https://github.com/libvips/libvips/releases/download/v%{LIBVIPS_VERSION}/vips-%{LIBVIPS_VERSION}.tar.xz
URL: https://www.libvips.org/
Requires: libheif
Requires: libimagequant
Requires: openexr
Requires: cairo
Requires: expat
Requires: glib2
Requires: libarchive
Requires: libpng
Requires: LibRaw
Requires: librsvg2
Requires: libtiff
Requires: libwebp
Requires: openjpeg2
Requires: libjpeg-turbo
Requires: openjpeg2
BuildRequires: cmake
BuildRequires: expat-devel
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: glib2-devel
BuildRequires: libarchive-devel
BuildRequires: libheif-devel
BuildRequires: libimagequant-devel
BuildRequires: libjpeg-turbo-devel
BuildRequires: libjxl-devel
BuildRequires: libpng-devel
BuildRequires: LibRaw-devel
BuildRequires: librsvg2-devel
BuildRequires: libtiff-devel
BuildRequires: libwebp-devel
BuildRequires: ninja-build
BuildRequires: openexr-devel
BuildRequires: openjpeg2-devel
BuildRequires: python3-pip
%description
libvips is a demand-driven, horizontally threaded image processing library.
Compared to similar libraries, libvips runs quickly and uses little memory.
libvips is licensed under the LGPL-2.1-or-later.
It has around 300 operations covering arithmetic, histograms, convolution, morphological operations, frequency filtering,
colour, resampling, statistics and others. It supports a large range of numeric types, from 8-bit int to 128-bit complex.
Images can have any number of bands. It supports a good range of image formats, including JPEG, JPEG 2000, JPEG XL, TIFF,
PNG, WebP, HEIC, AVIF, FITS, Matlab, OpenEXR, PDF, SVG, HDR, PPM / PGM / PFM, CSV, GIF, Analyze, NIfTI, DeepZoom, and
OpenSlide. It can also load images via ImageMagick or GraphicsMagick, letting it work with formats like DICOM.
%prep
%setup -q -n vips-%{LIBVIPS_VERSION}
pip3 install meson
%conf
meson setup build --prefix=/usr
%build
meson compile -C build
%install
meson install -C build --destdir %{buildroot}
%files
%{_bindir}/vips*
%{_libdir}/libvips.so
%{_libdir}/libvips.so.*
%{_libdir}/libvips-cpp.so
%{_libdir}/libvips-cpp.so.*
%{_libdir}/pkgconfig/*
%{_libdir}/vips-modules-%{LIBVIPS_VERSION_MINOR}/*
/usr/share/locale/*
/usr/share/man/*
%{_includedir}/vips
%changelog
* Wed Jun 03 2026 Marko Zivanovic <marko@zivanovic.email> - 8.18.2-1
- Initial package.