ida-pro-patched/PKGBUILD

89 lines
3.1 KiB
Bash

# Maintainer: nezu@nezu.cc
pkgname=ida-pro-patched
_pkgname=ida-pro
pkgver=9.1.250226
pkgrel=2
pkgdesc="Hex-Rays IDA Pro"
arch=('x86_64')
url="https://hex-rays.com/ida-pro/"
license=('custom')
makedepends=('fakechroot')
depends=(
'libgl'
'libx11'
'libxext'
'libxrender'
'glib2'
'qt5-base'
'python-rpyc'
)
provides=("$_pkgname")
conflicts=("$_pkgname")
options=('!strip')
_name="$_pkgname-$pkgver"
_release_url="https://vaclive.party/software/$_pkgname/releases/download/$pkgver"
source=(
"$_name.run::$_release_url/ida-pro_91_x64linux.run"
"$_name.run.sig::$_release_url/ida-pro_91_x64linux.run.sig"
"patch.py::$_release_url/keygen.py"
"patch.py.sig::$_release_url/keygen.py.sig"
"com.hex-rays.ida.desktop"
"com.hex-rays.hvui.desktop"
"qwingraph.desktop"
"ida-pro.xml"
)
sha256sums=('8ff08022be3a0ef693a9e3ea01010d1356b26cfdcbbe7fdd68d01b3c9700f9e2'
'SKIP'
'f1459fd512ac44d589f020ba71e0de20ebf8798df26f167db6fe4c087c7cd0d6'
'SKIP'
'9490296e773cda6b03d4bbfbd1e9a398756e074f3574cffdfb31e5d40b2f956d'
'3010186d85f0ffc12da572be8688e3cfb5fb9b86ac7c4ec7284c4c9a17c17c14'
'1e4b2ec71111b102ecbfa78ec8d7f03506d5726a19d087b59c643572f4e50af6'
'58bb9f10b90bc6a7368629a5577852b4f21f8f44e9b2101b24b7f4fc87dff529')
validpgpkeys=('09BE40243217978201A0440E101BA3F4C612AA41') # nezu <nezu@nezu.cc>
prepare() {
mkdir -p "$_name/tmp"
# chroot is needed to prevent the installer from creating a single file outside of prefix
# have to copy the installer due to chroot
cp "$srcdir"/$_name.run "$_name/"
chmod +x "$_name/$_name.run"
# IDA Pro 9.0 SP1 (and newer) installer now tries to copy the .desktop files to $HOME even if you specify a prefix. Very annoying.
mkdir -p "$srcdir"/$_name/"$HOME"/.local/share/applications
fakechroot chroot "$srcdir"/$_name "/$_name.run" --mode unattended --prefix "/opt/$_name"
rm "$_name/$_name.run"
cd "$_name/opt/$_name"
python3 "$srcdir"/patch.py
mv -v libida32.so.patched libida32.so
mv -v libida.so.patched libida.so
rm uninstall* Uninstall*
}
package() {
install -dm755 "$pkgdir"/opt/$_pkgname
install -dm755 "$pkgdir"/usr/bin
install -dm755 "$pkgdir"/usr/share/{icons,applications,licenses/$pkgname}
cp --preserve=mode,timestamps -r "$srcdir"/$_name/opt/$_name/* "$pkgdir"/opt/$_pkgname/
ln -s "/opt/$_pkgname/ida" "$pkgdir"/usr/bin/ida
ln -s "/opt/$_pkgname/hvui" "$pkgdir"/usr/bin/hvui
ln -s "/opt/$_pkgname/qwingraph" "$pkgdir"/usr/bin/qwingraph
ln -s "/opt/$_pkgname/idapyswitch" "$pkgdir"/usr/bin/idapyswitch
ln -s "/opt/$_pkgname/appico.png" "$pkgdir"/usr/share/icons/$_pkgname.png
ln -s "/opt/$_pkgname/hvui.png" "$pkgdir"/usr/share/icons/$_pkgname-teams.png
ln -s /opt/$_pkgname/license.txt "$pkgdir"/usr/share/licenses/$pkgname/LICENSE
install -Dm644 "$_pkgname.xml" "$pkgdir"/usr/share/mime/packages/$_pkgname.xml
install -Dm644 "$srcdir"/com.hex-rays.ida.desktop "$pkgdir"/usr/share/applications/com.hex-rays.ida.desktop
install -Dm644 "$srcdir"/com.hex-rays.hvui.desktop "$pkgdir"/usr/share/applications/com.hex-rays.hvui.desktop
install -Dm644 "$srcdir"/qwingraph.desktop "$pkgdir"/usr/share/applications/qwingraph.desktop
}