summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--devel/Makefile3
-rw-r--r--devel/xpeviewer/Makefile56
-rw-r--r--devel/xpeviewer/distinfo47
-rw-r--r--devel/xpeviewer/files/patch-XOptions_xoptions.cpp22
-rw-r--r--devel/xpeviewer/files/patch-XOptions_xoptions.h12
-rw-r--r--devel/xpeviewer/pkg-descr4
-rw-r--r--devel/xpeviewer/pkg-plist29
7 files changed, 172 insertions, 1 deletions
diff --git a/devel/Makefile b/devel/Makefile
index dd1b6bb41e8e..f7c28dccf0aa 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5111,8 +5111,8 @@
SUBDIR += py-python-application
SUBDIR += py-python-bugzilla
SUBDIR += py-python-dbusmock
- SUBDIR += py-python-distutils-extra
SUBDIR += py-python-decouple
+ SUBDIR += py-python-distutils-extra
SUBDIR += py-python-dtrace
SUBDIR += py-python-easyconfig
SUBDIR += py-python-editor
@@ -7206,6 +7206,7 @@
SUBDIR += xopcodecalc
SUBDIR += xorg-macros
SUBDIR += xparam
+ SUBDIR += xpeviewer
SUBDIR += xsd
SUBDIR += xsimd
SUBDIR += xtensa-esp32-elf
diff --git a/devel/xpeviewer/Makefile b/devel/xpeviewer/Makefile
new file mode 100644
index 000000000000..83fa0f29e84d
--- /dev/null
+++ b/devel/xpeviewer/Makefile
@@ -0,0 +1,56 @@
+# Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
+
+PORTNAME= ${GH_PROJECT:[1]:tl}
+PORTVERSION= 0.02
+CATEGORIES= devel
+
+MAINTAINER= danfe@FreeBSD.org
+COMMENT= Cross-platform graphical PE file viewer/editor
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+USES= desktop-file-utils pkgconfig qt:5
+GNU_CONFIGURE= yes
+USE_QT= buildtools_build linguisttools_build qmake_build \
+ concurrent core gui opengl printsupport widgets
+USE_GITHUB= yes
+GH_ACCOUNT= horsicq
+GH_PROJECT= XPEViewer ${GH_SUBDIR}
+GH_TAGNAME= 9f28798:c 04ad3bd:fd 4c280e7:fw 31f30d3:f 827056a:sa \
+ 4e10b78:ss 262acc3:xa 7b01fc0:xc 9a471e5:xcf 0eee644:xdex \
+ c1f16dc:xd 0651e63:xdw 5e289ac:xdv 59db94d:xew 149d635:xhw \
+ 61378c6:xhv 9b0103f:xmmw 0e9e3e5:xo b0ffc17:xq a58955c:xs \
+ 1d23cca:xst 9fcacfa:s
+GH_SUBDIR= Controls:c FormatDialogs:fd FormatWidgets:fw Formats:f \
+ SpecAbstract:sa StaticScan:ss XArchive:xa XCapstone:xc \
+ XCppfilt:xcf XDEX:xdex XDemangle:xd XDemangleWidget:xdw \
+ XDisasmView:xdv XEntropyWidget:xew XHashWidget:xhw \
+ XHexView:xhv XMemoryMapWidget:xmmw XOptions:xo XQwt:xq \
+ XShortcuts:xs XStyles:xst signatures:s
+
+post-extract:
+ @${CHMOD} +x ${CONFIGURE_WRKSRC}/${CONFIGURE_SCRIPT}
+
+post-build:
+ @cd ${WRKSRC}/gui_source && ${LUPDATE} gui_source_tr.pro
+ @${LRELEASE} ${WRKSRC}/gui_source/translation/*.ts
+
+do-install:
+ ${INSTALL_PROGRAM} ${INSTALL_WRKSRC}/build/release/${PORTNAME} \
+ ${STAGEDIR}${PREFIX}/bin
+ cd ${INSTALL_WRKSRC}/DEBIAN && ${COPYTREE_SHARE} hicolor \
+ ${STAGEDIR}${PREFIX}/share/icons
+ ${SED} -e 's,#VERSION#,${PORTVERSION},' \
+ ${WRKSRC}/DEBIAN/${PORTNAME}.desktop > \
+ ${STAGEDIR}${PREFIX}/share/applications/${PORTNAME}.desktop
+ cd ${WRKSRC_xst} && ${COPYTREE_SHARE} qss ${STAGEDIR}${DATADIR}
+ @${MKDIR} ${STAGEDIR}${DATADIR}/lang
+ ${INSTALL_DATA} ${INSTALL_WRKSRC}/gui_source/translation/*.qm \
+ ${STAGEDIR}${DATADIR}/lang
+ @${MKDIR} ${STAGEDIR}${DATADIR}/signatures
+ ${INSTALL_DATA} ${WRKSRC_s}/crypto.db ${STAGEDIR}${DATADIR}/signatures
+
+.include <bsd.port.mk>
+
+PATCH_ARGS+= -l
diff --git a/devel/xpeviewer/distinfo b/devel/xpeviewer/distinfo
new file mode 100644
index 000000000000..24b8420e65aa
--- /dev/null
+++ b/devel/xpeviewer/distinfo
@@ -0,0 +1,47 @@
+TIMESTAMP = 1632091032
+SHA256 (horsicq-XPEViewer-0.02_GH0.tar.gz) = db8e30fe97fe4e86715a71500c05937a39c26209011c4e171c25365a5b3d96f9
+SIZE (horsicq-XPEViewer-0.02_GH0.tar.gz) = 1619867
+SHA256 (horsicq-Controls-9f28798_GH0.tar.gz) = e75bd4c1041710b20c4e5c7bd13879fa2fad5cdde0c9bcf1f2cacaf0200ecdb4
+SIZE (horsicq-Controls-9f28798_GH0.tar.gz) = 12905
+SHA256 (horsicq-FormatDialogs-04ad3bd_GH0.tar.gz) = c14265e275ac7b6ce2483023d99e23274adf9ad6305f9aedf79d91f6151c9aca
+SIZE (horsicq-FormatDialogs-04ad3bd_GH0.tar.gz) = 11242
+SHA256 (horsicq-FormatWidgets-4c280e7_GH0.tar.gz) = dac3e09e66804986657e1e2da85ce3ccd4868b9e6779ef7de8db27273bf08cb0
+SIZE (horsicq-FormatWidgets-4c280e7_GH0.tar.gz) = 187327
+SHA256 (horsicq-Formats-31f30d3_GH0.tar.gz) = ffb7b409da9abf0a2447c281e1bc28b5326ee3a6c381e319a0091737f0c7c0ee
+SIZE (horsicq-Formats-31f30d3_GH0.tar.gz) = 156961
+SHA256 (horsicq-SpecAbstract-827056a_GH0.tar.gz) = 56cb724b8a8688a33e095a959472655b35e9a9325bfdde6b137f214936a8a0a9
+SIZE (horsicq-SpecAbstract-827056a_GH0.tar.gz) = 163936
+SHA256 (horsicq-StaticScan-4e10b78_GH0.tar.gz) = 028fed0b8df5dc8ca578912a106e490a4c3f8f843917302b1daf6d02207cb6d6
+SIZE (horsicq-StaticScan-4e10b78_GH0.tar.gz) = 11869
+SHA256 (horsicq-XArchive-262acc3_GH0.tar.gz) = c9c8cfe010ee46d829986469586f7a673033cd3aa1843e851418ea67b01b81db
+SIZE (horsicq-XArchive-262acc3_GH0.tar.gz) = 935105
+SHA256 (horsicq-XCapstone-7b01fc0_GH0.tar.gz) = c0210198fb933c000af7fdd28d8afae78413f6d68fbd654cc83b94add0c9d316
+SIZE (horsicq-XCapstone-7b01fc0_GH0.tar.gz) = 10308874
+SHA256 (horsicq-XCppfilt-9a471e5_GH0.tar.gz) = cc199377fc20453251b2f26ffb8783f663b847188115c0fe08e79e2e9a5a0459
+SIZE (horsicq-XCppfilt-9a471e5_GH0.tar.gz) = 373417
+SHA256 (horsicq-XDEX-0eee644_GH0.tar.gz) = aceb8f504713718d42e581fdd5f03adc141c95ae4ab17d8613de2d3c17e6b7c1
+SIZE (horsicq-XDEX-0eee644_GH0.tar.gz) = 10560
+SHA256 (horsicq-XDemangle-c1f16dc_GH0.tar.gz) = 5d85809db7096902c78c0d27fb39a0e7e90d277a6b33dbff9ff3d91987f97cbd
+SIZE (horsicq-XDemangle-c1f16dc_GH0.tar.gz) = 22309
+SHA256 (horsicq-XDemangleWidget-0651e63_GH0.tar.gz) = 7541cf96c3228beb47ea5c359532ea37a50c3968812f06263c0e64fed5edd7f1
+SIZE (horsicq-XDemangleWidget-0651e63_GH0.tar.gz) = 3235
+SHA256 (horsicq-XDisasmView-5e289ac_GH0.tar.gz) = 847a098f61de84811d23ec6c22bdc2ef691c17970f64e48b3fee9d607f38bb9a
+SIZE (horsicq-XDisasmView-5e289ac_GH0.tar.gz) = 13742
+SHA256 (horsicq-XEntropyWidget-59db94d_GH0.tar.gz) = 1318b7d90fa1e5d0a1c16ef05fac4d698753ff58b6014f1fe5d5528f438873b3
+SIZE (horsicq-XEntropyWidget-59db94d_GH0.tar.gz) = 10097
+SHA256 (horsicq-XHashWidget-149d635_GH0.tar.gz) = 84aa8649374dc7a84079af8dd6403b7b917d2778adddc7244a722641ccd74d4f
+SIZE (horsicq-XHashWidget-149d635_GH0.tar.gz) = 6646
+SHA256 (horsicq-XHexView-61378c6_GH0.tar.gz) = c3d182b0fb51acf0186f090c21480afc2bc8891d413b52d881d1b8ef13a244c0
+SIZE (horsicq-XHexView-61378c6_GH0.tar.gz) = 8599
+SHA256 (horsicq-XMemoryMapWidget-9b0103f_GH0.tar.gz) = da822b9efba2f141f50b4a35c3be2760b070c47d2dcdf806c6e8e8cc167f7d8e
+SIZE (horsicq-XMemoryMapWidget-9b0103f_GH0.tar.gz) = 6492
+SHA256 (horsicq-XOptions-0e9e3e5_GH0.tar.gz) = ebea42c2ffcf93304a763e8738cefaed905da07369a61e24ee07f9d8e5477acb
+SIZE (horsicq-XOptions-0e9e3e5_GH0.tar.gz) = 6834
+SHA256 (horsicq-XQwt-b0ffc17_GH0.tar.gz) = 5990bf9751b67f80e503a3ced4af525953b2d4235d151b319238fafbd0a3630f
+SIZE (horsicq-XQwt-b0ffc17_GH0.tar.gz) = 343304
+SHA256 (horsicq-XShortcuts-a58955c_GH0.tar.gz) = d55f263aad280561d96146487a46840d7944f6a10e47f1d0c9bfac4b90cc808a
+SIZE (horsicq-XShortcuts-a58955c_GH0.tar.gz) = 10451
+SHA256 (horsicq-XStyles-1d23cca_GH0.tar.gz) = 48eb8cb592a5e92aae307752828289b53909859435daaf1d344df5959d42a1bb
+SIZE (horsicq-XStyles-1d23cca_GH0.tar.gz) = 4441
+SHA256 (horsicq-signatures-9fcacfa_GH0.tar.gz) = 71f91eadeb56939d88dd6016a21df98cc45da2bc326c45073b4511378d9057d2
+SIZE (horsicq-signatures-9fcacfa_GH0.tar.gz) = 1170391
diff --git a/devel/xpeviewer/files/patch-XOptions_xoptions.cpp b/devel/xpeviewer/files/patch-XOptions_xoptions.cpp
new file mode 100644
index 000000000000..78bd770151f7
--- /dev/null
+++ b/devel/xpeviewer/files/patch-XOptions_xoptions.cpp
@@ -0,0 +1,22 @@
+--- XOptions/xoptions.cpp.orig 2021-08-30 16:51:52 UTC
++++ XOptions/xoptions.cpp
+@@ -742,7 +742,7 @@ QList<QString> XOptions::getAllFilesFromDirectory(QStr
+ bool XOptions::checkNative()
+ {
+ bool bResult=false;
+-#ifdef Q_OS_MAC
++#if defined(Q_OS_MAC) || defined(Q_OS_FREEBSD)
+ bResult=true;
+ #elif defined(Q_OS_LINUX)
+ QString sApplicationDirPath=qApp->applicationDirPath();
+@@ -792,6 +792,10 @@ QString XOptions::getApplicationDataPath()
+ {
+ sResult=sApplicationDirPath;
+ }
++#elif defined(Q_OS_FREEBSD)
++ sResult = QStandardPaths::standardLocations(
++ QStandardPaths::GenericDataLocation).at(1)
++ + QDir::separator() + qApp->applicationName();
+ #else
+ sResult=sApplicationDirPath;
+ #endif
diff --git a/devel/xpeviewer/files/patch-XOptions_xoptions.h b/devel/xpeviewer/files/patch-XOptions_xoptions.h
new file mode 100644
index 000000000000..e3b7098117bd
--- /dev/null
+++ b/devel/xpeviewer/files/patch-XOptions_xoptions.h
@@ -0,0 +1,12 @@
+--- XOptions/xoptions.h.orig 2021-08-30 16:51:52 UTC
++++ XOptions/xoptions.h
+@@ -35,6 +35,9 @@
+ #else
+ #include <QCoreApplication> // TODO Check
+ #endif
++#if defined(Q_OS_FREEBSD)
++#include <QStandardPaths>
++#endif
+
+ class XOptions : public QObject
+ {
diff --git a/devel/xpeviewer/pkg-descr b/devel/xpeviewer/pkg-descr
new file mode 100644
index 000000000000..83416e4d3c07
--- /dev/null
+++ b/devel/xpeviewer/pkg-descr
@@ -0,0 +1,4 @@
+This is versatile graphical viewer and editor for PE files,
+based on the stock Qt libraries and a few custom components.
+
+WWW: https://github.com/horsicq/XPEViewer
diff --git a/devel/xpeviewer/pkg-plist b/devel/xpeviewer/pkg-plist
new file mode 100644
index 000000000000..06ad60efedaf
--- /dev/null
+++ b/devel/xpeviewer/pkg-plist
@@ -0,0 +1,29 @@
+bin/xpeviewer
+share/applications/xpeviewer.desktop
+share/icons/hicolor/16x16/apps/xpeviewer.png
+share/icons/hicolor/20x20/apps/xpeviewer.png
+share/icons/hicolor/24x24/apps/xpeviewer.png
+share/icons/hicolor/256x256/apps/xpeviewer.png
+share/icons/hicolor/32x32/apps/xpeviewer.png
+share/icons/hicolor/48x48/apps/xpeviewer.png
+%%DATADIR%%/lang/xpeviewer_ar.qm
+%%DATADIR%%/lang/xpeviewer_de.qm
+%%DATADIR%%/lang/xpeviewer_es.qm
+%%DATADIR%%/lang/xpeviewer_fr.qm
+%%DATADIR%%/lang/xpeviewer_he.qm
+%%DATADIR%%/lang/xpeviewer_id.qm
+%%DATADIR%%/lang/xpeviewer_it.qm
+%%DATADIR%%/lang/xpeviewer_ja.qm
+%%DATADIR%%/lang/xpeviewer_ko.qm
+%%DATADIR%%/lang/xpeviewer_pl.qm
+%%DATADIR%%/lang/xpeviewer_pt_BR.qm
+%%DATADIR%%/lang/xpeviewer_ru.qm
+%%DATADIR%%/lang/xpeviewer_tr.qm
+%%DATADIR%%/lang/xpeviewer_vi.qm
+%%DATADIR%%/lang/xpeviewer_zh.qm
+%%DATADIR%%/lang/xpeviewer_zh_TW.qm
+%%DATADIR%%/qss/console.qss
+%%DATADIR%%/qss/orange.qss
+%%DATADIR%%/qss/orange_fix.qss
+%%DATADIR%%/qss/veles.qss
+%%DATADIR%%/signatures/crypto.db