[PATCH core-updates 0/4] Replace libjpeg with libjpeg-turbo

  • Done
  • quality assurance status badge
Details
2 participants
  • Jakub K?dzio?ka
  • Marius Bakke
Owner
unassigned
Submitted by
Marius Bakke
Severity
normal
M
M
Marius Bakke wrote on 20 Jan 2020 00:16
(address . guix-patches@gnu.org)
20200119231651.11874-1-mbakke@fastmail.com
AIUI most distributions have moved away from the IJG libjpeg library in
favor of libjpeg-turbo (which is ABI- and API-compatible, and under lots
of scrutiny by security researchers).

This series do the same for Guix.

Marius Bakke (4):
gnu: RHash: Do not use git-fetch, but provide a fallback URL.
gnu: cmake-minimal: Build with a minimal variant of cURL.
gnu: Replace uses of 'libjpeg' with 'libjpeg-turbo'.
gnu: Deprecate the 'libjpeg' variable.

gnu/packages/abiword.scm | 2 +-
gnu/packages/admin.scm | 2 +-
gnu/packages/algebra.scm | 2 +-
gnu/packages/animation.scm | 2 +-
gnu/packages/astronomy.scm | 4 ++--
gnu/packages/cdrom.scm | 2 +-
gnu/packages/cmake.scm | 5 ++++-
gnu/packages/cran.scm | 6 +++---
gnu/packages/crypto.scm | 18 ++++++++++++------
gnu/packages/cups.scm | 4 ++--
gnu/packages/curl.scm | 16 ++++++++++++++--
gnu/packages/display-managers.scm | 2 +-
gnu/packages/ebook.scm | 2 +-
gnu/packages/emacs.scm | 2 +-
gnu/packages/emulators.scm | 2 +-
gnu/packages/enlightenment.scm | 2 +-
gnu/packages/fltk.scm | 4 ++--
gnu/packages/fontutils.scm | 2 +-
gnu/packages/freedesktop.scm | 2 +-
gnu/packages/game-development.scm | 12 ++++++------
gnu/packages/games.scm | 20 ++++++++++----------
gnu/packages/gd.scm | 4 ++--
gnu/packages/ghostscript.scm | 6 +++---
gnu/packages/gimp.scm | 4 ++--
gnu/packages/gnome.scm | 8 ++++----
gnu/packages/gnunet.scm | 2 +-
gnu/packages/gnustep.scm | 2 +-
gnu/packages/graphics.scm | 14 +++++++-------
gnu/packages/graphviz.scm | 2 +-
gnu/packages/gstreamer.scm | 2 +-
gnu/packages/gtk.scm | 2 +-
gnu/packages/image-processing.scm | 16 ++++++++--------
gnu/packages/image-viewers.scm | 4 ++--
gnu/packages/image.scm | 31 +++++++++++++++++--------------
gnu/packages/imagemagick.scm | 4 ++--
gnu/packages/java.scm | 10 +++++-----
gnu/packages/kde-frameworks.scm | 2 +-
gnu/packages/kodi.scm | 2 +-
gnu/packages/machine-learning.scm | 4 ++--
gnu/packages/mate.scm | 4 ++--
gnu/packages/maths.scm | 8 ++++----
gnu/packages/netpbm.scm | 2 +-
gnu/packages/pdf.scm | 8 ++++----
gnu/packages/photo.scm | 12 ++++++------
gnu/packages/prolog.scm | 2 +-
gnu/packages/python-xyz.scm | 4 ++--
gnu/packages/qt.scm | 6 +++---
gnu/packages/rdesktop.scm | 2 +-
gnu/packages/scanner.scm | 4 ++--
gnu/packages/scheme.scm | 2 +-
gnu/packages/scribus.scm | 2 +-
gnu/packages/sdl.scm | 4 ++--
gnu/packages/spice.scm | 2 +-
gnu/packages/statistics.scm | 2 +-
gnu/packages/tcl.scm | 2 +-
gnu/packages/upnp.scm | 2 +-
gnu/packages/video.scm | 8 ++++----
gnu/packages/web-browsers.scm | 4 ++--
gnu/packages/web.scm | 2 +-
gnu/packages/webkit.scm | 2 +-
gnu/packages/wine.scm | 2 +-
gnu/packages/wv.scm | 2 +-
gnu/packages/wxwidgets.scm | 4 ++--
gnu/packages/xdisorg.scm | 2 +-
gnu/packages/xfce.scm | 2 +-
gnu/packages/xfig.scm | 4 ++--
gnu/packages/xorg.scm | 2 +-
67 files changed, 179 insertions(+), 155 deletions(-)

--
2.24.1
M
M
Marius Bakke wrote on 20 Jan 2020 00:20
[PATCH core-updates 1/4] gnu: RHash: Do not use git-fetch, but provide a fallback URL.
(address . 39197@debbugs.gnu.org)
20200119232006.12303-1-mbakke@fastmail.com
* gnu/packages/crypto.scm (rhash)[source]: Change to URL-FETCH.
---
gnu/packages/crypto.scm | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)

