5557c03be8
* Move to GNetworkMonitor Dino currently talks to NetworkManager over DBus to know the state of the network. That doesn't work in a Flatpak sandbox by default though, because Flatpak filters DBus communications and only allows a very small set of things to pass (which are known to be safe). Gio provides an API to know the state of the network (and be notified of changes via a signal): GNetworkMonitor. And GNetworkMonitor works both inside a Flatpak sandbox, and in traditional builds. (in Flatpak it uses what we call a "portal", which are the clean, safe way to let apps exit their sandbox) Fixes #235 * Don't check for network connectivity for now The connectivity check really is the correct thing to do: * network_available means that the computer has network routes to "somewhere". That is, it is connected to a router. * connectivity.FULL means that the computer can access "the Internet". That is, if it is behind a router, that router is connected. As a result, only checking for network_available is not correct. Unfortunately, NetworkManager tends to wait a long time before checking for connectivity. As a result, it is possible that a transient network error leaves NetworkManager thinking that network_available is true but connectivity!=FULL, and it will wait several minutes before realizing that the Internet connexion did come back. During that time, apps checking for connectivity (e.g the whole GNOME desktop) will think they don't have access to the Internet, while apps that don't (e.g Firefox) will access the Internet just fine. Users are understandably confused when that happens. Removing the check for connectivity is an acceptable trade-off in the short-term, until this situation is improved on the NetworkManager side. https://bugzilla.gnome.org/show_bug.cgi?id=792240
87 lines
2.5 KiB
CMake
87 lines
2.5 KiB
CMake
find_packages(LIBDINO_PACKAGES REQUIRED
|
|
GDKPixbuf2
|
|
Gee
|
|
GLib
|
|
GModule
|
|
GObject
|
|
)
|
|
|
|
vala_precompile(LIBDINO_VALA_C
|
|
SOURCES
|
|
src/application.vala
|
|
|
|
src/dbus/login1.vala
|
|
src/dbus/upower.vala
|
|
|
|
src/entity/account.vala
|
|
src/entity/conversation.vala
|
|
src/entity/encryption.vala
|
|
src/entity/file_transfer.vala
|
|
src/entity/jid.vala
|
|
src/entity/message.vala
|
|
src/entity/settings.vala
|
|
|
|
src/plugin/interfaces.vala
|
|
src/plugin/loader.vala
|
|
src/plugin/registry.vala
|
|
|
|
src/service/avatar_manager.vala
|
|
src/service/avatar_storage.vala
|
|
src/service/blocking_manager.vala
|
|
src/service/chat_interaction.vala
|
|
src/service/connection_manager.vala
|
|
src/service/conversation_manager.vala
|
|
src/service/counterpart_interaction_manager.vala
|
|
src/service/database.vala
|
|
src/service/entity_capabilities_storage.vala
|
|
src/service/file_manager.vala
|
|
src/service/message_processor.vala
|
|
src/service/message_storage.vala
|
|
src/service/module_manager.vala
|
|
src/service/muc_manager.vala
|
|
src/service/presence_manager.vala
|
|
src/service/roster_manager.vala
|
|
src/service/stream_interactor.vala
|
|
src/service/util.vala
|
|
|
|
src/util.vala
|
|
CUSTOM_VAPIS
|
|
"${CMAKE_BINARY_DIR}/exports/xmpp-vala.vapi"
|
|
"${CMAKE_BINARY_DIR}/exports/qlite.vapi"
|
|
CUSTOM_DEPS
|
|
xmpp-vala
|
|
qlite
|
|
PACKAGES
|
|
${LIBDINO_PACKAGES}
|
|
GENERATE_VAPI
|
|
dino
|
|
GENERATE_HEADER
|
|
dino
|
|
)
|
|
|
|
add_custom_command(OUTPUT "${CMAKE_BINARY_DIR}/exports/dino_i18n.h"
|
|
COMMAND
|
|
cp "${CMAKE_CURRENT_SOURCE_DIR}/src/dino_i18n.h" "${CMAKE_BINARY_DIR}/exports/dino_i18n.h"
|
|
DEPENDS
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/src/dino_i18n.h"
|
|
COMMENT
|
|
Copy header file dino_i18n.h
|
|
)
|
|
|
|
add_custom_target(dino-vapi
|
|
DEPENDS
|
|
${CMAKE_BINARY_DIR}/exports/dino.vapi
|
|
${CMAKE_BINARY_DIR}/exports/dino.deps
|
|
${CMAKE_BINARY_DIR}/exports/dino_i18n.h
|
|
)
|
|
|
|
add_definitions(${VALA_CFLAGS} -DDINO_SYSTEM_PLUGIN_DIR="${PLUGIN_INSTALL_DIR}" -DDINO_SYSTEM_LIBDIR_NAME="${LIBDIR_NAME}")
|
|
add_library(libdino SHARED ${LIBDINO_VALA_C} ${CMAKE_BINARY_DIR}/exports/dino_i18n.h)
|
|
add_dependencies(libdino dino-vapi)
|
|
target_link_libraries(libdino xmpp-vala qlite ${LIBDINO_PACKAGES} m)
|
|
set_target_properties(libdino PROPERTIES PREFIX "" VERSION 0.0 SOVERSION 0)
|
|
|
|
install(TARGETS libdino ${TARGET_INSTALL})
|
|
install(FILES ${CMAKE_BINARY_DIR}/exports/dino.vapi ${CMAKE_BINARY_DIR}/exports/dino.deps DESTINATION ${VAPI_INSTALL_DIR})
|
|
install(FILES ${CMAKE_BINARY_DIR}/exports/dino.h ${CMAKE_BINARY_DIR}/exports/dino_i18n.h DESTINATION ${INCLUDE_INSTALL_DIR})
|