all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Andreas Enge <andreas@enge.fr>
To: Mark H Weaver <mhw@netris.org>
Cc: guix-devel@gnu.org
Subject: Re: Calibre
Date: Tue, 17 Feb 2015 23:17:41 +0100	[thread overview]
Message-ID: <20150217221741.GA9262@debian> (raw)
In-Reply-To: <20150217203056.GB30365@debian>

[-- Attachment #1: Type: text/plain, Size: 430 bytes --]

> (2) src/calibre/ebooks/markdown/serializers.py license includes the text:

In fact, Debian deletes the markdown copy in the original tarball, but only
because they use their Debian markdown package instead. I looked at
python3-markdown, and the offending file is still in there.

$ guix import pypi Markdown
creates a package with bsd-3 license.

So I assume this file is in fact okay to use. A new patch is attached.

Andreas


[-- Attachment #2: 0001-gnu-Add-calibre.patch --]
[-- Type: text/plain, Size: 9121 bytes --]

From de7b872e47d8cb551aa41cdc68663f66363b5c54 Mon Sep 17 00:00:00 2001
From: Andreas Enge <andreas@enge.fr>
Date: Tue, 17 Feb 2015 23:15:18 +0100
Subject: [PATCH] gnu: Add calibre.

* gnu/packages/ebook.scm (calibre): New variable.
* gnu/packages/patches/calibre-drop-unrar.patch: New file.
* gnu-system.am (dist_patch_DATA): Register patch.
---
 gnu-system.am                                 |   3 +-
 gnu/packages/ebook.scm                        | 108 +++++++++++++++++++++++++-
 gnu/packages/patches/calibre-drop-unrar.patch |  49 ++++++++++++
 3 files changed, 157 insertions(+), 3 deletions(-)
 create mode 100644 gnu/packages/patches/calibre-drop-unrar.patch

diff --git a/gnu-system.am b/gnu-system.am
index eeadd8f..390ef72 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -1,6 +1,6 @@
 # GNU Guix --- Functional package management for GNU
 # Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
-# Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
+# Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
 # Copyright © 2013, 2014, 2015 Mark H Weaver <mhw@netris.org>
 #
 # This file is part of GNU Guix.
@@ -361,6 +361,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/bigloo-gc-shebangs.patch			\
   gnu/packages/patches/binutils-ld-new-dtags.patch		\
   gnu/packages/patches/binutils-loongson-workaround.patch	\
+  gnu/packages/patches/calibre-drop-unrar.patch			\
   gnu/packages/patches/cdparanoia-fpic.patch			\
   gnu/packages/patches/clucene-pkgconfig.patch			\
   gnu/packages/patches/cmake-fix-tests.patch			\
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index f34966c..5b73b49 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -17,10 +17,26 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages ebook)
-  #:use-module ((guix licenses) #:select (lgpl2.1+))
+  #:use-module ((guix licenses) #:select (gpl3 lgpl2.1+))
   #:use-module (guix packages)
   #:use-module (guix download)
-  #:use-module (guix build-system gnu))
+  #:use-module (guix build-system gnu)
+  #:use-module (guix build-system python)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages databases)
+  #:use-module (gnu packages ebook)
+  #:use-module (gnu packages fontutils)
+  #:use-module (gnu packages freedesktop)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages icu4c)
+  #:use-module (gnu packages image)
+  #:use-module (gnu packages imagemagick)
+  #:use-module (gnu packages libusb)
+  #: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 xorg))
 
 (define-public chmlib
   (package
@@ -38,3 +54,91 @@
     (synopsis "Library for CHM files")
     (description "CHMLIB is a library for dealing with ITSS/CHM format files.")
     (license lgpl2.1+)))
+
+(define-public calibre
+  (package
+    (name "calibre")
+    (version "2.19.0")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (string-append "http://download.calibre-ebook.com/"
+                            version "/calibre-"
+                            version ".tar.xz"))
+        (sha256
+          (base32
+           "1acj1i8hlbi99jjgcs9dl9ap7951m1p460srmkdyjmlljw1qhcbn"))
+        ;; Remove non-free or doubtful code, see
+        ;; https://lists.gnu.org/archive/html/guix-devel/2015-02/msg00478.html
+        (modules '((guix build utils)))
+        (snippet
+          '(begin
+            (delete-file-recursively "src/unrar")
+            (delete-file "src/odf/thumbnail.py")))
+        (patches (list (search-patch "calibre-drop-unrar.patch")))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("qt" ,qt) ; for qmake
+       ;; xdg-utils is supposed to be used for desktop integration, but it
+       ;; also creates lots of messages
+       ;; mkdir: cannot create directory '/homeless-shelter': Permission denied
+       ("xdg-utils" ,xdg-utils)))
+    ;; FIXME: The following are missing inputs according to the documentation,
+    ;; but the package can apparently be used without them,
+    ;; They may need to be added if a deficiency is detected.
+    ;; BeautifulSoup >= 3.0.5
+    ;; dnspython >= 1.6.0
+    ;; poppler >= 0.20.2
+    ;; libwmf >= 0.2.8
+    ;; psutil >= 0.6.1
+    ;; python-pygments >= 2.0.1 ; used for ebook editing
+    (inputs
+     `(("chmlib" ,chmlib)
+       ("fontconfig" ,fontconfig)
+       ("glib" ,glib)
+       ("icu4c" ,icu4c)
+       ("imagemagick" ,imagemagick)
+       ("libmtp" ,libmtp)
+       ("libpng" ,libpng)
+       ("libusb" ,libusb)
+       ("libxrender" ,libxrender)
+       ("podofo" ,podofo)
+       ("python" ,python-2)
+       ("python2-apsw" ,python2-apsw)
+       ("python2-cssselect" ,python2-cssselect)
+       ("python2-cssutils" ,python2-cssutils)
+       ("python2-dateutil" ,python2-dateutil)
+       ("python2-dbus" ,python2-dbus)
+       ("python2-lxml" ,python2-lxml)
+       ("python2-mechanize" ,python2-mechanize)
+       ("python2-netifaces" ,python2-netifaces)
+       ;; pil is unmaintained, but the maintained fork pillow does not work.
+       ("python2-pil" ,python2-pil)
+       ("python2-pyqt" ,python2-pyqt)
+       ("python2-sip" ,python2-sip)
+       ("qt" ,qt)
+       ("sqlite" ,sqlite))) 
+    (arguments
+     `(#:python ,python-2
+       #:test-target "check"
+       #:tests? #f ; FIXME: enable once flake8 is packaged
+       #:phases
+         (alist-cons-before
+          'build 'configure
+          (lambda* (#:key inputs #:allow-other-keys)
+            (let ((podofo (assoc-ref inputs "podofo"))
+                  (pyqt (assoc-ref inputs "python2-pyqt")))
+              (substitute* "setup/build_environment.py"
+                (("sys.prefix") (string-append "'" pyqt "'")))
+              (setenv "PODOFO_INC_DIR" (string-append podofo "/include/podofo"))
+              (setenv "PODOFO_LIB_DIR" (string-append podofo "/lib"))))
+          %standard-phases)))
+    (home-page "http://calibre-ebook.com/")
+    (synopsis "E-book library management software")
+    (description "Calibre is an ebook library manager.  It can view, convert
+and catalog ebooks in most of the major ebook formats.  It can also talk
+to many ebook reader devices.  It can go out to the Internet and fetch
+metadata for books.  It can download newspapers and convert them into
+ebooks for convenient reading.")
+    (license gpl3))) ; some files are under various other licenses, see COPYRIGHT
diff --git a/gnu/packages/patches/calibre-drop-unrar.patch b/gnu/packages/patches/calibre-drop-unrar.patch
new file mode 100644
index 0000000..6b7a9f4
--- /dev/null
+++ b/gnu/packages/patches/calibre-drop-unrar.patch
@@ -0,0 +1,49 @@
+Taken from Debian.
+
+Author: Dmitry Shachnev <mitya57@gmail.com>
+Description: do not build unrar extension as we strip unrar from the tarball
+Forwarded: not-needed
+Last-Update: 2013-04-04
+
+Index: calibre/setup/extensions.py
+===================================================================
+--- calibre.orig/setup/extensions.py	2014-02-02 10:42:14.510954007 +0100
++++ calibre/setup/extensions.py	2014-02-02 10:42:14.502954007 +0100
+@@ -209,24 +209,6 @@
+                 sip_files=['calibre/ebooks/pdf/render/qt_hack.sip']
+                 ),
+ 
+-    Extension('unrar',
+-              ['unrar/%s.cpp'%(x.partition('.')[0]) for x in '''
+-               rar.o strlist.o strfn.o pathfn.o savepos.o smallfn.o global.o file.o
+-               filefn.o filcreat.o archive.o arcread.o unicode.o system.o
+-               isnt.o crypt.o crc.o rawread.o encname.o resource.o match.o
+-               timefn.o rdwrfn.o consio.o options.o ulinks.o errhnd.o rarvm.o
+-               secpassword.o rijndael.o getbits.o sha1.o extinfo.o extract.o
+-               volume.o list.o find.o unpack.o cmddata.o filestr.o scantree.o
+-               '''.split()] + ['calibre/utils/unrar.cpp'],
+-              inc_dirs=['unrar'],
+-              cflags=[('/' if iswindows else '-') + x for x in (
+-                  'DSILENT', 'DRARDLL', 'DUNRAR')] + (
+-                  [] if iswindows else ['-D_FILE_OFFSET_BITS=64',
+-                                        '-D_LARGEFILE_SOURCE']),
+-              optimize_level=2,
+-              libraries=['User32', 'Advapi32', 'kernel32', 'Shell32'] if iswindows else []
+-              ),
+-
+     ]
+ 
+ 
+Index: calibre/src/calibre/ebooks/metadata/archive.py
+===================================================================
+--- calibre.orig/src/calibre/ebooks/metadata/archive.py	2014-02-02 10:42:14.510954007 +0100
++++ calibre/src/calibre/ebooks/metadata/archive.py	2014-02-02 10:42:14.502954007 +0100
+@@ -42,7 +42,7 @@
+     description = _('Extract common e-book formats from archives '
+         '(zip/rar) files. Also try to autodetect if they are actually '
+         'cbz/cbr files.')
+-    file_types = set(['zip', 'rar'])
++    file_types = set(['zip'])
+     supported_platforms = ['windows', 'osx', 'linux']
+     on_import = True
+ 
-- 
2.2.1


      parent reply	other threads:[~2015-02-17 22:17 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-15 10:20 Calibre Andreas Enge
2015-02-17  4:23 ` Calibre Mark H Weaver
2015-02-17 20:21   ` Calibre Andreas Enge
2015-02-17  5:02 ` Calibre Mark H Weaver
2015-02-17 20:30   ` Calibre Andreas Enge
2015-02-17 21:35     ` Calibre Mark H Weaver
2015-02-17 21:50       ` Calibre Andreas Enge
2015-02-17 22:09         ` Calibre Mark H Weaver
2015-02-17 22:17     ` Andreas Enge [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150217221741.GA9262@debian \
    --to=andreas@enge.fr \
    --cc=guix-devel@gnu.org \
    --cc=mhw@netris.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.