summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 7949ca7994be227f86d841a828c1170366a346fa (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
# Maintainer: Forest Crossman <cyrozap at gmail dot com>

pkgname=xilinx-ise
pkgver=14.7
pkgrel=1
pkgdesc="Xilinx ISE Design Suite"
url="https://www.xilinx.com/products/design-tools/ise-design-suite.html"
arch=('i686' 'x86_64')
license=('custom')
depends=('ncurses5-compat-libs' 'qt4')
optdepends=('fxload: Firmware loader for some programmer dongles'
            'digilent.adept.utilities: Digilent programmer support')
options=('!strip')
source=('file://Xilinx_ISE_DS_Lin_14.7_1015_1.tar')
md5sums=('e8065b2ffb411bb74ae32efa475f9817')

PKGEXT=".pkg.tar"

if [[ $CARCH == 'i686' ]]; then
	_arch=lin
elif [[ $CARCH == 'x86_64' ]]; then
	_arch=lin64
fi

prepare() {
	cd ${srcdir}/Xilinx_ISE_DS_Lin_14.7_1015_1

	# Generate a sample batch install file
	yes | ./bin/$_arch/batchxsetup -samplebatchscript install.txt

	# Change the installation dir
	sed -i "s!^destination_dir=/opt/Xilinx!destination_dir=${pkgdir}/opt/Xilinx!" install.txt
}

package() {
	cd ${srcdir}/Xilinx_ISE_DS_Lin_14.7_1015_1

	# Run the installer, agreeing to all the licenses
	yes | ./bin/$_arch/batchxsetup -batch install.txt

	# Trim the pkgdir path from the installation directory
	for _file in ${pkgdir}/opt/Xilinx/14.7/ISE_DS/settings*; do
		sed -i "s!${pkgdir}!!g" $_file
	done

	# Replace ISE's outdated libstdc++.so with symlinks to the system version
	for _dir in ${pkgdir}/opt/Xilinx/14.7/ISE_DS/{ISE,common}/lib/${_arch}; do
		rm ${_dir}/libstdc++.so{,.6,.6.0.8}
		ln -s /usr/lib/libstdc++.so ${_dir}/libstdc++.so
		ln -s libstdc++.so ${_dir}/libstdc++.so.6
		ln -s libstdc++.so ${_dir}/libstdc++.so.6.0.8
	done

	# Fix for the license configuration manager
	# https://forums.xilinx.com/t5/Installation-and-Licensing/ISE-14-7-on-CentOS-6-4-missing-libQt-Network-so-workaround/td-p/379325
	install -d ${pkgdir}/usr/lib
	ln -s /usr/lib/libQtNetwork.so ${pkgdir}/usr/lib/libQt_Network.so
}