Browse Source

calibre-2.62.0-1

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@10606 ec354946-7b23-47d6-9f5a-488ba84defc7
tomop 7 years ago
parent
commit
83725b84da
1 changed files with 167 additions and 118 deletions
  1. 167 118
      c/calibre/calibre-vl.spec

+ 167 - 118
c/calibre/calibre-vl.spec

@@ -1,13 +1,16 @@
 %{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
 
 Name:           calibre
-Version:        0.8.50
-Release:        2%{?_dist_release}
+Version:        2.62.0
+Release:        1%{?_dist_release}
 Summary:        E-book converter and library management
 Group:          Applications/Multimedia
 License:        GPLv3
 URL:            http://calibre-ebook.com/
 
+Vendor:         Project Vine
+Distribution:   Vine Linux
+
 # SourceURL: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
 
 # Upstream packages some unfree fonts which we cannot redistribute.
@@ -18,51 +21,89 @@ URL:            http://calibre-ebook.com/
 # ./generate-tarball.sh %{version}
 Source0:        %{name}-%{version}-nofonts.tar.xz
 Source1:        generate-tarball.sh
-Source2:	calibre-mount-helper
-Patch0:         %{name}-manpages.patch
+Source2:        calibre-mount-helper
+Source3:        calibre-gui.appdata.xml
+#
+# Disable auto update from inside the app
+#
 Patch1:         %{name}-no-update.patch
-Patch2:		calibre-0.8.21-poppler.patch
-Patch3:		calibre-0.8.50-poppler-0.20.x.patch
-Patch10:	calibre-0.8.41-python27.patch
-BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root
+#
+# Do not display multiple apps in desktop files, only the main app
+# This is so gnome-software only 'sees' calibre once.
+#
+Patch3:         calibre-nodisplay.patch
 
 BuildRequires:	python >= 2.7.1
 BuildRequires:	python-devel >= 2.7.1
-BuildRequires:	ImageMagick-devel >= 6.5.9
+BuildRequires:	python-setuptools >= 2.7.1
 BuildRequires:	python-setuptools
-BuildRequires:	qt4-devel >= 4.7.0
-BuildRequires:  PyQt4-devel >= 4.8.2
-BuildRequires:	poppler-qt4-devel >= 0.12
+BuildRequires:	python-qt5-devel
+BuildRequires:	python-qt5
+BuildRequires:	python-qt5-webkit
 BuildRequires:	podofo-devel >= 0.8.2
 BuildRequires:	desktop-file-utils
-BuildRequires:	python-mechanize >= 0.1.1
-BuildRequires:	python-lxml >= 2.2.1
-BuildRequires:	python-cssutils >= 0.9.6
-BuildRequires:	python-dateutil >= 1.4.1
-BuildRequires:	python-imaging >= 1.1.6
+BuildRequires:	python-mechanize
+BuildRequires:	python-lxml
+BuildRequires:	python-dateutil
+BuildRequires:	python-imaging
 BuildRequires:	xdg-utils >= 1.0.2
 BuildRequires:	python-BeautifulSoup >= 3.0.5
-BuildRequires:	xz
-BuildRequires:	unzip
-BuildRequires:	libwmf-devel >= 0.2.8
 BuildRequires:	chmlib-devel >= 0.40
-BuildRequires:  python-cssutils > 0.9.6
-BuildRequires:  sqlite3-devel
+BuildRequires:	python-cssutils >= 0.9.6
+BuildRequires:	sqlite3-devel
 BuildRequires:	libicu-devel >= 4.4
-
-Requires:	PyQt4
-Requires:	pyPdf
+BuildRequires:	libpng-devel
+BuildRequires:	libmtp-devel
+BuildRequires:	qt5-qtbase-devel
+#BuildRequires:	web-assets-devel
+BuildRequires:	qt5-qtbase-static
+BuildRequires:	libXrender-devel
+BuildRequires:	qt5-qtwebkit-devel
+BuildRequires:	openssl-devel
+# calibre installer is so smart that it check for the presence of the
+# directory (and then installs in the wrong place)
+BuildRequires:	bash-completion
+BuildRequires:	python-apsw
+BuildRequires:	glib2-devel
+BuildRequires:	fontconfig-devel
+BuildRequires:	libinput-devel
+BuildRequires:	libxkbcommon-devel
+
+%{?pyqt5_requires}
+# once ^^ %%pyqt5_requires is everywhere, can drop python-qt5 dep below -- rex
+
+# Add hard dep to specific qtbase pkg, see build message below -- rex
+# Project MESSAGE: This project is using private headers and will therefore be tied to this specific Qt module build version.
+# Project MESSAGE: Running this project against other versions of the Qt modules may crash at any arbitrary point.
+# Project MESSAGE: This is not a bug, but a result of using Qt internals. You have been warned!
+BuildRequires:  qt5-qtbase-private-devel
+%{?_qt5:Requires: %{_qt5}%{?_isa} = %{_qt5_version}}
+
+
+Requires:	python-qt5
+Requires:	python-qt5-webkit
+Requires:	qt5-qtwebkit
+Requires:	qt5-qtsvg
+Requires:	qt5-qtsensors
 Requires:	python-cherrypy
-Requires:	python-cssutils
-Requires:	ImageMagick
-Requires:	python-odf
-Requires:	python-django-tagging
+Requires:	python-cssutils >= 0.9.9
+Requires:	odfpy
 Requires:	python-lxml
 Requires:	python-imaging
 Requires:	python-mechanize
 Requires:	python-dateutil
 Requires:	python-genshi
 Requires:	python-BeautifulSoup
+Requires:	poppler-utils
+#Requires:	python-feedparser
+Requires:	python-netifaces
+Requires:	python-dns
+Requires:	python-apsw
+Requires:	python-psutil
+Requires:	python-pygments > 2.0.1
+Requires:	optipng
+#Requires:	python-cssselect
+#Requires:	mathjax
 
 ## vine
 Requires:	TrueType-liberation
@@ -82,41 +123,35 @@ Supported input formats are: MOBI, LIT, PRC, EPUB, CHM, ODT, HTML, CBR, CBZ,
 RTF, TXT, PDF and LRS.
 
 %prep
-%setup -q -n %{name}
-
-# don't append calibre1 to the name of the manpages. No need to compress either
-# upstream won't fix: http://bugs.calibre-ebook.com/ticket/3770#comment:7
-%patch0 -p1 -b .manpages
+%setup -q
 
 # don't check for new upstream version (that's what packagers do)
 %patch1 -p1 -b .no-update
-
-# modify poppler checks
-%patch2 -p1 -b .poppler
-%patch3 -p1 -b .poppler.0.20
-
-# use python2.7
-%patch10 -p1 -b .vine
+# Hide individual launchers for ebook-edit, ebook-viewer and lrfviewer as they
+# are all accessible in the main calibre GUI.
+%patch3 -p1 -b .nodisplay
 
 # dos2unix newline conversion
-%{__sed} -i 's/\r//' src/calibre/web/feeds/recipes/*
+sed -i 's/\r//' src/calibre/web/feeds/recipes/*
 
 # remove shebangs
-%{__sed} -i -e '/^#!\//, 1d' src/calibre/*/*/*/*.py
-%{__sed} -i -e '/^#!\//, 1d' src/calibre/*/*/*.py
-%{__sed} -i -e '/^#![ ]*\//, 1d' src/calibre/*/*.py
-%{__sed} -i -e '/^#!\//, 1d' src/calibre/*.py
-%{__sed} -i -e '/^#!\//, 1d' src/templite/*.py
-%{__sed} -i -e '/^#!\//, 1d' resources/default_tweaks.py
-%{__sed} -i -e '/^#!\//, 1d' resources/catalog/section_list_templates.py
-
-%{__chmod} -x src/calibre/*/*/*/*.py
-%{__chmod} -x src/calibre/*/*/*.py
-%{__chmod} -x src/calibre/*/*.py
-%{__chmod} -x src/calibre/*.py
+sed -i -e '/^#!\//, 1d' src/calibre/*/*/*/*.py
+sed -i -e '/^#!\//, 1d' src/calibre/*/*/*.py
+sed -i -e '/^#![ ]*\//, 1d' src/calibre/*/*.py
+sed -i -e '/^#!\//, 1d' src/calibre/*.py
+sed -i -e '/^#!\//, 1d' src/templite/*.py
+sed -i -e '/^#!\//, 1d' resources/default_tweaks.py
+sed -i -e '/^#!\//, 1d' resources/catalog/section_list_templates.py
+
+chmod -x src/calibre/*/*/*/*.py \
+    src/calibre/*/*/*.py \
+    src/calibre/*/*.py \
+    src/calibre/*.py
+
+rm -rvf resources/viewer/mathjax
 
 %build
-OVERRIDE_CFLAGS="%{optflags}" QMAKE=%{_libdir}/qt4/bin/qmake python setup.py build
+OVERRIDE_CFLAGS="%{optflags}" python setup.py build
 
 %install
 %__rm -rf %{buildroot}
@@ -124,92 +159,101 @@ OVERRIDE_CFLAGS="%{optflags}" QMAKE=%{_libdir}/qt4/bin/qmake python setup.py bui
 %__mkdir -p %{buildroot}%{_datadir}
 
 # create directories for xdg-utils
-%__mkdir_p %{buildroot}%{_datadir}/icons
-%__mkdir_p %{buildroot}%{_datadir}/icons/hicolor
-%__mkdir_p %{buildroot}%{_datadir}/packages
-%__mkdir_p %{buildroot}%{_datadir}/mime
-%__mkdir_p %{buildroot}%{_datadir}/mime/packages
-%__mkdir_p %{buildroot}%{_datadir}/applications
-%__mkdir_p %{buildroot}%{_datadir}/desktop-directories
+mkdir -p %{buildroot}%{_datadir}/icons
+mkdir -p %{buildroot}%{_datadir}/icons/hicolor
+mkdir -p %{buildroot}%{_datadir}/packages
+mkdir -p %{buildroot}%{_datadir}/mime
+mkdir -p %{buildroot}%{_datadir}/mime/packages
+mkdir -p %{buildroot}%{_datadir}/applications
+mkdir -p %{buildroot}%{_datadir}/desktop-directories
+
+# create directory for gnome software data
+mkdir -p %{buildroot}%{_datadir}/appdata
 
 # create directory for calibre environment module
 # the install script assumes it's there.
-%__mkdir_p %{buildroot}%{python_sitelib}
+mkdir -p %{buildroot}%{python_sitelib}
+
+# create directory for completion files, so calibre knows where
+# to install them
+mkdir -p %{buildroot}%{_datadir}/bash-completion/completions
+mkdir -p %{buildroot}%{_datadir}/zsh/site-functions
 
 XDG_DATA_DIRS="%{buildroot}%{_datadir}" \
 XDG_UTILS_INSTALL_MODE="system" \
 LIBPATH="%{_libdir}" \
 python setup.py install --root=%{buildroot}%{_prefix} \
-			--prefix=%{_prefix} \
-			--libdir=%{_libdir} \
-			--staging-libdir=%{buildroot}%{_libdir}
+                        --prefix=%{_prefix} \
+                        --libdir=%{_libdir} \
+                        --staging-libdir=%{buildroot}%{_libdir} \
+                        --staging-sharedir=%{buildroot}%{_datadir}
 
 # remove shebang from init_calibre.py here because
 # it just got spawned by the install script
-%{__sed} -i -e '/^#!\//, 1d' %{buildroot}%{python_sitelib}/init_calibre.py
+sed -i -e '/^#!\//, 1d' %{buildroot}%{python_sitelib}/init_calibre.py
 
 # icons
-%__mkdir_p %{buildroot}%{_datadir}/pixmaps/
-%__cp -p resources/images/library.png \
-	%{buildroot}%{_datadir}/pixmaps/%{name}-gui.png
-%__cp -p resources/images/viewer.png \
-	%{buildroot}%{_datadir}/pixmaps/calibre-viewer.png
+mkdir -p %{buildroot}%{_datadir}/pixmaps/
+cp -p resources/images/library.png                \
+   %{buildroot}%{_datadir}/pixmaps/%{name}-gui.png
+cp -p resources/images/viewer.png                 \
+   %{buildroot}%{_datadir}/pixmaps/calibre-viewer.png
+cp -p resources/images/tweak.png                 \
+   %{buildroot}%{_datadir}/pixmaps/calibre-ebook-edit.png
 
 # every file is empty here
-find %{buildroot}%{_datadir}/mime -maxdepth 1 -type f|xargs %__rm -f 
+find %{buildroot}%{_datadir}/mime -maxdepth 1 -type f -print -delete
 
 # packages aren't allowed to register mimetypes like this
-%__rm -f %{buildroot}%{_datadir}/applications/{defaults.list,mimeinfo.cache}
+rm -f %{buildroot}%{_datadir}/applications/defaults.list
+rm -f %{buildroot}%{_datadir}/applications/mimeinfo.cache
+rm -f %{buildroot}%{_datadir}/mime/application/*.xml
+rm -f %{buildroot}%{_datadir}/mime/text/*.xml
 
 desktop-file-validate \
-    %{buildroot}%{_datadir}/applications/calibre-ebook-viewer.desktop
+%{buildroot}%{_datadir}/applications/calibre-ebook-viewer.desktop
 desktop-file-validate \
-    %{buildroot}%{_datadir}/applications/calibre-gui.desktop
+%{buildroot}%{_datadir}/applications/calibre-gui.desktop
 desktop-file-validate \
-    %{buildroot}%{_datadir}/applications/calibre-lrfviewer.desktop
-
-
-%__mv %{buildroot}%{_datadir}/mime/packages/calibre-mimetypes \
-    %{buildroot}%{_datadir}/mime/packages/calibre-mimetypes.xml
+%{buildroot}%{_datadir}/applications/calibre-lrfviewer.desktop
 
 # mimetype icon for lrf
-%__rm -rf %{buildroot}%{_datadir}/icons/hicolor/128x128
-%__mkdir_p %{buildroot}%{_datadir}/icons/hicolor/scalable
-%__mkdir_p %{buildroot}%{_datadir}/icons/hicolor/scalable/mimetypes
-%__mkdir_p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps
-%__cp -p resources/images/mimetypes/lrf.png \
-    %{buildroot}%{_datadir}/icons/hicolor/scalable/mimetypes/application-x-sony-bbeb.png
-%__cp -p resources/images/viewer.png \
-    %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/calibre-viewer.png
-
-# don't put bash completions in /usr/etc
-%__mv %{buildroot}%{_prefix}%{_sysconfdir} %{buildroot}
+rm -rf %{buildroot}%{_datadir}/icons/hicolor/128x128
+mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable
+mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/mimetypes
+mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps
+cp -p resources/images/mimetypes/lrf.png \
+      %{buildroot}%{_datadir}/icons/hicolor/scalable/mimetypes/application-x-sony-bbeb.png
+cp -p resources/images/viewer.png \
+      %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/calibre-viewer.png
 
 # these are provided as separate packages
-%__rm -rf %{buildroot}%{_libdir}/%{name}/{odf,cherrypy,pyPdf,encutils,cssutils}
-%__rm -rf %{buildroot}%{_libdir}/%{name}/cal/utils/genshi
-%__rm -rf %{buildroot}%{_libdir}/%{name}/cal/trac
-
-# link to system fonts after we have deleted (see Source0) the non-free ones
-# http://bugs.calibre-ebook.com/ticket/3832
-%__mkdir_p %{buildroot}%{_datadir}/%{name}/fonts/prs500/
-%__ln_s %{_datadir}/fonts/TrueType-liberation/LiberationSans-Regular.ttf \
-	%{buildroot}%{_datadir}/%{name}/fonts/prs500/tt0003m_.ttf
-%__ln_s %{_datadir}/fonts/TrueType-liberation/LiberationSerif-Regular.ttf \
-	%{buildroot}%{_datadir}/%{name}/fonts/prs500/tt0011m_.ttf
-%__ln_s %{_datadir}/fonts/TrueType-liberation/LiberationMono-Regular.ttf \
-	%{buildroot}%{_datadir}/%{name}/fonts/prs500/tt0419m_.ttf
-
-# http://bugs.calibre-ebook.com/ticket/3770#comment:7
-# man pages
-%__mv %{buildroot}%{_datadir}/%{name}/man %{buildroot}%{_mandir}
+rm -rf %{buildroot}%{_libdir}/%{name}/{odf,cherrypy,encutils,cssutils}
+rm -rf %{buildroot}%{_libdir}/%{name}/cal/utils/genshi
+rm -rf %{buildroot}%{_libdir}/%{name}/cal/trac
+
+# rm empty feedparser files.
+rm -rf %{buildroot}%{_libdir}/%{name}/%{name}/web/feeds/feedparser.*
+
+ln -s %{python_sitelib}/feedparser.py \
+      %{buildroot}%{_libdir}/%{name}/%{name}/web/feeds/feedparser.py
+ln -s %{python_sitelib}/feedparser.pyc \
+      %{buildroot}%{_libdir}/%{name}/%{name}/web/feeds/feedparser.pyc
+ln -s %{python_sitelib}/feedparser.pyo \
+      %{buildroot}%{_libdir}/%{name}/%{name}/web/feeds/feedparser.pyo
+
+for f in %{_datadir}/fonts/TrueType-liberation/*; do
+  ln -s $f %{buildroot}%{_datadir}/%{name}/fonts/liberation/
+done
 
 # delete locales, calibre stores them in a zip file now
 rm -rf %{buildroot}%{_datadir}/%{name}/localization/locales/
 
-%{__rm} -f %{buildroot}%{_bindir}/%{name}-uninstall
+rm -f %{buildroot}%{_bindir}/%{name}-uninstall
 
-%__install -m 755 %{SOURCE2} %{buildroot}%{_bindir}/calibre-mount-helper
+cp -p %{SOURCE2} %{buildroot}%{_bindir}/calibre-mount-helper
+
+cp -p %{SOURCE3} %{buildroot}%{_datadir}/appdata/
 
 %clean
 %{__rm} -rf %{buildroot}
@@ -232,7 +276,8 @@ fi
 
 %files
 %defattr(-,root,root,-)
-%doc COPYRIGHT LICENSE Changelog.yaml
+%license COPYRIGHT LICENSE
+%doc Changelog.yaml
 %{_bindir}/calibre
 %{_bindir}/calibre-complete
 %{_bindir}/calibre-customize
@@ -246,26 +291,30 @@ fi
 %{_bindir}/ebook-device
 %{_bindir}/ebook-meta
 %{_bindir}/ebook-viewer
-%{_bindir}/epub-fix
 %{_bindir}/fetch-ebook-metadata
 %{_bindir}/lrf2lrs
 %{_bindir}/lrfviewer
 %{_bindir}/lrs2lrf
 %{_bindir}/markdown-calibre
-%{_bindir}/pdfmanipulate
 %{_bindir}/web2disk
-%config(noreplace) %{_sysconfdir}/bash_completion.d/
+%{_bindir}/ebook-polish
+%{_bindir}/ebook-edit
 %{_libdir}/%{name}
 %{_datadir}/%{name}
 %{_datadir}/pixmaps/*
 %{_datadir}/applications/*.desktop
 %{_datadir}/mime/packages/*
-%{_datadir}/icons/hicolor/scalable/mimetypes/*
-%{_datadir}/icons/hicolor/scalable/apps/*
+%{_datadir}/icons/hicolor/*/mimetypes/*
+%{_datadir}/icons/hicolor/*/apps/*
 %{python_sitelib}/init_calibre.py*
-%{_mandir}/man1/*
+%{_datadir}/bash-completion/completions/%{name}
+%{_datadir}/zsh/site-functions/_%{name}
+%{_datadir}/appdata/calibre*.appdata.xml
 
 %changelog
+* Tue Jul 12 2016 Tomohiro "Tomo-p" KATO <tomop@teamgedoh.net> 2.62.0-1
+- new upstream release.
+
 * Sun Aug 25 2013 Yoji TOYODA <bsyamato@sea.plala.or.jp> 0.8.50-2
 - rebuild with ImageMagick-6.8.6.8
 - add Patch3 (calibre-0.8.50-poppler-0.20.x.patch)