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
126
127
128
129
130
131
132
|
# 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.5.14-r1.ebuild,v 1.2 2009/06/15 20:18:21 zmedico Exp $
EAPI=2
NEED_PYTHON=2.6
inherit python distutils eutils fdo-mime bash-completion
MY_P="${P/_p/-p}"
S="${WORKDIR}/${MY_P}"
DESCRIPTION="Ebook management application."
HOMEPAGE="http://calibre.kovidgoyal.net"
SRC_URI="http://calibre.kovidgoyal.net/downloads/${MY_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.4.2[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/pdftk-1.12
>=dev-python/cherrypy-3.0.2-r1
>=dev-python/cssutils-0.9.5.1
>=dev-python/odfpy-0.7"
RDEPEND="$SHARED_DEPEND
>=dev-python/reportlab-2.1
!dev-python/django-tagging"
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"
# Move the bash-completion file and properly install it.
mv "${D}"/etc/bash_completion.d/calibre "${S}/" \
|| die "cannot move the bash-completion file"
dobashcompletion "${S}"/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
}
|