Merge branch 'master' into core-updates
[jackhill/guix/guix.git] / gnu / packages / wxwidgets.scm
1 ;;; GNU Guix --- Functional package management for GNU
2 ;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>
3 ;;; Copyright © 2016 Ricardo Wurmus <rekado@elephly.net>
4 ;;;
5 ;;; This file is part of GNU Guix.
6 ;;;
7 ;;; GNU Guix is free software; you can redistribute it and/or modify it
8 ;;; under the terms of the GNU General Public License as published by
9 ;;; the Free Software Foundation; either version 3 of the License, or (at
10 ;;; your option) any later version.
11 ;;;
12 ;;; GNU Guix is distributed in the hope that it will be useful, but
13 ;;; WITHOUT ANY WARRANTY; without even the implied warranty of
14 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 ;;; GNU General Public License for more details.
16 ;;;
17 ;;; You should have received a copy of the GNU General Public License
18 ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
19
20 (define-module (gnu packages wxwidgets)
21 #:use-module (guix packages)
22 #:use-module (guix download)
23 #:use-module ((guix licenses) #:prefix l:)
24 #:use-module (guix build-system glib-or-gtk)
25 #:use-module (guix build utils)
26 #:use-module (gnu packages)
27 #:use-module (gnu packages compression)
28 #:use-module (gnu packages databases)
29 #:use-module (gnu packages gl)
30 #:use-module (gnu packages gstreamer)
31 #:use-module (gnu packages gtk)
32 #:use-module (gnu packages image)
33 #:use-module (gnu packages pkg-config)
34 #:use-module (gnu packages sdl)
35 #:use-module (gnu packages webkit)
36 #:use-module (gnu packages xorg))
37
38 (define-public wxwidgets
39 (package
40 (name "wxwidgets")
41 (version "3.0.2")
42 (source
43 (origin
44 (method url-fetch)
45 (uri (string-append "https://github.com/wxWidgets/wxWidgets/"
46 "releases/download/v" version
47 "/wxWidgets-" version ".tar.bz2"))
48 (sha256
49 (base32 "0paq27brw4lv8kspxh9iklpa415mxi8zc117vbbbhfjgapf7js1l"))))
50 (build-system glib-or-gtk-build-system)
51 (inputs
52 `(("glu" ,glu)
53 ;; XXX gstreamer-0.10 builds fail
54 ;; ("gstreamer" ,gstreamer-0.10)
55 ("gtk" ,gtk+)
56 ("libjpeg" ,libjpeg)
57 ("libmspack" ,libmspack)
58 ("libsm" ,libsm)
59 ("libtiff" ,libtiff)
60 ("mesa" ,mesa)
61 ("webkitgtk" ,webkitgtk-2.4)
62 ("sdl" ,sdl)))
63 (native-inputs
64 `(("pkg-config" ,pkg-config)))
65 (arguments
66 '(#:configure-flags
67 '("--with-regex" "--with-libmspack"
68 "--with-sdl"
69 "--enable-webview"
70 "--enable-webkit"
71 "--enable-webviewwebkit")
72 #:make-flags
73 (list (string-append "LDFLAGS=-Wl,-rpath="
74 (assoc-ref %outputs "out") "/lib"))
75 ;; No 'check' target.
76 #:tests? #f))
77 (home-page "https://www.wxwidgets.org/")
78 (synopsis "Widget toolkit for creating graphical user interfaces")
79 (description
80 "wxWidgets is a C++ library that lets developers create applications with
81 a graphical user interface. It has language bindings for Python, Perl, Ruby
82 and many other languages.")
83 (license (list l:lgpl2.0+ (l:fsf-free "file://doc/license.txt")))))
84
85 (define-public wxwidgets-2
86 (package
87 (inherit wxwidgets)
88 (version "2.8.12")
89 (source
90 (origin
91 (method url-fetch)
92 (uri (string-append "https://github.com/wxWidgets/wxWidgets/"
93 "releases/download/v" version
94 "/wxGTK-" version ".tar.gz"))
95 (sha256
96 (base32 "1gjs9vfga60mk4j4ngiwsk9h6c7j22pw26m3asxr1jwvqbr8kkqk"))))
97 (inputs
98 `(("gtk" ,gtk+-2)
99 ("libjpeg" ,libjpeg)
100 ("libtiff" ,libtiff)
101 ("libmspack" ,libmspack)
102 ("sdl" ,sdl)
103 ("unixodbc" ,unixodbc)))
104 (arguments
105 `(#:configure-flags
106 '("--enable-unicode" "--with-regex=sys" "--with-sdl")
107 #:make-flags
108 (list (string-append "LDFLAGS=-Wl,-rpath="
109 (assoc-ref %outputs "out") "/lib"))
110 ;; No 'check' target.
111 #:tests? #f))))