Subject: [bug#34572] Add Drawpile

From: <[email-masked]>
Date: Fri, 22 Feb 2019 07:28:24 +0000 (GMT)

Thanks Tobias, I removed those inline comments and removed the full stops after the other inline comments.

Haven't changed the qtcolorwidgets library config flag for now, I think drawpile upstream needs to improve the code that looks for qtcolorwidgets (https://github.com/drawpile/Drawpile/blob/master/config/FindQtColorWidgets.cmake) but I don't know how. Hardcoding the path isn't ideal but I'll leave it for now.

On Thu, 21 Feb 2019 14:58:33 +0100, Tobias Geerinckx-Rice <[email-masked]> wrote:

> Pkill -9,
> 
> Thanks for this patch, and your many others.
> 
> pkill9 wrote:
> > +  #:use-module (gnu packages crypto) ; libsodium
> > +  #:use-module (gnu packages gnunet) ; libmicrohttpd
> 
> In my experience, what little value such comments add is quickly 
> lost.  Anyone adding new inputs will not update (or even notice) 
> them.
> 
> > +       ("giflib" ,giflib) ; optional
> > +       ("kdnssd" ,kdnssd) ; optional
> > +       ("miniupnpc" ,miniupnpc) ; optional
> > +       ("libmicrohttpd" ,libmicrohttpd) ; optional
> > +       ("libsodium" ,libsodium))) ; optional
> 
> Same here: nothing wrong with these, I guess, but *many* package 
> dependencies are optionally detected at build time and this isn't 
> usually pointed out unless there's something more interesting 
> going on.
> 
> > +    (arguments
> > +     `(#:configure-flags
> > +       (list "-DTESTS=on" ; build unit tests.
> 
> General remark: no full stop after inline comments.
> 
>    ;; Foo bar.
>    (foo bar) ; foo bar
> 
> > +             "-DTOOLS=on" ; build dprec2txt command line tool.
> > +             (string-append "-DLIBQTCOLORWIDGETS_LIBRARY="
> > +                            (assoc-ref %build-inputs 
> > "qtcolorwidgets")
> > + 
> > "/lib/libQtColorWidgets-Qt52.so"))))
> 
> What about using FIND-FILES "\*.so$" here instead of hard-coding 
> "52"?  Overkill?
> 
> Kind regards,
> 
> T G-R

From 916968e5f419e339aacd3b91d9e15a39ae87f9db Mon Sep 17 00:00:00 2001
From: Pkill -9 <[email-masked]>
Date: Fri, 22 Feb 2019 07:23:39 +0000
Subject: [PATCH] gnu: Add drawpile.

* gnu/packages/graphics.scm (drawpile): New variable.
---
 gnu/packages/graphics.scm | 45 +++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index bf4cc89b0..ae30607cb 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -11,6 +11,7 @@
 ;;; Copyright © 2018 Mathieu Othacehe <[email-masked]>
 ;;; Copyright © 2018 Alex Kost <[email-masked]>
 ;;; Copyright © 2018 Kei Kebreau <[email-masked]>
+;;; Copyright © 2019 Pkill -9 <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -37,6 +38,7 @@
   #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
+  #:use-module (gnu packages crypto)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
   #:use-module (gnu packages fonts)
@@ -45,12 +47,14 @@
   #:use-module (gnu packages gl)
   #:use-module (gnu packages glib)
   #:use-module (gnu packages gnome)
+  #:use-module (gnu packages gnunet)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages gtk)
   #:use-module (gnu packages haskell)
   #:use-module (gnu packages image)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages jemalloc)
+  #:use-module (gnu packages kde-frameworks)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages pdf)
   #:use-module (gnu packages perl)
@@ -64,6 +68,7 @@
   #:use-module (gnu packages readline)
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages swig)
+  #:use-module (gnu packages upnp)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
@@ -856,3 +861,43 @@ your terminal.  It comes bundled with predefined styles:
 look.  The result can be uploaded on any web server without additional
 requirements.")
     (license license:gpl2+)))
+
+(define-public drawpile
+  (package
+    (name "drawpile")
+    (version "2.0.11")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://drawpile.net/files/src/"
+                           "drawpile-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0h018rxhc0lwpqwmlihalz634nd0xaafk4p2b782djjd87irnjpk"))))
+    (build-system cmake-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("qttools" ,qttools)))
+    (inputs
+     `(("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)
+       ("qtmultimedia" ,qtmultimedia)
+       ("qtcolorwidgets" ,qtcolorwidgets)
+       ("karchive" ,karchive)
+       ("giflib" ,giflib)
+       ("kdnssd" ,kdnssd)
+       ("miniupnpc" ,miniupnpc)
+       ("libmicrohttpd" ,libmicrohttpd)
+       ("libsodium" ,libsodium)))
+    (arguments
+     `(#:configure-flags
+       (list "-DTESTS=on" ; build unit tests
+             "-DTOOLS=on" ; build dprec2txt command line tool
+             (string-append "-DLIBQTCOLORWIDGETS_LIBRARY="
+                            (assoc-ref %build-inputs "qtcolorwidgets")
+                            "/lib/libQtColorWidgets-Qt52.so"))))
+    (home-page "https://drawpile.net")
+    (synopsis "Collaborative drawing program")
+    (description "Drawpile is a collaborative drawing program that allows
+multiple users to sketch on the same canvas simultaneously.")
+    (license license:gpl3+)))
-- 
2.20.1