{"id":13305821,"url":"https://github.com/geobra/harbour-shmoose","last_synced_at":"2025-03-10T14:32:12.167Z","repository":{"id":13847375,"uuid":"75115573","full_name":"geobra/harbour-shmoose","owner":"geobra","description":"XMPP Client for Sailfish OS","archived":false,"fork":false,"pushed_at":"2022-12-08T15:13:42.000Z","size":1989,"stargazers_count":32,"open_issues_count":19,"forks_count":14,"subscribers_count":6,"default_branch":"master","last_synced_at":"2023-08-13T03:01:12.991Z","etag":null,"topics":["gpl","qt5","sailfishos","xmpp"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/geobra.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-29T19:40:47.000Z","updated_at":"2023-07-22T05:54:36.000Z","dependencies_parsed_at":"2023-01-12T18:15:54.525Z","dependency_job_id":null,"html_url":"https://github.com/geobra/harbour-shmoose","commit_stats":null,"previous_names":[],"tags_count":13,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geobra%2Fharbour-shmoose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geobra%2Fharbour-shmoose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geobra%2Fharbour-shmoose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/geobra%2Fharbour-shmoose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/geobra","download_url":"https://codeload.github.com/geobra/harbour-shmoose/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221180014,"owners_count":16770694,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gpl","qt5","sailfishos","xmpp"],"created_at":"2024-07-29T17:54:35.140Z","updated_at":"2024-10-23T09:30:22.199Z","avatar_url":"https://github.com/geobra.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":".. image:: https://github.com/geobra/harbour-shmoose/workflows/build_shmoose/badge.svg\n    :target: https://github.com/geobra/harbour-shmoose/actions\n\n.. image:: https://codecov.io/gh/geobra/harbour-shmoose/branch/master/graph/badge.svg\n  :target: https://codecov.io/gh/geobra/harbour-shmoose\n\n.. image:: https://img.shields.io/lgtm/grade/cpp/g/geobra/harbour-shmoose.svg?logo=lgtm\u0026logoWidth=18 \n  :target: https://lgtm.com/projects/g/geobra/harbour-shmoose/context:cpp\n\n.. image:: https://hosted.weblate.org/widgets/shmoose/-/svg-badge.svg\n  :target: https://hosted.weblate.org/engage/shmoose\n\n.. image:: https://gitpod.io/button/open-in-gitpod.svg\n  :target: https://gitpod.io/#https://github.com/geobra/harbour-shmoose\n\n===============================================================================\nShmoose - XMPP Client for Sailfish OS\n===============================================================================\n\nShmoose builds on and includes code from the following projects:\n\n* XMPP library `Swiften \u003chttps://swift.im/swiften.html\u003e`_ from Isode\n* Omemo library `libomemo \u003chttps://github.com/gkdr/libomemo\u003e`_ written by Richard Bayerle\n* `Axc \u003chttps://github.com/gkdr/axc\u003e`_ library written by Richard Bayerle\n* `Lurch \u003chttps://github.com/gkdr/lurch\u003e`_ plugin written by Richard Bayerle\n* Image picker is from `hangish \u003chttps://github.com/rogora/hangish\u003e`_ written by Daniele Rogora\n* Image zoom and pitch page is from `harbour-one \u003chttps://github.com/0312birdzhang/harbour-one\u003e`_ written by 0312birdzhang\n\n-------------------------------------------------------------------------------\nFeature Stack until version 1.0\n-------------------------------------------------------------------------------\n\n* Login to Jabber server [done]\n* Get roster [done]\n* Send and receive messages [done]\n* Notification on new messages [done]\n* XEP-0184: Message Delivery Receipts [done]\n* XEP-0199: XMPP Ping [done]\n* XEP-0363: HTTP File Upload [done]\n* XEP-0333: Chat Markers [done]\n* XEP-0313: Message Archive Management [partial]\n* XEP-0359: Unique and Stable Stanza IDs [WIP]\n* XEP-0045: Multi-User Chat [WIP]\n* XEP-0280: Message Carbons [WIP]\n* XEP-0198: Stream Management  [done]\n* XEP-0384: OMEMO Encryption [WIP]\n\n-------------------------------------------------------------------------------\nDocumentation of the Software Architecture\n-------------------------------------------------------------------------------\n`Software Architecture description \u003chttps://geobra.github.io/harbour-shmoose/\u003e`_\n\n-------------------------------------------------------------------------------\nReady-to-use binaries can be found on OpenRepos\n-------------------------------------------------------------------------------\n`Shmoose on OpenRepos \u003chttps://openrepos.net/content/schorsch/shmoose\u003e`_\n\nNote! starting with Sailfish OS version 3.3.0.16 you need to adjust the suspend settings of your device::\n\n * pkcon refresh\n * pkcon install mce-tools\n * mcetool -searly\n\nThis disables late suspend of the device. Battery drain is only slightly more at my device with this setting. This setting is persistent over reboots and has to be done only once. Without this, the longterm TCP connection will drop after a short amount of time and you won't get notifications on new messages.\n\n-------------------------------------------------------------------------------\nJump direct into development on gitpod\n-------------------------------------------------------------------------------\n`Ready to use development environment, running in your browser \u003chttps://gitpod.io/#https://github.com/geobra/harbour-shmoose\u003e`_\n\n-------------------------------------------------------------------------------\nBuild a x86 binary locally for development purposes\n-------------------------------------------------------------------------------\n\nOn Linux|GNU, do the following:\n\nCreate a working directory::\n\n * mkdir src\n * cd src\n\nFetch the Swift source::\n\n * wget https://swift.im/downloads/releases/swift-4.0.2/swift-4.0.2.tar.gz\n * tar -xzvf swift-4.0.2.tar.gz\n * cd swift-4.0.2/\n\nInstall all dependencies to build Swiften::\n\n * ./BuildTools/InstallSwiftDependencies.sh\n * ./scons Swiften -j\u003cNumber of threads\u003e\n\nInstall dependencies to build Shmoose (example for Debian)::\n\n * sudo apt-get install zlib1g-dev libssl-dev libxml2-dev libstdc++-5-dev libqt5quick5 libqt5quickparticles5 libqt5quickwidgets5 libqt5qml5 libqt5network5 libqt5gui5 libqt5core5a qt5-default libglib2.0-dev libpthread-stubs0-dev libmxml-dev libgcrypt20-dev libglib2.0-dev libsqlite3-dev\n\nFetch the Shmoose source code::\n\n * cd ..\n * git clone https://github.com/geobra/harbour-shmoose\n\nEither::\n\n * Open the project file (.pro) within Qt Creator\n\nor use command-line::\n\n * cd harbour-shmoose\n * qmake\n * make -j\u003cNumber of threads\u003e\n\n-------------------------------------------------------------------------------\nTo cross compile for Sailfish OS, do the following:\n-------------------------------------------------------------------------------\n\n * Get and install Sailfish OS mersdk (tested with version 1608)\n * SSH into mersdk and do the following\n\nHint::\n\nUse 'sb2-config -l' to show available targets for sb2.\n\nInstall all dependencies to build Swiften and shmoose::\n\n * sb2 -t SailfishOS-3.3.0.16-armv7hl -m sdk-install -R zypper in openssl-devel libiphb-devel libxml2-devel libgpg-error-devel libgcrypt-devel sqlite-devel cmake python\n\nFetch the Swift source source::\n\n * wget https://swift.im/downloads/releases/swift-4.0.2/swift-4.0.2.tar.gz\n * mkdir swift-4.0.2-arm\n * cd swift-4.0.2-arm\n * tar --strip-components=1 -xzvf ../swift-4.0.2.tar.gz\n\nPatch the SConstruct file to do a PIC build of the library archive\n\nAdd::\n\n * env.Append(CCFLAGS='-fPIC')\n\nunder the line 'env.SConscript = SConscript' on line 14\n\nBuild the Swiften Library::\n\n * sb2 -t SailfishOS-armv7hl /bin/bash ./scons Swiften\n * cd ..\n\nInstall mxml::\n\n * curl -L -O https://github.com/michaelrsweet/mxml/releases/download/v3.2/mxml-3.2.tar.gz\n * tar -xvf mxml-3.2.tar.gz \u0026\u0026 cd mxml-3.2\n * sb2 -t SailfishOS-3.3.0.16-armv7hl ./configure\n * sb2 -t SailfishOS-3.3.0.16-armv7hl make\n * cp libmxml.a /srv/mer/targets/SailfishOS-3.3.0.16-armv7hl/usr/local/lib/\n * cp mxml.h /srv/mer/targets/SailfishOS-3.3.0.16-armv7hl/usr/local/include/\n * PKG_CONFIG_PATH=$(pwd)\n * cd ..\n\nFetch the Shmoose source code::\n\n * git clone https://github.com/geobra/harbour-shmoose\n * cd harbour-shmoose\n\nInstall libomemo::\n\n * git clone https://github.com/gkdr/libomemo \u0026\u0026 cd libomemo\n * git checkout tags/v0.7.0\n * sb2 -t SailfishOS-3.3.0.16-armv7hl make\n * cd ..\n\nInstall axc and libsignal-protocol-c::\n\n * git clone https://github.com/gkdr/axc \u0026\u0026 cd axc\n * git checkout tags/v0.3.3\n * git submodule update --init\n * sb2 -t SailfishOS-3.3.0.16-armv7hl make\n * cd  lib/libsignal-protocol-c/\n * add 'set(CMAKE_POSITION_INDEPENDENT_CODE ON)' to CMakeLists.txt\n * mkdir build \u0026\u0026 cd build\n * sb2 -t SailfishOS-3.3.0.16-armv7hl cmake ..\n * sb2 -t SailfishOS-3.3.0.16-armv7hl make\n * cd ../../../..\n\nFinally, build Shmoose::\n\n * mb2 -t SailfishOS-3.3.0.16-armv7hl build\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeobra%2Fharbour-shmoose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeobra%2Fharbour-shmoose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeobra%2Fharbour-shmoose/lists"}