You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

347 lines
13 KiB

gnu: Replace uses of 'libjpeg' with 'libjpeg-turbo'. * 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.
2 years ago
gnu: Replace uses of 'libjpeg' with 'libjpeg-turbo'. * 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.
2 years ago
gnu: Remove ".git" from "https://github/…/….git". Until now, 'lookup-origin' and thus 'lookup-origin-revision' in (guix swh) would sometimes return #f for these because the ".git" URLs are redirects to the non-".git" URLs. Consequently, 'guix lint -c archival' would keep saying "scheduled Software Heritage archival"; likewise, the fallback download code would fail. * gnu/packages/ada.scm, gnu/packages/admin.scm, gnu/packages/aidc.scm, gnu/packages/algebra.scm, gnu/packages/android.scm, gnu/packages/animation.scm, gnu/packages/arcan.scm, gnu/packages/assembly.scm, gnu/packages/audio.scm, gnu/packages/authentication.scm, gnu/packages/avr.scm, gnu/packages/axoloti.scm, gnu/packages/backup.scm, gnu/packages/bash.scm, gnu/packages/benchmark.scm, gnu/packages/bioconductor.scm, gnu/packages/bioinformatics.scm, gnu/packages/bittorrent.scm, gnu/packages/boost.scm, gnu/packages/build-tools.scm, gnu/packages/c.scm, gnu/packages/calendar.scm, gnu/packages/cdrom.scm, gnu/packages/check.scm, gnu/packages/chemistry.scm, gnu/packages/chez.scm, gnu/packages/clojure.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/compton.scm, gnu/packages/coq.scm, gnu/packages/cpp.scm, gnu/packages/cran.scm, gnu/packages/crypto.scm, gnu/packages/curl.scm, gnu/packages/databases.scm, gnu/packages/datastructures.scm, gnu/packages/debug.scm, gnu/packages/disk.scm, gnu/packages/distributed.scm, gnu/packages/django.scm, gnu/packages/dlang.scm, gnu/packages/dns.scm, gnu/packages/docker.scm, gnu/packages/education.scm, gnu/packages/efi.scm, gnu/packages/elixir.scm, gnu/packages/emacs-xyz.scm, gnu/packages/embedded.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/erlang.scm, gnu/packages/fabric-management.scm, gnu/packages/file-systems.scm, gnu/packages/finance.scm, gnu/packages/firmware.scm, gnu/packages/flashing-tools.scm, gnu/packages/fonts.scm, gnu/packages/fontutils.scm, gnu/packages/fpga.scm, gnu/packages/game-development.scm, gnu/packages/games.scm, gnu/packages/genealogy.scm, gnu/packages/genimage.scm, gnu/packages/geo.scm, gnu/packages/gimp.scm, gnu/packages/gl.scm, gnu/packages/gnome-xyz.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/golang.scm, gnu/packages/gpodder.scm, gnu/packages/graph.scm, gnu/packages/graphics.scm, gnu/packages/graphviz.scm, gnu/packages/groff.scm, gnu/packages/groovy.scm, gnu/packages/gtk.scm, gnu/packages/guile-xyz.scm, gnu/packages/guile.scm, gnu/packages/hardware.scm, gnu/packages/haskell-apps.scm, gnu/packages/haskell-xyz.scm, gnu/packages/hexedit.scm, gnu/packages/i2p.scm, gnu/packages/ibus.scm, gnu/packages/image-processing.scm, gnu/packages/image-viewers.scm, gnu/packages/image.scm, gnu/packages/ipfs.scm, gnu/packages/java-graphics.scm, gnu/packages/java-maths.scm, gnu/packages/java.scm, gnu/packages/javascript.scm, gnu/packages/jrnl.scm, gnu/packages/julia.scm, gnu/packages/jupyter.scm, gnu/packages/kodi.scm, gnu/packages/language.scm, gnu/packages/lego.scm, gnu/packages/less.scm, gnu/packages/libusb.scm, gnu/packages/linux.scm, gnu/packages/lirc.scm, gnu/packages/lisp-xyz.scm, gnu/packages/llvm.scm, gnu/packages/logging.scm, gnu/packages/lolcode.scm, gnu/packages/lua.scm, gnu/packages/lxde.scm, gnu/packages/lxqt.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/markup.scm, gnu/packages/maths.scm, gnu/packages/maven.scm, gnu/packages/mes.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mpd.scm, gnu/packages/music.scm, gnu/packages/networking.scm, gnu/packages/node-xyz.scm, gnu/packages/ocaml.scm, gnu/packages/ocr.scm, gnu/packages/onc-rpc.scm, gnu/packages/opencl.scm, gnu/packages/opencog.scm, gnu/packages/pantheon.scm, gnu/packages/password-utils.scm, gnu/packages/patchutils.scm, gnu/packages/pdf.scm, gnu/packages/perl6.scm, gnu/packages/phabricator.scm, gnu/packages/popt.scm, gnu/packages/printers.scm, gnu/packages/prolog.scm, gnu/packages/protobuf.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python-web.scm, gnu/packages/python-xyz.scm, gnu/packages/qt.scm, gnu/packages/radio.scm, gnu/packages/rails.scm, gnu/packages/rdf.scm, gnu/packages/rednotebook.scm, gnu/packages/rpc.scm, gnu/packages/rsync.scm, gnu/packages/ruby.scm, gnu/packages/rust.scm, gnu/packages/scheme.scm, gnu/packages/screen.scm, gnu/packages/security-token.scm, gnu/packages/selinux.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/shellutils.scm, gnu/packages/simh.scm, gnu/packages/sml.scm, gnu/packages/ssh.scm, gnu/packages/statistics.scm, gnu/packages/stenography.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/synergy.scm, gnu/packages/telephony.scm, gnu/packages/terminals.scm, gnu/packages/tex.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/time.scm, gnu/packages/tmux.scm, gnu/packages/tor.scm, gnu/packages/toys.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vim.scm, gnu/packages/virtualization.scm, gnu/packages/vlang.scm, gnu/packages/vnc.scm, gnu/packages/vpn.scm, gnu/packages/web-browsers.scm, gnu/packages/web.scm, gnu/packages/wireservice.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xml.scm, gnu/packages/xorg.scm, tests/lint.scm: Remove trailing ".git" from 'git-reference' URL.
1 year ago
gnu: All snippets report errors using exceptions, else return #t. * gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm, gnu/packages/backup.scm, gnu/packages/base.scm, gnu/packages/bioinformatics.scm, gnu/packages/cdrom.scm, gnu/packages/chez.scm, gnu/packages/code.scm, gnu/packages/compression.scm, gnu/packages/cross-base.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm, gnu/packages/databases.scm, gnu/packages/dns.scm, gnu/packages/emacs.scm, gnu/packages/emulators.scm, gnu/packages/engineering.scm, gnu/packages/enlightenment.scm, gnu/packages/fpga.scm, gnu/packages/freedesktop.scm, gnu/packages/ftp.scm, gnu/packages/games.scm, gnu/packages/gcc.scm, gnu/packages/geo.scm, gnu/packages/ghostscript.scm, gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm, gnu/packages/gnuzilla.scm, gnu/packages/graphics.scm, gnu/packages/gtk.scm, gnu/packages/guile.scm, gnu/packages/irc.scm, gnu/packages/java.scm, gnu/packages/kerberos.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm, gnu/packages/lxde.scm, gnu/packages/machine-learning.scm, gnu/packages/mail.scm, gnu/packages/maths.scm, gnu/packages/messaging.scm, gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/music.scm, gnu/packages/netpbm.scm, gnu/packages/networking.scm, gnu/packages/node.scm, gnu/packages/nvi.scm, gnu/packages/ocaml.scm, gnu/packages/pdf.scm, gnu/packages/perl.scm, gnu/packages/php.scm, gnu/packages/plotutils.scm, gnu/packages/pretty-print.scm, gnu/packages/profiling.scm, gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm, gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/robotics.scm, gnu/packages/sawfish.scm, gnu/packages/scanner.scm, gnu/packages/scheme.scm, gnu/packages/scribus.scm, gnu/packages/sdl.scm, gnu/packages/serialization.scm, gnu/packages/shells.scm, gnu/packages/slang.scm, gnu/packages/smalltalk.scm, gnu/packages/ssh.scm, gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/tbb.scm, gnu/packages/terminals.scm, gnu/packages/texinfo.scm, gnu/packages/text-editors.scm, gnu/packages/textutils.scm, gnu/packages/tls.scm, gnu/packages/unrtf.scm, gnu/packages/version-control.scm, gnu/packages/video.scm, gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wm.scm, gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm: In all snippets, report errors using exceptions, or else return #t.
4 years ago
  1. ;;; GNU Guix --- Functional package management for GNU
  2. ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
  3. ;;; Copyright © 2016, 2018, 2020 Ricardo Wurmus <rekado@elephly.net>
  4. ;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
  5. ;;; Copyright © 2016 Danny Milosavljevic <dannym@scratchpost.org>
  6. ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
  7. ;;; Copyright © 2017 Efraim Flashner <efraim@flashner.co.il>
  8. ;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
  9. ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
  10. ;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
  11. ;;;
  12. ;;; This file is part of GNU Guix.
  13. ;;;
  14. ;;; GNU Guix is free software; you can redistribute it and/or modify it
  15. ;;; under the terms of the GNU General Public License as published by
  16. ;;; the Free Software Foundation; either version 3 of the License, or (at
  17. ;;; your option) any later version.
  18. ;;;
  19. ;;; GNU Guix is distributed in the hope that it will be useful, but
  20. ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
  21. ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  22. ;;; GNU General Public License for more details.
  23. ;;;
  24. ;;; You should have received a copy of the GNU General Public License
  25. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
  26. (define-module (gnu packages wxwidgets)
  27. #:use-module (guix packages)
  28. #:use-module (guix download)
  29. #:use-module (guix git-download)
  30. #:use-module ((guix licenses) #:prefix l:)
  31. #:use-module (guix build-system glib-or-gtk)
  32. #:use-module (guix build-system python)
  33. #:use-module (guix utils)
  34. #:use-module (gnu packages)
  35. #:use-module (gnu packages compression)
  36. #:use-module (gnu packages databases)
  37. #:use-module (gnu packages freedesktop)
  38. #:use-module (gnu packages gl)
  39. #:use-module (gnu packages gstreamer)
  40. #:use-module (gnu packages gtk)
  41. #:use-module (gnu packages image)
  42. #:use-module (gnu packages photo)
  43. #:use-module (gnu packages video)
  44. #:use-module (gnu packages pkg-config)
  45. #:use-module (gnu packages python)
  46. #:use-module (gnu packages python-xyz)
  47. #:use-module (gnu packages sdl)
  48. #:use-module (gnu packages webkit)
  49. #:use-module (gnu packages xorg)
  50. #:use-module ((srfi srfi-1) #:select (alist-delete)))
  51. (define-public wxwidgets
  52. (package
  53. (name "wxwidgets")
  54. (version "3.0.5.1")
  55. (source
  56. (origin
  57. (method url-fetch)
  58. (uri (string-append "https://github.com/wxWidgets/wxWidgets/"
  59. "releases/download/v" version
  60. "/wxWidgets-" version ".tar.bz2"))
  61. (sha256
  62. (base32 "01y89999jw5q7njrhxajincx7lydls6yq37ikazjryssrxrnw3s4"))))
  63. (build-system glib-or-gtk-build-system)
  64. (inputs
  65. `(("glu" ,glu)
  66. ;; XXX gstreamer-0.10 builds fail
  67. ;; ("gstreamer" ,gstreamer-0.10)
  68. ("gtk" ,gtk+)
  69. ("libjpeg" ,libjpeg-turbo)
  70. ("libmspack" ,libmspack)
  71. ("libsm" ,libsm)
  72. ("libtiff" ,libtiff)
  73. ("mesa" ,mesa)
  74. ("webkitgtk" ,webkitgtk)
  75. ("sdl" ,sdl)
  76. ("xdg-utils" ,xdg-utils)))
  77. (native-inputs
  78. `(("pkg-config" ,pkg-config)))
  79. (arguments
  80. `(#:configure-flags
  81. '("--with-regex" "--with-libmspack"
  82. "--with-sdl"
  83. "--enable-webview"
  84. "--enable-webkit"
  85. "--enable-webviewwebkit"
  86. ,@(if (string=? "aarch64-linux"
  87. (%current-system))
  88. '("--build=aarch64-unknown-linux-gnu")
  89. '()))
  90. #:make-flags
  91. (list (string-append "LDFLAGS=-Wl,-rpath="
  92. (assoc-ref %outputs "out") "/lib"))
  93. ;; No 'check' target.
  94. #:tests? #f
  95. #:phases
  96. (modify-phases %standard-phases
  97. (add-after 'unpack 'refer-to-inputs
  98. (lambda _
  99. (substitute* "src/unix/utilsx11.cpp"
  100. (("wxExecute\\(xdg_open \\+")
  101. (string-append "wxExecute(\"" (which "xdg-open") "\"")))
  102. #t)))))
  103. (home-page "https://www.wxwidgets.org/")
  104. (synopsis "Widget toolkit for creating graphical user interfaces")
  105. (description
  106. "wxWidgets is a C++ library that lets developers create applications with
  107. a graphical user interface. It has language bindings for Python, Perl, Ruby
  108. and many other languages.")
  109. (license (list l:lgpl2.0+ (l:fsf-free "file://doc/license.txt")))))
  110. (define-public wxwidgets-2
  111. (package
  112. (inherit wxwidgets)
  113. (version "2.8.12")
  114. (source
  115. (origin
  116. (method url-fetch)
  117. (uri (string-append "https://github.com/wxWidgets/wxWidgets/"
  118. "releases/download/v" version
  119. "/wxGTK-" version ".tar.gz"))
  120. (sha256
  121. (base32 "1gjs9vfga60mk4j4ngiwsk9h6c7j22pw26m3asxr1jwvqbr8kkqk"))))
  122. (inputs
  123. `(("gtk" ,gtk+-2)
  124. ("libjpeg" ,libjpeg-turbo)
  125. ("libtiff" ,libtiff)
  126. ("libmspack" ,libmspack)
  127. ("sdl" ,sdl)
  128. ("unixodbc" ,unixodbc)))
  129. (arguments
  130. `(#:configure-flags
  131. '("--enable-unicode" "--with-regex=sys" "--with-sdl")
  132. #:make-flags
  133. (list (string-append "LDFLAGS=-Wl,-rpath="
  134. (assoc-ref %outputs "out") "/lib"))
  135. ;; No 'check' target.
  136. #:tests? #f
  137. #:phases
  138. (modify-phases %standard-phases
  139. (add-after 'unpack 'ignore-narrowing-errors
  140. (lambda _
  141. (substitute* "configure"
  142. (("-Wall") "-Wall -Wno-narrowing"))
  143. #t)))))))
  144. (define-public wxwidgets-gtk2
  145. (package (inherit wxwidgets)
  146. (inputs `(("gtk+" ,gtk+-2)
  147. ,@(alist-delete
  148. "gtk+"
  149. (package-inputs wxwidgets))))
  150. (name "wxwidgets-gtk2")))
  151. ;; Development version of wxWidgets, required to build against gstreamer-1.x.
  152. ;; This can be removed when wxWidgets is updated to the next stable version.
  153. (define-public wxwidgets-3.1
  154. (package (inherit wxwidgets)
  155. (version "3.1.0")
  156. (source
  157. (origin
  158. (method git-fetch)
  159. (uri (git-reference
  160. (url "https://github.com/wxWidgets/wxWidgets")
  161. (commit (string-append "v" version))))
  162. (file-name (git-file-name "wxwidgets" version))
  163. (sha256
  164. (base32
  165. "14kl1rsngm70v3mbyv1mal15iz2b18k97avjx8jn7s81znha1c7f"))))
  166. (inputs `(("gstreamer" ,gstreamer)
  167. ("gst-plugins-base" ,gst-plugins-base)
  168. ,@(package-inputs wxwidgets)))
  169. (arguments
  170. (substitute-keyword-arguments (package-arguments wxwidgets)
  171. ((#:configure-flags flags)
  172. `(cons "--enable-mediactrl" ,flags))))))
  173. (define-public wxwidgets-gtk2-3.1
  174. (package (inherit wxwidgets-3.1)
  175. (inputs `(("gtk+" ,gtk+-2)
  176. ,@(alist-delete
  177. "gtk+"
  178. (package-inputs wxwidgets-3.1))))
  179. (name "wxwidgets-gtk2")))
  180. (define-public python-wxpython
  181. (package
  182. (name "python-wxpython")
  183. (version "4.0.7.post1")
  184. (source
  185. (origin
  186. (method url-fetch)
  187. (uri (pypi-uri "wxPython" version))
  188. (sha256
  189. (base32
  190. "1jppcr3n428m8pgwb9q3g0iiqydxd451ncri4njk8b53xsiflhys"))
  191. (modules '((guix build utils)))
  192. (snippet
  193. '(begin
  194. ;; Remove bundled wxwidgets
  195. (delete-file-recursively "ext/wxWidgets")
  196. #t))))
  197. (build-system python-build-system)
  198. (arguments
  199. `(#:phases
  200. (modify-phases %standard-phases
  201. (add-before 'build 'configure
  202. (lambda* (#:key inputs #:allow-other-keys)
  203. (setenv "WXWIN" (assoc-ref inputs "wxwidgets"))
  204. ;; Copy the waf executable to the source directory since it needs
  205. ;; to be in a writable directory.
  206. (copy-file (string-append (assoc-ref inputs "python-waf") "/bin/waf")
  207. "bin/waf")
  208. (setenv "WAF" "bin/waf")
  209. ;; The build script tries to copy license files from the
  210. ;; wxwidgets source tree. Prevent it.
  211. (substitute* "wscript"
  212. (("updateLicenseFiles\\(cfg\\)" all)
  213. (string-append "#" all)))
  214. ;; The build script tries to write to demo/version.py. So, we set
  215. ;; correct write permissions.
  216. (chmod "demo/version.py" #o644)
  217. ;; Build only the python bindings, not wxwidgets also.
  218. (substitute* "setup.py"
  219. (("'build']") "'build_py', '--use_syswx']"))
  220. #t)))))
  221. (inputs
  222. `(("gtk+" ,gtk+)
  223. ("wxwidgets" ,wxwidgets)))
  224. (native-inputs
  225. `(("pkg-config" ,pkg-config)
  226. ("python-waf" ,python-waf)))
  227. (propagated-inputs
  228. `(("python-numpy" ,python-numpy)
  229. ("python-pillow" ,python-pillow)
  230. ("python-six" ,python-six)))
  231. (home-page "https://wxpython.org/")
  232. (synopsis "Cross platform GUI toolkit for Python")
  233. (description "wxPython is a cross-platform GUI toolkit for the Python
  234. programming language. It is implemented as a set of Python extension modules
  235. that wrap the GUI components of the popular wxWidgets cross platform C++
  236. library. In most cases, wxPython uses the native widgets on each platform to
  237. provide a 100% native look and feel for the application.")
  238. (license l:wxwindows3.1+)))
  239. (define-public python2-wxpython
  240. (package
  241. (name "python2-wxpython")
  242. (version "3.0.2.0")
  243. (source
  244. (origin
  245. (method url-fetch)
  246. (uri (string-append "mirror://sourceforge/wxpython/wxPython/"
  247. version "/wxPython-src-" version ".tar.bz2"))
  248. (sha256
  249. (base32
  250. "0qfzx3sqx4mwxv99sfybhsij4b5pc03ricl73h4vhkzazgjjjhfm"))
  251. (modules '((guix build utils)))
  252. (snippet
  253. '(begin
  254. (lambda (folder)
  255. (delete-file-recursively (string-append "src/" folder))
  256. '("expat" "jpeg" "png" "tiff" "zlib" "msw" "osx" "msdos"))
  257. (substitute* '("wxPython/setup.py")
  258. ;; setup.py tries to keep its own license the same as wxwidget's
  259. ;; license (which it expects under $WXWIN/docs).
  260. (("'preamble.txt', 'licence.txt', 'licendoc.txt', 'lgpl.txt'")
  261. ""))
  262. #t))))
  263. (build-system python-build-system)
  264. (arguments
  265. `(#:python ,python-2
  266. #:tests? #f ; tests fail
  267. ;; wxPython directly extends distutils command classes,
  268. ;; we can't easily make setup.py use setuptools.
  269. #:use-setuptools? #f
  270. #:configure-flags (list "WXPORT=gtk2"
  271. "UNICODE=1")
  272. #:phases
  273. (modify-phases %standard-phases
  274. (add-before 'build 'chdir
  275. (lambda _
  276. (chdir "wxPython")
  277. #t))
  278. (add-after 'chdir 'set-wx-out-dir
  279. (lambda* (#:key outputs #:allow-other-keys)
  280. ;; By default, install phase tries to copy the wxPython headers in
  281. ;; gnu/store/...-wxwidgets-3.0.2 , which it can't, so they are
  282. ;; redirected to the output directory by setting WXPREFIX.
  283. (substitute* "config.py"
  284. (("= getWxConfigValue\\('--prefix'\\)")
  285. (string-append "= '" (assoc-ref outputs "out") "'")))
  286. (substitute* "wx/build/config.py"
  287. (("= getWxConfigValue\\('--prefix'\\)")
  288. (string-append "= '" (assoc-ref outputs "out") "'")))
  289. #t))
  290. (add-after 'set-wx-out-dir 'setenv
  291. (lambda* (#:key inputs outputs #:allow-other-keys)
  292. (setenv "WXWIN" (assoc-ref inputs "wxwidgets"))
  293. (use-modules (ice-9 popen) (ice-9 rdelim))
  294. (let ((port (open-pipe* OPEN_READ
  295. (string-append (assoc-ref inputs "wxwidgets")
  296. "/bin/wx-config") "--cppflags")))
  297. (setenv "CPPFLAGS" (read-string port))
  298. (close-pipe port))
  299. #t)))))
  300. (native-inputs
  301. `(("mesa" ,mesa) ; for glcanvas
  302. ("pkg-config" ,pkg-config)))
  303. (inputs
  304. `(("gtk+" ,gtk+-2) ; for wxPython/src/helpers.cpp
  305. ("wxwidgets" ,wxwidgets-gtk2)))
  306. (synopsis "Python 2 Bindings for wxWidgets")
  307. (description "@code{wxpython} provides Python 2 bindings for wxWidgets.")
  308. (home-page "https://wxpython.org/")
  309. (license (package-license wxwidgets))))
  310. (define-public wxsvg
  311. (package
  312. (name "wxsvg")
  313. (version "1.5.12")
  314. (source
  315. (origin
  316. (method url-fetch)
  317. (uri (string-append "mirror://sourceforge/wxsvg/wxsvg/"
  318. version "/wxsvg-" version ".tar.bz2"))
  319. (sha256
  320. (base32
  321. "1hn3h9kzsjs4wimlpknzjfgn7q0n792hh7v3mshjgsjxdcrckzan"))))
  322. (build-system glib-or-gtk-build-system)
  323. (inputs
  324. `(("wxwidgets" ,wxwidgets-3.1)
  325. ("cairo" ,cairo)
  326. ("pango" ,pango)
  327. ("libexif" ,libexif)
  328. ("ffmpeg" ,ffmpeg)))
  329. (native-inputs
  330. `(("pkg-config" ,pkg-config)))
  331. (synopsis "C++ library to create, manipulate and render SVG files")
  332. (description "wxSVG is a C++ library to create, manipulate and render
  333. @dfn{Scalable Vector Graphics} (SVG) files with the wxWidgets toolkit.")
  334. (home-page "http://wxsvg.sourceforge.net")
  335. ;; wxSVG is licenced under the "wxWindows library licence", which is
  336. ;; the LGPL2.0+, with a few extra permissions.
  337. (license (list l:lgpl2.0+ (l:fsf-free "file://COPYING")))))