guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] Add GraphicsMagick + Scribus.


From: Ricardo Wurmus
Subject: [PATCH] Add GraphicsMagick + Scribus.
Date: Sat, 14 Nov 2015 23:16:03 +0100
User-agent: mu4e 0.9.13; emacs 24.5.1

>From bf5cc4dcb73bd9e4c3de9f754e0e7d1c6f85337c Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Sat, 14 Nov 2015 17:18:02 +0100
Subject: [PATCH 1/3] gnu: Add prefix to license imports in (gnu packages
 imagemagick).

* gnu/packages/imagemagick.scm: Import (guix licenses) with prefix
  "license:".
---
 gnu/packages/imagemagick.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index f154e19..43f14cb 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -22,7 +22,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix download)
-  #:use-module ((guix licenses) #:select (fsf-free))
+  #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
   #:use-module (gnu packages compression)
@@ -104,7 +104,7 @@ including DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PhotoCD, 
PNG, Postscript, SVG,
 and TIFF.  Use ImageMagick to resize, flip, mirror, rotate, distort, shear and
 transform images, adjust image colors, apply various special effects, or draw
 text, lines, polygons, ellipses and Bézier curves.")
-    (license (fsf-free "http://www.imagemagick.org/script/license.php";))))
+    (license (license:fsf-free 
"http://www.imagemagick.org/script/license.php";))))
 
 (define-public perl-image-magick
   (package
-- 
2.5.0

>From 639471440868f6a9f87c4d3a2da8e917c9f55530 Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Sat, 14 Nov 2015 17:19:04 +0100
Subject: [PATCH 2/3] gnu: Add GraphicsMagick.

* gnu/packages/imagemagick.scm (graphicsmagick): New variable.
---
 gnu/packages/imagemagick.scm | 49 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)

diff --git a/gnu/packages/imagemagick.scm b/gnu/packages/imagemagick.scm
index 43f14cb..a68e9aa 100644
--- a/gnu/packages/imagemagick.scm
+++ b/gnu/packages/imagemagick.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <address@hidden>
 ;;; Copyright © 2015 Eric Bavier <address@hidden>
+;;; Copyright © 2015 Ricardo Wurmus <address@hidden>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -22,6 +23,7 @@
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system perl)
   #:use-module (guix download)
+  #:use-module (guix utils)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (gnu packages)
   #:use-module (gnu packages algebra)
@@ -149,3 +151,50 @@ Use it to create, edit, compose, or convert bitmap images 
from within a Perl
 script.")
     ;; See Magick.pm
     (license (package-license imagemagick))))
+
+(define-public graphicsmagick
+  (package
+    (name "graphicsmagick")
+    (version "1.3.23")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append "ftp://ftp.graphicsmagick.org/pub/";
+                                 "GraphicsMagick/" (version-major+minor 
version)
+                                 "/GraphicsMagick-" version ".tar.xz"))
+             (sha256
+              (base32
+               "03g6l2h8cmf231y1vma0z7x85070jm1ysgs9ppqcd3jj56jka9gx"))))
+    (build-system gnu-build-system)
+    (arguments
+     `(#:configure-flags
+       (list "--with-frozenpaths"
+             "--enable-shared=yes"
+             "--with-x=yes"
+             (string-append "--with-gs-font-dir="
+                            (assoc-ref %build-inputs "gs-fonts")
+                            "/share/fonts/type1/ghostscript"))))
+    (inputs
+     `(("graphviz" ,graphviz)
+       ("ghostscript" ,ghostscript)
+       ("gs-fonts" ,gs-fonts)
+       ("lcms" ,lcms)
+       ("libx11" ,libx11)
+       ("libxml2" ,libxml2)
+       ("libtiff" ,libtiff)
+       ("libpng" ,libpng)
+       ("libjpeg" ,libjpeg)
+       ("freetype" ,freetype)
+       ("bzip2" ,bzip2)
+       ("xz" ,xz)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (outputs '("out"   ; 13 MiB
+               "doc")) ; ~7 MiB
+    (home-page "http://www.graphicsmagick.org";)
+    (synopsis "Create, edit, compose, or convert bitmap images")
+    (description
+     "GraphicsMagick provides a comprehensive collection of utilities,
+programming interfaces, and GUIs, to support file format conversion, image
+processing, and 2D vector rendering.")
+    (license license:expat)))
-- 
2.5.0

>From c5559fc76ce3e2f2d8d3eb12ed5e90e61c3b6f5d Mon Sep 17 00:00:00 2001
From: Ricardo Wurmus <address@hidden>
Date: Sat, 14 Nov 2015 22:26:44 +0100
Subject: [PATCH 3/3] gnu: Add Scribus.

* gnu/packages/scribus.scm: New file
* gnu/packages/patches/scribus-qobject.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES, dist_patch_DATA): Add them.
---
 gnu-system.am                              |  2 +
 gnu/packages/patches/scribus-qobject.patch | 17 +++++++
 gnu/packages/scribus.scm                   | 79 ++++++++++++++++++++++++++++++
 3 files changed, 98 insertions(+)
 create mode 100644 gnu/packages/patches/scribus-qobject.patch
 create mode 100644 gnu/packages/scribus.scm

diff --git a/gnu-system.am b/gnu-system.am
index c80f086..008d645 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -281,6 +281,7 @@ GNU_SYSTEM_MODULES =                                \
   gnu/packages/scanner.scm                     \
   gnu/packages/scheme.scm                      \
   gnu/packages/screen.scm                      \
+  gnu/packages/scribus.scm                     \
   gnu/packages/sdl.scm                         \
   gnu/packages/search.scm                      \
   gnu/packages/serveez.scm                     \
@@ -656,6 +657,7 @@ dist_patch_DATA =                                           
\
   gnu/packages/patches/sed-hurd-path-max.patch                 \
   gnu/packages/patches/scheme48-tests.patch                    \
   gnu/packages/patches/scotch-test-threading.patch             \
+  gnu/packages/patches/scribus-qobject.patch                   \
   gnu/packages/patches/sdl-libx11-1.6.patch                    \
   gnu/packages/patches/serf-comment-style-fix.patch            \
   gnu/packages/patches/serf-deflate-buckets-test-fix.patch     \
diff --git a/gnu/packages/patches/scribus-qobject.patch 
b/gnu/packages/patches/scribus-qobject.patch
new file mode 100644
index 0000000..91be932
--- /dev/null
+++ b/gnu/packages/patches/scribus-qobject.patch
@@ -0,0 +1,17 @@
+See upstream bug report: http://bugs.scribus.net/view.php?id=13102
+
+scribus/sclayer.cpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/scribus/sclayer.cpp b/scribus/sclayer.cpp
+index 502112b..4da7bd5 100644
+--- a/scribus/sclayer.cpp
++++ b/scribus/sclayer.cpp
+@@ -9,6 +9,7 @@ for which a new license (GPL+exception) is in place.
+ 
+ #include <QHash>   //necessary to avoid msvc warnings induced by SCRIBUS_API 
on ScLayers + early instanciation of templates
+ #include <QVector> //necessary to avoid msvc warnings induced by SCRIBUS_API 
on ScLayers + early instanciation of templates
++#include <QObject>
+ #include <QtAlgorithms>
+ 
+ ScLayer::ScLayer(void)
diff --git a/gnu/packages/scribus.scm b/gnu/packages/scribus.scm
new file mode 100644
index 0000000..864e570
--- /dev/null
+++ b/gnu/packages/scribus.scm
@@ -0,0 +1,79 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2015 Ricardo Wurmus <address@hidden>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages scribus)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module (guix utils)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system cmake)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages compression)
+  #:use-module (gnu packages cups)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages ghostscript)
+  #:use-module (gnu packages gtk)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages linux)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
+  #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages xml))
+
+(define-public scribus
+  (package
+    (name "scribus")
+    (version "1.5.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "mirror://sourceforge/scribus/scribus-devel/"
+                                  version "/scribus-" version ".tar.xz"))
+              (sha256
+               (base32
+                "0s4f9q2nyqrrv4wc1ddf2admkmf9m33wmwp73ba5b4vi29nydnx3"))
+              (patches (list (search-patch "scribus-qobject.patch")))))
+    (build-system cmake-build-system)
+    (arguments `(#:tests? #f)) ; no test target
+    (inputs
+     `(("cairo" ,cairo)
+       ("cups" ,cups)
+       ("graphicsmagick" ,graphicsmagick)
+       ("lcms" ,lcms)
+       ("libjpeg" ,libjpeg)
+       ("libtiff" ,libtiff)
+       ("libxml2" ,libxml2)
+       ("python" ,python-2)
+       ("freetype" ,freetype)
+       ("qt" ,qt)
+       ("zlib" ,zlib)))
+    (native-inputs
+     `(("util-linux" ,util-linux)
+       ("pkg-config" ,pkg-config)))
+    (home-page "http://scribus.net";)
+    (synopsis "Desktop publishing and page layout program")
+    (description
+     "Scribus is a @dfn{desktop publishing} (DTP) application and can be used
+for many tasks; from brochure design to newspapers, magazines, newsletters and
+posters to technical documentation.  Scribus supports professional DTP
+features, such as CMYK color and a color management system to soft proof
+images for high quality color printing, flexible PDF creation options,
+Encapsulated PostScript import/export and creation of four color separations,
+import of EPS/PS and SVG as native vector graphics, Unicode text including
+right to left scripts such as Arabic and Hebrew via freetype.")
+    (license license:gpl2+)))
-- 
2.5.0


reply via email to

[Prev in Thread] Current Thread [Next in Thread]