From 5c9e355598d7b54763e0d7ee740cde2a4d80c11b Mon Sep 17 00:00:00 2001 From: Raghav Gururajan Date: Sat, 18 Jul 2020 06:12:32 -0400 Subject: [PATCH 13/17] gnu: gtkmm: Update package definition. * gnu/packages/gtk.scm (gtkmm): Update package definition. [build-system]: Change from gnu to glib-or-gtk. [outputs]: New output "doc". [arguments]<#:phases>['start-xvfb]: Remove phase. ['pre-check]: New phase. ['move-doc]: New phase. [native-inputs]: Add graphviz, doxygen, m4, mm-common, perl and libxslt. [propagated-inputs]: Change; pangomm to pangomm-2.42, cairomm to cairomm-1.13 and glibmm to glibmm-2.64. [synopsis]: Modify. [description]: Modify. [license]: Add gpl2+. --- gnu/packages/gtk.scm | 96 ++++++++++++++++++++++++++------------------ 1 file changed, 57 insertions(+), 39 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index a686e4cd71..aa4d7deb04 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1550,48 +1550,66 @@ library.") (package (name "gtkmm") (version "3.24.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnome/sources/" name "/" - (version-major+minor version) "/" - name "-" version ".tar.xz")) - (sha256 - (base32 - "1hxdnhavjyvbcpxhd5z17l9fj4182028s66lc0s16qqqrldhjwbd")))) - (build-system gnu-build-system) - (native-inputs `(("pkg-config" ,pkg-config) - ("glib" ,glib "bin") ;for 'glib-compile-resources' - ("xorg-server" ,xorg-server-for-tests))) + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "1hxdnhavjyvbcpxhd5z17l9fj4182028s66lc0s16qqqrldhjwbd")))) + (build-system glib-or-gtk-build-system) + (outputs '("out" "doc")) + (arguments + `(#:phases + (modify-phases %standard-phases + (add-before 'check 'pre-check + (lambda _ + ;; Tests require a running X server. + (system "Xvfb :1 +extension GLX &") + (setenv "DISPLAY" ":1") + ;; For missing '/etc/machine-id'. + (setenv "DBUS_FATAL_WARNINGS" "0") + #t)) + (add-after 'install 'move-doc + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (assoc-ref outputs "doc"))) + (mkdir-p (string-append doc "/share")) + (rename-file + (string-append out "/share/doc") + (string-append doc "/share/doc")) + #t)))))) + (native-inputs + `(("dot" ,graphviz) + ("doxygen" ,doxygen) + ("m4" ,m4) + ("mm-common" ,mm-common) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("xsltproc" ,libxslt) + ("xorg-server" ,xorg-server-for-tests))) (propagated-inputs - `(("pangomm" ,pangomm) - ("cairomm" ,cairomm) - ("atkmm" ,atkmm) + `(("atkmm" ,atkmm) + ("cairomm" ,cairomm-1.13) + ("glibmm" ,glibmm-2.64) ("gtk+" ,gtk+) - ("glibmm" ,glibmm))) - (arguments - `(#:disallowed-references (,xorg-server-for-tests) - #:phases (modify-phases %standard-phases - (add-before 'check 'run-xvfb - (lambda* (#:key inputs #:allow-other-keys) - (let ((xorg-server (assoc-ref inputs "xorg-server"))) - ;; Tests such as 'object_move/test' require a running - ;; X server. - (system (string-append xorg-server "/bin/Xvfb :1 &")) - (setenv "DISPLAY" ":1") - ;; Don't fail because of the missing /etc/machine-id. - (setenv "DBUS_FATAL_WARNINGS" "0") - #t)))))) + ("pangomm" ,pangomm-2.42))) + (synopsis "C++ Interfaces for GTK+ and GNOME") + (description "GTKmm is the official C++ interface for the popular GUI +library GTK+. Highlights include typesafe callbacks, and a comprehensive set of +widgets that are easily extensible via inheritance. You can create user +interfaces either in code or with the Glade User Interface designer, using +libglademm. There's extensive documentation, including API reference and a +tutorial.") (home-page "https://gtkmm.org/") - (synopsis - "C++ interface to the GTK+ graphical user interface library") - (description - "gtkmm is the official C++ interface for the popular GUI library GTK+. -Highlights include typesafe callbacks, and a comprehensive set of widgets that -are easily extensible via inheritance. You can create user interfaces either -in code or with the Glade User Interface designer, using libglademm. There's -extensive documentation, including API reference and a tutorial.") - (license license:lgpl2.1+))) - + (license + (list + ;; Library + license:lgpl2.1+ + ;; Tools + license:gpl2+)))) (define-public gtkmm-2 (package (inherit gtkmm) -- 2.27.0