mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-11-07 15:36:20 -05:00
gnu: wxWidgets: Update to 3.2.1.
* gnu/packages/wxwidgets.scm (wxwidgets): Update to 3.2.1. [source](modules, snippet): New fields. [inputs]: Remove SDL. Add CATCH-FRAMEWORK, EXPAT, GSTREAMER, GST-PLUGINS-BASE, LIBNOTIFY, LIBPNG, LIBSECRET, PCRE, SDL2, WEBKITGTK-WITH-LIBSOUP2, and ZLIB [arguments]: Add "--enable-mediactrl" and "--enable-gui" to #:configure-flags. Remove aarch64 workaround. Install catch header in refer-to-inputs phase. Add phase to adjust WebKitGTK version. (wxwidgets-3.1, wxwidgets-gtk2-3.1): Remove variables. (wxwidgets-3.0, (wxwidgets-gtk2-3.0): New variables. (wxsvg)[inputs]: Change from WXWIDGETS-3.1 to WXWIDGETS. * gnu/packages/audio.scm (audacity)[inputs]: Likewise. * gnu/packages/cdrom.scm (dvdstyler)[inputs]: Likewise. * gnu/packages/astronomy.scm (imppg)[inputs]: Change from WXWIDGETS to WXWIDGETS-3.0. * gnu/packages/ftp.scm (filezilla)[inputs]: Likewise. * gnu/packages/games.scm (megaglest)[inputs]: Likewise. * gnu/packages/geo.scm (opencpn)[inputs]: Likewise. * gnu/packages/music.scm (sooperlooper)[inputs]: Likewise. * gnu/packages/engineering.scm (kicad)[arguments]: Enable EGL support.
This commit is contained in:
parent
8737ee0479
commit
f16358144f
9 changed files with 138 additions and 83 deletions
|
@ -1925,7 +1925,7 @@ (define-public imppg
|
|||
(native-inputs
|
||||
(list boost pkg-config))
|
||||
(inputs
|
||||
(list cfitsio freeimage glew wxwidgets))
|
||||
(list cfitsio freeimage glew wxwidgets-3.0))
|
||||
(home-page "https://github.com/GreatAttractor/imppg")
|
||||
(synopsis "Astronomical Image Post-Proccessor (ImPPG)")
|
||||
(description
|
||||
|
|
|
@ -892,7 +892,7 @@ (define-public audacity
|
|||
#t))))
|
||||
(build-system cmake-build-system)
|
||||
(inputs
|
||||
(list wxwidgets-3.1
|
||||
(list wxwidgets
|
||||
gtk+
|
||||
alsa-lib
|
||||
jack-1
|
||||
|
|
|
@ -515,7 +515,7 @@ (define-public dvdstyler
|
|||
#t)))
|
||||
#:tests? #f)) ; No tests.
|
||||
(inputs ; TODO package bundled wxvillalib
|
||||
`(("wxwidgets" ,wxwidgets-3.1)
|
||||
`(("wxwidgets" ,wxwidgets)
|
||||
("wssvg" ,wxsvg)
|
||||
("dbus" ,dbus)
|
||||
("cdrtools" ,cdrtools)
|
||||
|
|
|
@ -964,6 +964,7 @@ (define-public kicad
|
|||
#$(this-package-input "opencascade-occt")
|
||||
"/include/opencascade")
|
||||
"-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
|
||||
"-DKICAD_USE_EGL=ON" ;because wxWidgets uses EGL
|
||||
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE")
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
|
|
|
@ -240,7 +240,7 @@ (define-public filezilla
|
|||
nettle
|
||||
pugixml
|
||||
sqlite
|
||||
wxwidgets))
|
||||
wxwidgets-3.0))
|
||||
(home-page "https://filezilla-project.org")
|
||||
(synopsis "Full-featured graphical FTP/FTPS/SFTP client")
|
||||
(description
|
||||
|
|
|
@ -6151,7 +6151,7 @@ (define-public megaglest
|
|||
libvorbis
|
||||
lua
|
||||
sdl2
|
||||
wxwidgets))
|
||||
wxwidgets-3.0))
|
||||
(native-inputs
|
||||
(list cppunit pkg-config))
|
||||
(arguments
|
||||
|
|
|
@ -2158,7 +2158,7 @@ (define-public opencpn
|
|||
sqlite
|
||||
tinyxml
|
||||
wxsvg
|
||||
wxwidgets
|
||||
wxwidgets-3.0
|
||||
xz
|
||||
zlib))
|
||||
(arguments
|
||||
|
|
|
@ -4040,7 +4040,7 @@ (define-public sooperlooper
|
|||
(inputs
|
||||
(list jack-1
|
||||
alsa-lib
|
||||
wxwidgets-gtk2
|
||||
wxwidgets-gtk2-3.0
|
||||
libsndfile
|
||||
libsamplerate
|
||||
liblo
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
|
||||
;;; Copyright © 2018, 2020, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2019 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -35,6 +36,7 @@ (define-module (gnu packages wxwidgets)
|
|||
#:use-module (guix utils)
|
||||
#:use-module (gnu packages)
|
||||
#:use-module (gnu packages check)
|
||||
#:use-module (gnu packages curl)
|
||||
#:use-module (gnu packages compression)
|
||||
#:use-module (gnu packages databases)
|
||||
#:use-module (gnu packages freedesktop)
|
||||
|
@ -45,18 +47,19 @@ (define-module (gnu packages wxwidgets)
|
|||
#:use-module (gnu packages image)
|
||||
#:use-module (gnu packages photo)
|
||||
#:use-module (gnu packages video)
|
||||
#:use-module (gnu packages pcre)
|
||||
#:use-module (gnu packages pkg-config)
|
||||
#:use-module (gnu packages python)
|
||||
#:use-module (gnu packages python-xyz)
|
||||
#:use-module (gnu packages sdl)
|
||||
#:use-module (gnu packages webkit)
|
||||
#:use-module (gnu packages xorg)
|
||||
#:use-module ((srfi srfi-1) #:select (alist-delete)))
|
||||
#:use-module (gnu packages xml)
|
||||
#:use-module (gnu packages xorg))
|
||||
|
||||
(define-public wxwidgets
|
||||
(package
|
||||
(name "wxwidgets")
|
||||
(version "3.0.5.1")
|
||||
(version "3.2.1")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
|
@ -64,24 +67,128 @@ (define-public wxwidgets
|
|||
"releases/download/v" version
|
||||
"/wxWidgets-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32 "01y89999jw5q7njrhxajincx7lydls6yq37ikazjryssrxrnw3s4"))))
|
||||
(base32 "0rpsyph7l7kmpld376y0940la3c94y5vdpxmbkj8isqknimrfaf2"))
|
||||
(modules '((guix build utils)
|
||||
(ice-9 ftw)
|
||||
(srfi srfi-26)))
|
||||
(snippet
|
||||
'(begin
|
||||
;; wxWidgets bundles third-party code in the "3rdparty" directory as
|
||||
;; well as the "src" directory. Remove external components that are
|
||||
;; not required.
|
||||
(let ((preserved-3rdparty '("nanosvg"))
|
||||
;; The src directory contains a mixture of third party libraries
|
||||
;; and similarly-named integration code. Cautiously use a
|
||||
;; blacklist approach here.
|
||||
(bundled-src '("expat" "jpeg" "png" "tiff" "zlib")))
|
||||
(with-directory-excursion "3rdparty"
|
||||
(for-each delete-file-recursively
|
||||
(scandir "." (negate (cut member <>
|
||||
(append '("." "..")
|
||||
preserved-3rdparty))))))
|
||||
(with-directory-excursion "src"
|
||||
(for-each delete-file-recursively bundled-src)))))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(inputs
|
||||
(list glu
|
||||
;; XXX gstreamer-0.10 builds fail
|
||||
;; ("gstreamer" ,gstreamer-0.10)
|
||||
(list catch-framework
|
||||
curl
|
||||
expat
|
||||
glu
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
gtk+
|
||||
libjpeg-turbo
|
||||
libmspack
|
||||
libnotify
|
||||
libpng
|
||||
libsecret
|
||||
libsm
|
||||
libtiff
|
||||
mesa
|
||||
webkitgtk
|
||||
sdl
|
||||
pcre2
|
||||
sdl2
|
||||
shared-mime-info
|
||||
xdg-utils))
|
||||
webkitgtk-with-libsoup2
|
||||
xdg-utils
|
||||
zlib))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(arguments
|
||||
(list
|
||||
#:configure-flags #~'("--with-libmspack"
|
||||
"--with-regex"
|
||||
"--with-sdl"
|
||||
"--enable-gui"
|
||||
"--enable-mediactrl"
|
||||
"--enable-webview"
|
||||
"--enable-webviewwebkit")
|
||||
#:make-flags
|
||||
#~(list (string-append "LDFLAGS=-Wl,-rpath=" #$output "/lib"))
|
||||
#:tests? #f ;TODO
|
||||
#:phases
|
||||
#~(modify-phases %standard-phases
|
||||
(add-after 'unpack 'use-newer-webkit
|
||||
(lambda _
|
||||
;; XXX: The configure script tests only for an ancient
|
||||
;; WebKitGTK version.
|
||||
(substitute* "configure"
|
||||
(("webkit2gtk-4\\.0")
|
||||
"webkit2gtk-4.1"))))
|
||||
(add-after 'unpack 'refer-to-inputs
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(let ((catch (search-input-file inputs "include/catch.hpp"))
|
||||
(mime (search-input-directory inputs "share/mime"))
|
||||
(xdg-open (search-input-file inputs "bin/xdg-open")))
|
||||
(install-file catch "3rdparty/catch/include/")
|
||||
(substitute* "src/unix/utilsx11.cpp"
|
||||
(("wxExecute\\(xdg_open \\+")
|
||||
(string-append "wxExecute(\"" xdg-open "\"")))
|
||||
(substitute* "src/unix/mimetype.cpp"
|
||||
(("/usr(/local)?/share/mime")
|
||||
mime)))))
|
||||
(replace 'configure
|
||||
(lambda* (#:key native-inputs inputs configure-flags
|
||||
#:allow-other-keys)
|
||||
(let ((sh (search-input-file (or native-inputs inputs)
|
||||
"bin/sh")))
|
||||
;; The configure script does not understand some of the default
|
||||
;; options of gnu-build-system, so run it "by hand".
|
||||
(apply invoke "./configure"
|
||||
(string-append "SHELL=" sh)
|
||||
(string-append "CONFIG_SHELL=" sh)
|
||||
(string-append "--prefix=" #$output)
|
||||
configure-flags)))))))
|
||||
(home-page "https://www.wxwidgets.org/")
|
||||
(synopsis "Widget toolkit for creating graphical user interfaces")
|
||||
(description
|
||||
"wxWidgets is a C++ library that lets developers create applications with
|
||||
a graphical user interface. It has language bindings for Python, Perl, Ruby
|
||||
and many other languages.")
|
||||
(license (list l:lgpl2.0+ (l:fsf-free "file://doc/license.txt")))))
|
||||
|
||||
(define-public wxwidgets-gtk2
|
||||
(package/inherit wxwidgets
|
||||
(name "wxwidgets-gtk2")
|
||||
(inputs (modify-inputs (package-inputs wxwidgets)
|
||||
(delete "gtk+")
|
||||
(prepend gtk+-2)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments wxwidgets)
|
||||
((#:configure-flags flags #~'())
|
||||
#~(append #$flags '("--with-gtk=2")))))))
|
||||
|
||||
(define-public wxwidgets-3.0
|
||||
(package
|
||||
(inherit wxwidgets)
|
||||
(version "3.0.5.1")
|
||||
(source (origin
|
||||
(method url-fetch)
|
||||
(uri (string-append "https://github.com/wxWidgets/wxWidgets/"
|
||||
"releases/download/v" version
|
||||
"/wxWidgets-" version ".tar.bz2"))
|
||||
(sha256
|
||||
(base32
|
||||
"01y89999jw5q7njrhxajincx7lydls6yq37ikazjryssrxrnw3s4"))))
|
||||
(arguments
|
||||
`(#:configure-flags
|
||||
'("--with-regex" "--with-libmspack"
|
||||
|
@ -108,15 +215,18 @@ (define-public wxwidgets
|
|||
(("wxExecute\\(xdg_open \\+")
|
||||
(string-append "wxExecute(\"" xdg-open "\"")))
|
||||
(substitute* "src/unix/mimetype.cpp"
|
||||
(("/usr(/local)?/share/mime") mime))
|
||||
#t))))))
|
||||
(home-page "https://www.wxwidgets.org/")
|
||||
(synopsis "Widget toolkit for creating graphical user interfaces")
|
||||
(description
|
||||
"wxWidgets is a C++ library that lets developers create applications with
|
||||
a graphical user interface. It has language bindings for Python, Perl, Ruby
|
||||
and many other languages.")
|
||||
(license (list l:lgpl2.0+ (l:fsf-free "file://doc/license.txt")))))
|
||||
(("/usr(/local)?/share/mime") mime))))))))))
|
||||
|
||||
(define-public wxwidgets-gtk2-3.0
|
||||
(package/inherit wxwidgets-3.0
|
||||
(name "wxwidgets-gtk2")
|
||||
(inputs (modify-inputs (package-inputs wxwidgets-3.0)
|
||||
(delete "gtk+")
|
||||
(prepend gtk+-2)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments wxwidgets-3.0)
|
||||
((#:configure-flags flags #~'())
|
||||
#~(append #$flags '("--with-gtk=2")))))))
|
||||
|
||||
(define-public wxwidgets-2
|
||||
(package
|
||||
|
@ -153,62 +263,6 @@ (define-public wxwidgets-2
|
|||
(("-Wall") "-Wall -Wno-narrowing"))
|
||||
#t)))))))
|
||||
|
||||
(define-public wxwidgets-gtk2
|
||||
(package/inherit wxwidgets
|
||||
(name "wxwidgets-gtk2")
|
||||
(inputs (modify-inputs (package-inputs wxwidgets)
|
||||
(delete "gtk+")
|
||||
(prepend gtk+-2)))))
|
||||
|
||||
;; Development version of wxWidgets, required to build against gstreamer-1.x.
|
||||
;; This can be removed when wxWidgets is updated to the next stable version.
|
||||
(define-public wxwidgets-3.1
|
||||
(package (inherit wxwidgets)
|
||||
(version "3.1.5")
|
||||
(source
|
||||
(origin
|
||||
(method git-fetch)
|
||||
(uri (git-reference
|
||||
(url "https://github.com/wxWidgets/wxWidgets")
|
||||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name "wxwidgets" version))
|
||||
(sha256
|
||||
(base32
|
||||
"0j998nzqmycafignclxmahgqm5kgs1fiqbsiyvzm7bnpnafi333y"))))
|
||||
(inputs (modify-inputs (package-inputs wxwidgets)
|
||||
(prepend catch-framework gstreamer gst-plugins-base)))
|
||||
(arguments
|
||||
(substitute-keyword-arguments (package-arguments wxwidgets)
|
||||
((#:configure-flags flags)
|
||||
'(list "--with-regex" "--with-libmspack" "--with-sdl"
|
||||
"--enable-mediactrl" "--enable-webviewwebkit"))
|
||||
((#:phases phases)
|
||||
`(modify-phases ,phases
|
||||
(add-after 'unpack 'add-catch
|
||||
(lambda* (#:key inputs #:allow-other-keys)
|
||||
(install-file
|
||||
(search-input-file inputs "include/catch.hpp")
|
||||
"3rdparty/catch/include/")))
|
||||
(replace 'configure
|
||||
(lambda* (#:key configure-flags inputs native-inputs outputs
|
||||
#:allow-other-keys)
|
||||
(let ((sh (search-input-file (or native-inputs inputs)
|
||||
"bin/sh")))
|
||||
(apply invoke "./configure"
|
||||
(string-append "SHELL=" sh)
|
||||
(string-append "CONFIG_SHELL=" sh)
|
||||
(string-append "--prefix="
|
||||
(assoc-ref outputs "out"))
|
||||
configure-flags))))))))))
|
||||
|
||||
(define-public wxwidgets-gtk2-3.1
|
||||
(package/inherit wxwidgets-3.1
|
||||
(inputs `(("gtk+" ,gtk+-2)
|
||||
,@(alist-delete
|
||||
"gtk+"
|
||||
(package-inputs wxwidgets-3.1))))
|
||||
(name "wxwidgets-gtk2")))
|
||||
|
||||
(define-public python-wxpython
|
||||
(package
|
||||
(name "python-wxpython")
|
||||
|
@ -278,7 +332,7 @@ (define-public wxsvg
|
|||
(base32 "1fdbvihw1w2vm29xj54cqgpdabhlg0ydf3clkb0qrlf7mhgkc1rz"))))
|
||||
(build-system glib-or-gtk-build-system)
|
||||
(inputs
|
||||
(list wxwidgets-3.1 cairo ffmpeg))
|
||||
(list wxwidgets cairo ffmpeg))
|
||||
(native-inputs
|
||||
(list pkg-config))
|
||||
(propagated-inputs
|
||||
|
|
Loading…
Reference in a new issue