Toggle diff (40 lines)
diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm
index 276612f887..9a545e7311 100644
--- a/gnu/packages/crypto.scm
+++ b/gnu/packages/crypto.scm
@@ -14,6 +14,7 @@
;;; Copyright © 2018 Tim Gesthuizen <tim.gesthuizen@yahoo.de>
;;; Copyright © 2019 Pierre Neidhardt <mail@ambrevar.xyz>
;;; Copyright © 2019 Tanguy Le Carrour <tanguy@bioneland.org>
+;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -711,14 +712,19 @@ BLAKE.")
(version "1.3.9")
(source
(origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/rhash/RHash")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
+ (method url-fetch)
+ ;; Note: This package is a dependency of CMake, which is needed to build
+ ;; libjpeg-turbo and ultimately 'git-minimal', so we cannot use 'git-fetch'
+ ;; here. Use the generated tarball with a Debian fallback for now; upstream
+ ;; is aware of the problem: <https://github.com/rhash/RHash/issues/108>.
+ (uri (list (string-append "https://github.com/rhash/RHash/archive/v"
+ version ".tar.gz")
+ (string-append "http://ftp.debian.org/debian/pool/main/r/rhash/"
+ "rhash_" version ".orig.tar.gz")))
+ (file-name (string-append "rhash-" version ".tar.gz"))
(sha256
(base32
- "06i49x1l21h2q7pfnf4crbmjyg8b9ad0qs10ywyyn5sjpi0c21wq"))))
+ "1xn9fqa6rlnhsbgami45g82dlw9i1skg2sri3ydiinwak5ph1ca2"))))
(build-system gnu-build-system)
(arguments
`(#:make-flags
--
2.24.1
M
M
Marius Bakke wrote on 20 Jan 2020 00:20
[PATCH core-updates 2/4] gnu: cmake-minimal: Build with a minimal variant of cURL.
(address . 39197@debbugs.gnu.org)
20200119232006.12303-2-mbakke@fastmail.com
This is necessary to avoid a circular dependency in the next commit.

* gnu/packages/curl.scm (curl-minimal): New public variable.
* gnu/packages/cmake.scm (cmake-minimal)[inputs]: Change from CURL to CURL-MINIMAL.
(cmake)[inputs]: Do the opposite.
---
gnu/packages/cmake.scm | 5 ++++-
gnu/packages/curl.scm | 16 ++++++++++++++--
2 files changed, 18 insertions(+), 3 deletions(-)

Toggle diff (66 lines)
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index e24b6dea7d..d053935a86 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -152,7 +152,7 @@
(apply invoke "./configure" configure-flags))))))
(native-inputs
`(("bzip2" ,bzip2)
- ("curl" ,curl)
+ ("curl" ,curl-minimal)
("expat" ,expat)
("file" ,file)
("libarchive" ,libarchive)
@@ -221,6 +221,9 @@ and workspaces that can be used in the compiler environment of your choice.")
`(,@(package-native-inputs cmake-minimal)
("python-sphinx" ,python-sphinx)
("texinfo" ,texinfo)))
+ (inputs
+ `(("curl" ,curl)
+ ,@(alist-delete "curl" (package-inputs cmake-minimal))))
(outputs '("out" "doc"))
(properties (alist-delete 'hidden? (package-properties cmake-minimal)))))
diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 3d230dc1f0..4a73b1f34c 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -4,7 +4,7 @@
;;; Copyright © 2015 Tomáš ?ech <sleep_walker@suse.cz>
;;; Copyright © 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017, 2019 Leo Famulari <leo@famulari.name>
-;;; Copyright © 2017, 2019 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2017, 2019, 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
;;; Copyright © 2018 Roel Janssen <roel@gnu.org>
@@ -46,7 +46,8 @@
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages tls)
- #:use-module (gnu packages web))
+ #:use-module (gnu packages web)
+ #:use-module (srfi srfi-1))
(define-public curl
(package
@@ -154,6 +155,17 @@ tunneling, and so on.")
"See COPYING in the distribution."))
(home-page "https://curl.haxx.se/")))
+;; This package is used to solve a cyclic dependency between 'cmake-minimal' and
+;; packages that use cmake-build-system such as 'libjpeg-turbo' (via ghostscript).
+;; It must not depend on anything that uses cmake-build-system.
+(define-public curl-minimal
+ (hidden-package
+ (package/inherit
+ curl
+ (name "curl-minimal")
+ (native-inputs (alist-delete "groff" (package-native-inputs curl)))
+ (inputs (alist-delete "openldap" (package-inputs curl))))))
+
(define-public kurly
(package
(name "kurly")
--
2.24.1
M
M
Marius Bakke wrote on 20 Jan 2020 00:20
[PATCH core-updates 4/4] gnu: Deprecate the 'libjpeg' variable.
(address . 39197@debbugs.gnu.org)
20200119232006.12303-4-mbakke@fastmail.com
* gnu/packages/image.scm (libjpeg, libjpeg-8): Rename to ...
(ijg-libjpeg, ijg-libjpeg-8): ... this.
(libjpeg): Define as deprecated by LIBJPEG-TURBO.
* gnu/packages/emulators.scm (mame)[inputs]: Change from LIBJPEG-8 to
IJG-LIBJPEG-8.
* gnu/packages/games.scm (stepmania)[inputs]: Likewise.
* gnu/packages/qt.scm (qt-4)[inputs]: Likewise.
---
gnu/packages/emulators.scm | 2 +-
gnu/packages/games.scm | 2 +-
gnu/packages/image.scm | 9 ++++++---
gnu/packages/qt.scm | 2 +-
4 files changed, 9 insertions(+), 6 deletions(-)

Toggle diff (82 lines)
diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm
index ffcdc65265..aba5ce4ff4 100644
--- a/gnu/packages/emulators.scm
+++ b/gnu/packages/emulators.scm
@@ -1425,7 +1425,7 @@ play them on systems for which they were never designed!")
("flac" ,flac)
("fontconfig" ,fontconfig)
("glm" ,glm)
- ("libjpeg" ,libjpeg-8) ;jpeg_read_header argument error in libjpeg-9
+ ("libjpeg" ,ijg-libjpeg-8) ;jpeg_read_header argument error in libjpeg-9
("libxi" ,libxi)
("libxinerama" ,libxinerama)
("lua" ,lua)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index e3b3a5f6e5..ae97f05b0d 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -6566,7 +6566,7 @@ civilized than your own.")
("gtk+" ,gtk+-2)
("jsoncpp" ,jsoncpp)
("libpng" ,libpng)
- ("libjpeg" ,libjpeg-8)
+ ("libjpeg" ,ijg-libjpeg-8)
("libmad" ,libmad)
("libogg" ,libogg)
("libva" ,libva)
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 65acf7638f..a7e207e07a 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -82,6 +82,7 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system python)
#:use-module (guix build-system scons)
+ #:use-module (guix deprecation)
#:use-module (srfi srfi-1))
(define-public libpng
@@ -363,7 +364,7 @@ Features:
@end enumerate")
(license license:gpl3+)))
-(define-public libjpeg
+(define-public ijg-libjpeg
(package
(name "libjpeg")
(version "9c")
@@ -392,8 +393,8 @@ lossless JPEG manipulations such as rotation, scaling or cropping:
(license license:ijg)
(home-page "https://www.ijg.org/")))
-(define-public libjpeg-8
- (package (inherit libjpeg)
+(define-public ijg-libjpeg-8
+ (package (inherit ijg-libjpeg)
(version "8d")
(source (origin
(method url-fetch)
@@ -1522,6 +1523,8 @@ and decompress to 32-bit and big-endian pixel buffers (RGBX, XBGR, etc.).")
license:ijg ;the libjpeg library and associated tools
license:zlib)))) ;the libjpeg-turbo SIMD extensions
+(define-deprecated libjpeg libjpeg-turbo)
+
(define-public niftilib
(package
(name "niftilib")
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 4011970643..a105ba9c1f 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -215,7 +215,7 @@ system, and the core design of Django is reused in Grantlee.")
("xcb-util-renderutil" ,xcb-util-renderutil)
("xcb-util-wm" ,xcb-util-wm)
("zlib" ,zlib)
- ("libjpeg" ,libjpeg-8)
+ ("libjpeg" ,ijg-libjpeg-8)
("libsm" ,libsm)
("openssl" ,openssl-1.0)))
(native-inputs
--
2.24.1
M
M
Marius Bakke wrote on 20 Jan 2020 00:20
[PATCH core-updates 3/4] gnu: Replace uses of 'libjpeg' with 'libjpeg-turbo'.
(address . 39197@debbugs.gnu.org)
20200119232006.12303-3-mbakke@fastmail.com
* gnu/packages/abiword.scm (abiword)[inputs]: Change from LIBJPEG to
LIBJPEG-TURBO.
* gnu/packages/admin.scm (testdisk)[inputs]: Likewise.
* gnu/packages/algebra.scm (giac)[inputs]: Likewise.
* gnu/packages/animation.scm (synfig)[inputs]: Likewise.
* gnu/packages/astronomy.scm (gnuastro, celestia)[inputs]: Likewise.
* gnu/packages/cdrom.scm (dvdstyler)[inputs]: Likewise.
* gnu/packages/cran.scm (r-jpeg, r-tiff, r-readbitmap)[inputs]: Likewise.
* gnu/packages/cups.scm (cups-filters, hplip)[inputs]: Likewise.
* gnu/packages/display-managers.scm (slim)[inputs]: Likewise.
* gnu/packages/ebook.scm (fbreader)[inputs]: Likewise.
* gnu/packages/emacs.scm (emacs)[inputs]: Likewise.
* gnu/packages/enlightenment.scm (efl)[propagated-inputs]: Likewise.
* gnu/packages/fltk.scm (fltk, ntk)[inputs]: Likewise.
* gnu/packages/fontutils.scm (fontforge)[inputs]: Likewise.
* gnu/packages/freedesktop.scm (weston)[inputs]: Likewise.
* gnu/packages/game-development.scm (sfml, allegro, aseprite, python-pygame,
eureka, ioquake3)[inputs]: Likewise.
* gnu/packages/games.scm (adanaxisgpl, freedroidrpg, irrlicht, minetest,
fizmo, supertuxkart, gzdoom, xmoto, xonotic)[inputs]: Likewise.
* gnu/packages/gd.scm (gd, perl-gd)[inputs]: Likewise.
* gnu/packages/ghostscript.scm (lcms)[inputs]: Likewise.
(ghostscript)[inputs, native-inputs]: Likewise.
* gnu/packages/gimp.scm (gegl, gimp)[inputs]: Likewise.
* gnu/packages/gnome.scm (libgnomeui, eog, tracker-miners, gthumb)[inputs]: Likewise.
* gnu/packages/gnunet.scm (libextractor)[inputs]: Likewise.
* gnu/packages/gnustep.scm (windowmaker)[inputs]: Likewise.
* gnu/packages/graphics.scm (blender, blender-2.79, openimageio,
openscenegraph, openscenegraph-3.4, povray, fgallery)[inputs]: Likewise.
* gnu/packages/graphviz.scm (graphviz)[inputs]: Likewise.
* gnu/packages/gstreamer.scm (gst-plugins-good)[inputs]: Likewise.
* gnu/packages/gtk.scm (gdk-pixbuf)[inputs]: Likewise.
* gnu/packages/image-processing.scm (dcmtk, mia, vtk, opencv, vips, nip2, vxl,
insight-toolkit)[inputs]: Likewise.
* gnu/packages/image-viewers.scm (gpicview, luminance-hdr)[inputs]: Likewise.
* gnu/packages/image.scm (jpegoptim, libtiff, leptonica, imlib2, freeimage,
vigra, libwebp, libmng, jasper, steghide, jp2a)[inputs]: Likewise.
* gnu/packages/imagemagick.scm (imagemagick, graphicsmagick)[inputs]: Likewise.
* gnu/packages/java.scm (icedtea-6, icedtea-7, openjdk9, openjdk11,
openjdk12)[inputs]: Likewise.
* gnu/packages/kde-frameworks.scm (khtml)[inputs]: Likewise.
* gnu/packages/kodi.scm (kodi)[inputs]: Likewise.
* gnu/packages/machine-learning.scm (dlib, tensorflow)[inputs]: Likewise.
* gnu/packages/mate.scm (atril, eom)[inputs]: Likewise.
* gnu/packages/maths.scm (hdf4, hdf-java, hdf-eos2, netcdf)[inputs]: Likewise.
* gnu/packages/netpbm.scm (netpbm)[inputs]: Likewise.
* gnu/packages/pdf.scm (zathura-pdf-mupdf, podofo, mupdf, fbida)[inputs]: Likewise.
* gnu/packages/photo.scm (libraw, libpano13, enblend-enfuse, darktable, hugin,
rawtherapee)[inputs]: Likewise.
* gnu/packages/prolog.scm (swi-prolog)[native-inputs]: Likewise.
* gnu/packages/python-xyz.scm (python-hdf4, python-pillow)[inputs]: Likewise.
* gnu/packages/qt.scm (qtbase, qtwebkit)[inputs]: Likewise.
* gnu/packages/rdesktop.scm (freerdp)[inputs]: Likewise.
* gnu/packages/scanner.scm (sane-backends, xsane)[inputs]: Likewise.
* gnu/packages/scheme.scm (racket)[inputs]: Likewise.
* gnu/packages/scribus.scm (scribus)[inputs]: Likewise.
* gnu/packages/sdl.scm (sdl-image)[propagated-inputs]: Likewise.
(guile-sdl)[native-inputs]: Likewise.
* gnu/packages/spice.scm (spice-gtk)[inputs]: Likewise.
* gnu/packages/statistics.scm (r-with-tests)[inputs]: Likewise.
* gnu/packages/tcl.scm (perl-tk)[inputs]: Likewise.
* gnu/packages/upnp.scm (readymedia)[inputs]: Likewise.
* gnu/packages/video.scm (mplayer, mpv, v4l-utils, motion)[inputs]: Likewise.
* gnu/packages/web-browsers.scm (dillo, links)[inputs]: Likewise.
* gnu/packages/web.scm (netsurf)[inputs]: Likewise.
* gnu/packages/webkit.scm (webkitgtk)[inputs]: Likewise.
* gnu/packages/wine.scm (wine)[inputs]: Likewise.
* gnu/packages/wv.scm (wv)[inputs]: Likewise.
* gnu/packages/wxwidgets.scm (wxwidgets, wxwidgets-2)[inputs]: Likewise.
* gnu/packages/xdisorg.scm (xscreensaver)[inputs]: Likewise.
* gnu/packages/xfce.scm (tumbler)[inputs]: Likewise.
* gnu/packages/xfig.scm (xfig, transfig)[inputs]: Likewise.
* gnu/packages/xorg.scm (xpra)[inputs]: Likewise.
---
gnu/packages/abiword.scm | 2 +-
gnu/packages/admin.scm | 2 +-
gnu/packages/algebra.scm | 2 +-
gnu/packages/animation.scm | 2 +-
gnu/packages/astronomy.scm | 4 ++--
gnu/packages/cdrom.scm | 2 +-
gnu/packages/cran.scm | 6 +++---
gnu/packages/cups.scm | 4 ++--
gnu/packages/display-managers.scm | 2 +-
gnu/packages/ebook.scm | 2 +-
gnu/packages/emacs.scm | 2 +-
gnu/packages/enlightenment.scm | 2 +-
gnu/packages/fltk.scm | 4 ++--
gnu/packages/fontutils.scm | 2 +-
gnu/packages/freedesktop.scm | 2 +-
gnu/packages/game-development.scm | 12 ++++++------
gnu/packages/games.scm | 18 +++++++++---------
gnu/packages/gd.scm | 4 ++--
gnu/packages/ghostscript.scm | 6 +++---
gnu/packages/gimp.scm | 4 ++--
gnu/packages/gnome.scm | 8 ++++----
gnu/packages/gnunet.scm | 2 +-
gnu/packages/gnustep.scm | 2 +-
gnu/packages/graphics.scm | 14 +++++++-------
gnu/packages/graphviz.scm | 2 +-
gnu/packages/gstreamer.scm | 2 +-
gnu/packages/gtk.scm | 2 +-
gnu/packages/image-processing.scm | 16 ++++++++--------
gnu/packages/image-viewers.scm | 4 ++--
gnu/packages/image.scm | 22 +++++++++++-----------
gnu/packages/imagemagick.scm | 4 ++--
gnu/packages/java.scm | 10 +++++-----
gnu/packages/kde-frameworks.scm | 2 +-
gnu/packages/kodi.scm | 2 +-
gnu/packages/machine-learning.scm | 4 ++--
gnu/packages/mate.scm | 4 ++--
gnu/packages/maths.scm | 8 ++++----
gnu/packages/netpbm.scm | 2 +-
gnu/packages/pdf.scm | 8 ++++----
gnu/packages/photo.scm | 12 ++++++------
gnu/packages/prolog.scm | 2 +-
gnu/packages/python-xyz.scm | 4 ++--
gnu/packages/qt.scm | 4 ++--
gnu/packages/rdesktop.scm | 2 +-
gnu/packages/scanner.scm | 4 ++--
gnu/packages/scheme.scm | 2 +-
gnu/packages/scribus.scm | 2 +-
gnu/packages/sdl.scm | 4 ++--
gnu/packages/spice.scm | 2 +-
gnu/packages/statistics.scm | 2 +-
gnu/packages/tcl.scm | 2 +-
gnu/packages/upnp.scm | 2 +-
gnu/packages/video.scm | 8 ++++----
gnu/packages/web-browsers.scm | 4 ++--
gnu/packages/web.scm | 2 +-
gnu/packages/webkit.scm | 2 +-
gnu/packages/wine.scm | 2 +-
gnu/packages/wv.scm | 2 +-
gnu/packages/wxwidgets.scm | 4 ++--
gnu/packages/xdisorg.scm | 2 +-
gnu/packages/xfce.scm | 2 +-
gnu/packages/xfig.scm | 4 ++--
gnu/packages/xorg.scm | 2 +-
63 files changed, 140 insertions(+), 140 deletions(-)

Toggle diff (357 lines)
diff --git a/gnu/packages/abiword.scm b/gnu/packages/abiword.scm
index 2b65a02242..9cfd12a1e6 100644
--- a/gnu/packages/abiword.scm
+++ b/gnu/packages/abiword.scm
@@ -95,7 +95,7 @@
("libchamplain" ,libchamplain)
("libglade" ,libglade)
("libgsf" ,libgsf)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("librsvg" ,librsvg)
("libxml2" ,libxml2)
diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
index 2b7cac7c16..c40529f817 100644
--- a/gnu/packages/admin.scm
+++ b/gnu/packages/admin.scm
@@ -1722,7 +1722,7 @@ characters can be replaced as well, as can UTF-8 characters.")
;; FIXME: add reiserfs.
("zlib" ,zlib)
("e2fsprogs" ,e2fsprogs)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("ncurses" ,ncurses)))
(home-page "https://www.cgsecurity.org/wiki/TestDisk")
(synopsis "Data recovery tool")
diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm
index a31ac8dab0..d3e4dfbd86 100644
--- a/gnu/packages/algebra.scm
+++ b/gnu/packages/algebra.scm
@@ -405,7 +405,7 @@ precision.")
("gsl" ,gsl)
("lapack" ,lapack)
("libao" ,ao)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libsamplerate" ,libsamplerate)
("libx11" ,libx11)
diff --git a/gnu/packages/animation.scm b/gnu/packages/animation.scm
index 08bf4eb1de..0357ac1190 100644
--- a/gnu/packages/animation.scm
+++ b/gnu/packages/animation.scm
@@ -112,7 +112,7 @@ C++ @dfn{Standard Template Library} (STL).")
`(("boost" ,boost)
("ffmpeg" ,ffmpeg)
("libdv" ,libdv)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libmng" ,libmng)
("zlib" ,zlib)))
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 3bb236fde9..2ac41e17a0 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -132,7 +132,7 @@ header.")
(inputs
`(("cfitsio" ,cfitsio)
("gsl" ,gsl)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libtiff" ,libtiff)
("wcslib" ,wcslib)
("zlib" ,zlib)))
@@ -218,7 +218,7 @@ objects.")
`(("glu" ,glu)
("glew" ,glew)
("libtheora" ,libtheora)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
;; maybe required?
("mesa" ,mesa)
diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm
index b6bdf33eef..64aa38d785 100644
--- a/gnu/packages/cdrom.scm
+++ b/gnu/packages/cdrom.scm
@@ -459,7 +459,7 @@ capacity is user-selectable.")
("eudev" ,eudev)
("fontconfig" ,fontconfig)
("libexif" ,libexif)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("ffmpeg" ,ffmpeg-3.4)))
(native-inputs
`(("pkg-config" ,pkg-config)
diff --git a/gnu/packages/cran.scm b/gnu/packages/cran.scm
index e998c587ce..92b4a9133e 100644
--- a/gnu/packages/cran.scm
+++ b/gnu/packages/cran.scm
@@ -1347,7 +1347,7 @@ applications. That is, compute distances and related measures for angular
(base32
"1a8mi70x79a691r40yiw684jkg1mr9n8agkxlcksxcnrdybs9c0x"))))
(build-system r-build-system)
- (inputs `(("libjpeg" ,libjpeg)))
+ (inputs `(("libjpeg" ,libjpeg-turbo)))
(home-page "http://www.rforge.net/jpeg/")
(synopsis "Read and write JPEG images with R")
(description "This package provides a way to read, write and display
@@ -9704,7 +9704,7 @@ redundant complex conjugate when the input is real data.")
(build-system r-build-system)
(inputs
`(("libtiff" ,libtiff)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("zlib" ,zlib)))
(home-page "http://www.rforge.net/tiff/")
(synopsis "Read and write TIFF images")
@@ -18295,7 +18295,7 @@ currently limited to 8 bit greyscale images and 24, 32 bit (A)RGB images.")
(properties `((upstream-name . "readbitmap")))
(build-system r-build-system)
(inputs
- `(("libjpeg" ,libjpeg)
+ `(("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)))
(propagated-inputs
`(("r-bmp" ,r-bmp)
diff --git a/gnu/packages/cups.scm b/gnu/packages/cups.scm
index 0adca9addb..0d6cb3c937 100644
--- a/gnu/packages/cups.scm
+++ b/gnu/packages/cups.scm
@@ -158,7 +158,7 @@
("ijs" ,ijs)
("dbus" ,dbus)
("lcms" ,lcms)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libtiff" ,libtiff)
("glib" ,glib)
@@ -585,7 +585,7 @@ should only be used as part of the Guix cups-pk-helper service.")
(inputs
`(("cups-minimal" ,cups-minimal)
("dbus" ,dbus)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libusb" ,libusb)
("python" ,python)
("python-dbus" ,python-dbus)
diff --git a/gnu/packages/display-managers.scm b/gnu/packages/display-managers.scm
index bfe1a8f6dd..70caeab06d 100644
--- a/gnu/packages/display-managers.scm
+++ b/gnu/packages/display-managers.scm
@@ -244,7 +244,7 @@ GTK+, lets you select a desktop session and log in to it.")
(build-system cmake-build-system)
(inputs `(("linux-pam" ,linux-pam)
("libpng" ,libpng)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("freeglut" ,freeglut)
("libxrandr" ,libxrandr)
("libxrender" ,libxrender)
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 7f8aa42e95..683be7927a 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -290,7 +290,7 @@ designed to be used in a generic text renderer.")
("fribidi" ,fribidi)
("glib" ,glib)
("gtk+-2" ,gtk+-2)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("liblinebreak" ,liblinebreak)
("libxft" ,libxft)
("sqlite" ,sqlite)
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index ebe47d7186..3a39a51f81 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -173,7 +173,7 @@
("libxft" ,libxft)
("libtiff" ,libtiff)
("giflib" ,giflib)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("imagemagick" ,imagemagick)
("acl" ,acl)
diff --git a/gnu/packages/enlightenment.scm b/gnu/packages/enlightenment.scm
index 121627dd88..3fc9d522f4 100644
--- a/gnu/packages/enlightenment.scm
+++ b/gnu/packages/enlightenment.scm
@@ -124,7 +124,7 @@
("harfbuzz" ,harfbuzz)
("luajit" ,luajit)
("libinput" ,libinput-minimal)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libsndfile" ,libsndfile)
("libtiff" ,libtiff)
diff --git a/gnu/packages/fltk.scm b/gnu/packages/fltk.scm
index 40d5e7e513..204d2f8483 100644
--- a/gnu/packages/fltk.scm
+++ b/gnu/packages/fltk.scm
@@ -56,7 +56,7 @@
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
- `(("libjpeg" ,libjpeg)
+ `(("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libx11" ,libx11)
("libxft" ,libxft)
@@ -129,7 +129,7 @@ UI builder called FLUID that can be used to create applications in minutes.")
(assoc-ref outputs "out") "/lib"))
#t)))))
(inputs
- `(("libjpeg" ,libjpeg)
+ `(("libjpeg" ,libjpeg-turbo)
("glu" ,glu)
("waf" ,python-waf)))
;; ntk.pc lists "x11" and "xft" in Requires.private, and "cairo" in
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 22981b4fc0..1e5ebea868 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -600,7 +600,7 @@ definitions.")
("libSM" ,libsm)
("libX11" ,libx11)
("libXi" ,libxi)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libltdl" ,libltdl)
("libpng" ,libpng)
("libspiro" ,libspiro)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 79363f5662..a2f738c551 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -687,7 +687,7 @@ applications, X servers (rootless or fullscreen) or other display servers.")
("lcms" ,lcms)
("libevdev" ,libevdev)
("libinput" ,libinput-minimal)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libunwind" ,libunwind)
("libva" ,libva)
("libwebp" ,libwebp)
diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm
index 23cf913644..e58d1642e2 100644
--- a/gnu/packages/game-development.scm
+++ b/gnu/packages/game-development.scm
@@ -527,7 +527,7 @@ clone.")
("xcb-util-image" ,xcb-util-image)
("libxrandr" ,libxrandr)
("eudev" ,eudev)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libsndfile" ,libsndfile)
("stb-image" ,stb-image)
("stb-image-write" ,stb-image-write)))
@@ -746,7 +746,7 @@ etc.")
("freetype" ,freetype)
("glu" ,glu)
("gtk" ,gtk+-2)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libtheora" ,libtheora)
("libvorbis" ,libvorbis)
@@ -828,7 +828,7 @@ etc.")
("curl" ,curl)
("freetype" ,freetype)
("giflib" ,giflib)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libwebp" ,libwebp)
("libx11" ,libx11)
@@ -980,7 +980,7 @@ interface (API).")
("sdl-mixer" ,sdl-mixer)
("sdl-ttf" ,sdl-ttf)
("sdl-gfx" ,sdl-gfx)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libX11" ,libx11)
("libsmpeg" ,libsmpeg)
@@ -1663,7 +1663,7 @@ scripted in a Python-like language.")
("libxft" ,libxft)
("libxinerama" ,libxinerama)
("libfontconfig" ,fontconfig)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("fltk" ,fltk)
("zlib" ,zlib)))
@@ -1835,7 +1835,7 @@ of the others")
(build-system gnu-build-system)
(inputs
`(("sdl2" ,sdl2)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("openal" ,openal)
("curl" ,curl)
("opusfile" ,opusfile)
diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm
index a7674977c8..e3b3a5f6e5 100644
--- a/gnu/packages/games.scm
+++ b/gnu/packages/games.scm
@@ -235,7 +235,7 @@
`(("expat" ,expat)
("freeglut" ,freeglut)
("glu" ,glu)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libogg" ,libogg)
("libtiff" ,libtiff)
("libvorbis" ,libvorbis)
@@ -627,7 +627,7 @@ effects and music to make a completely free game.")
`(("pkg-config" ,pkg-config)))
(inputs
`(("glu" ,glu)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libogg" ,libogg)
("libpng" ,libpng)
("libvorbis" ,libvorbis)
@@ -1864,7 +1864,7 @@ are primarily in English, however some in other languages are provided.")
#:make-flags '("CC=gcc" "sharedlib")))
(inputs
`(("bzip2" ,bzip2)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libx11" ,libx11)
("libxxf86vm" ,libxxf86vm)
@@ -2017,7 +2017,7 @@ match, cannon keep, and grave-itation pit.")
("gmp" ,gmp)
("irrlicht" ,irrlicht)
("jsoncpp" ,jsoncpp)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libogg" ,libogg)
("libvorbis" ,libvorbis)
@@ -2259,7 +2259,7 @@ games using Python as well as C++.")
`(("pkg-config" ,pkg-config)))
(inputs
`(("freetype" ,freetype)
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("libpng" ,libpng)
("libsndfile" ,libsndfile)
("libxml2" ,libxml2)
@@ -2384,7 +2384,7 @@ This game is based on the GPL version of the famous game TuxRacer.")
("curl" ,curl)
;; The following input is needed to build the bundled and modified
;; version of irrlicht.
- ("libjpeg" ,libjpeg)
+ ("libjpeg" ,libjpeg-turbo)
("openssl" ,openssl)
("enet" ,enet)))
(native-inputs
@@ -5718,7 +5718,7 @@ You can save humanit
This message was truncated. Download the full message here.
J
J
Jakub K?dzio?ka wrote on 20 Jan 2020 15:06
Re: [PATCH core-updates 2/4] gnu: cmake-minimal: Build with a minimal variant of cURL.
20200120140636.o6xfbmeuqhde4ua3@zdrowyportier.kadziolka.net
Toggle quote (7 lines)
> This is necessary to avoid a circular dependency in the next commit.
>
> * gnu/packages/curl.scm (curl-minimal): New public variable.
> * gnu/packages/cmake.scm (cmake-minimal)[inputs]: Change from CURL to
> CURL-MINIMAL.
> (cmake)[inputs]: Do the opposite.

Is there a reason this curl-minimal couldn't also be used for
git-minimal? This would keep the updater working for rhash.
M
M
Marius Bakke wrote on 22 Jan 2020 19:46
87pnfbtjmf.fsf@devup.no
Jakub K?dzio?ka <kuba@kadziolka.net> writes:

Toggle quote (10 lines)
>> This is necessary to avoid a circular dependency in the next commit.
>>
>> * gnu/packages/curl.scm (curl-minimal): New public variable.
>> * gnu/packages/cmake.scm (cmake-minimal)[inputs]: Change from CURL to
>> CURL-MINIMAL.
>> (cmake)[inputs]: Do the opposite.
>
> Is there a reason this curl-minimal couldn't also be used for
> git-minimal? This would keep the updater working for rhash.

Good catch. I did this initially, but found it simpler to not use
git-fetch for RHash. I don't like inserting these 'magic' packages
around the graph. It also means we need two graft two cURLs instead of
one.

But I don't feel strongly about it, and keeping the updater working is a
good argument. So I was about to revert back, but then found out RHash
is available on sourceforge too:


Much better!

Since you made me reconsider, I also found a better solution for 2/4: we
can lose CMakes runtime dependency on 'curl-minimal' as well by using it
only once, to build libjpeg-turbo:
Toggle diff (60 lines)
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index d053935a86..fcc6642280 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -152,7 +152,7 @@
(apply invoke "./configure" configure-flags))))))
(native-inputs
`(("bzip2" ,bzip2)
- ("curl" ,curl-minimal)
+ ("curl" ,curl)
("expat" ,expat)
("file" ,file)
("libarchive" ,libarchive)
@@ -235,6 +235,18 @@ and workspaces that can be used in the compiler environment of your choice.")
(search-paths
(package-native-search-paths cmake-minimal))))
+;; The purpose of this package is to solve a circular dependency between
+;; packages that use cmake-build-system and CMakes own dependencies.
+(define-public cmake-minimal-bootstrap
+ (package
+ (inherit cmake-minimal)
+ (name "cmake-minimal-bootstrap")
+ (native-inputs
+ `(;; cURL depends on ghostscript (via groff and OpenLDAP), which depends on
+ ;; 'cmake-build-system' through libtiff and ultimately libjpeg-turbo.
+ ("curl" ,curl-minimal)
+ ,@(alist-delete "curl" (package-native-inputs cmake-minimal))))))
+
(define-public emacs-cmake-mode
(package
(inherit cmake)
diff --git a/gnu/packages/image.scm b/gnu/packages/image.scm
index 38efe61780..1b86f700e4 100644
--- a/gnu/packages/image.scm
+++ b/gnu/packages/image.scm
@@ -46,6 +46,7 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
+ #:use-module (gnu packages cmake)
#:use-module (gnu packages curl)
#:use-module (gnu packages compression)
#:use-module (gnu packages documentation)
@@ -1505,8 +1506,13 @@ is hereby granted."))))
(native-inputs
`(("nasm" ,nasm)))
(arguments
- '(#:configure-flags '("-DCMAKE_INSTALL_LIBDIR:PATH=lib"
- "-DENABLE_STATIC=0")))
+ `(#:configure-flags '("-DCMAKE_INSTALL_LIBDIR:PATH=lib"
+ "-DENABLE_STATIC=0")
+ ,@(if (%current-target-system)
+ '()
+ ;; Use a special "bootstrap" CMake for the native build to work
+ ;; around a circular dependency between CMake and this package.
+ `(#:cmake ,cmake-minimal-bootstrap))))
(home-page "https://libjpeg-turbo.org/")
(synopsis "SIMD-accelerated JPEG image handling library")
(description "libjpeg-turbo is a JPEG image codec that accelerates baseline
Thanks a lot for the feedback. Will push this shortly. :-)
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEu7At3yzq9qgNHeZDoqBt8qM6VPoFAl4omGgACgkQoqBt8qM6
VPo4bAf7BYYPBHJ/pY1Jlp0tbEGJ+LMvdQCEoH/bpaVcqDbgSkPTpDNxfOjpjlXn
TI9o3lko2u5Mc+aal3mHd8rAM7F+QweACaSZMdDl1AVhuM926Al7PGbsYHyuVRgv
CveogbhskNGjd9wBPjuKxotaihcVnDKnkcrmOlONrYdTd5QQx5zzY5axltlVOTkB
LdAX/aEcHKKv6+SY0UMjuSVLDF2VRE1wwj0/rMgZtIVee3++dKeSMM7t3WnvM3XC
8mCL5CxAIa1Ax2cPGem2/hKWdUMj6WpsvJhqA4jGLaJ6j/cE4Z0rUkD0fNOzwiZT
tzHsIY5hFoCaQrJF4qQnv6+g4SxO1A==
=z3ax
-----END PGP SIGNATURE-----

Closed
?
Your comment

This issue is archived.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 39197
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