diff --git a/deskutils/Makefile b/deskutils/Makefile index b20c2d78f6e6..49d861b1b96a 100644 --- a/deskutils/Makefile +++ b/deskutils/Makefile @@ -1,281 +1,282 @@ COMMENT = Things that used to be on the desktop before computers were invented SUBDIR += affiche SUBDIR += akonadi-calendar-tools SUBDIR += akonadi-import-wizard SUBDIR += akonadiconsole SUBDIR += akregator SUBDIR += alarm-clock-applet SUBDIR += anydesk SUBDIR += appwrapper SUBDIR += aspostit SUBDIR += ausweisapp2 SUBDIR += autocutsel SUBDIR += baobab SUBDIR += basket SUBDIR += belcard SUBDIR += bigyear SUBDIR += bijiben SUBDIR += birdtray SUBDIR += bitcollider SUBDIR += bookworm SUBDIR += cairo-dock SUBDIR += cairo-dock-plugins SUBDIR += caja-extensions SUBDIR += cal SUBDIR += calcurse SUBDIR += calendar SUBDIR += calendar-data SUBDIR += calibre SUBDIR += calindori SUBDIR += cartotheque SUBDIR += cfiles SUBDIR += charmtimetracker SUBDIR += chart SUBDIR += clipit SUBDIR += clipmenu SUBDIR += clipnotify SUBDIR += conkyforecast SUBDIR += coolreader SUBDIR += copyq SUBDIR += coregarage SUBDIR += countdown SUBDIR += dailystrips SUBDIR += deforaos-todo SUBDIR += dfshow SUBDIR += docear SUBDIR += dosage SUBDIR += dstask SUBDIR += easystroke SUBDIR += egroupware SUBDIR += elementary-calendar SUBDIR += fasd SUBDIR += fbreader SUBDIR += fet SUBDIR += fff SUBDIR += flameshot SUBDIR += foliate SUBDIR += freemind SUBDIR += freeplane SUBDIR += ganttproject SUBDIR += gcal SUBDIR += gcalcli SUBDIR += genius SUBDIR += glabels SUBDIR += gnome-calendar SUBDIR += gnome-characters SUBDIR += gnome-clocks SUBDIR += gnome-contacts SUBDIR += gnome-dictionary SUBDIR += gnome-documents SUBDIR += gnome-font-viewer SUBDIR += gnome-initial-setup SUBDIR += gnome-maps SUBDIR += gnome-photos SUBDIR += gnome-pomodoro SUBDIR += gnome-screenshot SUBDIR += gnome-search-tool SUBDIR += gnome-shell-extension-audio-output-switcher SUBDIR += gnome-shell-extension-coverflow SUBDIR += gnome-shell-extension-dashtodock SUBDIR += gnome-shell-extension-dashtopanel SUBDIR += gnome-shell-extension-filesmenu SUBDIR += gnome-shell-extension-hidetopbar SUBDIR += gnome-shell-extension-lockkeys SUBDIR += gnome-shell-extension-mediaplayer SUBDIR += gnome-shell-extension-openweather SUBDIR += gnome-shell-extension-panel-osd SUBDIR += gnome-shell-extension-recent-items SUBDIR += gnome-shell-extension-trash SUBDIR += gnome-shell-extension-weather SUBDIR += gnome-shell-extension-windowoverlay-icons SUBDIR += gnome-shell-extra-extensions SUBDIR += gnome-sound-recorder SUBDIR += gnome-system-log SUBDIR += gnome-todo SUBDIR += gnome-tweaks SUBDIR += gnome-utils SUBDIR += gnome-weather SUBDIR += gnote SUBDIR += gnustep-wrapper SUBDIR += go-for-it SUBDIR += goesimage SUBDIR += gpicker SUBDIR += grantlee-editor SUBDIR += grantleetheme SUBDIR += griffith SUBDIR += growl-for-linux SUBDIR += gsimplecal SUBDIR += gtimer SUBDIR += gucharmap SUBDIR += gworkspace SUBDIR += gworkspace-gwmetadata SUBDIR += gxmessage SUBDIR += gxneur SUBDIR += hebcal SUBDIR += helpviewer SUBDIR += horde-groupware SUBDIR += horde-kronolith SUBDIR += horde-mnemo SUBDIR += horde-nag SUBDIR += hot-babe SUBDIR += howm SUBDIR += hs-arbtt SUBDIR += ical SUBDIR += itinerary SUBDIR += jjclient SUBDIR += jlj SUBDIR += just SUBDIR += kaddressbook SUBDIR += kalarm SUBDIR += kalendar SUBDIR += kcharselect SUBDIR += kchmviewer SUBDIR += kdeconnect-kde SUBDIR += kdepim SUBDIR += kdepim-addons SUBDIR += kdepim-runtime SUBDIR += keditbookmarks SUBDIR += kfind SUBDIR += kmail SUBDIR += kmail-account-wizard SUBDIR += knotes SUBDIR += kongress SUBDIR += kontact SUBDIR += korganizer SUBDIR += kruler SUBDIR += ktimetracker SUBDIR += kuserfeedback SUBDIR += latte-dock SUBDIR += libcprime SUBDIR += libkdepim SUBDIR += libportal SUBDIR += ljclive SUBDIR += lookbook SUBDIR += lumina-archiver SUBDIR += lumina-calculator SUBDIR += lumina-fileinfo SUBDIR += lumina-fm SUBDIR += lumina-mediaplayer SUBDIR += lumina-pdf SUBDIR += lumina-photo SUBDIR += lumina-screenshot SUBDIR += lumina-textedit SUBDIR += lxqt-notificationd SUBDIR += maliit-framework SUBDIR += maliit-keyboard SUBDIR += mate-indicator-applet SUBDIR += mate-notification-daemon SUBDIR += mate-utils SUBDIR += mbox-importer SUBDIR += mencal SUBDIR += menumaker SUBDIR += meteo + SUBDIR += mindforger SUBDIR += moregroupware SUBDIR += mozo SUBDIR += myitcrm SUBDIR += nautilus-actions SUBDIR += nautilus-sendto SUBDIR += nextcloudclient SUBDIR += note SUBDIR += noti SUBDIR += notification-daemon SUBDIR += notify-osd SUBDIR += osmo SUBDIR += owncloudclient SUBDIR += p5-Data-ICal SUBDIR += p5-Data-ICal-DateTime SUBDIR += p5-Goo SUBDIR += pal SUBDIR += parcellite SUBDIR += peaclock SUBDIR += pet SUBDIR += phpicalendar SUBDIR += pim-data-exporter SUBDIR += pim-sieve-editor SUBDIR += pinot SUBDIR += plan SUBDIR += plans SUBDIR += plasma5-milou SUBDIR += plasma5-sddm-kcm SUBDIR += plasma5-xdg-desktop-portal-kde SUBDIR += plopfolio SUBDIR += preferences SUBDIR += presage SUBDIR += projectlibre SUBDIR += puush SUBDIR += py-autokey SUBDIR += py-bugwarrior SUBDIR += py-khal SUBDIR += py-khard SUBDIR += py-paperless SUBDIR += py-py3status SUBDIR += py-pystash SUBDIR += py-send2trash SUBDIR += py-taskw SUBDIR += py-term-background SUBDIR += py-todoman SUBDIR += py-vdirsyncer SUBDIR += py-vobject SUBDIR += qlipper SUBDIR += qownnotes SUBDIR += qtfeedback SUBDIR += recoll SUBDIR += remind SUBDIR += rolo SUBDIR += rubrica SUBDIR += rubygem-shellplay SUBDIR += rubygem-taskjuggler SUBDIR += semantik SUBDIR += showdown SUBDIR += simpleagenda SUBDIR += sliderule SUBDIR += solanum SUBDIR += sowon SUBDIR += spice-gtk SUBDIR += synapse SUBDIR += syncthingtray SUBDIR += sysctlview SUBDIR += systempreferences SUBDIR += taskd SUBDIR += tasksh SUBDIR += taskwarrior SUBDIR += teapot SUBDIR += terminal-image-viewer SUBDIR += thinkingrock SUBDIR += timewarrior SUBDIR += todo SUBDIR += todour SUBDIR += toolboxkit SUBDIR += tpb SUBDIR += treeline SUBDIR += treesheets SUBDIR += ultralist SUBDIR += virt-manager SUBDIR += vit SUBDIR += when SUBDIR += wmpinboard SUBDIR += x026 SUBDIR += xcalendar SUBDIR += xchm SUBDIR += xdg-desktop-portal SUBDIR += xfce4-generic-slider SUBDIR += xfce4-notes-plugin SUBDIR += xfce4-notifyd SUBDIR += xfce4-tumbler SUBDIR += xfce4-volumed-pulse SUBDIR += xfce4-xkb-plugin SUBDIR += xmdiary SUBDIR += xneur SUBDIR += xpad SUBDIR += xpad3 SUBDIR += xpostit SUBDIR += xpostitPlus SUBDIR += xwrits SUBDIR += ydotool SUBDIR += zanshin SUBDIR += zim SUBDIR += znotes SUBDIR += zorro .include diff --git a/deskutils/mindforger/Makefile b/deskutils/mindforger/Makefile new file mode 100644 index 000000000000..fc84ee3fc04b --- /dev/null +++ b/deskutils/mindforger/Makefile @@ -0,0 +1,30 @@ +# Created by: Alexey Dokuchaev + +PORTNAME= mindforger +PORTVERSION= 1.52.0 +CATEGORIES= deskutils + +MAINTAINER= danfe@FreeBSD.org +COMMENT= Thinking notebook and markdown editor + +LICENSE= GPLv2+ + +USES= qmake qt:5 +USE_GITHUB= yes +GH_ACCOUNT= dvorka +USE_QT= buildtools_build core declarative gui location network \ + printsupport webchannel webengine widgets + +QMAKE_ARGS= CONFIG+="mfwebengine mfnocxx mfnomd2html" + +post-patch: + @${REINPLACE_CMD} -e '/_WIN32/s,_APPLE,_${OPSYS},' \ + ${WRKSRC}/app/src/qt/note_view_presenter.cpp \ + ${WRKSRC}/app/src/qt/note_view_presenter.h \ + ${WRKSRC}/app/src/qt/outline_header_view_presenter.cpp + @${REINPLACE_CMD} -e '/#include /d' \ + ${WRKSRC}/lib/src/config/config.h + @${REINPLACE_CMD} -e '/path = /s,/usr,$$$$PREFIX,' \ + ${WRKSRC}/app/app.pro ${WRKSRC}/mindforger.pro + +.include diff --git a/deskutils/mindforger/distinfo b/deskutils/mindforger/distinfo new file mode 100644 index 000000000000..9d5feabe5669 --- /dev/null +++ b/deskutils/mindforger/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1583687032 +SHA256 (dvorka-mindforger-1.52.0_GH0.tar.gz) = d0fc9469e932a27f93b13acb6b708e2cfac37858083e0572a4c39b01b8202773 +SIZE (dvorka-mindforger-1.52.0_GH0.tar.gz) = 1775600 diff --git a/deskutils/mindforger/files/patch-lib_lib.pro b/deskutils/mindforger/files/patch-lib_lib.pro new file mode 100644 index 000000000000..8661ce6487d3 --- /dev/null +++ b/deskutils/mindforger/files/patch-lib_lib.pro @@ -0,0 +1,31 @@ +--- lib/lib.pro.orig 2020-03-08 17:03:52 UTC ++++ lib/lib.pro +@@ -136,9 +136,13 @@ SOURCES += \ + src/mind/ai/autolinking/naive_autolinking_preprocessor.cpp \ + src/representations/markdown/cmark_gfm_markdown_transcoder.cpp \ + src/mind/ai/autolinking/autolinking_mind.cpp \ +- src/mind/ai/autolinking/cmark_aho_corasick_block_autolinking_preprocessor.cpp \ + src/mind/limbo.cpp + ++!mfnomd2html { ++ SOURCES += \ ++ src/mind/ai/autolinking/cmark_aho_corasick_block_autolinking_preprocessor.cpp ++} ++ + mfner { + SOURCES += \ + src/mind/ai/nlp/named_entity_recognition.cpp \ +@@ -256,8 +260,12 @@ HEADERS += \ + src/config/config.h \ + src/representations/markdown/cmark_gfm_markdown_transcoder.h \ + src/mind/ai/autolinking/autolinking_mind.h \ +- src/mind/ai/autolinking/cmark_aho_corasick_block_autolinking_preprocessor.h \ + src/mind/limbo.h ++ ++!mfnomd2html { ++ HEADERS += \ ++ src/mind/ai/autolinking/cmark_aho_corasick_block_autolinking_preprocessor.h ++} + + mfner { + HEADERS += \ diff --git a/deskutils/mindforger/files/patch-lib_src_gear_string__utils.h b/deskutils/mindforger/files/patch-lib_src_gear_string__utils.h new file mode 100644 index 000000000000..65a3b2159cc7 --- /dev/null +++ b/deskutils/mindforger/files/patch-lib_src_gear_string__utils.h @@ -0,0 +1,17 @@ +--- lib/src/gear/string_utils.h.orig 2020-03-08 17:03:52 UTC ++++ lib/src/gear/string_utils.h +@@ -114,12 +114,12 @@ static inline char *stringTrim(const char *s) { + } + + static inline std::string &stringLeftTrim(std::string& s) { +- s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun(isspace)))); ++ s.erase(s.begin(), std::find_if(s.begin(), s.end(), [](int c) { return !std::isspace(c); })); + return s; + } + + static inline std::string &stringRightTrim(std::string& s) { +- s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun(isspace))).base(), s.end()); ++ s.erase(std::find_if(s.rbegin(), s.rend(), [](int c) { return !std::isspace(c); }).base(), s.end()); + return s; + } + diff --git a/deskutils/mindforger/files/patch-lib_src_mind_ai_autolinking_naive__autolinking__preprocessor.cpp b/deskutils/mindforger/files/patch-lib_src_mind_ai_autolinking_naive__autolinking__preprocessor.cpp new file mode 100644 index 000000000000..c71c909f5a64 --- /dev/null +++ b/deskutils/mindforger/files/patch-lib_src_mind_ai_autolinking_naive__autolinking__preprocessor.cpp @@ -0,0 +1,23 @@ +--- lib/src/mind/ai/autolinking/naive_autolinking_preprocessor.cpp.orig 2020-03-08 17:03:52 UTC ++++ lib/src/mind/ai/autolinking/naive_autolinking_preprocessor.cpp +@@ -60,6 +60,11 @@ bool NaiveAutolinkingPreprocessor::containsLinkCodeMat + return false; + } + ++static bool aliasSizeComparator(const Thing* t1, const Thing* t2) ++{ ++ return t1->getAutolinkingAlias().size() > t2->getAutolinkingAlias().size(); ++} ++ + void NaiveAutolinkingPreprocessor::updateThingsIndex() + { + // IMPROVE update indices only if an O/N is modified (except writing read timestamps) +@@ -145,7 +150,7 @@ void NaiveAutolinkingPreprocessor::process(const vecto + // IMPROVE loop to be changed to Aho-Corasic trie + + // inject Os, then Ns +- for(Thing* t:mind.autolink()->getThings()) { ++ for(Thing* t:things) { + size_t found; + bool match, insensitiveMatch; + string lowerAlias{}; diff --git a/deskutils/mindforger/files/patch-lib_src_mind_mind.cpp b/deskutils/mindforger/files/patch-lib_src_mind_mind.cpp new file mode 100644 index 000000000000..8fbd1b81fcde --- /dev/null +++ b/deskutils/mindforger/files/patch-lib_src_mind_mind.cpp @@ -0,0 +1,30 @@ +--- lib/src/mind/mind.cpp.orig 2020-03-08 17:03:52 UTC ++++ lib/src/mind/mind.cpp +@@ -43,7 +43,7 @@ Mind::Mind(Configuration &configuration) + #ifdef MF_MD_2_HTML_CMARK + autolinking{new AutolinkingMind{*this}}, + #else +- autolinking{nullptr} ++ autolinking{nullptr}, + #endif + exclusiveMind{}, + timeScopeAspect{}, +@@ -279,7 +279,7 @@ bool Mind::autolinkFindLongestPrefixWord(std::string& + { + #ifdef MF_MD_2_HTML_CMARK + return autolinking->findLongestPrefixWord(s, r); +-#elif ++#else + return false; + #endif + } +@@ -1079,7 +1079,9 @@ void Mind::noteDemote(Note* note, Outline::Patch* patc + + void Mind::noteOnRename(const std::string& oldName, const std::string& newName) + { ++#ifdef MF_MD_2_HTML_CMARK + autolinking->update(oldName, newName); ++#endif + } + + void Mind::onRemembering() diff --git a/deskutils/mindforger/pkg-descr b/deskutils/mindforger/pkg-descr new file mode 100644 index 000000000000..b817118d39fe --- /dev/null +++ b/deskutils/mindforger/pkg-descr @@ -0,0 +1,7 @@ +MindForger is open, free, well performing Markdown editor which respects your +privacy and enables security. + +MindForger is actually more than an editor or IDE -- it's human mind inspired +personal knowledge management tool. + +WWW: https://www.mindforger.com/ diff --git a/deskutils/mindforger/pkg-plist b/deskutils/mindforger/pkg-plist new file mode 100644 index 000000000000..69e11d024ba4 --- /dev/null +++ b/deskutils/mindforger/pkg-plist @@ -0,0 +1,44 @@ +bin/mindforger +share/applications/mindforger.desktop +share/icons/mindforger/adapt.svg +share/icons/mindforger/back.svg +share/icons/mindforger/dashboard.svg +share/icons/mindforger/find-fts.svg +share/icons/mindforger/find-n-name.svg +share/icons/mindforger/find-n-tag.svg +share/icons/mindforger/find-o-name.svg +share/icons/mindforger/find-o-tag.svg +share/icons/mindforger/flat-adapt.svg +share/icons/mindforger/flat-dashboard.svg +share/icons/mindforger/flat-find-fts.svg +share/icons/mindforger/flat-help.svg +share/icons/mindforger/flat-home.svg +share/icons/mindforger/flat-new.svg +share/icons/mindforger/flat-open-file.svg +share/icons/mindforger/flat-open-repository.svg +share/icons/mindforger/flat-scope.svg +share/icons/mindforger/flat-think.svg +share/icons/mindforger/flat-view-eisenhower.svg +share/icons/mindforger/flat-view-navigator.svg +share/icons/mindforger/flat-view-outlines.svg +share/icons/mindforger/flat-view-recent-notes.svg +share/icons/mindforger/flat-view-tags.svg +share/icons/mindforger/forward.svg +share/icons/mindforger/help.svg +share/icons/mindforger/home.svg +share/icons/mindforger/mindforger-logo-inkscape.svg +share/icons/mindforger/mindforger.icns +share/icons/mindforger/mindforger.ico +share/icons/mindforger/mindforger.png +share/icons/mindforger/mindforger128x128.png +share/icons/mindforger/new.svg +share/icons/mindforger/open-file.svg +share/icons/mindforger/open-repository.svg +share/icons/mindforger/scope.svg +share/icons/mindforger/think.svg +share/icons/mindforger/view-eisenhower.svg +share/icons/mindforger/view-navigator.svg +share/icons/mindforger/view-outlines.svg +share/icons/mindforger/view-recent-notes.svg +share/icons/mindforger/view-tags.svg +share/man/man1/mindforger.1.gz