From 141262f266ab702c856f634889d4130ae661e79f Mon Sep 17 00:00:00 2001 From: guy fleury iteriteka Date: Wed, 15 Apr 2020 15:07:29 +0200 Subject: gnu: Add gtkd. * gnu/packages/dlang.scm (gtkd): New variable. --- gnu/packages/dlang.scm | 51 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) 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 ;;; Copyright © 2017 Ricardo Wurmus ;;; Copyright © 2017, 2019 Tobias Geerinckx-Rice +;;; Copyright © 2020 Guy Fleury Iteriteka ;;; ;;; 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))) -- cgit v1.2.3