aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/dlang.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/dlang.scm')
-rw-r--r--gnu/packages/dlang.scm51
1 files changed, 50 insertions, 1 deletions
diff --git a/gnu/packages/dlang.scm b/gnu/packages/dlang.scm
index 3b0c799dc3..5db012c680 100644
--- a/gnu/packages/dlang.scm
+++ b/gnu/packages/dlang.scm
@@ -4,6 +4,7 @@
;;; Copyright © 2017 Frederick Muriithi <fredmanglis@gmail.com>
;;; Copyright © 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2020 Guy Fleury Iteriteka <gfleury@disroot.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,9 +36,11 @@
#: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))
+ #:use-module (gnu packages textutils)
+ #:use-module (gnu packages xorg))
(define-public rdmd
(package
@@ -348,3 +351,49 @@ 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/zipbomb)
+ (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)
+ ("xorg-server-for-tests" ,xorg-server-for-tests)))
+ (arguments
+ `(#:test-target "test"
+ #:make-flags
+ `("DC=ldc2"
+ ,(string-append "prefix=" (assoc-ref %outputs "out"))
+ ,(string-append "libdir=" (assoc-ref %outputs "out")
+ "/lib"))
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (add-before 'build 'patch-makefile
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "GNUmakefile"
+ ;; We do the tests ourselves.
+ (("default-goal: libs test") "default-goal: libs")
+ (("all: libs shared-libs test") "all: libs shared-libs")
+ ;; Work around upstream bug.
+ (("\\$\\(prefix\\)\\/\\$\\(libdir\\)") "$(libdir)"))
+ #t))
+ (add-before 'check 'prepare-x
+ (lambda _
+ (system "Xvfb :1 &")
+ (setenv "DISPLAY" ":1")
+ #t)))))
+ (home-page "https://gtkd.org/")
+ (synopsis "D binding and OO wrapper of GTK+")
+ (description "This package provides bindings to GTK+ for D.")
+ (license license:lgpl2.1)))