Index: head/x11/Makefile =================================================================== --- head/x11/Makefile +++ head/x11/Makefile @@ -8,6 +8,7 @@ SUBDIR += 9menu SUBDIR += admiral SUBDIR += alacritty + SUBDIR += albert SUBDIR += alltray SUBDIR += alttab SUBDIR += aminal Index: head/x11/albert/Makefile =================================================================== --- head/x11/albert/Makefile +++ head/x11/albert/Makefile @@ -0,0 +1,27 @@ +# $FreeBSD$ + +PORTNAME= albert +DISTVERSIONPREFIX=v +DISTVERSION= 0.16.1 +CATEGORIES= x11 + +MAINTAINER= jsm@FreeBSD.org +COMMENT= Albert a keyboard launcher + +LICENSE= GPLv3 + +LIB_DEPENDS= libmuparser.so:math/muparser +BUILD_DEPENDS= pybind11>=2.4.3:devel/pybind11 + +USES= cmake localbase pkgconfig xorg qt:5 python:3.7+ compiler:c++14-lang + +USE_QT= buildtools qmake core x11extras charts network sql gui widgets concurrent dbus \ + declarative svg + +USE_XORG=x11 xext sm ice +USE_LDCONFIG= yes +USE_GITHUB= yes +GH_TUPLE= albertlauncher:albert:v0.16.1 \ + albertlauncher:plugins:029bd8ccb58c4452bd82ab42be8739f1639e42d4:albert/plugins + +.include Index: head/x11/albert/distinfo =================================================================== --- head/x11/albert/distinfo +++ head/x11/albert/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1579666891 +SHA256 (albertlauncher-albert-v0.16.1_GH0.tar.gz) = e244b5825ef453221b221d76df30f8496c2e176ec6b9c26db21735d8e809956a +SIZE (albertlauncher-albert-v0.16.1_GH0.tar.gz) = 68739 +SHA256 (albertlauncher-plugins-029bd8ccb58c4452bd82ab42be8739f1639e42d4_GH0.tar.gz) = 1986041e464c87e7ccc4f01b0eb4302f101aa3d62f5b02929fc97f68b3a38623 +SIZE (albertlauncher-plugins-029bd8ccb58c4452bd82ab42be8739f1639e42d4_GH0.tar.gz) = 534401 Index: head/x11/albert/files/patch-CMakeLists.txt =================================================================== --- head/x11/albert/files/patch-CMakeLists.txt +++ head/x11/albert/files/patch-CMakeLists.txt @@ -0,0 +1,23 @@ +--- CMakeLists.txt.orig 2018-12-31 18:07:36 UTC ++++ CMakeLists.txt +@@ -18,7 +18,9 @@ set(CMAKE_INCLUDE_CURRENT_DIR ON) + set(CMAKE_AUTOMOC ON) + set(CMAKE_AUTOUIC ON) + set(CMAKE_AUTORCC ON) ++SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Xlinker --export-dynamic") + ++ + # Set standard + set(CMAKE_CXX_STANDARD 14) + set(CMAKE_CXX_STANDARD_REQUIRED ON) +@@ -135,8 +137,8 @@ install(TARGETS ${TARGET_NAME_LIB} ${TARGET_NAME_BIN} + ) + + # Do platform specific post target stuff +-if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") ++if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") + # Install desktop entry and icon + install(FILES resources/albert.desktop DESTINATION ${CMAKE_INSTALL_DATADIR}/applications ) + install(FILES resources/icons/albert.svg DESTINATION ${CMAKE_INSTALL_DATADIR}/icons/hicolor/scalable/apps) +-endif (${CMAKE_SYSTEM_NAME} MATCHES "Linux") ++endif() Index: head/x11/albert/files/patch-lib_globalshortcut_CMakeLists.txt =================================================================== --- head/x11/albert/files/patch-lib_globalshortcut_CMakeLists.txt +++ head/x11/albert/files/patch-lib_globalshortcut_CMakeLists.txt @@ -0,0 +1,14 @@ +--- lib/globalshortcut/CMakeLists.txt.orig 2018-12-31 18:07:36 UTC ++++ lib/globalshortcut/CMakeLists.txt +@@ -16,6 +16,11 @@ if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") + find_package(Qt5 5.5.0 REQUIRED X11Extras) + set(SRC ${SRC} src/hotkeymanager_x11.cpp) + set(LIB ${LIB} Qt5::X11Extras X11) ++elseif(${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD") ++ find_package(Qt5 5.5.0 REQUIRED X11Extras) ++ find_package(X11 REQUIRED) ++ set(SRC ${SRC} src/hotkeymanager_x11.cpp) ++ set(LIB ${LIB} Qt5::X11Extras ${X11_LIBRARIES}) + elseif(${CMAKE_SYSTEM_NAME} MATCHES "Windows") + set(SRC ${SRC} src/hotkey/hotkeymanager_win.cpp) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DUNICODE") Index: head/x11/albert/files/patch-lib_globalshortcut_src_hotkeymanager.cpp =================================================================== --- head/x11/albert/files/patch-lib_globalshortcut_src_hotkeymanager.cpp +++ head/x11/albert/files/patch-lib_globalshortcut_src_hotkeymanager.cpp @@ -0,0 +1,11 @@ +--- lib/globalshortcut/src/hotkeymanager.cpp.orig 2018-12-31 18:07:36 UTC ++++ lib/globalshortcut/src/hotkeymanager.cpp +@@ -1,7 +1,7 @@ + // Copyright (C) 2014-2018 Manuel Schneider + + #include "globalshortcut/hotkeymanager.h" +-#if defined __linux__ ++#if defined __linux__ || defined(__FreeBSD__) + #include "hotkeymanager_x11.h" + #elif defined __APPLE__ + #elif defined _WIN32 Index: head/x11/albert/files/patch-plugins_calculator_CMakeLists.txt =================================================================== --- head/x11/albert/files/patch-plugins_calculator_CMakeLists.txt +++ head/x11/albert/files/patch-plugins_calculator_CMakeLists.txt @@ -0,0 +1,25 @@ +--- plugins/calculator/CMakeLists.txt.orig 2018-12-31 15:24:22 UTC ++++ plugins/calculator/CMakeLists.txt +@@ -1,11 +1,12 @@ + cmake_minimum_required(VERSION 3.1.3) + + project(calculator) ++find_package(PkgConfig REQUIRED) + + file(GLOB_RECURSE SRC src/*) + + find_package(Qt5 5.5.0 REQUIRED COMPONENTS Widgets) +- ++pkg_check_modules(muparser REQUIRED muparser) + add_library(${PROJECT_NAME} SHARED ${SRC} ${PROJECT_NAME}.qrc metadata.json) + + target_include_directories(${PROJECT_NAME} PRIVATE src/) +@@ -14,7 +15,7 @@ target_link_libraries(${PROJECT_NAME} + PRIVATE + Qt5::Widgets + albert::lib +- muparser ++ ${muparser_LDFLAGS} + xdg + ) + Index: head/x11/albert/files/patch-plugins_python_CMakeLists.txt =================================================================== --- head/x11/albert/files/patch-plugins_python_CMakeLists.txt +++ head/x11/albert/files/patch-plugins_python_CMakeLists.txt @@ -0,0 +1,11 @@ +--- plugins/python/CMakeLists.txt.orig 2018-12-31 15:24:22 UTC ++++ plugins/python/CMakeLists.txt +@@ -5,7 +5,7 @@ PROJECT(python) + FILE(GLOB_RECURSE SRC src/*) + + find_package(Qt5 5.5.0 REQUIRED COMPONENTS Widgets) +-add_subdirectory(pybind11) ++find_package(pybind11 REQUIRED) + + add_library(${PROJECT_NAME} SHARED ${SRC} ${PROJECT_NAME}.qrc metadata.json) + Index: head/x11/albert/files/patch-plugins_qmlboxmodel_CMakeLists.txt =================================================================== --- head/x11/albert/files/patch-plugins_qmlboxmodel_CMakeLists.txt +++ head/x11/albert/files/patch-plugins_qmlboxmodel_CMakeLists.txt @@ -0,0 +1,19 @@ +--- plugins/qmlboxmodel/CMakeLists.txt.orig 2018-12-31 15:24:22 UTC ++++ plugins/qmlboxmodel/CMakeLists.txt +@@ -5,6 +5,7 @@ project(qmlboxmodel) + file(GLOB_RECURSE SRC src/*) + + find_package(Qt5 5.5.0 REQUIRED COMPONENTS Widgets Qml Quick) ++find_package(X11) + + add_library(${PROJECT_NAME} SHARED ${SRC} metadata.json) + +@@ -16,7 +17,7 @@ target_link_libraries(${PROJECT_NAME} + Qt5::Quick + Qt5::Widgets + albert::lib +- Xext ++ ${X11_Xext_LIB} + ) + + install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/albert/plugins) Index: head/x11/albert/files/patch-plugins_qmlboxmodel_src_mainwindow.cpp =================================================================== --- head/x11/albert/files/patch-plugins_qmlboxmodel_src_mainwindow.cpp +++ head/x11/albert/files/patch-plugins_qmlboxmodel_src_mainwindow.cpp @@ -0,0 +1,13 @@ +--- plugins/qmlboxmodel/src/mainwindow.cpp.orig 2018-12-31 15:24:22 UTC ++++ plugins/qmlboxmodel/src/mainwindow.cpp +@@ -397,8 +397,8 @@ bool QmlBoxModel::MainWindow::event(QEvent *event) { + } + + +-#ifdef Q_OS_LINUX +-/** **************************************************************************** ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) ++/****************************************************************************** + * @brief MainWidget::nativeEvent + * + * The purpose of this function is to hide in special casesonly. Index: head/x11/albert/files/patch-plugins_widgetboxmodel_CMakeLists.txt =================================================================== --- head/x11/albert/files/patch-plugins_widgetboxmodel_CMakeLists.txt +++ head/x11/albert/files/patch-plugins_widgetboxmodel_CMakeLists.txt @@ -0,0 +1,19 @@ +--- plugins/widgetboxmodel/CMakeLists.txt.orig 2018-12-31 15:24:22 UTC ++++ plugins/widgetboxmodel/CMakeLists.txt +@@ -5,6 +5,7 @@ project(widgetboxmodel) + file(GLOB_RECURSE SRC src/*) + + find_package(Qt5 5.5.0 REQUIRED COMPONENTS Widgets Svg) ++find_package(X11) + + add_library(${PROJECT_NAME} SHARED ${SRC} metadata.json) + +@@ -15,7 +16,7 @@ target_link_libraries(${PROJECT_NAME} + Qt5::Svg + Qt5::Widgets + albert::lib +- Xext ++ ${X11_Xext_LIB} + ) + + install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}/albert/plugins) Index: head/x11/albert/files/patch-plugins_widgetboxmodel_src_frontendwidget.cpp =================================================================== --- head/x11/albert/files/patch-plugins_widgetboxmodel_src_frontendwidget.cpp +++ head/x11/albert/files/patch-plugins_widgetboxmodel_src_frontendwidget.cpp @@ -0,0 +1,11 @@ +--- plugins/widgetboxmodel/src/frontendwidget.cpp.orig 2018-12-31 15:24:22 UTC ++++ plugins/widgetboxmodel/src/frontendwidget.cpp +@@ -656,7 +656,7 @@ bool WidgetBoxModel::FrontendWidget::eventFilter(QObje + } + + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD) + /** **************************************************************************** + * @brief MainWidget::nativeEvent + * Index: head/x11/albert/files/patch-src_app_main.cpp =================================================================== --- head/x11/albert/files/patch-src_app_main.cpp +++ head/x11/albert/files/patch-src_app_main.cpp @@ -0,0 +1,25 @@ +--- src/app/main.cpp.orig 2018-12-31 18:07:36 UTC ++++ src/app/main.cpp +@@ -296,15 +296,21 @@ int main(int argc, char **argv) { + if ( parser.isSet("plugin-dirs") ) + pluginDirs = parser.value("plugin-dirs").split(','); + else { +-#if defined __linux__ ++#if defined __linux__ || defined __FreeBSD__ + QStringList dirs = { + #if defined MULTIARCH_TUPLE + QFileInfo("/usr/lib/" MULTIARCH_TUPLE).canonicalFilePath(), + #endif ++#if defined __linux__ + QFileInfo("/usr/lib/").canonicalFilePath(), + QFileInfo("/usr/lib64/").canonicalFilePath(), + QFileInfo("/usr/local/lib/").canonicalFilePath(), + QFileInfo("/usr/local/lib64/").canonicalFilePath(), ++#endif ++#if defined __FreeBSD__ ++ QFileInfo("/usr/lib/").canonicalFilePath(), ++ QFileInfo("/usr/local/lib/").canonicalFilePath(), ++#endif + QDir::home().filePath(".local/lib/"), + QDir::home().filePath(".local/lib64/") + }; Index: head/x11/albert/files/patch-src_app_settingswidget_settingswidget.cpp =================================================================== --- head/x11/albert/files/patch-src_app_settingswidget_settingswidget.cpp +++ head/x11/albert/files/patch-src_app_settingswidget_settingswidget.cpp @@ -0,0 +1,11 @@ +--- src/app/settingswidget/settingswidget.cpp.orig 2018-12-31 18:07:36 UTC ++++ src/app/settingswidget/settingswidget.cpp +@@ -89,7 +89,7 @@ Core::SettingsWidget::SettingsWidget(ExtensionManager + connect(ui.checkBox_telemetry, &QCheckBox::toggled, this, [this](bool checked){ telemetry_->enable(checked); }); + + // AUTOSTART +-#ifdef Q_OS_LINUX ++#if defined Q_OS_LINUX || defined Q_OS_FREEBSD + QString desktopfile_path = QStandardPaths::locate(QStandardPaths::ApplicationsLocation, + "albert.desktop", + QStandardPaths::LocateFile); Index: head/x11/albert/pkg-descr =================================================================== --- head/x11/albert/pkg-descr +++ head/x11/albert/pkg-descr @@ -0,0 +1,3 @@ +Albert is a fast and flexible keyboard launcher + +WWW: https://github.com/albertlauncher/albert Index: head/x11/albert/pkg-plist =================================================================== --- head/x11/albert/pkg-plist +++ head/x11/albert/pkg-plist @@ -0,0 +1,80 @@ +bin/albert +lib/albert/libalbert.so +lib/albert/libxdg.so +lib/albert/plugins/libapplications.so +lib/albert/plugins/libcalculator.so +lib/albert/plugins/libchromebookmarks.so +lib/albert/plugins/libexternalextensions.so +lib/albert/plugins/libfiles.so +lib/albert/plugins/libfirefoxbookmarks.so +lib/albert/plugins/libhashgenerator.so +lib/albert/plugins/libmpris.so +lib/albert/plugins/libpython.so +lib/albert/plugins/libqmlboxmodel.so +lib/albert/plugins/libsnippets.so +lib/albert/plugins/libssh.so +lib/albert/plugins/libsystem.so +lib/albert/plugins/libterminal.so +lib/albert/plugins/libwebsearch.so +lib/albert/plugins/libwidgetboxmodel.so +%%DATADIR%%/org.albert.frontend.qmlboxmodel/styles/BoxModel/DesktopListView.qml +%%DATADIR%%/org.albert.frontend.qmlboxmodel/styles/BoxModel/HistoryTextInput.qml +%%DATADIR%%/org.albert.frontend.qmlboxmodel/styles/BoxModel/ItemViewDelegate.qml +%%DATADIR%%/org.albert.frontend.qmlboxmodel/styles/BoxModel/MainComponent.qml +%%DATADIR%%/org.albert.frontend.qmlboxmodel/styles/BoxModel/Preferences.qml +%%DATADIR%%/org.albert.frontend.qmlboxmodel/styles/BoxModel/SettingsButton.qml +%%DATADIR%%/org.albert.frontend.qmlboxmodel/styles/BoxModel/fonts/Roboto-Thin.ttf +%%DATADIR%%/org.albert.frontend.qmlboxmodel/styles/BoxModel/gear.svg +%%DATADIR%%/org.albert.frontend.qmlboxmodel/styles/BoxModel/metadata.json +%%DATADIR%%/org.albert.frontend.qmlboxmodel/styles/BoxModel/themes.js +%%DATADIR%%/org.albert.frontend.widgetboxmodel/ArcTemplate.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/ArcTemplate.sh +%%DATADIR%%/org.albert.frontend.widgetboxmodel/SpotlightTemplate.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/SpotlightTemplate.sh +%%DATADIR%%/org.albert.frontend.widgetboxmodel/StandardThemeTemplate.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/StandardThemeTemplate.sh +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/Adapta.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/Arc Blue.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/Arc Dark Blue.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/Arc Dark Grey.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/Arc Grey.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/Bright.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/BrightBlue.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/BrightGreen.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/BrightMagenta.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/BrightMint.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/BrightOrange.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/BrightViolet.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/Dark.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/DarkBlue.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/DarkGreen.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/DarkMagenta.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/DarkMint.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/DarkOrange.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/DarkViolet.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/Elementary.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/Numix Rounded.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/Numix.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/SolarizedBrightBlue.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/SolarizedBrightCyan.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/SolarizedBrightGreen.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/SolarizedBrightMagenta.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/SolarizedBrightOrange.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/SolarizedBrightRed.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/SolarizedBrightViolet.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/SolarizedBrightYellow.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/SolarizedDarkBlue.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/SolarizedDarkCyan.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/SolarizedDarkGreen.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/SolarizedDarkMagenta.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/SolarizedDarkOrange.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/SolarizedDarkRed.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/SolarizedDarkViolet.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/SolarizedDarkYellow.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/Spotlight Dark.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/Spotlight.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/Yosemite Dark.qss +%%DATADIR%%/org.albert.frontend.widgetboxmodel/themes/Yosemite.qss +share/applications/albert.desktop +share/icons/hicolor/scalable/apps/albert.svg +@dir %%DATADIR%%/org.albert.extension.python/modules