update desktop files, add database mime type, add qwingraph

This commit is contained in:
nezu 2025-05-05 12:56:46 +02:00
parent 2751e61459
commit c1e3cedf48
7 changed files with 95 additions and 33 deletions

View file

@ -1,7 +1,7 @@
pkgbase = ida-pro-patched
pkgdesc = Hex-Rays IDA Pro
pkgver = 9.1.250226
pkgrel = 1
pkgrel = 2
url = https://hex-rays.com/ida-pro/
arch = x86_64
license = custom
@ -13,19 +13,25 @@ pkgbase = ida-pro-patched
depends = glib2
depends = qt5-base
depends = python-rpyc
provides = ida-pro
conflicts = ida-pro
options = !strip
source = ida-pro-9.1.250226.run::https://vaclive.party/software/ida-pro/releases/download/9.1.250226/ida-pro_91_x64linux.run
source = ida-pro-9.1.250226.run.sig::https://vaclive.party/software/ida-pro/releases/download/9.1.250226/ida-pro_91_x64linux.run.sig
source = patch.py::https://vaclive.party/software/ida-pro/releases/download/9.1.250226/keygen.py
source = patch.py.sig::https://vaclive.party/software/ida-pro/releases/download/9.1.250226/keygen.py.sig
source = ida-pro.desktop
source = ida-pro-teams.desktop
source = com.hex-rays.ida.desktop
source = com.hex-rays.hvui.desktop
source = qwingraph.desktop
source = ida-pro.xml
validpgpkeys = 09BE40243217978201A0440E101BA3F4C612AA41
sha256sums = 8ff08022be3a0ef693a9e3ea01010d1356b26cfdcbbe7fdd68d01b3c9700f9e2
sha256sums = SKIP
sha256sums = f1459fd512ac44d589f020ba71e0de20ebf8798df26f167db6fe4c087c7cd0d6
sha256sums = SKIP
sha256sums = 445e0498d24676cc81c1f9b81a30241eabd480852561f398e520e6e23d4b97bd
sha256sums = b8a7ca4f69428c0191733167905f89c34d73d14778f62aea9b3e2c758792308f
sha256sums = 9490296e773cda6b03d4bbfbd1e9a398756e074f3574cffdfb31e5d40b2f956d
sha256sums = 3010186d85f0ffc12da572be8688e3cfb5fb9b86ac7c4ec7284c4c9a17c17c14
sha256sums = 1e4b2ec71111b102ecbfa78ec8d7f03506d5726a19d087b59c643572f4e50af6
sha256sums = 58bb9f10b90bc6a7368629a5577852b4f21f8f44e9b2101b24b7f4fc87dff529
pkgname = ida-pro-patched

1
.gitignore vendored
View file

@ -3,3 +3,4 @@
!PKGBUILD
!.SRCINFO
!*.desktop
!*.xml

View file

@ -2,11 +2,12 @@
pkgname=ida-pro-patched
_pkgname=ida-pro
pkgver=9.1.250226
pkgrel=1
pkgrel=2
pkgdesc="Hex-Rays IDA Pro"
arch=('x86_64')
url="https://hex-rays.com/ida-pro/"
license=('custom')
makedepends=('fakechroot')
depends=(
'libgl'
@ -17,48 +18,72 @@ depends=(
'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"
"$_pkgname.desktop"
"$_pkgname-teams.desktop"
"$_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'
'445e0498d24676cc81c1f9b81a30241eabd480852561f398e520e6e23d4b97bd'
'b8a7ca4f69428c0191733167905f89c34d73d14778f62aea9b3e2c758792308f')
'9490296e773cda6b03d4bbfbd1e9a398756e074f3574cffdfb31e5d40b2f956d'
'3010186d85f0ffc12da572be8688e3cfb5fb9b86ac7c4ec7284c4c9a17c17c14'
'1e4b2ec71111b102ecbfa78ec8d7f03506d5726a19d087b59c643572f4e50af6'
'58bb9f10b90bc6a7368629a5577852b4f21f8f44e9b2101b24b7f4fc87dff529')
validpgpkeys=('09BE40243217978201A0440E101BA3F4C612AA41') # nezu <nezu@nezu.cc>
prepare() {
mkdir -p "$_name/tmp"
cp "$srcdir/$_name.run" "$_name"
chmod +x "$_name/$_name.run"
mkdir -p "$srcdir/$_name/$HOME/.local/share/applications"
fakechroot chroot "$srcdir/$_name" "/$_name.run" --mode unattended --prefix /opt/$_name
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*
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"
cp --preserve=mode,timestamps -r "$srcdir/$_name/opt/$_name/"* "$pkgdir/opt/$_pkgname"
install -dm755 "$pkgdir"/opt/$_pkgname
install -dm755 "$pkgdir"/usr/bin
install -dm755 "$pkgdir"/usr/share/{icons,applications,licenses/$pkgname}
install -dm755 "$pkgdir/usr/bin"
ln -s "/opt/$_pkgname/ida" "$pkgdir/usr/bin/ida"
ln -s "/opt/$_pkgname/hvui" "$pkgdir/usr/bin/hvui"
cp --preserve=mode,timestamps -r "$srcdir"/$_name/opt/$_name/* "$pkgdir"/opt/$_pkgname/
install -Dm644 "$srcdir/$_name/opt/$_name/appico.png" "$pkgdir/usr/share/pixmaps/$_pkgname.png"
install -Dm644 "$srcdir/$_name/opt/$_name/hvui.png" "$pkgdir/usr/share/pixmaps/$_pkgname-teams.png"
install -Dm644 "$srcdir/$_pkgname.desktop" "$pkgdir/usr/share/applications/$_pkgname.desktop"
install -Dm644 "$srcdir/$_pkgname-teams.desktop" "$pkgdir/usr/share/applications/$_pkgname-teams.desktop"
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
}

View file

@ -2,6 +2,7 @@
Name=IDA Teams
Comment=Teams for The Interactive Disassembler
Exec=/usr/bin/hvui %f
StartupWMClass=com.hex-rays.hvui
Icon=ida-pro-teams
Terminal=false
Type=Application

View file

@ -2,7 +2,9 @@
Name=IDA Pro
Comment=The Interactive Disassembler
Exec=/usr/bin/ida %f
StartupWMClass=com.hex-rays.ida
Icon=ida-pro
MimeType=application/vnd.hex-rays.ida.database64;application/vnd.hex-rays.ida.database32
Terminal=false
Type=Application
Categories=Development

17
ida-pro.xml Normal file
View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/vnd.hex-rays.ida.database64">
<comment>IDA (64-bit) Database</comment>
<icon name="ida-pro"/>
<glob pattern="*.i64"/>
</mime-type>
<mime-type type="application/vnd.hex-rays.ida.database32">
<comment>IDA Database</comment>
<icon name="ida-pro"/>
<glob pattern="*.idb"/>
</mime-type>
<mime-type type="application/vnd.hex-rays.ida.wingraph">
<comment>WinGraph File</comment>
<glob pattern="*.gdl"/>
</mime-type>
</mime-info>

10
qwingraph.desktop Normal file
View file

@ -0,0 +1,10 @@
[Desktop Entry]
Name=WinGraph32 (IDA)
Comment=External program to display IDA graphs
Exec=/usr/bin/qwingraph %f
StartupWMClass=qwingraph
MimeType=application/vnd.hex-rays.ida.wingraph
NoDisplay=true
Terminal=false
Type=Application
Categories=Development