blob: bf927c4ad92eba4b65d5f35478cae9de47855076 (
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
|
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
inherit autotools eutils xdg-utils gnome2-utils toolchain-funcs
DESCRIPTION="GPL Electronic Design Automation: Printed Circuit Board editor"
HOMEPAGE="http://pcb.geda-project.org/"
SRC_URI="mirror://sourceforge/pcb/pcb/${P}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~ppc ~x86 ~x86-macos"
IUSE="dbus debug doc gcode gif gtk jpeg m4lib-png motif nelma opengl png
test tk toporouter xrender"
# toporouter-output USE flag removed, there seems to be no result
CDEPEND="dev-libs/glib:2
gif? ( media-libs/gd )
gtk? ( x11-libs/gtk+:2
x11-libs/pango
x11-libs/gtkglext
dbus? ( sys-apps/dbus ) )
jpeg? ( media-libs/gd[jpeg] )
motif? ( !gtk? (
>=x11-libs/motif-2.3:0
dbus? ( sys-apps/dbus )
xrender? ( >=x11-libs/libXrender-0.9 ) ) )
nelma? ( media-libs/gd[png] )
opengl? ( virtual/opengl )
gcode? ( media-libs/gd[png] )
virtual/libintl
png? ( media-libs/gd[png] )
m4lib-png? ( media-libs/gd[png] )
tk? ( >=dev-lang/tk-8:0 )"
#toporouter-output? ( x11-libs/cairo )
DEPEND="${CDEPEND}
test? (
sci-electronics/gerbv
virtual/imagemagick-tools
)
>=dev-util/intltool-0.35
virtual/pkgconfig
sys-devel/gettext"
RDEPEND="${CDEPEND}
sci-electronics/electronics-menu"
DOCS="AUTHORS README NEWS ChangeLog"
pkg_setup() {
if use gtk && use motif; then
elog "Can only build for GTK+ or Motif/Lesstif GUI. GTK+ has priority."
fi
if !(use gtk || use motif); then
elog "Building without GUI, make sure you know what you are doing."
fi
if use dbus && !(use gtk || use motif); then
elog "dbus needs GTK or Motif/Lesstif GUI. Try USE=-dbus or USE=gtk or USE=motif."
fi
if use opengl && !(use gtk); then
elog "GL drawing needs GTK"
fi
if (use gtk || (! use gtk && ! use motif)) && (use xrender); then
elog "The XRender extension is only usable with the Motif/Lesstif GUI."
fi
}
src_prepare() {
if use test; then
# adapt the list of tests to run according to USE flag settings
if ! use png; then
sed -i '/^hid_png/d' tests/tests.list || die
fi
if ! use gcode; then
sed -i '/^hid_gcode/d' tests/tests.list || die
fi
# fix wrong accounting of skipped and passed tests
epatch "${FILESDIR}"/${P}-tests.diff
fi
# fix bad syntax in Makefile.am and configure.ac before running eautoreconf
sed -i -e 's/:=/=/' Makefile.am || die
epatch "${FILESDIR}"/${PN}-20110918-fix-config.diff
# avoid rebuilding documentation
epatch "${FILESDIR}"/${PN}-4.0.2-doc.diff
eautoreconf
}
src_configure() {
local myconf
if use gtk ; then
myconf="--with-gui=gtk $(use_enable dbus) $(use_enable opengl gl) --disable-xrender"
elif use motif ; then
myconf="--with-gui=lesstif $(use_enable dbus) $(use_enable xrender)"
else
myconf="--with-gui=batch --disable-xrender --disable-dbus"
fi
local exporters="bom gerber ps ipcd356"
if (use png || use jpeg || use gif) ; then
exporters="${exporters} png"
fi
use nelma && exporters="${exporters} nelma"
use gcode && exporters="${exporters} gcode"
use tk || export WISH="${EPREFIX}/bin/true"
econf \
${myconf} \
$(use_enable doc) \
$(use_enable gif) \
$(use_enable jpeg) \
$(use_enable png) \
$(use_enable m4lib-png) \
$(use_enable toporouter) \
$(use_enable debug) \
--enable-nls \
--disable-toporouter-output \
--with-exporters="${exporters}" \
--disable-dependency-tracking \
--disable-rpath \
--disable-update-mime-database \
--disable-update-desktop-database \
--docdir="${EPREFIX}/usr/share/doc/${PF}"
}
# toporouter-output USE flag removed, there seems to be no result
# $(use_enable toporouter-output) \
src_compile() {
emake AR="$(tc-getAR)"
}
pkg_preinst() {
gnome2_icon_savelist
}
pkg_postinst() {
xdg_desktop_database_update
xdg_mimeinfo_database_update
gnome2_icon_cache_update
}
pkg_postrm() {
xdg_desktop_database_update
xdg_mimeinfo_database_update
gnome2_icon_cache_update
}
|