jlec        14/11/23 12:37:49

  Modified:             ChangeLog
  Added:                calibre-1.48-r1.ebuild
  Log:
  app-text/calibre: Add workaround for newer PyQt4, #526524; use 
distutils-r1.eclass, fix installation of bash-completions
  
  (Portage version: 2.2.14/cvs/Linux x86_64, signed Manifest commit with key 
B9D4F231BD1558AB!)

Revision  Changes    Path
1.336                app-text/calibre/ChangeLog

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-text/calibre/ChangeLog?rev=1.336&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-text/calibre/ChangeLog?rev=1.336&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-text/calibre/ChangeLog?r1=1.335&r2=1.336

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/app-text/calibre/ChangeLog,v
retrieving revision 1.335
retrieving revision 1.336
diff -u -r1.335 -r1.336
--- ChangeLog   9 Nov 2014 13:18:44 -0000       1.335
+++ ChangeLog   23 Nov 2014 12:37:49 -0000      1.336
@@ -1,6 +1,12 @@
 # ChangeLog for app-text/calibre
 # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-text/calibre/ChangeLog,v 1.335 
2014/11/09 13:18:44 yngwin Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-text/calibre/ChangeLog,v 1.336 
2014/11/23 12:37:49 jlec Exp $
+
+*calibre-1.48-r1 (23 Nov 2014)
+
+  23 Nov 2014; Justin Lecher <[email protected]> +calibre-1.48-r1.ebuild:
+  Add workaround for newer PyQt4, #526524; use distutils-r1.eclass, fix
+  installation of bash-completions
 
   09 Nov 2014; Ben de Groot <[email protected]> calibre-2.9.0.ebuild:
   Fix failure of xdg tools to recognize vendor prefix (see bug #521484)



1.1                  app-text/calibre/calibre-1.48-r1.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-text/calibre/calibre-1.48-r1.ebuild?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/app-text/calibre/calibre-1.48-r1.ebuild?rev=1.1&content-type=text/plain

Index: calibre-1.48-r1.ebuild
===================================================================
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-text/calibre/calibre-1.48-r1.ebuild,v 
1.1 2014/11/23 12:37:49 jlec Exp $

EAPI=5

PYTHON_COMPAT=( python2_7 )
PYTHON_REQ_USE="sqlite,ssl"

inherit bash-completion-r1 distutils-r1 eutils fdo-mime multilib toolchain-funcs

DESCRIPTION="Ebook management application"
HOMEPAGE="http://calibre-ebook.com/";
[[ ${PV} == ${PV%.*}.${PV#*.} ]] && MY_PV=${PV}.0 || MY_PV=${PV}
SRC_URI="http://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 ~arm ~x86"
SLOT="0"
IUSE="+udisks"

COMMON_DEPEND="
        >=app-text/podofo-0.8.2:=
        >=app-text/poppler-0.20.2:=[qt4,xpdf-headers(+)]
        >=dev-libs/chmlib-0.40:=
        >=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-0.82.2[${PYTHON_USEDEP}]
        >=dev-python/dnspython-1.6.0[${PYTHON_USEDEP}]
        >=dev-python/lxml-3.2.1[${PYTHON_USEDEP}]
        >=dev-python/mechanize-0.1.11[${PYTHON_USEDEP}]
        >=dev-python/python-dateutil-1.4.1[${PYTHON_USEDEP}]
        <dev-python/PyQt4-4.11.3[X,svg,webkit,${PYTHON_USEDEP}]
        dev-python/netifaces[${PYTHON_USEDEP}]
        dev-qt/qtdbus:4=
        dev-qt/qtsvg:4=
        media-fonts/liberation-fonts
        >=media-gfx/imagemagick-6.5.9[jpeg,png]
        >=media-libs/freetype-2:=
        >=media-libs/libwmf-0.2.8
        >=media-libs/libmtp-1.1.5:=
        virtual/libusb:1=
        virtual/python-imaging[${PYTHON_USEDEP}]
        >=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[${PYTHON_USEDEP}]
        >=virtual/podofo-build-0.8.2"

S="${WORKDIR}"/${PN}

PATCHES=(
        # 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
        # C locale: if LC_ALL=C do not raise an exception when locale cannot be 
canonicalized
        "${FILESDIR}"/${PN}-1.34-no_updates_dialog.patch
        "${FILESDIR}"/${PN}-disable_plugins.patch
        )

export_xdg_dirs() {
        # 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"
}

python_prepare_all() {
        # 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"

        # 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"

        # override install path for bash-completions
        local mybcd="${D}/$(get_bashcompdir)"
        sed -e "s#^def \(get_bash_completion_path.*\)\$#def \1\n    return 
os.path.join('${mybcd}','calibre')\n\ndef old_\1#" \
          -i "${S}"/src/calibre/linux.py || die "Could not fix bash-completions 
install path"

        tc-export CC CXX

        distutils-r1_python_prepare_all
}

python_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} || die
        chmod +x "${T}"/{kbuildsycoca,update-mime-database} || die

        # 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

        export_xdg_dirs
        mkdir -p "${XDG_CONFIG_HOME}" "${CALIBRE_CONFIG_DIRECTORY}" || die

        # 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 $(python_get_sitedir) # for init_calibre.py
        PATH=${T}:${PATH} PYTHONPATH=${S}/src${PYTHONPATH:+:}${PYTHONPATH} \
        esetup.py install \
                --root="${D}" \
                --prefix="${EPREFIX}/usr" \
                --libdir="${EPREFIX}/usr/${libdir}" \
                --staging-root="${ED}usr" \
                --staging-libdir="${ED}usr/${libdir}"
}

python_install_all() {
        export_xdg_dirs

        python_replicate_script "${ED}"/usr/bin/*

        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 || die
        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

        find "${ED}"usr/share -type d -empty -delete || die

        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 "Compiling python modules"
        python_foreach_impl python_optimize "${ED}"usr/$(get_libdir)/${PN}

        newinitd "${FILESDIR}"/calibre-server.init calibre-server
        newconfd "${FILESDIR}"/calibre-server.conf calibre-server

        bashcomp_alias calibre \
                lrf2lrs \
                ebook-meta \
                ebook-polish \
                lrfviewer \
                ebook-viewer \
                ebook-edit \
                fetch-ebook-metadata \
                calibre-smtp \
                calibre-server \
                calibre-debug \
                ebook-device \
                ebook-convert

}

pkg_postinst() {
        fdo-mime_desktop_database_update
        fdo-mime_mime_database_update
}

pkg_postrm() {
        fdo-mime_desktop_database_update
        fdo-mime_mime_database_update
}




Reply via email to