summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDanny Dutton2016-03-16 05:18:14 -0400
committerDanny Dutton2016-03-16 05:18:14 -0400
commit5d2ede9622a7160adb395cb3bcd3dafe50e2ab8f (patch)
tree60c9e9fd87c13d04977e16b0117d6481266c4611
parent25fffe807ba8e16e0cb7a43a76e01c58256f46e9 (diff)
downloadaur-5d2ede9622a7160adb395cb3bcd3dafe50e2ab8f.tar.gz
Cleaned up PKGBUILD to break packaging down into parts.
Added modelsim-ae.desktop and added option for installing ModelSim AE (_modelsimver)
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD59
-rw-r--r--modelsim-ae.desktop9
3 files changed, 48 insertions, 24 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 84bc85203615..8bf2f3b476ad 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,5 +1,5 @@
# Generated by mksrcinfo v8
-# Mon Mar 14 14:30:50 UTC 2016
+# Wed Mar 16 09:15:03 UTC 2016
pkgbase = quartus-free
pkgdesc = Quartus Prime Lite Edition design software for Altera FPGA's
pkgver = 15.1.0.185
@@ -19,6 +19,7 @@ pkgbase = quartus-free
source = 51-usbblaster.rules
source = quartus.install
source = modelsim-ase.desktop
+ source = modelsim-ae.desktop
md5sums = EF0D9EB90E24338AD31864D3069151B0
md5sums = d3b3b7cdf874b6dd0b60c40d84dd9128
md5sums = 067c444cae7fe31d3608245712b43ce8
@@ -26,6 +27,7 @@ pkgbase = quartus-free
md5sums = f5744dc4820725b93917e3a24df13da9
md5sums = a331a81c44aed062a7af6d28542c3d82
md5sums = bb11a542139ea8ded899ea42588ec0f7
+ md5sums = eb4fbf2b7b3a2ffa59ccac57fff968e5
pkgname = quartus-free
diff --git a/PKGBUILD b/PKGBUILD
index ac12b40c3a49..6329a01afa95 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
# NOTE: If you plan on using the usbblaster make sure you are member of the plugdev group.
# NOTE: Altera has dramatically changed their packing in regards to version 12. This
# PKGBUILD will install the full Altera suite now. Be aware that the space requirement
-# is around 14GB.
+# for installation is around 14GB but packaging may require up to 38GB of space.
#
pkgname=quartus-free
pkgver=15.1.0.185
@@ -15,7 +15,10 @@ url="https://dl.altera.com/?edition=lite"
license=('custom')
_build_nr=$(echo ${pkgver} | cut -d '.' -f4)
-_alteradir="/opt/altera"
+_alteradir="/opt/altera/${pkgver%.*.*}"
+
+# Change this to "ae" if using ModelSim Subscription Edition
+_modelsimver="ase"
# According to the installer script, these dependencies are needed for the installer
if [[ $CARCH = i686 ]]
@@ -43,56 +46,66 @@ fi
makedepends=('bash')
+# A more permanent source for lib32-freetype2-2.5.0.1-1-x86-64 should be found
source=("http://download.altera.com/akdlm/software/acdsinst/${pkgver%.*.*}/${_build_nr}/ib_tar/Quartus-lite-${pkgver}-linux.tar"
"http://gaming.jhu.edu/mirror/archlinux/multilib/os/x86_64/lib32-freetype2-2.5.0.1-1-x86_64.pkg.tar.xz" # Used for a freetype bugfix HACK
- "quartus.sh" "quartus.desktop" "51-usbblaster.rules" "quartus.install" "modelsim-ase.desktop")
+ "quartus.sh" "quartus.desktop" "51-usbblaster.rules" "quartus.install" "modelsim-ase.desktop" "modelsim-ae.desktop")
md5sums=('EF0D9EB90E24338AD31864D3069151B0'
'd3b3b7cdf874b6dd0b60c40d84dd9128'
'067c444cae7fe31d3608245712b43ce8'
'32b17cb8b992fc2dccd33d87f0dcd8ce'
'f5744dc4820725b93917e3a24df13da9'
'a331a81c44aed062a7af6d28542c3d82'
- 'bb11a542139ea8ded899ea42588ec0f7')
+ 'bb11a542139ea8ded899ea42588ec0f7'
+ 'eb4fbf2b7b3a2ffa59ccac57fff968e5')
options=('!strip' '!upx') # Stripping and UPX will takes ages, I'd avoid it.
install='quartus.install'
PKGEXT=".pkg.tar"
-package() {
+# Need to patch some Quartus/ModelSim files
+prepare() {
cd "${srcdir}"
- DISPLAY="" bash ./setup.sh --mode unattended --unattendedmodeui none --installdir "${pkgdir}/${_alteradir}"
-
+ echo "Notice: May require up to 38GB of free space during package building!"
+ echo "Extracting install binaries and scripts from downloaded tar..."
+ # Run setup.sh to extract Quartus, ModelSim, and device/help files
+ DISPLAY="" bash ./setup.sh --mode unattended --unattendedmodeui none --installdir "${srcdir}${_alteradir}"
+ echo "Finished extracting binaries and scripts."
+
# Remove uninstaller and install logs since we have a working package management
- rm -r "${pkgdir}${_alteradir}/uninstall"
- rm -r "${pkgdir}${_alteradir}/logs"
+ rm -r "${srcdir}${_alteradir}/uninstall"
+ rm -r "${srcdir}${_alteradir}/logs"
# Replace altera directory in integration files
sed -i.bak "s,_alteradir,$_alteradir,g" quartus.sh
sed -i.bak "s,_alteradir,$_alteradir,g" quartus.desktop
- sed -i.bak "s,_alteradir,$_alteradir,g" modelsim-ase.desktop
+ sed -i.bak "s,_alteradir,$_alteradir,g" "modelsim-${_modelsimver}.desktop"
- # Fix modelsim startup code for Linux Kernel 4.0
+ # Fix modelsim startup code for Linux Kernel >=4.0
# see https://wiki.archlinux.org/index.php/Altera_Design_Software
- sed -i.bak "s,linux_rh60,linux,g" "${pkgdir}${_alteradir}/modelsim_ase/vco"
- sed -i.bak "s,linux_rh60,linux,g" "${pkgdir}${_alteradir}/modelsim_ae/vco"
+ sed -i.bak "s,linux_rh60,linux,g" "${srcdir}${_alteradir}/modelsim_${_modelsimver}/vco"
- # Modelsim requires old freetype libraries...
+ # Tell ModelSim where to find the specific lib32-freetype2 libraries it requires
# see https://wiki.archlinux.org/index.php/Altera_Design_Software#With_freetype2_2.5.0.1-1
- sed -i.bak2 "10s,^,export LD_LIBRARY_PATH=${_alteradir}/modelsim_ase/lib \n,g" "${pkgdir}${_alteradir}/modelsim_ase/vco"
- sed -i.bak2 "10s,^,export LD_LIBRARY_PATH=${_alteradir}/modelsim_ase/lib \n,g" "${pkgdir}${_alteradir}/modelsim_ase/vco"
- install -D -m755 usr/lib32/libfreetype.so* "${pkgdir}${_alteradir}/modelsim_ae/lib"
- install -D -m755 usr/lib32/libfreetype.so* "${pkgdir}${_alteradir}/modelsim_ase/lib"
-
+ sed -i.bak2 "10s,^,export LD_LIBRARY_PATH=${_alteradir}/modelsim_${_modelsimver}/lib \n,g" "${srcdir}${_alteradir}/modelsim_${_modelsimver}/vco"
+}
+
+package() {
+ # Move Quartus over to pkgdir for installation
+ mkdir -p "${pkgdir}${_alteradir}"
+ mv "${srcdir}${_alteradir}"/* "${pkgdir}${_alteradir}"
+
+ # Place the lib32-freetype2 libraries where ModelSim is now expecting them to be
+ # see https://wiki.archlinux.org/index.php/Altera_Design_Software#With_freetype2_2.5.0.1-1
+ install -D -m755 usr/lib32/libfreetype.so* "${pkgdir}${_alteradir}/modelsim_${_modelsimver}/lib"
# Copy license file
install -D -m644 "${pkgdir}${_alteradir}/licenses/license.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
-
+
# Install integration files
install -D -m755 quartus.sh "${pkgdir}/etc/profile.d/quartus.sh"
install -D -m644 51-usbblaster.rules "${pkgdir}/etc/udev/rules.d/51-usbblaster.rules"
install -D -m644 quartus.desktop "${pkgdir}/usr/share/applications/quartus.desktop"
- install -D -m644 modelsim-ase.desktop "${pkgdir}/usr/share/applications/modelsim-ase.desktop"
+ install -D -m644 modelsim-${_modelsimver}.desktop "${pkgdir}/usr/share/applications/modelsim-${_modelsimver}.desktop"
}
-
-# vim:set ts=2 sw=2 et:
diff --git a/modelsim-ae.desktop b/modelsim-ae.desktop
new file mode 100644
index 000000000000..3775ace4c44e
--- /dev/null
+++ b/modelsim-ae.desktop
@@ -0,0 +1,9 @@
+[Desktop Entry]
+Version=1.0
+Name=ModelSim-Altera Standard Edition
+Comment=ModelSim simulation software for Altera FPGA's
+Exec=_alteradir/modelsim_ae/bin/vsim
+Icon=_alteradir/modelsim_ae/modesim.gif
+Terminal=false
+Type=Application
+Categories=Development