summaryrefslogtreecommitdiff
blob: 01413ea80228375ae19d385e718ba1cd8f6c745e (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
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sci-electronics/eagle/eagle-5.12.0.ebuild,v 1.1 2014/08/11 20:18:31 idl0r Exp $

EAPI="5"

inherit eutils

DESCRIPTION="CadSoft EAGLE schematic and printed circuit board (PCB) layout editor"
HOMEPAGE="http://www.cadsoft.de"

KEYWORDS="~amd64 ~x86"
IUSE="doc linguas_de linguas_zh"
LICENSE="cadsoft"
SLOT="0"

SRC_URI="ftp://ftp.cadsoft.de/eagle/program/${PV%\.[0-9]}/${PN}-lin-${PV}.run"

QA_PREBUILT="opt/${P}/bin/eagle"

RDEPEND="sys-libs/glibc
	x86? (
		sys-libs/zlib
		x11-libs/libXi
		x11-libs/libX11
		x11-libs/libXext
		x11-libs/libXrender
		x11-libs/libXrandr
		x11-libs/libXcursor
		media-libs/freetype
		media-libs/fontconfig
		|| ( virtual/jpeg:62  media-libs/jpeg:62 )
		media-libs/libpng:1.2
	)
	amd64? (
		|| (
			(
				>=sys-libs/zlib-1.2.8-r1[abi_x86_32(-)]
				virtual/jpeg:62[-abi_x86_32(-)]
				media-libs/libpng:1.2[-abi_x86_32(-)]
			)
			app-emulation/emul-linux-x86-baselibs[-abi_x86_32(-)]
		)
		|| (
			(
				>=x11-libs/libX11-1.6.2[abi_x86_32(-)]
				>=x11-libs/libXext-1.3.2[abi_x86_32(-)]
				>=x11-libs/libXrender-0.9.8[abi_x86_32(-)]
				>=x11-libs/libXrandr-1.4.2[abi_x86_32(-)]
				>=x11-libs/libXcursor-1.1.14[abi_x86_32(-)]
				>=x11-libs/libXi-1.7.2[abi_x86_32(-)]
				>=media-libs/freetype-2.5.0.1[abi_x86_32(-)]
				>=media-libs/fontconfig-2.10.92[abi_x86_32(-)]
			)
			app-emulation/emul-linux-x86-xlibs[-abi_x86_32(-)]
		)
	)"

# Append ${PV} since that's what upstream installs to
INSTALLDIR="/opt/eagle-${PV}"
case "${LINGUAS}" in
	*de*)
		MY_LANG="de";;
	*)
		MY_LANG="en";;
esac
# Mandatory documentation being installed
DOCS="README_${MY_LANG} UPDATE_${MY_LANG} library_${MY_LANG}.txt"

src_unpack() {
	# Extract the built-in .tar.bz2 file starting at __DATA__
	sed  -e '1,/^__DATA__$/d' "${DISTDIR}/${A}" | tar xj || die "unpacking failed"
}

src_install() {
	# Set MY_LANG for this function only since UPDATE_zh and README_zh
	# don't exist
	[[ ${LINGUAS} == *zh* ]] && MY_INST_LANG="zh" || MY_INST_LANG="${MY_LANG}"

	cd "${S}"
	dodir ${INSTALLDIR}
	# Copy all to INSTALLDIR
	cp -r . "${D}"/${INSTALLDIR}

	# Install wrapper (suppressing leading tabs)
	# see bug #188368 or http://www.cadsoft.de/faq.htm#17040701
	exeinto /usr/bin
	newexe "${FILESDIR}/eagle_wrapper_script" eagle-${PV}
	dosym eagle-${PV} /usr/bin/eagle
	# Finally, append the path of the eagle binary respecting INSTALLDIR and any
	# arguments passed to the script (thanks Denilson)
	echo "${INSTALLDIR}/bin/eagle" '"$@"' >> "${D}/usr/bin/eagle-${PV}"

	# Install the documentation
	cd doc
	dodoc ${DOCS}
	doman eagle.1
	# Install extra documentation if requested
	use doc && dodoc elektro-tutorial.pdf manual_${MY_INST_LANG}.pdf tutorial_${MY_INST_LANG}.pdf
	# Remove docs left in INSTALLDIR
	rm -rf "${D}${INSTALLDIR}/doc"
	cd ..

	echo -e "ROOTPATH=${INSTALLDIR}/bin\nPRELINK_PATH_MASK=${INSTALLDIR}" > "${S}/90eagle-${PV}"
	doenvd "${S}/90eagle-${PV}"

	# Create desktop entry
	mv bin/${PN}icon50.png bin/${PF}-icon50.png
	doicon bin/${PF}-icon50.png
	make_desktop_entry "${ROOT}/usr/bin/eagle-${PV}" "CadSoft EAGLE Layout Editor" ${PF}-icon50 "Graphics;Electronics"
}

pkg_postinst() {
	elog "Run \`env-update && source /etc/profile\` from within \${ROOT}"
	elog "now to set up the correct paths."
	elog "You must first run eagle as root to invoke product registration."
	echo
	ewarn "Due to some necessary changes in the data structure, once you edit"
	ewarn "a file with version 5.x you will no longer be able to edit it"
	ewarn "with versions prior to 5.0!"
	ewarn
	ewarn "Please read /usr/share/doc/${PF}/UPDATE_${MY_LANG} if you are upgrading from 4.xx."
}