blob: 0f6e533c3d0a5f972122fa9c72e79d2442ae371f (
plain)
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
|
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
PYTHON_DEPEND="python? 2"
SUPPORT_PYTHON_ABIS="1"
RESTRICT_PYTHON_ABIS="3.* *-jython"
GNOME_ORG_MODULE="gamin"
GNOME_TARBALL_SUFFIX="bz2"
inherit autotools eutils flag-o-matic libtool python gnome.org multilib-minimal
DESCRIPTION="Library providing the FAM File Alteration Monitor API"
HOMEPAGE="https://www.gnome.org/~veillard/gamin/"
SRC_URI="${SRC_URI}
mirror://gentoo/gamin-0.1.9-freebsd.patch.bz2
https://dev.gentoo.org/~grobian/patches/libgamin-0.1.10-opensolaris.patch.bz2
http://pkgconfig.freedesktop.org/releases/pkg-config-0.26.tar.gz" # pkg.m4 for eautoreconf
LICENSE="LGPL-2"
SLOT="0"
KEYWORDS="alpha amd64 arm hppa ia64 ~m68k ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~x86-solaris"
IUSE="debug kernel_linux python static-libs"
RESTRICT="test" # needs gam-server
RDEPEND="!app-admin/fam
!<app-admin/gamin-0.1.10"
DEPEND="${RDEPEND}"
pkg_setup() {
if use python; then
python_pkg_setup
fi
}
src_prepare() {
mv -vf "${WORKDIR}"/pkg-config-*/pkg.m4 "${WORKDIR}"/ || die
# Fix QA warnings, bug #257281, upstream #466791
epatch "${FILESDIR}"/${PN}-0.1.10-compilewarnings.patch
if [[ ${CHOST} != *-solaris* ]] ; then
# Fix compile warnings; bug #188923
epatch "${DISTDIR}"/gamin-0.1.9-freebsd.patch.bz2
else
# (Open)Solaris necessary patches (changes configure.in), unfortunately
# conflicts with freebsd patch and breaks some linux installs so it must
# only be applied if on solaris.
epatch "${DISTDIR}"/${P}-opensolaris.patch.bz2
fi
# Fix collision problem due to intermediate library, upstream bug #530635
epatch "${FILESDIR}"/${PN}-0.1.10-noinst-lib.patch
# Fix compilation with latest glib, bug #382783
epatch "${FILESDIR}/${PN}-0.1.10-G_CONST_RETURN-removal.patch"
# Fix crosscompilation issues, bug #267604
epatch "${FILESDIR}/${PN}-0.1.10-crosscompile-fix.patch"
# Enable linux specific features on armel, upstream bug #588338
epatch "${FILESDIR}/${P}-armel-features.patch"
# Fix possible server deadlock in ih_sub_cancel, upstream bug #667230
epatch "${FILESDIR}/${PN}-0.1.10-deadlock.patch"
# Drop DEPRECATED flags
sed -i -e 's:-DG_DISABLE_DEPRECATED:$(NULL):g' server/Makefile.am || die
# Build only shared version of Python module.
epatch "${FILESDIR}"/${PN}-0.1.10-disable_python_static_library.patch
# Python bindings are built/installed manually.
sed -e "/SUBDIRS += python/d" -i Makefile.am
sed -i \
-e 's:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:' \
-e 's:AM_PROG_CC_STDC:AC_PROG_CC:' \
configure.in || die #466962
# autoconf is required as the user-cflags patch modifies configure.in
# however, elibtoolize is also required, so when the above patch is
# removed, replace the following call with a call to elibtoolize
AT_M4DIR="${WORKDIR}" eautoreconf
use python && python_clean_py-compile_files
}
multilib_src_configure() {
ECONF_SOURCE="${S}" econf \
$(use_enable static-libs static) \
--disable-debug \
--disable-server \
$(use_enable kernel_linux inotify) \
$(use_enable debug debug-api) \
$(use_with python)
}
multilib_src_compile() {
default
if multilib_is_native_abi && use python; then
python_copy_sources python
building() {
emake \
PYTHON_INCLUDES="${EPREFIX}$(python_get_includedir)" \
PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)" \
PYTHON_VERSION="$(python_get_version)"
}
S="${BUILD_DIR}" python_execute_function -s --source-dir python building
fi
}
multilib_src_install() {
emake DESTDIR="${D}" install
if multilib_is_native_abi && use python; then
installation() {
emake \
DESTDIR="${D}" \
PYTHON_SITE_PACKAGES="${EPREFIX}$(python_get_sitedir)" \
PYTHON_VERSION="$(python_get_version)" \
install
}
S="${BUILD_DIR}" python_execute_function -s --source-dir python installation
python_clean_installation_image
fi
}
multilib_src_instal_all() {
dodoc AUTHORS ChangeLog README TODO NEWS doc/*txt
dohtml doc/*
find "${D}" -name '*.la' -exec rm -f {} +
}
pkg_postinst() {
if use python; then
python_mod_optimize gamin.py
fi
}
pkg_postrm() {
if use python; then
python_mod_cleanup gamin.py
fi
}
|