blob: c7d5023a4cc1413dc7236a8d7bd1cc7b0d6db432 (
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
|
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit autotools fdo-mime multilib vala
MY_PV=${PV/_/}
MY_P="${PN}-${MY_PV}"
DESCRIPTION="A library for file management"
HOMEPAGE="http://pcmanfm.sourceforge.net/"
SRC_URI="https://github.com/lxde/libfm/archive/1.2.4.tar.gz -> ${MY_P}.tar.gz"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~x86 ~amd64-linux ~x86-linux"
LICENSE="GPL-2"
SLOT="0/4.4.0" #copy ABI_VERSION because it seems upstream change it randomly
IUSE="+automount debug doc examples exif gtk udisks vala"
COMMON_DEPEND=">=dev-libs/glib-2.18:2
gtk? ( >=x11-libs/gtk+-2.16:2 )
>=lxde-base/menu-cache-0.3.2:=
~x11-libs/libfm-extra-${PV}
udisks? ( dev-libs/dbus-glib )"
RDEPEND="${COMMON_DEPEND}
!lxde-base/lxshortcut
x11-misc/shared-mime-info
automount? (
udisks? ( gnome-base/gvfs[udev,udisks] )
!udisks? ( gnome-base/gvfs[udev] )
)
exif? ( media-libs/libexif )"
DEPEND="${COMMON_DEPEND}
vala? ( $(vala_depend) )
doc? (
dev-util/gtk-doc
)
app-arch/xz-utils
>=dev-util/intltool-0.40
virtual/pkgconfig
sys-devel/gettext"
S="${WORKDIR}"/${MY_P}
REQUIRED_USE="udisks? ( automount ) doc? ( gtk )"
src_prepare() {
# Fix use after free bug, see
# https://github.com/lxde/libfm/pull/11/commits/9e3a809c6a8a5079f05e04edac9457d317822321
epatch "${FILESDIR}"/libfm-fix-use-after-free.diff
if ! use doc; then
sed -ie '/^SUBDIR.*=/s#docs##' "${S}"/Makefile.am || die "sed failed"
sed -ie '/^[[:space:]]*docs/d' configure.ac || die "sed failed"
fi
sed -i -e "s:-O0::" -e "/-DG_ENABLE_DEBUG/s: -g::" \
configure.ac || die "sed failed"
#disable unused translations. Bug #356029
for trans in app-chooser ask-rename exec-file file-prop preferred-apps \
progress;do
echo "data/ui/"${trans}.ui >> po/POTFILES.in
done
#Remove -Werror for automake-1.12. Bug #421101
sed -i "s:-Werror::" configure.ac || die
# subslot sanity check
local sub_slot=${SLOT#*/}
local libfm_major_abi=$(sed -rne '/ABI_VERSION/s:.*=::p' src/Makefile.am | tr ':' '.')
if [[ ${sub_slot} != ${libfm_major_abi} ]]; then
eerror "Ebuild sub-slot (${sub_slot}) does not match ABI_VERSION(${libfm_major_abi})"
eerror "Please update SLOT variable as follows:"
eerror " SLOT=\"${SLOT%%/*}/${libfm_major_abi}\""
eerror
die "sub-slot sanity check failed"
fi
eautoreconf
rm -r autom4te.cache || die
use vala && export VALAC="$(type -p valac-$(vala_best_api_version))"
}
src_configure() {
econf \
--sysconfdir="${EPREFIX}/etc" \
--disable-dependency-tracking \
--disable-static \
$(use_enable examples demo) \
$(use_enable exif) \
$(use_enable debug) \
$(use_enable udisks) \
$(use_enable vala actions) \
$(use_with gtk) \
$(use_enable doc gtk-doc) \
--with-html-dir=/usr/share/doc/${PF}/html
}
src_install() {
default
find "${D}" -name '*.la' -exec rm -f '{}' +
# Sometimes a directory is created instead of a symlink. No idea why...
# It is wrong anyway. We expect a libfm-1.0 directory and then a libfm
# symlink to it.
if [[ -h ${D}/usr/include/${PN} || -d ${D}/usr/include/${PN} ]]; then
rm -r "${D}"/usr/include/${PN}
fi
# Remove files installed by split-off libfm-extra package
rm "${D}"/usr/include/libfm-1.0/fm-{extra,version,xml-file}.h
rm "${D}"/usr/$(get_libdir)/libfm-extra*
rm "${D}"/usr/$(get_libdir)/pkgconfig/libfm-extra.pc
}
pkg_preinst() {
# Resolve the symlink mess. Bug #439570
[[ -d "${ROOT}"/usr/include/${PN} ]] && \
rm -rf "${ROOT}"/usr/include/${PN}
if [[ -d "${D}"/usr/include/${PN}-1.0 ]]; then
cd "${D}"/usr/include
ln -s --force ${PN}-1.0 ${PN}
fi
}
pkg_postinst() {
fdo-mime_mime_database_update
}
pkg_postrm() {
fdo-mime_mime_database_update
}
|