summaryrefslogtreecommitdiff
blob: 512449c65ed3a71f76f396efbf83f17857c37ed2 (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
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=5
PYTHON_COMPAT=( python2_7 )

inherit autotools eutils python-single-r1

DESCRIPTION="Ice Window Manager with Themes"
HOMEPAGE="http://www.icewm.org/ https://github.com/bbidulock/icewm"
LICENSE="GPL-2"
SRC_URI="https://github.com/bbidulock/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"

SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86"
IUSE="bidi debug doc gnome minimal nls truetype uclibc xinerama"
REQUIRED_USE="gnome? ( ${PYTHON_REQUIRED_USE} )"

# Tests broken in all versions, patches welcome, bug #323907, #389533
RESTRICT="test"

#fix for icewm preversion package names
S=${WORKDIR}/${P/_}

RDEPEND="
	media-libs/fontconfig
	x11-libs/gdk-pixbuf:2[X]
	x11-libs/libX11
	x11-libs/libXrandr
	x11-libs/libXext
	x11-libs/libXpm
	x11-libs/libXrender
	x11-libs/libXft
	x11-libs/libSM
	x11-libs/libICE
	xinerama? ( x11-libs/libXinerama )
	bidi? ( dev-libs/fribidi )
	gnome? (
		${PYTHON_DEPS}
		dev-python/pyxdg
		gnome-base/gnome-desktop:2
		gnome-base/gnome-menus
		gnome-base/libgnomeui )
"
DEPEND="${RDEPEND}
	>=sys-apps/sed-4
	x11-proto/xproto
	x11-proto/xextproto
	doc? ( app-text/linuxdoc-tools )
	nls? ( >=sys-devel/gettext-0.19.2 )
	truetype? ( >=media-libs/freetype-2.0.9 )
	xinerama? ( x11-proto/xineramaproto )
"

pkg_setup() {
	if use truetype && use minimal; then
		ewarn "You have both 'truetype' and 'minimal' use flags enabled."
		ewarn "If you really want a minimal install, you will have to turn off"
		ewarn "the truetype flag for this package."
	fi
}

PATCHES=(
	# Fedora patches
	"${FILESDIR}"/${PN}-1.3.8-menu.patch
	"${FILESDIR}"/${PN}-1.3.9-fribidi.patch
	"${FILESDIR}"/${PN}-1.3.8-deprecated.patch

	# Debian patch fixing multiple build issues, like bug #470148
	#"${FILESDIR}"/${PN}-1.3.8-build-fixes.patch
)

src_prepare() {
	epatch ${PATCHES[@]}

	# Fix bug #486710
	use uclibc && epatch "${FILESDIR}/${PN}-1.3.8-uclibc.patch"

	if ! use doc ; then
		sed '/^SUBDIRS =/s@ doc@@' -i Makefile.am || die
	fi

	eautoreconf
}

src_configure() {
	if use truetype
	then
		myconf="${myconf} --enable-gradients --enable-shape --enable-shaped-decorations"
	else
		myconf="${myconf} --disable-xfreetype --enable-corefonts
			$(use_enable minimal lite)"
	fi

	myconf="${myconf}
		--with-libdir=/usr/share/icewm
		--with-cfgdir=/etc/icewm
		--with-docdir=/usr/share/doc/${PF}/html
		$(use_enable bidi fribidi)
		$(use_enable debug)
		$(use_enable gnome menus-gnome2)
		$(use_enable nls i18n)
		$(use_enable nls)
		$(use_enable xinerama)"

	CXXFLAGS="${CXXFLAGS}" econf ${myconf}

	sed -i "s:/icewm-\$(VERSION)::" src/Makefile || die "patch failed"
	sed -i "s:ungif:gif:" src/Makefile || die "libungif fix failed"
}

src_install(){
	default

	if use gnome; then
		dobin "${FILESDIR}"/icewm-xdg-menu
		exeinto /usr/share/icewm/
		newexe "${FILESDIR}"/icewm-startup startup
	fi

	dodoc AUTHORS BUGS CHANGES PLATFORMS README* TODO VERSION

	if ! use doc ; then
		dohtml -a html,sgml doc/*
		cp doc/${PN}.man "${T}"/${PN}.1
		doman "${T}"/${PN}.1
	fi

	exeinto /etc/X11/Sessions
	doexe "${FILESDIR}/icewm"

	insinto /usr/share/xsessions
	doins "${FILESDIR}/IceWM.desktop"
}