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
122
123
124
125
|
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-text/calibre/calibre-0.6.8.ebuild,v 1.1 2009/08/22 03:42:08 zmedico Exp $
EAPI=2
NEED_PYTHON=2.6
inherit python distutils eutils fdo-mime bash-completion
DESCRIPTION="Ebook management application."
HOMEPAGE="http://calibre.kovidgoyal.net"
SRC_URI="http://calibre.kovidgoyal.net/downloads/$P.tar.gz"
LICENSE="GPL-2"
KEYWORDS="~amd64 ~x86"
SLOT="0"
IUSE=""
# libusb-compat is untested
SHARED_DEPEND=">=dev-lang/python-2.6[sqlite]
>=dev-python/setuptools-0.6_rc5
>=dev-python/imaging-1.1.6
dev-libs/libusb:0
>=dev-python/PyQt4-4.5[X,svg,webkit]
>=dev-python/mechanize-0.1.11
>=media-gfx/imagemagick-6.3.5
>=x11-misc/xdg-utils-1.0.2
>=dev-python/dbus-python-0.82.2
>=dev-python/lxml-2.1.5
>=dev-python/python-dateutil-1.4.1
>=dev-python/beautifulsoup-3.0.5
>=dev-python/dnspython-1.6.0
>=sys-apps/help2man-1.36.4
>=dev-python/pyPdf-1.12
|| ( app-text/podofo >=app-text/pdftk-1.12 )
>=dev-python/cherrypy-3.0.2-r1
>=dev-python/cssutils-0.9.6_alpha4
>=dev-python/odfpy-0.7"
RDEPEND="$SHARED_DEPEND
>=dev-python/reportlab-2.1"
DEPEND="$SHARED_DEPEND
dev-python/setuptools
>=gnome-base/librsvg-2.0.0
>=x11-misc/xdg-utils-1.0.2-r2
sys-apps/help2man"
src_prepare() {
# Removing the post_install call. We'll do that stuff in src_install.
sed -i -e "/if 'install'/,/subprocess.check_call/d" \
setup.py || die "couldn't remove post_install call"
# For help2man to succeed, we need to tell it the path to the tools.
sed -i -e "s:\('help2man',\) \(prog\):\1 \'PYTHONPATH=\"${D}$(python_get_sitedir)\" \' + \'${D}usr/bin/\' + \2:" \
src/calibre/linux.py || die "sed'ing in the IMAGE path failed"
# Avoid sandbox violation in /usr/share/gnome/apps when linux.py
# calls xdg-desktop-menu (bug #258938). This also prevents
# "${D}"/usr/share/applications/{mimeinfo.cache,defaults.list}
# from being installed (we don't want them anyway).
sed -i -e "s:xdg-desktop-menu install:xdg-desktop-menu install --mode user:" \
src/calibre/linux.py || die "sed'ing in the IMAGE path failed"
distutils_src_prepare
}
src_install() {
pushd "${S}"/build
ln -s lib\.* lib
popd
distutils_src_install
# Create directory before running the postinst script
# otherwise it will bail out.
dodir /usr/share/icons/hicolor
dodir /etc/xdg/menus
dodir /usr/share/applications
dodir /usr/share/desktop-directories
dodir /usr/share/applnk
dodir /usr/share/mime/packages
# Bypass the default kde-config output, and force it to
# tell xdg-mime to use a different path.
cat - > "${T}/kde-config" <<EOF
#!/bin/bash
case \$1:\$2 in
--version:) echo -e "Qt: 3.3.8\nKDE: 3.5.8\nkde-config: 1.0" ;;
--path:mime) echo "${D}/usr/share/mimelnk/" ;;
esac
EOF
chmod +x "${T}/kde-config"
PATH="${T}:${PATH}" KDEDIRS="${D}/usr" XDG_DATA_DIRS="${D}/usr/share" DESTDIR="${D}" PYTHONPATH="${S}/build/lib" \
python "${S}"/src/${PN}/linux.py \
--use-destdir --do-not-reload-udev-hal \
--group-file="${ROOT}"/etc/group --dont-check-root \
|| die "post-installation failed."
# The menu entries end up here due to '--mode user' being added to
# xdg-desktop-menu options in src_prepare.
domenu "$HOME"/.local/share/applications/*.desktop || \
die "failed to install .desktop menu files"
dobashcompletion "$D"usr/share/bash-completion/calibre
find "${D}"/etc -type d -empty -delete
# Removing junk.
# Bundled python modules: Module | Package
# ----------------------------
# encutils | cssutils
# odf | odfpy
rm -r "${D}"/usr/share/mime/{subclasses,XMLnamespaces,globs{,2},mime.cache,magic,aliases,types,treemagic,{generic-,}icons} \
"${D}"/usr/share/{applnk,desktop-directories} \
"${D}$(python_get_sitedir)"/{cherrypy,cssutils,encutils,odf,pyPdf}
}
pkg_postinst() {
fdo-mime_desktop_database_update
fdo-mime_mime_database_update
distutils_pkg_postinst
bash-completion_pkg_postinst
}
|