* gnu/packages/dlang.scm(gtkd): New variable. --- gnu/packages/dlang.scm | 51 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm index 3b0c799..c098b81 100644 --- a/gnu/packages/dlang.scm +++ b/gnu/packages/dlang.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2017 Frederick Muriithi ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2020 Guy Fleury Iteriteka ;;; ;;; This file is part of GNU Guix. ;;; @@ -35,6 +36,7 @@ #:use-module (gnu packages gdb) #:use-module (gnu packages libedit) #:use-module (gnu packages llvm) + #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages python-xyz) #:use-module (gnu packages textutils)) @@ -348,3 +350,52 @@ The design emphasis is on maximum simplicity for simple projects, while providing the opportunity to customize things when needed.") (license license:expat))) + +(define-public gtkd + (package + (name "gtkd") + (version "3.9.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://gtkd.org/Downloads/sources/GtkD-" + version ".zip")) + (sha256 + (base32 "0qv8qlpwwb1d078pnrf0a59vpbkziyf53cf9p6m8ms542wbcxllp")))) + (build-system gnu-build-system) + (native-inputs + `(("unzip" ,unzip) + ("ldc" ,ldc) + ("pkg-config" ,pkg-config))) + (arguments + `(#:make-flags '("DC=ldc2") + #:tests? #f + #:phases + (modify-phases %standard-phases + (delete 'configure) + (replace 'unpack + (lambda* (#:key source #:allow-other-keys) + (let ((dir (string-append ,name "-" ,version))) + (invoke "unzip" "-d" dir source) + (chdir dir) + #t))) + (add-before 'build 'patch-makefile + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bindir (string-append out "/lib"))) + (substitute* "GNUmakefile" + ;;remove test target due to path resolution in build env + ;;when compile tests and test can't succed gui launch + (("default-goal: libs test") "default-goal: libs") + (("all: libs shared-libs test") "all: libs shared-libs") + (("/usr/local") out) + (("libdir\\?\\=.*") (string-append "libdir?=" bindir "\n")) + (("\\$\\(prefix\\)\\/\\$\\(libdir\\)") "$(libdir)"))) + #t))))) + (home-page "https://gtkd.org/") + (synopsis "D binding and OO wrapper of GTK+") + (description + "GTK+ is a highly usable, feature rich toolkit for creating graphical +user interfaces which boasts cross platform compatibility and an easy to use +API.") + (license license:lgpl2.1))) -- 2.25.1