[PATCH 0/4] OpenEXR 3 migration.

  • Open
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Vinicius Monego
Owner
unassigned
Submitted by
Vinicius Monego
Severity
normal
V
V
Vinicius Monego wrote on 30 May 20:22 +0200
(address . guix-patches@gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
cover.1717093218.git.monego@posteo.net
I updated some of the last packages that are still using OpenEXR 2.x. They build, but I couldn't test their functionality.

Vinicius Monego (4):
gnu: kimageformats: Build with current OpenEXR.
gnu: hugin: Update to 2023.0.0.
gnu: vigra: Update to 1.11.2.
gnu: vips: Build with current OpenEXR.

gnu/packages/image-processing.scm | 3 +-
gnu/packages/image.scm | 137 +++++++++++++-----------------
gnu/packages/kde-frameworks.scm | 24 ++----
gnu/packages/photo.scm | 13 +--
4 files changed, 74 insertions(+), 103 deletions(-)


base-commit: dc8fb5672464b6386f6b4b94723f9b36edc4e625
--
2.39.2
V
V
Vinicius Monego wrote on 30 May 20:23 +0200
[PATCH 1/4] gnu: kimageformats: Build with current OpenEXR.
(address . 71280@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
b8ffbed520f1059ca5007f1b11f7fbcef1bf253a.1717093218.git.monego@posteo.net
* gnu/packages/kde-frameworks.scm (kimageformats)[inputs]: Replace openexr-2
by openexr. Add imath, zlib.
[arguments]: Unset "-DCMAKE_CXX_FLAGS".

Change-Id: I49bb6f4e6c75a44dbb92752ad2f2fe600f2a6414
---
gnu/packages/kde-frameworks.scm | 24 +++++++++---------------
1 file changed, 9 insertions(+), 15 deletions(-)

Toggle diff (51 lines)
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index 08329820fa..e8f3b2f5f2 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2024 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -1938,9 +1939,11 @@ (define-public kimageformats
(native-inputs
(list extra-cmake-modules pkg-config))
(inputs
- (list karchive ; for Krita and OpenRaster images
- openexr-2 ; for OpenEXR high dynamic-range images
- qtbase-5))
+ (list imath ; companion for OpenEXR
+ karchive ; for Krita and OpenRaster images
+ openexr ; for OpenEXR high dynamic-range images
+ qtbase-5
+ zlib))
(arguments
(list
#:phases
@@ -1955,18 +1958,9 @@ (define-public kimageformats
(replace 'check
(lambda* (#:key tests? #:allow-other-keys)
(when tests?
- (setenv "HOME"
- (getcwd))
- ;; FIXME: I guess kde's qt no this fail.
- ;; see https://invent.kde.org/frameworks/kimageformats/-/jobs/1046283
- (invoke "ctest" "-E" "kimageformats-read-psd")))))
- ;; FIXME: The header files of ilmbase (propagated by openexr) are not
- ;; found when included by the header files of openexr, and an explicit
- ;; flag needs to be set.
- #:configure-flags #~(list (string-append "-DCMAKE_CXX_FLAGS=-I"
- (assoc-ref %build-inputs
- "ilmbase")
- "/include/OpenEXR"))))
+ (setenv "HOME" (getcwd))
+ ;; Test fails with unsupported image format 'birthday.tif'.
+ (invoke "ctest" "-E" "kimageformats-read-psd")))))))
(home-page "https://community.kde.org/Frameworks")
(synopsis "Plugins to allow QImage to support extra file formats")
(description "This framework provides additional image format plugins for
--
2.39.2
V
V
Vinicius Monego wrote on 30 May 20:23 +0200
[PATCH 2/4] gnu: hugin: Update to 2023.0.0.
(address . 71280@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
0bdf4b58530239a5da20a2104c49df9f2ed21de4.1717093218.git.monego@posteo.net
* gnu/packages/photo.scm (hugin): Update to 2023.0.0.
[inputs]: Add imath. Replace openexr-2 by openexr.
[arguments]<#:configure-flags>: Unset "-DCMAKE_CXX_FLAGS".

Change-Id: I63d1927677a4b5f8983600ee065bafe4d3ca4149
---
gnu/packages/photo.scm | 13 ++++---------
1 file changed, 4 insertions(+), 9 deletions(-)

Toggle diff (54 lines)
diff --git a/gnu/packages/photo.scm b/gnu/packages/photo.scm
index 5d6675b7e2..536c4e706e 100644
--- a/gnu/packages/photo.scm
+++ b/gnu/packages/photo.scm
@@ -750,7 +750,7 @@ (define-public entangle
(define-public hugin
(package
(name "hugin")
- (version "2021.0.0")
+ (version "2023.0.0")
(source (origin
(method url-fetch)
(uri (string-append "mirror://sourceforge/hugin/hugin/hugin-"
@@ -758,7 +758,7 @@ (define-public hugin
"/hugin-" version ".tar.bz2"))
(sha256
(base32
- "1ngadsv22ii05kmvpzdivhwlks4pnv9ijz7j9srl8y54gy5flyh4"))))
+ "0av367k70f7ww6nwnm9lbg9p9ibjjhq25g9rqr20azh1qv69z8q4"))))
(build-system cmake-build-system)
(native-inputs
(list gettext-minimal pkg-config))
@@ -770,6 +770,7 @@ (define-public hugin
flann
freeglut
glew
+ imath
lcms
libjpeg-turbo
libpano13
@@ -778,7 +779,7 @@ (define-public hugin
libxi
libxmu
mesa
- openexr-2
+ openexr
sqlite
vigra
wxwidgets
@@ -787,12 +788,6 @@ (define-public hugin
`(#:tests? #f ; no check target
#:configure-flags
(list
- ;; The header files of ilmbase (propagated by openexr) are not found
- ;; when included by the header files of openexr, and an explicit
- ;; flag needs to be set.
- (string-append "-DCMAKE_CXX_FLAGS=-I"
- (assoc-ref %build-inputs "ilmbase")
- "/include/OpenEXR")
;; Disable installation of the Python scripting interface.
;; It would require the additional inputs python and swig.
;; Installation would need to be tweaked, as it tries to install
--
2.39.2
V
V
Vinicius Monego wrote on 30 May 20:23 +0200
[PATCH 3/4] gnu: vigra: Update to 1.11.2.
(address . 71280@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
bc1b10efc8fa31749bae4c67165fedfc2693074f.1717093218.git.monego@posteo.net
* gnu/packages/image.scm (vigra): Update to 1.11.2.
[inputs]: Use package labels. Add imath. Replace openexr-2 by openexr.
[native-inputs]: Use package labels.
[arguments]<#:configure-flags>: Unset "-DCMAKE_CXX_FLAGS".

Change-Id: I4dd538ca386c6486ed57cde61337118c2c32d99d
---
gnu/packages/image.scm | 137 ++++++++++++++++++-----------------------
1 file changed, 59 insertions(+), 78 deletions(-)

Toggle diff (153 lines)
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index fae45363ad..0c9c1b7f10 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -1331,87 +1331,68 @@ (define-public freeimage
(home-page "https://freeimage.sourceforge.io/")))
(define-public vigra
- (let ((commit "9b514fa00a136f5fd81bb57ee9f6293c333ffc1f")
- (revision "0"))
- (package
- (name "vigra")
- (version (git-version "1.11.1" revision commit))
- (source
- (origin
- ;; The last release is 1.11.1, from 2017. It's becoming more and more
- ;; difficult to build this old release, and the upstream developers
- ;; suggest on their home page to build from the Git repo, saying "It is
- ;; generally safe to use the 'master' branch of the development snapshot,
- ;; as we avoid uploading untested or incompatible changes to this branch."
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/ukoethe/vigra")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256 (base32
- "1vzlypviala109imwxkp46lqhhxszf79ypfb8wxg6z7g02j7mm73"))))
- (build-system cmake-build-system)
- (inputs
- `(("boost" ,boost)
- ("fftw" ,fftw)
- ("fftwf" ,fftwf)
- ("hdf5" ,hdf5)
- ("ilmbase" ,ilmbase) ; propagated by openexr, but needed explicitly
- ; to create a configure-flag
- ("libjpeg" ,libjpeg-turbo)
- ("libpng" ,libpng)
- ("libtiff" ,libtiff)
- ("openexr" ,openexr-2)
- ("python" ,python-wrapper)
- ;("python-numpy" ,python-numpy)
- ("zlib" ,zlib)))
- (native-inputs
- `(("doxygen" ,doxygen)
- ("python-nose" ,python-nose)
- ("sphinx" ,python-sphinx)))
- (arguments
- `(#:test-target "check"
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'disable-broken-tests
- (lambda _
- ;; See https://github.com/ukoethe/vigra/issues/432
- (substitute* "test/fourier/CMakeLists.txt"
- (("VIGRA_ADD_TEST.*") ""))
- ;; This test fails with Numpy 1.15:
- ;; <https://github.com/ukoethe/vigra/issues/436>.
- (substitute* "vigranumpy/test/CMakeLists.txt"
- (("test1\\.py") ""))
- #t)))
- #:configure-flags
- (list "-Wno-dev" ; suppress developer mode with lots of warnings
- (string-append "-DVIGRANUMPY_INSTALL_DIR="
- (assoc-ref %outputs "out")
- "/lib/python"
- ,(version-major+minor (package-version python))
- "/site-packages")
- ;; Vigranumpy isn't compatible with numpy >= 1.20.
- "-DWITH_VIGRANUMPY=0"
- ;; OpenEXR is not enabled by default.
- "-DWITH_OPENEXR=1"
- ;; Fix rounding error on 32-bit machines
- "-DCMAKE_C_FLAGS=-ffloat-store"
- ;; The header files of ilmbase are not found when included
- ;; by the header files of openexr, and an explicit flag
- ;; needs to be set.
- (string-append "-DCMAKE_CXX_FLAGS=-I"
- (assoc-ref %build-inputs "ilmbase")
- "/include/OpenEXR"
- " -ffloat-store"))))
- (synopsis "Computer vision library")
- (description
- "VIGRA stands for Vision with Generic Algorithms. It is an image
+ (package
+ (name "vigra")
+ (version "1.11.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ukoethe/vigra")
+ (commit "Version-1-11-2")))
+ (file-name (git-file-name name version))
+ (sha256 (base32
+ "12ywzz8c6p1cmmr3b849yhvmbi1kmqz2ag82qpj41hy8lis6gaf4"))))
+ (build-system cmake-build-system)
+ (inputs
+ (list boost
+ fftw
+ fftwwf
+ hdf5
+ imath
+ libjpeg-turbo
+ libpng
+ libtiff
+ openexr
+ python-wrapper))
+ (native-inputs
+ (list doxygen python-nose python-sphinx))
+ (arguments
+ `(#:test-target "check"
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-broken-tests
+ (lambda _
+ ;; See https://github.com/ukoethe/vigra/issues/432
+ (substitute* "test/fourier/CMakeLists.txt"
+ (("VIGRA_ADD_TEST.*") ""))
+ ;; This test fails with Numpy 1.15:
+ ;; <https://github.com/ukoethe/vigra/issues/436>.
+ (substitute* "vigranumpy/test/CMakeLists.txt"
+ (("test1\\.py") ""))
+ #t)))
+ #:configure-flags
+ (list "-Wno-dev" ; suppress developer mode with lots of warnings
+ (string-append "-DVIGRANUMPY_INSTALL_DIR="
+ (assoc-ref %outputs "out")
+ "/lib/python"
+ ,(version-major+minor (package-version python))
+ "/site-packages")
+ ;; Vigranumpy isn't compatible with numpy >= 1.20.
+ "-DWITH_VIGRANUMPY=0"
+ ;; OpenEXR is not enabled by default.
+ "-DWITH_OPENEXR=1"
+ ;; Fix rounding error on 32-bit machines
+ "-DCMAKE_C_FLAGS=-ffloat-store")))
+ (synopsis "Computer vision library")
+ (description
+ "VIGRA stands for Vision with Generic Algorithms. It is an image
processing and analysis library that puts its main emphasis on customizable
algorithms and data structures. It is particularly strong for
multi-dimensional image processing.")
- (license license:expat)
- (home-page "https://ukoethe.github.io/vigra/")
- (properties '((max-silent-time . 7200)))))) ;2 hours, to avoid timing out
+ (license license:expat)
+ (home-page "https://ukoethe.github.io/vigra/")
+ (properties '((max-silent-time . 7200))))) ;2 hours, to avoid timing out
(define-public vigra-c
(let* ((commit "66ff4fa5a7d4a77415caa676a45c2c6ea16562e7")
--
2.39.2
V
V
Vinicius Monego wrote on 30 May 20:23 +0200
[PATCH 4/4] gnu: vips: Build with current OpenEXR.
(address . 71280@debbugs.gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
afd7376f9e8972bd3c1be6e47b066740a6f871a9.1717093218.git.monego@posteo.net
* gnu/packages/image-processing.scm (vips)[inputs]: Add imath. Replace
openexr-2 by openexr.

Change-Id: I934acff558c947cacc820878813dd756ee5db6f8
---
gnu/packages/image-processing.scm | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/image-processing.scm b/gnu/packages/image-processing.scm
index 7c9d12557e..5faf4b9cce 100644
--- a/gnu/packages/image-processing.scm
+++ b/gnu/packages/image-processing.scm
@@ -782,6 +782,7 @@ (define-public vips
glib
hdf5
imagemagick
+ imath
lcms
libexif
libgsf
@@ -793,7 +794,7 @@ (define-public vips
libwebp
matio
niftilib
- openexr-2
+ openexr
orc
pango
poppler))
--
2.39.2
L
L
Ludovic Courtès wrote on 30 Aug 17:39 +0200
Re: [bug#71280] [PATCH 0/4] OpenEXR 3 migration.
(name . Vinicius Monego)(address . monego@posteo.net)(address . 71280@debbugs.gnu.org)
878qwec95x.fsf@gnu.org
Hi Vinicius,

Vinicius Monego <monego@posteo.net> skribis:

Toggle quote (8 lines)
> I updated some of the last packages that are still using OpenEXR 2.x. They build, but I couldn't test their functionality.
>
> Vinicius Monego (4):
> gnu: kimageformats: Build with current OpenEXR.
> gnu: hugin: Update to 2023.0.0.
> gnu: vigra: Update to 1.11.2.
> gnu: vips: Build with current OpenEXR.

This feel through the cracks but this looks like important work. Maybe
rebase and resend (to get qa.guix feedback) or push directly if testing
confirms it still works?

Ludo’.
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 71280@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 71280
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch