aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/scribus.scm
blob: f699824a05c959490bc2f6f21fdac1fba044f172 (about) (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2018 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2016 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
;;; Copyright © 2019 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Tobias Geerinckx-Rice <me@tobias.gr>
;;;
;;; 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 boost)
  #: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 icu4c)
  #:use-module (gnu packages image)
  #:use-module (gnu packages imagemagick)
  #:use-module (gnu packages libreoffice)
  #:use-module (gnu packages linux)
  #:use-module (gnu packages pdf)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages python)
  #:use-module (gnu packages qt)
  #:use-module (gnu packages tls)
  #:use-module (gnu packages xml))

(define-public scribus
  (package
    (name "scribus")
    (version "1.5.6.1")
    (source
     (origin
       (method url-fetch)
       (uri (string-append "mirror://sourceforge/scribus/scribus-devel/"
                           version "/scribus-" version ".tar.xz"))
       (sha256
        (base32 "1axp8ffnx3nh6k4s5mfa9gbx8d0yql2azgcampg41ylwafapc9fl"))))
    (build-system cmake-build-system)
    (arguments
     `(#:tests? #f                      ;no test target
       #:configure-flags
       '("-DWANT_GRAPHICSMAGICK=1")
       #:phases
       (modify-phases %standard-phases
         (add-after 'install 'wrap-program
           (lambda* (#:key inputs outputs #:allow-other-keys)
             ;; Fix "ImportError: No module named _sysconfigdata_nd"
             ;; runtime error where Scribus checks PATH and eventually
             ;; runs system's Python instead of package's.
             (let* ((out (assoc-ref outputs "out"))
                    (py2 (assoc-ref inputs "python")))
               (wrap-program (string-append out "/bin/scribus")
                 `("PATH" ":" prefix (,(string-append py2 "/bin")))))
             #t)))))
    (inputs
     `(("boost" ,boost)
       ("cairo" ,cairo)
       ("cups" ,cups)
       ("fontconfig" ,fontconfig)
       ("freetype" ,freetype)
       ("graphicsmagick" ,graphicsmagick)
       ("harfbuzz" ,harfbuzz)
       ("hunspell" ,hunspell)
       ("icu4c" ,icu4c)
       ("lcms" ,lcms)
       ("libcdr" ,libcdr)
       ("libfreehand" ,libfreehand)
       ("libjpeg" ,libjpeg-turbo)
       ("libmspub" ,libmspub)
       ("libpagemaker" ,libpagemaker)
       ("librevenge" ,librevenge)
       ("libtiff" ,libtiff)
       ("libvisio" ,libvisio)
       ("libxml2" ,libxml2)
       ("libzmf" ,libzmf)
       ("openssl" ,openssl)
       ("podofo" ,podofo)
       ("poppler" ,poppler)
       ("python" ,python)               ; need Python library
       ("qtbase" ,qtbase)
       ("qtdeclarative" ,qtdeclarative)
       ("zlib" ,zlib)))
    (native-inputs
     `(("pkg-config" ,pkg-config)
       ("qttools" ,qttools)
       ("util-linux" ,util-linux)))
    (home-page "https://www.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+)))
build-aux/hydra?id=afd3d9316ce3c48cd7f7dbae64be0f8bcb756ba6'>Use "normalized codesets" everywhere....In other words, change "xx_YY.UTF-8" to "xx_YY.utf8". * guix/profiles.scm (ca-certificate-bundle): Use "en_US.utf8" instead of "en_US.UTF-8". * guix/packages.scm (patch-and-repack): Likewise. * guix/build/gnu-build-system.scm (install-locale): Likewise. * guix/build-system/gnu.scm (gnu-build, gnu-cross-build): Likewise. * gnu/packages/python.scm (python-ipython): Likewise. * gnu/packages/gawk.scm (gawk): Likewise. * build-aux/hydra/demo-os.scm: Likewise. * gnu/packages/guile.scm (guile-ncurses)[arguments]: Remove 'change-locale' phase. Ludovic Courtès 2015-09-09hydra: Remove cross-builds from armhf-linux to mips64el-linux-gnuabi64....* build-aux/hydra/gnu-system.scm (hydra-jobs)[cross-jobs]: Modify 'from-32-to-64?' to include 'armhf-linux' in the set of 32-bit systems. Mark H Weaver 2015-07-19gnu: gcc-5.1, gcc-toolchain-5.1, libstdc++-doc-5.1: Rename to *-5....This reflects the new version numbering scheme for GCC 5 and up. See <https://gcc.gnu.org/develop.html>. * gnu/packages/gcc.scm (gcc-5.1): Rename to ... (gcc-5): ... this. (libstdc++-doc-5.1): Rename to ... (libstdc++-doc-5): ... this, and use gcc-5. * gnu/packages/commencement.scm (gcc-toolchain-5.1): Rename to ... (gcc-toolchain-5): ... this, and use gcc-5. * build-aux/hydra/gnu-system.scm (%core-packages): Use gcc-5. Mark H Weaver 2015-06-18Merge branch 'master' into core-updatesMark H Weaver 2015-06-18hydra: Fix the demo OS....* build-aux/hydra/demo-os.scm: Don't try to import (gnu services dbus), which no longer exists. Use 'use-service-modules' and 'use-package-modules'. Use "en_US.UTF-8" as system locale. Mark H Weaver 2015-06-16hydra: Remove GCC 4.7 from the core set, and add 4.9 and 5.1....* build-aux/hydra/gnu-system.scm (%core-packages): Remove GCC-4.7. Add GCC-4.9 and GCC-5.1. Ludovic Courtès 2015-05-29hydra: Support per-package absolute build timeouts....* build-aux/hydra/gnu-system.scm (package->alist): Use the 'timeout' value in the package 'properties' alist, if present. Mark H Weaver 2015-05-15hydra: Increase USB image size....* build-aux/hydra/gnu-system.scm (qemu-jobs): Increase disk image size to 860 MiB, for x86_64. Ludovic Courtès 2015-05-02Merge branch 'core-updates'Ludovic Courtès 2015-05-02hydra: Update Guix job set....* build-aux/hydra/guix.scm (tarball-package): Remove 'nix-checkout' parameter. Remove 'arguments', 'native-inputs', and 'location' fields. Adjust caller accordingly. (hydra-jobs): Remove 'nix-checkout'. Ludovic Courtès 2015-05-01packages: Add '%hydra-supported-systems'....* build-aux/hydra/gnu-system.scm (%hydra-supported-systems): Remove. * guix/packages.scm (%hydra-supported-systems): New variable. Ludovic Courtès 2015-04-22hydra: Add %hydra-supported-systems variable and use it....* build-aux/hydra/gnu-system.scm (%hydra-supported-systems): New variable. (hydra-jobs): Use %hydra-supported-systems instead of %supported-systems. Mark H Weaver 2015-04-19packages: Add 'supported-package?'....* guix/packages.scm (supported-package?): New procedure. * tests/packages.scm ("supported-package?"): New test. * build-aux/hydra/gnu-system.scm (package->job): Use it instead of 'package-transitive-supported-systems'. Ludovic Courtès 2015-04-17Merge branch 'master' into core-updates...Conflicts: gnu-system.am gnu/packages/gstreamer.scm Mark H Weaver 2015-04-16hydra: Increase size of USB image....* build-aux/hydra/gnu-system.scm (qemu-jobs) <usb-image>: Increase from 800 MiB to 850 MiB. Ludovic Courtès 2015-04-14hydra: Add jobs for the self-contained tarball....* build-aux/hydra/gnu-system.scm (tarball-jobs): New procedure. (hydra-jobs): Use it. Ludovic Courtès 2015-01-14monads: Move '%store-monad' and related procedures where they belong....This turns (guix monads) into a generic module for monads, and moves the store monad and related monadic procedures in their corresponding module. * guix/monads.scm (store-return, store-bind, %store-monad, store-lift, text-file, interned-file, package-file, package->derivation, package->cross-derivation, origin->derivation, imported-modules, compiled, modules, built-derivations, run-with-store): Move to... * guix/store.scm (store-return, store-bind, %store-monad, store-lift, text-file, interned-file): ... here. (%guile-for-build): New variable. (run-with-store): Moved from monads.scm. Remove default value for #:guile-for-build. * guix/packages.scm (default-guile): Export. (set-guile-for-build): New procedure. (package-file, package->derivation, package->cross-derivation, origin->derivation): Moved from monads.scm. * guix/derivations.scm (%guile-for-build): Remove. (imported-modules): Rename to... (%imported-modules): ... this. (compiled-modules): Rename to... (%compiled-modules): ... this. (built-derivations, imported-modules, compiled-modules): New procedures. * gnu/services/avahi.scm, gnu/services/base.scm, gnu/services/dbus.scm, gnu/services/dmd.scm, gnu/services/networking.scm, gnu/services/ssh.scm, gnu/services/xorg.scm, gnu/system/install.scm, gnu/system/linux-initrd.scm, gnu/system/shadow.scm, guix/download.scm, guix/gexp.scm, guix/git-download.scm, guix/profiles.scm, guix/svn-download.scm, tests/monads.scm: Adjust imports accordingly. * guix/monad-repl.scm (default-guile-derivation): New procedure. (store-monad-language, run-in-store): Use it. * build-aux/hydra/gnu-system.scm (qemu-jobs): Add explicit 'set-guile-for-build' call. * guix/scripts/archive.scm (derivation-from-expression): Likewise. * guix/scripts/build.scm (options/resolve-packages): Likewise. * guix/scripts/environment.scm (guix-environment): Likewise. * guix/scripts/system.scm (guix-system): Likewise. * doc/guix.texi (The Store Monad): Adjust module names accordingly. Ludovic Courtès 2014-11-29system: Change "en_US.UTF-8" to "en_US.utf8"....* build-aux/hydra/demo-os.scm (locale): Change to "en_US.utf8". * gnu/system/install.scm (installation-os)[locale]: Ditto. Ludovic Courtès 2014-11-21hydra: Build only non-grafted variants of the packages....* build-aux/hydra/gnu-system.scm (package->alist): Pass #:graft? #f. (package-cross-job): Adjust last argument of 'package->alist' to accept #:graft?. This fixes the problem reported in commit a480307. Ludovic Courtès 2014-11-13Revert "hydra: Build only non-grafted variants of the packages."...This reverts commit 9de1defe790d8baa6a230b2d02e7ba023783b022. Passing #:graft? was not possible because of the use of 'cut' on call sites. Ludovic Courtès 2014-11-13hydra: Build only non-grafted variants of the packages....* build-aux/hydra/gnu-system.scm (package->alist): Pass #:graft? #f to PACKAGE-DERIVATION. Ludovic Courtès 2014-11-12hydra: Make USB installation image bigger....* build-aux/hydra/gnu-system.scm (qemu-jobs): Require 800 MiB for the USB disk image. Ludovic Courtès 2014-10-17packages: Add 'package-transitive-supported-systems'....* guix/packages.scm (package-transitive-supported-systems): New procedure. * tests/packages.scm ("package-transitive-supported-systems"): New test. * build-aux/hydra/gnu-system.scm (package->job): Use it. Ludovic Courtès 2014-10-06hydra: Honor 'package-supported-systems'....* guix/packages.scm (%supported-systems): New variable. (<package>)[platforms]: Rename to... [supported-systems]: ... this. Change default to %SUPPORTED-SYSTEMS. * build-aux/hydra/gnu-system.scm (job-name, package->job): New procedures, formerly in 'hydra-jobs'. Honor 'package-supported-systems'. (hydra-jobs): Use them. Ludovic Courtès 2014-08-28hydra: Adjust to (gnu packages commencement) split from (gnu packages base)....* build-aux/hydra/gnu-system.scm: Import (gnu packages commencement). Mark H Weaver 2014-07-22system: Add '%devtmpfs-file-system' for udev, and '%base-file-systems'....Suggested by Adam Pribyl <pribyl@lowlevel.cz>. * gnu/services/base.scm (udev-service)[requirement]: Add 'file-system-/dev'. * gnu/system/file-systems.scm (%devtmpfs-file-system, %base-file-systems): New variables. * gnu/system/install.scm (installation-services)[file-systems]: Use %base-file-systems. * build-aux/hydra/demo-os.scm (file-systems): Likewise. * doc/guix.texi (System Installation): Show %BASE-FILE-SYSTEMS in the example. (Using the Configuration System): Likewise. (File Systems): Document %base-file-systems, %devtmpfs-file-system, %binary-format-file-system, and %fuse-control-file-system. Ludovic Courtès 2014-07-12services: Add Tor service....* gnu/services/networking.scm (tor-service): New procedure. * doc/guix.texi (Networking Services): Document it. * build-aux/hydra/demo-os.scm: Use it. Add TOR and TORSOCKS to 'packages'. Ludovic Courtès 2014-07-10gnu: linux-libre: Add i686 and x86_64 full-blown configs....Thanks to Jason Self <jself@gnu.org> for the kernel configs. * gnu/packages/linux.scm (kernel-config): New procedure. (linux-libre)[build-phase]: Copy it to .config. Reduce the list of things appended to .config. [native-inputs]: Add "kconfig" input. * gnu/packages/linux-libre-i686.conf, gnu/packages/linux-libre-x86_64.conf: New files, from <http://jxself.org/x86-32.txt> and <http://jxself.org/x86-64.txt>. * Makefile.am (KCONFIGS): New variable. (nobase_dist_guilemodule_DATA): Add it. Ludovic Courtès 2014-06-22system: Use the default 'groups' field....* gnu/system/install.scm (installation-os): Remove 'groups' field. * build-aux/hydra/demo-os.scm: Likewise. Ludovic Courtès