git: 78abcea23940 - main - deskutils/mytetra: new port had been added (+)

From: Alexey Dokuchaev <danfe_at_FreeBSD.org>
Date: Tue, 29 Aug 2023 08:07:03 UTC
The branch main has been updated by danfe:

URL: https://cgit.FreeBSD.org/ports/commit/?id=78abcea2394065ac13fe28e841993b39a3c912a2

commit 78abcea2394065ac13fe28e841993b39a3c912a2
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2023-08-29 08:05:56 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2023-08-29 08:05:56 +0000

    deskutils/mytetra: new port had been added (+)
    
    MyTetra is advanced graphical manager for information
    collecting and organizing written with C++/Qt5.
---
 deskutils/Makefile                         |  1 +
 deskutils/mytetra/Makefile                 | 24 +++++++++++++
 deskutils/mytetra/distinfo                 |  3 ++
 deskutils/mytetra/files/patch-mytetra.pro  | 58 ++++++++++++++++++++++++++++++
 deskutils/mytetra/files/patch-src_main.cpp | 21 +++++++++++
 deskutils/mytetra/pkg-descr                |  8 +++++
 6 files changed, 115 insertions(+)

diff --git a/deskutils/Makefile b/deskutils/Makefile
index 874b8cf62bb8..be7f7497084d 100644
--- a/deskutils/Makefile
+++ b/deskutils/Makefile
@@ -183,6 +183,7 @@
     SUBDIR += mindforger
     SUBDIR += moregroupware
     SUBDIR += mozo
+    SUBDIR += mytetra
     SUBDIR += nautilus-sendto
     SUBDIR += nextcloudclient
     SUBDIR += note
