diff mbox series

[bug#42725] drawpile package (sans upnp)

Message ID 20200806002933.1e1996bb@riseup.net
State Accepted
Headers show
Series [bug#42725] drawpile package (sans upnp) | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch fail View Laminar job

Commit Message

Csepp Aug. 5, 2020, 10:29 p.m. UTC
Hai! Packaged this on a whim, it was rather straightforward.

Caveat: it crashes (segfaults) due to a UPnP related error, i have not
yet determined why. It's an optional dependency, so I disabled it for
now.

Tested it through an Yggdrasil connection and it worked.

Comments

Mathieu Othacehe Aug. 7, 2020, 8:34 a.m. UTC | #1
Hello,

> +       (method url-fetch)
> +       (uri (string-append "https://github.com/drawpile/Drawpile/archive/"
> +                           version
> +                           ".tar.gz"))

We prefer not to use those github archives that can be re-generated and
prefer to use "git-fetch" method instead.

> +       (sha256
> +        (base32
> +         "0brscm95nay31xa1c02n1w144gg9hm8pxwa9sfnis0x5dj2nkrb7"))))
> +    (build-system qt-build-system)
> +    (arguments '(#:tests? #f))

You should explain why tests are not run with a comment.

> +    (native-inputs
> +     `(("extra-cmake-modules" ,extra-cmake-modules)))
> +    (inputs
> +     `(("giflib" ,giflib)
> +       ("karchive" ,karchive)
> +       ("kdnssd" ,kdnssd)
> +       ("libmicrohttpd" ,libmicrohttpd)
> +       ("libsodium" ,libsodium)
> +       ("libvpx" ,libvpx)
> +       ;("miniupnpc" ,miniupnpc) ;; TODO segfaults for some reason

No need to comment twice.

> +       ("qtbase" ,qtbase)
> +       ("qtkeychain" ,qtkeychain)
> +       ("qtmultimedia" ,qtmultimedia)
> +       ("qtsvg" ,qtsvg)))
> +    (home-page "https://drawpile.net")
> +    (synopsis "Collaborative drawing program")
> +    (description
> +"Drawpile is a drawing program that lets you share the canvas with other users
> +in real time.
> +
> +Some feature highlights:
> +Runs on Linux, Windows and OSX

No need to talk about those operating systems I think.

> +Shared canvas using the built-in server or a dedicated server
> +Record, play back and export drawing sessions
> +Simple animation support
> +Layers and blending modes
> +Text layers
> +Supports pressure sensitive Wacom tablets
> +Built-in chat
> +Supports OpenRaster file format
> +Encrypted connections using SSL
> +Automatic port forwarding with UPnP")

You could use texinfo to render this list nicely. See "libmemcached"
package for an example.

Could you send an updated patch?

Thanks,

Mathieu
diff mbox series

Patch

From 17fd09841ceedb2f15adce22992ccc02be8ef525 Mon Sep 17 00:00:00 2001
From: your friendly localhost admin <raingloom@riseup.net>
Date: Thu, 6 Aug 2020 00:23:34 +0200
Subject: [PATCH] gnu: Added drawpile (without UPnP support, see comment) at
 version 2.1.17

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

diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm
index cdb13c2619..f03016c737 100644
--- a/gnu/packages/graphics.scm
+++ b/gnu/packages/graphics.scm
@@ -49,6 +49,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 datastructures)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages flex)
@@ -59,12 +60,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-xyz)
   #: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 maths)
   #:use-module (gnu packages multiprecision)
   #:use-module (gnu packages pdf)
@@ -81,12 +84,14 @@ 
   #:use-module (gnu packages sdl)
   #:use-module (gnu packages swig)
   #:use-module (gnu packages tbb)
+  #:use-module (gnu packages upnp)
   #:use-module (gnu packages video)
   #:use-module (gnu packages xml)
   #:use-module (gnu packages xorg)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system python)
+  #:use-module (guix build-system qt)
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix hg-download)
@@ -1431,3 +1436,52 @@  and PC Engine formats")
 the graphics formats of the SNES, Game Boy Color and PC Engine game consoles.
 Automated palette selection is supported.")
     (license license:expat)))
+
+(define-public drawpile
+  (package
+    (name "drawpile")
+    (version "2.1.17")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://github.com/drawpile/Drawpile/archive/"
+                           version
+                           ".tar.gz"))
+       (sha256
+        (base32
+         "0brscm95nay31xa1c02n1w144gg9hm8pxwa9sfnis0x5dj2nkrb7"))))
+    (build-system qt-build-system)
+    (arguments '(#:tests? #f))
+    (native-inputs
+     `(("extra-cmake-modules" ,extra-cmake-modules)))
+    (inputs
+     `(("giflib" ,giflib)
+       ("karchive" ,karchive)
+       ("kdnssd" ,kdnssd)
+       ("libmicrohttpd" ,libmicrohttpd)
+       ("libsodium" ,libsodium)
+       ("libvpx" ,libvpx)
+       ;("miniupnpc" ,miniupnpc) ;; TODO segfaults for some reason
+       ("qtbase" ,qtbase)
+       ("qtkeychain" ,qtkeychain)
+       ("qtmultimedia" ,qtmultimedia)
+       ("qtsvg" ,qtsvg)))
+    (home-page "https://drawpile.net")
+    (synopsis "Collaborative drawing program")
+    (description
+"Drawpile is a drawing program that lets you share the canvas with other users
+in real time.
+
+Some feature highlights:
+Runs on Linux, Windows and OSX
+Shared canvas using the built-in server or a dedicated server
+Record, play back and export drawing sessions
+Simple animation support
+Layers and blending modes
+Text layers
+Supports pressure sensitive Wacom tablets
+Built-in chat
+Supports OpenRaster file format
+Encrypted connections using SSL
+Automatic port forwarding with UPnP")
+    (license license:gpl3+)))
-- 
2.28.0