[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
?