diff --git a/deskutils/mytetra/Makefile b/deskutils/mytetra/Makefile
new file mode 100644
index 000000000000..a1fd2c746a6e
--- /dev/null
+++ b/deskutils/mytetra/Makefile
@@ -0,0 +1,24 @@
+PORTNAME=	mytetra
+DISTVERSION=	1_43_27
+CATEGORIES=	deskutils
+MASTER_SITES=	https://webhamster.ru/db/data/articles/105/ \
+		http://vault.101011010.xyz/distfiles/
+DISTNAME=	${PORTNAME}_${DISTVERSION}_src
+
+MAINTAINER=	danfe@FreeBSD.org
+COMMENT=	Smart manager for information collecting
+WWW=		https://webhamster.ru/site/page/index/articles/projectcode/138
+
+LICENSE=	GPLv3
+
+USES=		gmake qmake qt:5 zip
+USE_QT=		buildtools:build core gui network printsupport svg widgets xml
+
+PLIST_FILES=	bin/mytetra share/applications/mytetra.desktop \
+		share/icons/hicolor/48x48/apps/mytetra.png \
+		share/icons/hicolor/scalable/apps/mytetra.svg
+
+post-extract:
+	${CHMOD} -x ${WRKSRC}/desktop/any/mytetra.desktop
+
+.include <bsd.port.mk>
diff --git a/deskutils/mytetra/distinfo b/deskutils/mytetra/distinfo
new file mode 100644
index 000000000000..3279449e5c03
--- /dev/null
+++ b/deskutils/mytetra/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1530899149
+SHA256 (mytetra_1_43_27_src.zip) = f649d1932c7a40ba2e5e7258fac672c7a90cb46273cfb50b21d8c7f300c1ac6d
+SIZE (mytetra_1_43_27_src.zip) = 14309620
diff --git a/deskutils/mytetra/files/patch-mytetra.pro b/deskutils/mytetra/files/patch-mytetra.pro
new file mode 100644
index 000000000000..7de75a0ab899
--- /dev/null
+++ b/deskutils/mytetra/files/patch-mytetra.pro
@@ -0,0 +1,58 @@
+--- mytetra.pro.orig	2018-06-12 15:49:29 UTC
++++ mytetra.pro
+@@ -6,7 +6,7 @@ TARGET_OS=ANY_OS
+ 
+ # Build type
+ # "debug" or "release"
+-BUILD_TYPE="debug"
++BUILD_TYPE=$$find(CONFIG, debug|release)
+ 
+ # Enable console for Windows
+ # 0 - disable, 1 - enable
+@@ -54,13 +54,7 @@ QT = gui \
+ CONFIG += qt \
+     warn_on
+ 
+-# If debug build
+-equals(BUILD_TYPE, "debug") {
+-  message(Is debug build)
+-  CONFIG += debug
+-} else {
+-  message(Is release build)
+-}
++message(Is $$first(BUILD_TYPE) build)
+ 
+ # If Windows console enable
+ equals(WINDOWS_CONSOLE_ENABLE, 1) {
+@@ -91,7 +85,7 @@ INCLUDEPATH += $${_PRO_FILE_PWD_}/src
+ contains(TARGET_OS, ANY_OS) {
+   message(Building the any OS version...)
+   SYSTEM_PROGRAM_NAME=mytetra
+-  BINARY_INSTALL_PATH=/usr/local/bin
++  BINARY_INSTALL_PATH=$$PREFIX/bin
+ }
+ 
+ contains(TARGET_OS, MEEGO_OS){
+@@ -115,7 +109,7 @@ message(Set installation directory for binary file to 
+ target.path=$${BINARY_INSTALL_PATH}
+ INSTALLS+=target
+ 
+-desktop_file.path=/usr/share/applications
++desktop_file.path=$$PREFIX/share/applications
+ contains(TARGET_OS, ANY_OS) {
+   desktop_file.files=desktop/any/mytetra.desktop
+ }
+@@ -127,11 +121,11 @@ contains(TARGET_OS, ANDROID_OS) {
+ }
+ INSTALLS+=desktop_file
+ 
+-icon_scalable_file.path=/usr/share/icons/hicolor/scalable/apps
++icon_scalable_file.path=$$PREFIX/share/icons/hicolor/scalable/apps
+ icon_scalable_file.files=desktop/mytetra.svg
+ INSTALLS+=icon_scalable_file
+ 
+-icon_48_file.path=/usr/share/icons/hicolor/48x48/apps
++icon_48_file.path=$$PREFIX/share/icons/hicolor/48x48/apps
+ icon_48_file.files=desktop/mytetra.png
+ INSTALLS+=icon_48_file
+ 
diff --git a/deskutils/mytetra/files/patch-src_main.cpp b/deskutils/mytetra/files/patch-src_main.cpp
new file mode 100644
index 000000000000..72499d23cd9c
--- /dev/null
+++ b/deskutils/mytetra/files/patch-src_main.cpp
@@ -0,0 +1,21 @@
+--- src/main.cpp.orig	2018-06-17 14:02:54 UTC
++++ src/main.cpp
+@@ -1,4 +1,4 @@
+-#include <sys/timeb.h>
++#include <sys/time.h>
+ 
+ #include <QTranslator>
+ #include <QToolButton>
+@@ -572,9 +572,9 @@ int getMilliCount(void)
+   // Something like GetTickCount but portable
+   // It rolls over every ~ 12.1 days (0x100000/24/60/60)
+   // Use getMilliSpan to correct for rollover
+-  timeb tb;
+-  ftime( &tb );
+-  int nCount = tb.millitm + (tb.time & 0xfffff) * 1000;
++  timeval tv;
++  gettimeofday(&tv, NULL);
++  int nCount = tv.tv_usec / 1000 + (tv.tv_sec & 0xfffff) * 1000;
+   return nCount;
+ }
+ 
diff --git a/deskutils/mytetra/pkg-descr b/deskutils/mytetra/pkg-descr
new file mode 100644
index 000000000000..a53bba91a994
--- /dev/null
+++ b/deskutils/mytetra/pkg-descr
@@ -0,0 +1,8 @@
+MyTetra is a full-featured, open-source, cross-platform note manager
+(PIM-manager) used to collect and accumulate various kinds of information.
+All entries (notes, articles) are organized in a tree structure, as well
+as supplied with keywords tags that allow you to quickly find the right
+entries.  Links between records, attachments, encryption, detailed search,
+synchronization, copying from the browser, one of the best visual WYSIWYG
+text editors -- all this is in the PIM-manager MyTetra.  It is powerful
+program for data memorization and structuring notes.