From nobody Wed Jul 24 22:43:51 2024 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4WTpw76s5Pz5R88M; Wed, 24 Jul 2024 22:43:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4WTpw75wL5z4tGy; Wed, 24 Jul 2024 22:43:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1721861031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Xpg8JTp4E20oNFqzKbQCmrHJKBU0hl7aKSR2olTreg=; b=emn1cQnnBk+6l1UTlcv1Ihu6f5lRKoJnsjW88+shHd5NSuzl67bH/xOeLCHZ5IAKGe05KD THqxExlqn8vqEddZFGACVjmeRK0blUMrAum+LEpu4Q+ce2XJ17xWeE0HqCdT9UyE1KTC+t TrIN03WzQgwsmlHmtBpc8LyboQV06FJ+KXLWBcRpEDg2Hgq7PdR9JUPBDWhDRbgRG70Mof jvxfBBf34yqA6rYLGKuC/Ed+uGas7bmBV1LQhSXCXeqzcOx4SP64h/XZ+zNqNYvXp1qhra tYXDpH+9W1nTPmQsu7izCA/lEeXuIjLic7LLpuWAppoXCsNX/ltGpQ9aymz6Ug== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1721861031; a=rsa-sha256; cv=none; b=OSduSw9ey+vtPW4PvtP46oa7tIHhipGJBABwV/V9cORGL6aibGAmS5AyMLad864quCkfkN sTNkQTcWXFtgb315sPrLDtiezpSU2eaLEsIFDRDRJh4wtR+WZkm3l+/Gl4/iF4LSLnWpOl YgB6w3aARnLfF1Iw0VUTwH5XQZOVnKUlQegPefjXiLI6kg/Kgu7M6+XAgCKQiJsyRsMpKM 7+o8/U/02Gl8FCJSb2/LqwQ0Q1EYPLnBTeD/LhiadoG3r8n+OL5ruwSymQfl3SgGF3wcDe ckNHHRZZuVQrCnfT0led9xvbaeY4nV6OUC+wB0aWavlm0S+ahzB+OMVc5dByHQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1721861031; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=2Xpg8JTp4E20oNFqzKbQCmrHJKBU0hl7aKSR2olTreg=; b=NuZpyBOVZZzRtlI1fKOKfY5POQDG3ra2e507nsAeEcLZnWJ7n5ld+wHsMHM6DrKdqytWtQ TwVdJ/iV3z1MTThQvLxgTIlzrcODPCq2Mb+wl/g9L5B5JASkkY9CoWMFhpKfpRdIJxGrjp IhuZbyyf7DBwgs2zvuYV0cQrlGCcpNUePOvzUsRh06p0wOD96LWYXAr95JEP3bFj1ceWVt eo4mA93WAmINbeeGwukbb0bcAtjUtrOf7oqqUIfEhTOhi7Onb1XfjoazJWzUxi+ZBOFK6M x239bDvCKpRNQj7REOWlBKt7a6xv2urGBYK3Ha6TECKBkIliAuCiRg5eK3LmOw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4WTpw75RgfzVxq; Wed, 24 Jul 2024 22:43:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 46OMhpE5017775; Wed, 24 Jul 2024 22:43:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 46OMhpSK017772; Wed, 24 Jul 2024 22:43:51 GMT (envelope-from git) Date: Wed, 24 Jul 2024 22:43:51 GMT Message-Id: <202407242243.46OMhpSK017772@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Vladimir Druzenko Subject: git: 079bb54b2cb1 - main - graphics/qimgv: new port: fast and easy to use image viewer List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: vvd X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 079bb54b2cb1d63fd53b21267d59b11d2f04ece2 Auto-Submitted: auto-generated The branch main has been updated by vvd: URL: https://cgit.FreeBSD.org/ports/commit/?id=079bb54b2cb1d63fd53b21267d59b11d2f04ece2 commit 079bb54b2cb1d63fd53b21267d59b11d2f04ece2 Author: Kenneth Raplee AuthorDate: 2024-07-24 22:40:08 +0000 Commit: Vladimir Druzenko CommitDate: 2024-07-24 22:40:08 +0000 graphics/qimgv: new port: fast and easy to use image viewer Key features: * Simple UI * Fast * Easy to use * Fully configurable, including themes, shortcuts * High quality scaling * Basic image editing: Crop, Rotate and Resize * Ability to quickly copy / move images to different folders * Experimental video playback via libmpv * Folder view mode * Ability to run shell scripts https://github.com/easymodo/qimgv PR: 280422 --- graphics/Makefile | 1 + graphics/qimgv/Makefile | 62 +++++++++++++++ graphics/qimgv/distinfo | 3 + graphics/qimgv/files/patch-add-freebsd-support | 103 +++++++++++++++++++++++++ graphics/qimgv/pkg-descr | 2 + graphics/qimgv/pkg-plist | 19 +++++ 6 files changed, 190 insertions(+) diff --git a/graphics/Makefile b/graphics/Makefile index 9f03289c5a8a..cd38ce73984e 100644 --- a/graphics/Makefile +++ b/graphics/Makefile @@ -1015,6 +1015,7 @@ SUBDIR += qcustomplot SUBDIR += qgis SUBDIR += qgis-ltr + SUBDIR += qimgv SUBDIR += qiv SUBDIR += qr-code-generator SUBDIR += qt5-3d diff --git a/graphics/qimgv/Makefile b/graphics/qimgv/Makefile new file mode 100644 index 000000000000..c558dee4465c --- /dev/null +++ b/graphics/qimgv/Makefile @@ -0,0 +1,62 @@ +PORTNAME= qimgv +PORTVERSION= 1.03.g20240620 +CATEGORIES= graphics + +MAINTAINER= kenrap@kennethraplee.com +COMMENT= Fast and easy to use image viewer +WWW= https://github.com/easymodo/qimgv + +LICENSE= GPLv3 + +LIB_DEPENDS= libinotify.so:devel/libinotify + +USES= cmake compiler:c++11-lang desktop-file-utils \ + localbase:ldflags +USE_GITHUB= yes +GH_ACCOUNT= easymodo +GH_PROJECT= qimgv +GH_TAGNAME= 7672cb4b15f8f5eef2b5535e7bbb59248931db72 + +LDFLAGS+= -linotify + +OPTIONS_DEFINE= EXIV2 KDE5 OPENCV VIDEO +OPTIONS_DEFAULT= EXIV2 OPENCV QT6 VIDEO +OPTIONS_SINGLE= QT +OPTIONS_SINGLE_QT= QT5 QT6 +OPTIONS_SUB= yes + +EXIV2_DESC= Support reading exif tags via exiv2 +KDE5_DESC= ${KDE_DESC} (require QT5) +OPENCV_DESC= Enables high quality scaling options +VIDEO_DESC= Enables video playback via mpv + +EXIV2_LIB_DEPENDS= libexiv2.so:graphics/exiv2 +EXIV2_CMAKE_BOOL= EXIV2 + +KDE5_IMPLIES= QT5 +KDE5_PREVENTS= QT6 +KDE5_USES= kde:5 xorg +KDE5_USE= kde=windowsystem xorg=x11 +KDE5_CMAKE_BOOL= KDE_SUPPORT + +OPENCV_LIB_DEPENDS= libopencv_core.so:graphics/opencv \ + libopencv_imgproc.so:graphics/opencv +OPENCV_CMAKE_BOOL= OPENCV_SUPPORT + +QT5_USES= qt:5 +QT5_USE= qt=buildtools:build,linguisttools:build,qmake:build \ + qt=core,gui,printsupport,svg,widgets +QT5_CMAKE_BOOL= CMAKE_DISABLE_FIND_PACKAGE_Qt6 + +QT6_USES= qt:6 gl +QT6_USE= gl=opengl qt=base,svg,tools:build +QT6_CMAKE_BOOL= CMAKE_DISABLE_FIND_PACKAGE_Qt5 + +VIDEO_LIB_DEPENDS= libmpv.so:multimedia/mpv +VIDEO_CMAKE_BOOL= VIDEO_SUPPORT + +post-patch: + @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \ + ${WRKSRC}/qimgv/settings.cpp + +.include diff --git a/graphics/qimgv/distinfo b/graphics/qimgv/distinfo new file mode 100644 index 000000000000..8690254e14ab --- /dev/null +++ b/graphics/qimgv/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1719751325 +SHA256 (easymodo-qimgv-1.03.g20240620-7672cb4b15f8f5eef2b5535e7bbb59248931db72_GH0.tar.gz) = 78bb1943559a43f536a71641b913de5dab3a69ebfe781d8ef11382a89be68691 +SIZE (easymodo-qimgv-1.03.g20240620-7672cb4b15f8f5eef2b5535e7bbb59248931db72_GH0.tar.gz) = 1082895 diff --git a/graphics/qimgv/files/patch-add-freebsd-support b/graphics/qimgv/files/patch-add-freebsd-support new file mode 100644 index 000000000000..2ca17d221ed9 --- /dev/null +++ b/graphics/qimgv/files/patch-add-freebsd-support @@ -0,0 +1,103 @@ +--- qimgv/components/directorymanager/watchers/directorywatcher.cpp.orig 2024-06-20 15:55:26 UTC ++++ qimgv/components/directorymanager/watchers/directorywatcher.cpp +@@ -1,6 +1,6 @@ + #include "directorywatcher_p.h" + +-#ifdef __linux__ ++#if defined(__FreeBSD__) || defined(__linux__) + #include "linux/linuxwatcher.h" + #elif _WIN32 + #include "windows/windowswatcher.h" +@@ -34,7 +34,7 @@ DirectoryWatcher *DirectoryWatcher::newInstance() + { + DirectoryWatcher* watcher; + +-#ifdef __linux__ ++#if defined(__FreeBSD__) || defined(__linux__) + watcher = new LinuxWatcher(); + #elif _WIN32 + watcher = new WindowsWatcher(); +--- qimgv/core.cpp.orig 2024-06-20 15:55:26 UTC ++++ qimgv/core.cpp +@@ -728,7 +728,7 @@ void Core::showInDirectory() { + QDesktopServices::openUrl(QUrl::fromLocalFile(model->directoryPath())); + return; + } +-#ifdef __linux__ ++#if defined(__FreeBSD__) || defined(__linux__) + QString fm = ScriptManager::runCommand("xdg-mime query default inode/directory"); + if(fm.contains("dolphin")) + ScriptManager::runCommandDetached("dolphin --select " + selectedPath()); +--- qimgv/settings.cpp.orig 2024-06-20 15:55:26 UTC ++++ qimgv/settings.cpp +@@ -3,7 +3,7 @@ Settings::Settings(QObject *parent) : QObject(parent) + Settings *settings = nullptr; + + Settings::Settings(QObject *parent) : QObject(parent) { +-#ifdef __linux__ ++#if defined(__FreeBSD__) || defined(__linux__) + // config files + QSettings::setDefaultFormat(QSettings::NativeFormat); + settingsConf = new QSettings(); +@@ -38,7 +38,7 @@ void Settings::setupCache() { + } + //------------------------------------------------------------------------------ + void Settings::setupCache() { +-#ifdef __linux__ ++#if defined(__FreeBSD__) || defined(__linux__) + QString genericCacheLocation = QStandardPaths::writableLocation(QStandardPaths::GenericCacheLocation); + if(genericCacheLocation.isEmpty()) + genericCacheLocation = QDir::homePath() + "/.cache"; +@@ -292,6 +292,8 @@ QString Settings::mpvBinary() { + if(!QFile::exists(mpvPath)) { + #ifdef _WIN32 + mpvPath = QCoreApplication::applicationDirPath() + "/mpv.exe"; ++ #elif defined __FreeBSD__ ++ mpvPath = "/usr/local/bin/mpv"; + #elif defined __linux__ + mpvPath = "/usr/bin/mpv"; + #endif +--- qimgv/shortcutbuilder.cpp.orig 2024-06-20 15:55:26 UTC ++++ qimgv/shortcutbuilder.cpp +@@ -64,7 +64,7 @@ QString ShortcutBuilder::processKeyEvent(QKeyEvent *ev + QString ShortcutBuilder::processKeyEvent(QKeyEvent *event) { + if(event->type() != QEvent::KeyPress || isModifier(Qt::Key(event->key()))) + return ""; +-#if defined(__linux__) || defined(_WIN32) ++#if defined(__FreeBSD__) || defined(__linux__) || defined(_WIN32) + return fromEventNativeScanCode(event); + #else + return fromEventText(event); +--- qimgv/utils/inputmap.cpp.orig 2024-06-20 15:55:26 UTC ++++ qimgv/utils/inputmap.cpp +@@ -162,7 +162,7 @@ void InputMap::initKeyMap() { + keyMap.insert( 57397 , "/" ); + keyMap.insert( 57372 , "Enter" ); + +-#elif defined __linux__ ++#elif defined(__FreeBSD__) || defined(__linux__) + // linux keymap for qimgv + + // row 1 +--- qimgv/utils/stuff.cpp.orig 2024-06-20 15:55:26 UTC ++++ qimgv/utils/stuff.cpp +@@ -8,7 +8,7 @@ int probeOS() { + int probeOS() { + #ifdef TARGET_OS_MAC + return 0; +-#elif defined __linux__ ++#elif defined(__FreeBSD__) || defined(__linux__) + return 1; + #elif defined _WIN32 || defined _WIN64 + return 2; +--- qimgv/utils/wallpapersetter.cpp.orig 2024-06-20 15:55:26 UTC ++++ qimgv/utils/wallpapersetter.cpp +@@ -11,7 +11,7 @@ void WallpaperSetter::setWallpaper(QString path) { + (PVOID) path.utf16(), + SPIF_UPDATEINIFILE | SPIF_SENDWININICHANGE); + qDebug() << "wallpaper changed:" << (ok ? "true" : "false"); +-#elif defined __linux__ ++#elif defined(__FreeBSD__) || defined(__linux__) + QString command; + command = "qdbus org.kde.plasmashell /PlasmaShell org.kde.PlasmaShell.evaluateScript \'var allDesktops = desktops(); print (allDesktops); for (i = 0; i < allDesktops.length; i++) { d = allDesktops[i]; d.wallpaperPlugin = \"org.kde.image\"; d.currentConfigGroup = Array(\"Wallpaper\", \"org.kde.image\", \"General\"); d.writeConfig(\"Image\", \"" + path + "\") } \'"; + QProcess process; diff --git a/graphics/qimgv/pkg-descr b/graphics/qimgv/pkg-descr new file mode 100644 index 000000000000..b8fab38e23d4 --- /dev/null +++ b/graphics/qimgv/pkg-descr @@ -0,0 +1,2 @@ +A fast image viewer with an unclutted, simple, and easy to use UI. +Optional video support. diff --git a/graphics/qimgv/pkg-plist b/graphics/qimgv/pkg-plist new file mode 100644 index 000000000000..38d5c72c0966 --- /dev/null +++ b/graphics/qimgv/pkg-plist @@ -0,0 +1,19 @@ +bin/qimgv +%%VIDEO%%lib/qimgv/player_mpv.so +share/applications/qimgv.desktop +share/icons/hicolor/128x128/apps/qimgv.png +share/icons/hicolor/16x16/apps/qimgv.png +share/icons/hicolor/22x22/apps/qimgv.png +share/icons/hicolor/24x24/apps/qimgv.png +share/icons/hicolor/256x256/apps/qimgv.png +share/icons/hicolor/32x32/apps/qimgv.png +share/icons/hicolor/36x36/apps/qimgv.png +share/icons/hicolor/48x48/apps/qimgv.png +share/icons/hicolor/64x64/apps/qimgv.png +share/icons/hicolor/scalable/apps/qimgv.svg +share/metainfo/qimgv.appdata.xml +%%DATADIR%%/translations/de_DE.qm +%%DATADIR%%/translations/es_ES.qm +%%DATADIR%%/translations/fr_FR.qm +%%DATADIR%%/translations/uk_UA.qm +%%DATADIR%%/translations/zh_CN.qm