+(define-public gdl
+ (package
+ (name "gdl")
+ (version "3.34.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.gnome.org/GNOME/gdl.git")
+ (commit (string-append "GDL_" (string-map (match-lambda
+ (#\. #\_)
+ (c c))
+ version)))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "154qcr0x6f68f4q526y87imv0rscmp34n47nk1pp82rsq52h2zna"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("glib" ,glib "bin") ; for glib-genmarshal, etc.
+ ("gnome-common" ,gnome-common)
+ ("gtk-doc" ,gtk-doc)
+ ("intltool" ,intltool)
+ ("pkg-config" ,pkg-config)
+ ("libtool" ,libtool)
+ ("which" ,which)))
+ (inputs
+ `(("libxml2" ,libxml2)))
+ (propagated-inputs
+ ;; The gdl-3.0.pc file 'Requires' GTK+.
+ `(("gtk+" ,gtk+)))
+ (home-page "https://gitlab.gnome.org/GNOME/gdl/")
+ (synopsis "GNOME docking library")
+ (description "This library provides docking features for gtk+.")
+ (license license:lgpl2.1+)))
+
+;;; A minimal variant used to break a cycle with Inkscape.
+(define-public gdl-minimal
+ (package
+ (inherit gdl)
+ (name "gdl-minimal")
+ (arguments
+ '(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'disable-doc-generation
+ ;; XXX: There is no easy way to disable generating the
+ ;; documentation.
+ (lambda _
+ (substitute* "configure.in"
+ (("GTK_DOC_CHECK.*") "")
+ (("docs/.*") ""))
+ (substitute* "Makefile.am"
+ (("gdl docs po") "gdl po"))
+ #t)))))
+ (native-inputs (alist-delete "gtk-doc" (package-native-inputs gdl)))))
+