From eec6496565ecc351a686da8eacdfc04400baa98a Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 15 Feb 2017 08:55:44 -0800 Subject: app-text/calibre: remove vulnerable versions for bug 607836 Package-Manager: Portage-2.3.3, Repoman-2.3.1 --- app-text/calibre/Manifest | 3 - app-text/calibre/calibre-1.20.ebuild | 213 --------------------------- app-text/calibre/calibre-2.70.0.ebuild | 251 -------------------------------- app-text/calibre/calibre-2.73.0.ebuild | 254 --------------------------------- 4 files changed, 721 deletions(-) delete mode 100644 app-text/calibre/calibre-1.20.ebuild delete mode 100644 app-text/calibre/calibre-2.70.0.ebuild delete mode 100644 app-text/calibre/calibre-2.73.0.ebuild diff --git a/app-text/calibre/Manifest b/app-text/calibre/Manifest index b19dca11de3d..5004dc1fe898 100644 --- a/app-text/calibre/Manifest +++ b/app-text/calibre/Manifest @@ -1,4 +1 @@ -DIST calibre-1.20.0.tar.xz 32430560 SHA256 475e09b1be4b9977240cbbe6743ab79da4b1f1afe3fe6015d212d868e8f2fac4 SHA512 84ac25080cf4948398b79f9a1af688cca9cf9a5a9200b2aad649f5fda1cd0556be4ade0c8b09ea6ffcc95654eac0aaaa5b8f8ed6ea9830174bc150e64de85e31 WHIRLPOOL 61b6ecde2e3f8679c1afea95dcd152a94ce03522c06dff34b406a5705f6255243f0565fbb5f9bef3ac96d7127190bd1b4363233fa24fafcd0412e061201f6fe8 -DIST calibre-2.70.0.tar.xz 40279720 SHA256 90391605c43db01acd7acf21707f5aa95c329b2055cca1b09b6fa46e050b3ba2 SHA512 1b98cdbd32dd02e64792b5e02ceb010a694c5669b8de3b0d03994b6f1e03e10dfcff6462317e1abfd27ca4b0085897218a12d79dd82604dad8a156d2f0fa5317 WHIRLPOOL d9c61f8d3514631fb8907e2fb5d63e32c6626c9d2fa35a985810b035f5a74c68e0d4fa8a63164c566030190ed362092d4d2145ee5e406fda8d97bbf778afbc1d -DIST calibre-2.73.0.tar.xz 38674308 SHA256 ec05836d60ae6214c3dde22ec7f9340ab77b05eac25b0df5e245b43f553b1a9f SHA512 395ae04ca580b25ec5d72bf2134c073a9182eccf9c30b053a52e342ddf7bec27d2479acba8cde15da175dfd0b6f5f9add54c9a13d9da421c494b70de3217968d WHIRLPOOL b5de25d5c170578c21719e72ead9c2040d338a6e19d8d7af9f788392acf27989c00bf092a6e3f64e4422409bdf2639f1bbc61be088c5baee72b85fe16e9c4b0b DIST calibre-2.78.0.tar.xz 38739404 SHA256 d2b0b0c5451d3ac05ce9de0b801ddf8de7664fee45f273d7ee8445a1ec2f898b SHA512 0779ac385dde45ac4baee7cecb0916e245f3e1cf20662bad9d9a4278265390b1aa89c2b478601b57113e7de08a69343288488ee299e8b43332f0129e650aa0ca WHIRLPOOL 325fc344445078ef0df0a29b4cd8e32445a881ede89e3db87606166ff0c8b7db10b7cc34432e63c2bb49382537a5107686339b987f1be807d59a1786ddfd4a75 diff --git a/app-text/calibre/calibre-1.20.ebuild b/app-text/calibre/calibre-1.20.ebuild deleted file mode 100644 index c2a39b5af896..000000000000 --- a/app-text/calibre/calibre-1.20.ebuild +++ /dev/null @@ -1,213 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -inherit eutils fdo-mime bash-completion-r1 multilib toolchain-funcs qmake-utils - -DESCRIPTION="Ebook management application" -HOMEPAGE="http://calibre-ebook.com/" -[[ ${PV} == ${PV%.*}.${PV#*.} ]] && MY_PV=${PV}.0 || MY_PV=${PV} -SRC_URI="https://sourceforge.net/projects/calibre/files/${MY_PV}/${PN}-${MY_PV}.tar.xz" - -LICENSE=" - GPL-3+ - GPL-3 - GPL-2+ - GPL-2 - GPL-1+ - LGPL-3+ - LGPL-2.1+ - LGPL-2.1 - BSD - MIT - Old-MIT - Apache-2.0 - public-domain - || ( Artistic GPL-1+ ) - CC-BY-3.0 - OFL-1.1 - PSF-2 - unRAR -" - -KEYWORDS="amd64 x86" -SLOT="0" -IUSE="+udisks" - -COMMON_DEPEND=" - >=app-text/podofo-0.8.2:= - >=app-text/poppler-0.12.3-r3:=[qt4,xpdf-headers(+)] - >=dev-lang/python-2.7.1:2.7[sqlite,ssl] - >=dev-libs/chmlib-0.40:= - >=dev-libs/icu-4.4:= - dev-python/apsw - >=dev-python/beautifulsoup-3.0.5:python-2 - dev-python/netifaces - >=dev-python/dnspython-1.6.0:py2 - >=dev-python/cssselect-0.7.1 - >=dev-python/cssutils-0.9.9 - >=dev-python/dbus-python-0.82.2 - dev-python/pillow - >=dev-python/lxml-2.2.1 - >=dev-python/mechanize-0.1.11 - >=dev-python/python-dateutil-1.4.1[python_targets_python2_7(-)] - || ( >=dev-python/PyQt4-4.11.2-r1[X,compat(-),svg,webkit] =media-gfx/imagemagick-6.5.9[jpeg,png] - >=media-libs/freetype-2:= - >=media-libs/libwmf-0.2.8 - >=media-libs/libmtp-1.1.4:= - virtual/libusb:1= - dev-qt/qtdbus:4= - dev-qt/qtsvg:4= - >=x11-misc/xdg-utils-1.0.2-r2" - -RDEPEND="${COMMON_DEPEND} - udisks? ( || ( sys-fs/udisks:2 sys-fs/udisks:0 ) )" - -DEPEND="${COMMON_DEPEND} - >=dev-python/setuptools-0.6_rc5 - >=virtual/podofo-build-0.8.2" - -S=${WORKDIR}/${PN} - -src_prepare() { - # Fix outdated version constant. - #sed -e "s#\\(^numeric_version =\\).*#\\1 (${PV//./, })#" \ - # -i src/calibre/constants.py || \ - # die "sed failed to patch constants.py" - - # Avoid sandbox violation in /usr/share/gnome/apps when linux.py - # calls xdg-* (bug #258938). - sed -e "s|'xdg-desktop-menu', 'install'|\\0, '--mode', 'user'|" \ - -e "s|check_call(\\['xdg-desktop-menu', 'forceupdate'\\])|#\\0|" \ - -e "s|\\(CurrentDir(tdir)\\), \\\\\$|\\1:|" \ - -e "s|PreserveMIMEDefaults():||" \ - -e "s|xdg-icon-resource install|\\0 --mode user|" \ - -e "s|cc(\\['xdg-desktop-menu', 'forceupdate'\\])|#\\0|" \ - -e "s|xdg-mime install|\\0 --mode user|" \ - -i src/calibre/linux.py || die "sed failed to patch linux.py" - - # Disable unnecessary privilege dropping for bug #287067. - sed -e "s:if os.geteuid() == 0:if False and os.geteuid() == 0:" \ - -i setup/install.py || die "sed failed to patch install.py" - - sed -e "/^ self\\.check_call(qmc + \\[.*\\.pro'\\])$/a\ -\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ self.check_call(['sed', \ -'-e', 's|^CFLAGS .*|\\\\\\\\0 ${CFLAGS}|', \ -'-e', 's|^CXXFLAGS .*|\\\\\\\\0 ${CXXFLAGS}|', \ -'-e', 's|^LFLAGS .*|\\\\\\\\0 ${LDFLAGS}|', \ -'-i', 'Makefile'])" \ - -i setup/extensions.py || die "sed failed to patch extensions.py" - - # no_updates: do not annoy user with "new version is availible all the time - # disable_plugins: walking sec-hole, wait for upstream to use GHNS interface - epatch \ - "${FILESDIR}/${PN}-1.20-no_updates_dialog.patch" \ - "${FILESDIR}/${PN}-disable_plugins.patch" -} - -src_install() { - # Bypass kbuildsycoca and update-mime-database in order to - # avoid sandbox violations if xdg-mime tries to call them. - cat - > "${T}/kbuildsycoca" <<-EOF - #!${BASH} - exit 0 - EOF - - cp "${T}"/{kbuildsycoca,update-mime-database} - chmod +x "${T}"/{kbuildsycoca,update-mime-database} - - # Unset DISPLAY in order to prevent xdg-mime from triggering a sandbox - # violation with kbuildsycoca as in bug #287067, comment #13. - export -n DISPLAY - - # Bug #352625 - Some LANGUAGE values can trigger the following ValueError: - # File "/usr/lib/python2.6/locale.py", line 486, in getdefaultlocale - # return _parse_localename(localename) - # File "/usr/lib/python2.6/locale.py", line 418, in _parse_localename - # raise ValueError, 'unknown locale: %s' % localename - #ValueError: unknown locale: 46 - export -n LANGUAGE - - # Bug #295672 - Avoid sandbox violation in ~/.config by forcing - # variables to point to our fake temporary $HOME. - export HOME="${T}/fake_homedir" - export XDG_CONFIG_HOME="${HOME}/.config" - export XDG_DATA_HOME="${HOME}/.local/share" - export CALIBRE_CONFIG_DIRECTORY="${XDG_CONFIG_HOME}/calibre" - mkdir -p "${XDG_CONFIG_HOME}" "${CALIBRE_CONFIG_DIRECTORY}" - - tc-export CC CXX - # Bug #334243 - respect LDFLAGS when building extensions - export OVERRIDE_CFLAGS="$CFLAGS" OVERRIDE_LDFLAGS="$LDFLAGS" - local libdir=$(get_libdir) - [[ -n $libdir ]] || die "get_libdir returned an empty string" - - export QMAKE="$(qt4_get_bindir)/qmake" - - # Bug #472690 - Avoid sandbox violation for /dev/dri/card0. - local x - for x in /dev/dri/card[0-9] ; do - [[ -e ${x} ]] && addpredict ${x} - done - - dodir "/usr/$(get_libdir)/python2.7/site-packages" # for init_calibre.py - PATH=${T}:${PATH} PYTHONPATH=${S}/src${PYTHONPATH:+:}${PYTHONPATH} \ - "${EPREFIX}"/usr/bin/python2.7 setup.py install \ - --root="${D}" \ - --prefix="${EPREFIX}/usr" \ - --libdir="${EPREFIX}/usr/${libdir}" \ - --staging-root="${ED}usr" \ - --staging-libdir="${ED}usr/${libdir}" || die - - grep -rlZ "${ED}" "${ED}" | xargs -0 sed -e "s:${D}:/:g" -i || - die "failed to fix harcoded \$D in paths" - - # The menu entries end up here due to '--mode user' being added to - # xdg-* options in src_prepare. - dodir /usr/share/mime/packages - chmod -fR a+rX,u+w,g-w,o-w "${HOME}"/.local - mv "${HOME}"/.local/share/mime/packages/* "${ED}"usr/share/mime/packages/ || - die "failed to register mime types" - dodir /usr/share/icons - mv "${HOME}"/.local/share/icons/* "${ED}"usr/share/icons/ || - die "failed to install icon files" - - domenu "${HOME}"/.local/share/applications/*.desktop || - die "failed to install .desktop menu files" - - dobashcomp "${ED}"usr/etc/bash_completion.d/calibre - rm -r "${ED}"usr/etc/bash_completion.d - find "${ED}"usr/etc -type d -empty -delete - - cd "${ED}"/usr/share/calibre/fonts/liberation || die - local x - for x in * ; do - [[ -f ${EROOT}usr/share/fonts/liberation-fonts/${x} ]] || continue - ln -sf "../../../fonts/liberation-fonts/${x}" "${x}" || die - done - - einfo "Converting python shebangs" - while read -r -d $'\0' ; do - local shebang=$(head -n1 "$REPLY") - if [[ ${shebang} == "#!"*python* ]] ; then - sed -i -e "1s:.*:#!${EPREFIX}/usr/bin/python2.7:" "$REPLY" || \ - die "sed failed" - fi - done < <(find "${ED}" -type f -print0) - - einfo "Compiling python modules" - "${EPREFIX}"/usr/bin/python2.7 -m compileall -q -f \ - -d "${EPREFIX}"/usr/lib/calibre "${ED}"usr/lib/calibre || die - - newinitd "${FILESDIR}"/calibre-server.init calibre-server - newconfd "${FILESDIR}"/calibre-server.conf calibre-server -} - -pkg_postinst() { - fdo-mime_desktop_database_update - fdo-mime_mime_database_update -} diff --git a/app-text/calibre/calibre-2.70.0.ebuild b/app-text/calibre/calibre-2.70.0.ebuild deleted file mode 100644 index 23a7e98bc3e1..000000000000 --- a/app-text/calibre/calibre-2.70.0.ebuild +++ /dev/null @@ -1,251 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="sqlite,ssl" - -inherit eutils fdo-mime bash-completion-r1 multilib toolchain-funcs python-single-r1 - -DESCRIPTION="Ebook management application" -HOMEPAGE="http://calibre-ebook.com/" -SRC_URI="http://download.calibre-ebook.com/${PV}/${P}.tar.xz" - -LICENSE=" - GPL-3+ - GPL-3 - GPL-2+ - GPL-2 - GPL-1+ - LGPL-3+ - LGPL-2.1+ - LGPL-2.1 - BSD - MIT - Old-MIT - Apache-2.0 - public-domain - || ( Artistic GPL-1+ ) - CC-BY-3.0 - OFL-1.1 - PSF-2 - unRAR -" -KEYWORDS="~amd64 ~arm ~x86" -SLOT="0" -IUSE="+udisks" - -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -COMMON_DEPEND="${PYTHON_DEPS} - >=app-text/podofo-0.8.2:= - >=app-text/poppler-0.26.5[qt5] - >=dev-libs/chmlib-0.40:= - dev-libs/glib:2 - >=dev-libs/icu-4.4:= - >=dev-python/apsw-3.7.17[${PYTHON_USEDEP}] - >=dev-python/beautifulsoup-3.0.5:python-2[${PYTHON_USEDEP}] - >=dev-python/cssselect-0.7.1[${PYTHON_USEDEP}] - >=dev-python/cssutils-0.9.9[${PYTHON_USEDEP}] - >=dev-python/dbus-python-1.2.0[${PYTHON_USEDEP}] - >=dev-python/lxml-3.2.1[${PYTHON_USEDEP}] - >=dev-python/mechanize-0.1.11[${PYTHON_USEDEP}] - dev-python/netifaces[${PYTHON_USEDEP}] - dev-python/pillow[${PYTHON_USEDEP}] - dev-python/psutil[${PYTHON_USEDEP}] - >=dev-python/pygments-2.0.1[${PYTHON_USEDEP}] - >=dev-python/python-dateutil-1.4.1[${PYTHON_USEDEP}] - >=dev-python/PyQt5-5.3.1[gui,svg,webkit,widgets,network,printsupport,${PYTHON_USEDEP}] - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - media-fonts/liberation-fonts - >=media-gfx/imagemagick-6.5.9[jpeg,png] - media-libs/fontconfig - >=media-libs/freetype-2:= - >=media-libs/libmtp-1.1.5:= - >=media-libs/libwmf-0.2.8 - sys-libs/zlib - virtual/libusb:1= - virtual/python-dnspython[${PYTHON_USEDEP}] - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXrender - >=x11-misc/xdg-utils-1.0.2-r2 - udisks? ( virtual/libudev )" -RDEPEND="${COMMON_DEPEND} - udisks? ( || ( sys-fs/udisks:2 sys-fs/udisks:0 ) )" -DEPEND="${COMMON_DEPEND} - >=dev-python/setuptools-0.6_rc5[${PYTHON_USEDEP}] - >=virtual/podofo-build-0.8.2 - virtual/pkgconfig" - -src_prepare() { - # no_updates: do not annoy user with "new version is availible all the time - # disable_plugins: walking sec-hole, wait for upstream to use GHNS interface - eapply \ - "${FILESDIR}/${PN}-2.9.0-no_updates_dialog.patch" \ - "${FILESDIR}/${PN}-disable_plugins.patch" - - eapply_user - - # Fix outdated version constant. - #sed -e "s#\\(^numeric_version =\\).*#\\1 (${PV//./, })#" \ - # -i src/calibre/constants.py || \ - # die "sed failed to patch constants.py" - - # Avoid sandbox violation in /usr/share/gnome/apps when linux.py - # calls xdg-* (bug #258938). - sed -e "s|'xdg-desktop-menu', 'install'|\\0, '--mode', 'user'|" \ - -e "s|check_call(\\['xdg-desktop-menu', 'forceupdate'\\])|#\\0|" \ - -e "s|\\(CurrentDir(tdir)\\), \\\\\$|\\1:|" \ - -e "s|, PreserveMIMEDefaults():|:|" \ - -e "s|'xdg-icon-resource', 'install'|\\0, '--mode', 'user'|" \ - -e "s|cmd\[2\]|cmd[4]|" \ - -e "s|cc(\\['xdg-desktop-menu', 'forceupdate'\\])|#\\0|" \ - -e "s|'xdg-mime', 'install'|\\0, '--mode', 'user'|" \ - -i src/calibre/linux.py || die "sed failed to patch linux.py" - - # Disable unnecessary privilege dropping for bug #287067. - sed -e "s:if os.geteuid() == 0:if False and os.geteuid() == 0:" \ - -i setup/install.py || die "sed failed to patch install.py" - - sed -e "/^ self\\.check_call(qmc + \\[.*\\.pro'\\])$/a\ -\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ self.check_call(['sed', \ -'-e', 's|^CFLAGS .*|\\\\\\\\0 ${CFLAGS}|', \ -'-e', 's|^CXXFLAGS .*|\\\\\\\\0 ${CXXFLAGS}|', \ -'-e', 's|^LFLAGS .*|\\\\\\\\0 ${LDFLAGS}|', \ -'-i', 'Makefile'])" \ - -i setup/build.py || die "sed failed to patch build.py" - - # use system beautifulsoup, instead of bundled - rm -f "${S}"/src/calibre/ebooks/BeautifulSoup.py \ - || die "could not remove bundled beautifulsoup" - find "${S}" -type f -name \*.py -exec \ - sed -e 's/calibre.ebooks.BeautifulSoup/BeautifulSoup/' -i {} + \ - || die "could not sed bundled beautifulsoup out of the source tree" - - # avoid failure of xdg tools to recognize vendor prefix - sed -e "s|xdg-icon-resource install|xdg-icon-resource install --novendor|" \ - -e "s|'xdg-mime', 'install'|'xdg-mime', 'install', '--novendor'|" \ - -e "s|'xdg-desktop-menu', 'install'|'xdg-desktop-menu', 'install', '--novendor'|" \ - -i "${S}"/src/calibre/linux.py || die 'sed failed' -} - -src_install() { - # Bypass kbuildsycoca and update-mime-database in order to - # avoid sandbox violations if xdg-mime tries to call them. - cat - > "${T}/kbuildsycoca" <<-EOF - #!${BASH} - echo $0 : $@ - exit 0 - EOF - - cp "${T}"/{kbuildsycoca,update-mime-database} || die - chmod +x "${T}"/{kbuildsycoca,update-mime-database} || die - - export QMAKE="${EPREFIX}/usr/$(get_libdir)/qt5/bin/qmake" - - # Unset DISPLAY in order to prevent xdg-mime from triggering a sandbox - # violation with kbuildsycoca as in bug #287067, comment #13. - export -n DISPLAY - - # Bug #352625 - Some LANGUAGE values can trigger the following ValueError: - # File "/usr/lib/python2.6/locale.py", line 486, in getdefaultlocale - # return _parse_localename(localename) - # File "/usr/lib/python2.6/locale.py", line 418, in _parse_localename - # raise ValueError, 'unknown locale: %s' % localename - #ValueError: unknown locale: 46 - export -n LANGUAGE - - # Bug #295672 - Avoid sandbox violation in ~/.config by forcing - # variables to point to our fake temporary $HOME. - export HOME="${T}/fake_homedir" - export XDG_CONFIG_HOME="${HOME}/.config" - export XDG_DATA_HOME="${HOME}/.local/share" - export CALIBRE_CONFIG_DIRECTORY="${XDG_CONFIG_HOME}/calibre" - mkdir -p "${XDG_DATA_HOME}" "${CALIBRE_CONFIG_DIRECTORY}" || die - - tc-export CC CXX - # Bug #334243 - respect LDFLAGS when building extensions - export OVERRIDE_CFLAGS="$CFLAGS" OVERRIDE_LDFLAGS="$LDFLAGS" - local libdir=$(get_libdir) - [[ -n $libdir ]] || die "get_libdir returned an empty string" - - # Bug #472690 - Avoid sandbox violation for /dev/dri/card0. - local x - for x in /dev/dri/card[0-9] ; do - [[ -e ${x} ]] && addpredict ${x} - done - - #dodir "/usr/$(get_libdir)/python2.7/site-packages" # for init_calibre.py - #dodir $(python_get_sitedir) - PATH=${T}:${PATH} PYTHONPATH=${S}/src${PYTHONPATH:+:}${PYTHONPATH} \ - "${PYTHON}" setup.py install \ - --root="${D}" \ - --prefix="${EPREFIX}/usr" \ - --libdir="${EPREFIX}/usr/${libdir}" \ - --staging-root="${ED}usr" \ - --staging-libdir="${ED}usr/${libdir}" || die - - grep -rlZ "${ED}" "${ED}" | xargs -0 sed -e "s:${D}:/:g" -i || - die "failed to fix harcoded \$D in paths" - - # The menu entries end up here due to '--mode user' being added to - # xdg-* options in src_prepare. - dodir /usr/share/mime/packages - chmod -fR a+rX,u+w,g-w,o-w "${HOME}"/.local - mv "${HOME}"/.local/share/mime/packages/* "${ED}"usr/share/mime/packages/ || - die "failed to register mime types" - dodir /usr/share/icons - mv "${HOME}"/.local/share/icons/* "${ED}"usr/share/icons/ || - die "failed to install icon files" - - domenu "${HOME}"/.local/share/applications/*.desktop || - die "failed to install .desktop menu files" - - find "${ED}"usr/share -type d -empty -delete - - cd "${ED}"/usr/share/calibre/fonts/liberation || die - local x - for x in * ; do - [[ -f ${EPREFIX}usr/share/fonts/liberation-fonts/${x} ]] || continue - ln -sf "../../../fonts/liberation-fonts/${x}" "${x}" || die - done - - einfo "Converting python shebangs" - python_fix_shebang "${ED}" - - einfo "Compiling python modules" - python_optimize "${ED}"usr/lib/calibre - - newinitd "${FILESDIR}"/calibre-server.init calibre-server - newconfd "${FILESDIR}"/calibre-server.conf calibre-server - - bashcomp_alias calibre \ - lrfviewer \ - calibre-debug \ - ebook-meta \ - calibre-server \ - ebook-viewer \ - ebook-polish \ - fetch-ebook-metadata \ - lrf2lrs \ - ebook-convert \ - ebook-edit \ - calibre-smtp \ - ebook-device - -} - -pkg_postinst() { - fdo-mime_desktop_database_update - fdo-mime_mime_database_update -} - -pkg_postrm() { - fdo-mime_desktop_database_update - fdo-mime_mime_database_update -} diff --git a/app-text/calibre/calibre-2.73.0.ebuild b/app-text/calibre/calibre-2.73.0.ebuild deleted file mode 100644 index 9083e7f6f77b..000000000000 --- a/app-text/calibre/calibre-2.73.0.ebuild +++ /dev/null @@ -1,254 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=6 - -PYTHON_COMPAT=( python2_7 ) -PYTHON_REQ_USE="sqlite,ssl" - -inherit eutils fdo-mime bash-completion-r1 multilib toolchain-funcs python-single-r1 - -DESCRIPTION="Ebook management application" -HOMEPAGE="http://calibre-ebook.com/" -SRC_URI="http://download.calibre-ebook.com/${PV}/${P}.tar.xz" - -LICENSE=" - GPL-3+ - GPL-3 - GPL-2+ - GPL-2 - GPL-1+ - LGPL-3+ - LGPL-2.1+ - LGPL-2.1 - BSD - MIT - Old-MIT - Apache-2.0 - public-domain - || ( Artistic GPL-1+ ) - CC-BY-3.0 - OFL-1.1 - PSF-2 - unRAR -" -KEYWORDS="~amd64 ~arm ~x86" -SLOT="0" -IUSE="+udisks" - -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -COMMON_DEPEND="${PYTHON_DEPS} - >=app-text/podofo-0.8.2:= - >=app-text/poppler-0.26.5[qt5] - >=dev-libs/chmlib-0.40:= - dev-libs/glib:2 - >=dev-libs/icu-4.4:= - >=dev-python/apsw-3.7.17[${PYTHON_USEDEP}] - >=dev-python/beautifulsoup-3.0.5:python-2[${PYTHON_USEDEP}] - >=dev-python/cssselect-0.7.1[${PYTHON_USEDEP}] - >=dev-python/cssutils-0.9.9[${PYTHON_USEDEP}] - >=dev-python/dbus-python-1.2.0[${PYTHON_USEDEP}] - >=dev-python/lxml-3.2.1[${PYTHON_USEDEP}] - >=dev-python/mechanize-0.1.11[${PYTHON_USEDEP}] - dev-python/netifaces[${PYTHON_USEDEP}] - dev-python/pillow[${PYTHON_USEDEP}] - dev-python/psutil[${PYTHON_USEDEP}] - >=dev-python/pygments-2.0.1[${PYTHON_USEDEP}] - >=dev-python/python-dateutil-1.4.1[${PYTHON_USEDEP}] - >=dev-python/PyQt5-5.3.1[gui,svg,webkit,widgets,network,printsupport,${PYTHON_USEDEP}] - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtwidgets:5 - media-fonts/liberation-fonts - >=media-gfx/imagemagick-6.5.9[jpeg,png] - media-libs/fontconfig - >=media-libs/freetype-2:= - >=media-libs/libmtp-1.1.5:= - >=media-libs/libwmf-0.2.8 - sys-libs/zlib - virtual/libusb:1= - virtual/python-dnspython[${PYTHON_USEDEP}] - x11-libs/libX11 - x11-libs/libXext - x11-libs/libXrender - >=x11-misc/xdg-utils-1.0.2-r2 - udisks? ( virtual/libudev )" -RDEPEND="${COMMON_DEPEND} - udisks? ( || ( sys-fs/udisks:2 sys-fs/udisks:0 ) )" -DEPEND="${COMMON_DEPEND} - >=dev-python/setuptools-0.6_rc5[${PYTHON_USEDEP}] - >=virtual/podofo-build-0.8.2 - virtual/pkgconfig" - -src_prepare() { - # no_updates: do not annoy user with "new version is availible all the time - # disable_plugins: walking sec-hole, wait for upstream to use GHNS interface - eapply \ - "${FILESDIR}/${PN}-2.9.0-no_updates_dialog.patch" \ - "${FILESDIR}/${PN}-disable_plugins.patch" - - eapply_user - - # Fix outdated version constant. - #sed -e "s#\\(^numeric_version =\\).*#\\1 (${PV//./, })#" \ - # -i src/calibre/constants.py || \ - # die "sed failed to patch constants.py" - - # Avoid sandbox violation in /usr/share/gnome/apps when linux.py - # calls xdg-* (bug #258938). - sed -e "s|'xdg-desktop-menu', 'install'|\\0, '--mode', 'user'|" \ - -e "s|check_call(\\['xdg-desktop-menu', 'forceupdate'\\])|#\\0|" \ - -e "s|\\(CurrentDir(tdir)\\), \\\\\$|\\1:|" \ - -e "s|, PreserveMIMEDefaults():|:|" \ - -e "s|'xdg-icon-resource', 'install'|\\0, '--mode', 'user'|" \ - -e "s|cmd\[2\]|cmd[4]|" \ - -e "s|cc(\\['xdg-desktop-menu', 'forceupdate'\\])|#\\0|" \ - -e "s|'xdg-mime', 'install'|\\0, '--mode', 'user'|" \ - -i src/calibre/linux.py || die "sed failed to patch linux.py" - - # Disable unnecessary privilege dropping for bug #287067. - sed -e "s:if os.geteuid() == 0:if False and os.geteuid() == 0:" \ - -i setup/install.py || die "sed failed to patch install.py" - - sed -e "/^ self\\.check_call(qmc + \\[.*\\.pro'\\])$/a\ -\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ self.check_call(['sed', \ -'-e', 's|^CFLAGS .*|\\\\\\\\0 ${CFLAGS}|', \ -'-e', 's|^CXXFLAGS .*|\\\\\\\\0 ${CXXFLAGS}|', \ -'-e', 's|^LFLAGS .*|\\\\\\\\0 ${LDFLAGS}|', \ -'-i', 'Makefile'])" \ - -i setup/build.py || die "sed failed to patch build.py" - - # use system beautifulsoup, instead of bundled - rm -f "${S}"/src/calibre/ebooks/BeautifulSoup.py \ - || die "could not remove bundled beautifulsoup" - find "${S}" -type f -name \*.py -exec \ - sed -e 's/calibre.ebooks.BeautifulSoup/BeautifulSoup/' -i {} + \ - || die "could not sed bundled beautifulsoup out of the source tree" - - # avoid failure of xdg tools to recognize vendor prefix - sed -e "s|xdg-icon-resource install|xdg-icon-resource install --novendor|" \ - -e "s|'xdg-mime', 'install'|'xdg-mime', 'install', '--novendor'|" \ - -e "s|'xdg-desktop-menu', 'install'|'xdg-desktop-menu', 'install', '--novendor'|" \ - -i "${S}"/src/calibre/linux.py || die 'sed failed' - - # don't create/install uninstaller - sed '/self\.create_uninstaller()/d' -i src/calibre/linux.py || die -} - -src_install() { - # Bypass kbuildsycoca and update-mime-database in order to - # avoid sandbox violations if xdg-mime tries to call them. - cat - > "${T}/kbuildsycoca" <<-EOF - #!${BASH} - echo $0 : $@ - exit 0 - EOF - - cp "${T}"/{kbuildsycoca,update-mime-database} || die - chmod +x "${T}"/{kbuildsycoca,update-mime-database} || die - - export QMAKE="${EPREFIX}/usr/$(get_libdir)/qt5/bin/qmake" - - # Unset DISPLAY in order to prevent xdg-mime from triggering a sandbox - # violation with kbuildsycoca as in bug #287067, comment #13. - export -n DISPLAY - - # Bug #352625 - Some LANGUAGE values can trigger the following ValueError: - # File "/usr/lib/python2.6/locale.py", line 486, in getdefaultlocale - # return _parse_localename(localename) - # File "/usr/lib/python2.6/locale.py", line 418, in _parse_localename - # raise ValueError, 'unknown locale: %s' % localename - #ValueError: unknown locale: 46 - export -n LANGUAGE - - # Bug #295672 - Avoid sandbox violation in ~/.config by forcing - # variables to point to our fake temporary $HOME. - export HOME="${T}/fake_homedir" - export XDG_CONFIG_HOME="${HOME}/.config" - export XDG_DATA_HOME="${HOME}/.local/share" - export CALIBRE_CONFIG_DIRECTORY="${XDG_CONFIG_HOME}/calibre" - mkdir -p "${XDG_DATA_HOME}" "${CALIBRE_CONFIG_DIRECTORY}" || die - - tc-export CC CXX - # Bug #334243 - respect LDFLAGS when building extensions - export OVERRIDE_CFLAGS="$CFLAGS" OVERRIDE_LDFLAGS="$LDFLAGS" - local libdir=$(get_libdir) - [[ -n $libdir ]] || die "get_libdir returned an empty string" - - # Bug #472690 - Avoid sandbox violation for /dev/dri/card0. - local x - for x in /dev/dri/card[0-9] ; do - [[ -e ${x} ]] && addpredict ${x} - done - - #dodir "/usr/$(get_libdir)/python2.7/site-packages" # for init_calibre.py - #dodir $(python_get_sitedir) - PATH=${T}:${PATH} PYTHONPATH=${S}/src${PYTHONPATH:+:}${PYTHONPATH} \ - "${PYTHON}" setup.py install \ - --root="${D}" \ - --prefix="${EPREFIX}/usr" \ - --libdir="${EPREFIX}/usr/${libdir}" \ - --staging-root="${ED}usr" \ - --staging-libdir="${ED}usr/${libdir}" || die - - #grep -rlZ "${ED}" "${ED}" | xargs -0 sed -e "s:${D}:/:g" -i || - # die "failed to fix harcoded \$D in paths" - - # The menu entries end up here due to '--mode user' being added to - # xdg-* options in src_prepare. - dodir /usr/share/mime/packages - chmod -fR a+rX,u+w,g-w,o-w "${HOME}"/.local - mv "${HOME}"/.local/share/mime/packages/* "${ED}"usr/share/mime/packages/ || - die "failed to register mime types" - dodir /usr/share/icons - mv "${HOME}"/.local/share/icons/* "${ED}"usr/share/icons/ || - die "failed to install icon files" - - domenu "${HOME}"/.local/share/applications/*.desktop || - die "failed to install .desktop menu files" - - find "${ED}"usr/share -type d -empty -delete - - cd "${ED}"/usr/share/calibre/fonts/liberation || die - local x - for x in * ; do - [[ -f ${EPREFIX}usr/share/fonts/liberation-fonts/${x} ]] || continue - ln -sf "../../../fonts/liberation-fonts/${x}" "${x}" || die - done - - einfo "Converting python shebangs" - python_fix_shebang "${ED}" - - einfo "Compiling python modules" - python_optimize "${ED}"usr/lib/calibre - - newinitd "${FILESDIR}"/calibre-server.init calibre-server - newconfd "${FILESDIR}"/calibre-server.conf calibre-server - - bashcomp_alias calibre \ - lrfviewer \ - calibre-debug \ - ebook-meta \ - calibre-server \ - ebook-viewer \ - ebook-polish \ - fetch-ebook-metadata \ - lrf2lrs \ - ebook-convert \ - ebook-edit \ - calibre-smtp \ - ebook-device - -} - -pkg_postinst() { - fdo-mime_desktop_database_update - fdo-mime_mime_database_update -} - -pkg_postrm() { - fdo-mime_desktop_database_update - fdo-mime_mime_database_update -} -- cgit v1.2.3