blob: ffa37fbe9ac42a4b40fb068d751e998ce1adb05c (
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
|
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
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/${PV}.tar.gz -> ${MY_P}.tar.gz"
KEYWORDS="~alpha amd64 arm ~arm64 ~mips ppc x86 ~amd64-linux ~x86-linux"
LICENSE="GPL-2"
SLOT="0/4.5.0" #copy ABI_VERSION because it seems upstream change it randomly
IUSE="+automount debug doc examples exif gtk gtk3 udisks vala"
COMMON_DEPEND=">=dev-libs/glib-2.18:2
gtk? ( >=x11-libs/gtk+-2.16:2 )
gtk3? ( >=x11-libs/gtk+-3.18:3 )
>=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 ) gtk3? ( 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() {
if use gtk3; then
econf \
--sysconfdir="${EPREFIX}/etc" \
--disable-dependency-tracking \
--disable-static \
--with-gtk=3 \
$(use_enable examples demo) \
$(use_enable debug) \
$(use_enable udisks) \
$(use_enable vala actions) \
$(use_enable doc gtk-doc) \
--with-html-dir=/usr/share/doc/${PF}/html
else
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
fi
}
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
}
|