Skip to content
GitLab
    • GitLab: the DevOps platform
    • Explore GitLab
    • Install GitLab
    • How GitLab compares
    • Get started
    • GitLab docs
    • GitLab Learn
  • Pricing
  • Talk to an expert
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
    Projects Groups Snippets
  • Register
  • Sign in
  • Data Data
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Graph
    • Compare
    • Locked Files
  • Issues 136
    • Issues 136
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 86
    • Merge requests 86
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • External wiki
    • External wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • F-DroidF-Droid
  • DataData
  • Merge requests
  • !11110

Draft: Newapp: Cwtch

  • Review changes

  • Download
  • Email patches
  • Plain diff
Open Licaon_Kter requested to merge licaon-kter/fdroiddata:cwatchadd into master May 27, 2022
  • Overview 34
  • Commits 11
  • Pipelines 12
  • Changes 3
  • The app complies with the inclusion criteria
  • The original app author has been notified (and does not oppose the inclusion): https://git.openprivacy.ca/cwtch.im/cwtch-ui/issues/141
  • All related fdroiddata and RFP issues have been referenced in this merge request
  • The upstream app source code repo contains the app metadata (summary/description/images/changelog/etc) in a Fastlane or Triple-T folder structure
  • Builds with fdroid build
  • Releases are tagged

Why draft? Waiting for upstream 1.9.0

Prebuild lines:

  • tor-android builds a "sampleapp" by default which we don't need.
  • bump build.tools.gradle to 4.0.1 else it fails with No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi
  • bump Java to 11 else it fails with unrecognized Attribute name MODULE (class com.sun.tools.javac.util.UnsharedNameTable$NameImpl
  • And a lint ignore for:
/home/vagrant/build/im.cwtch.flwtch/android/app/src/main/res/layout/splash_view.xml:7: Error: LottieAnimationView must extend android.view.View [Instantiatable]
    <com.airbnb.lottie.LottieAnimationView
    ^

   Explanation for issues of type "Instantiatable":
   Activities, services, broadcast receivers etc. registered in the manifest
   file (or for custom views, in a layout file) must be "instantiatable" by
   the system, which means that the class must be public, it must have an
   empty public constructor, and if it's an inner class, it must be a static
   inner class.

1 errors, 0 warnings

What's still odd:

  • I had to go get some of the libcwtch deps manually else it will fail to download some of them (see log above for info)
+ go install golang.org/x/mobile/cmd/gomobile@4e6c2922fdeed32d3596616518aaee7b0d79ce55
go: downloading golang.org/x/mobile v0.0.0-20211207041440-4e6c2922fdee
go: downloading golang.org/x/mod v0.4.2
go: downloading golang.org/x/tools v0.1.8-0.20211022200916-316ba0b74098
go: downloading golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
go: downloading golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e
+ ./switch-gomobile.sh
+ gomobile init
++ git describe --tags
++ date +%G-%m-%d-%H-%M
+ gomobile bind -target android '-ldflags=-X cwtch.buildVer=v1.8.0 -X cwtch.buildDate=2022-08-12-15-04'
gomobile: err: exit status 2: stderr: go: downloading cwtch.im/cwtch v0.16.8
go: downloading git.openprivacy.ca/cwtch.im/server v1.4.2
go: downloading git.openprivacy.ca/openprivacy/connectivity v1.8.3
go: downloading git.openprivacy.ca/openprivacy/log v1.0.3
go: downloading github.com/mutecomm/go-sqlcipher/v4 v4.4.2
go: downloading git.openprivacy.ca/cwtch.im/tapir v0.5.4
go: downloading golang.org/x/crypto v0.0.0-20201012173705-84dcc777aaee
go: downloading github.com/gtank/ristretto255 v0.1.2
go: downloading filippo.io/edwards25519 v1.0.0-rc.1
go: downloading git.openprivacy.ca/openprivacy/bine v0.0.4
go: downloading go.etcd.io/bbolt v1.3.4
go: downloading github.com/gtank/merlin v0.1.1
go: downloading github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643
go: downloading golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f
# git.openprivacy.ca/cwtch.im/libcwtch-go
gcc: error: unrecognized command line option '-marm'; did you mean '-mabm'?
  • set goproxy for privacy reasons, no need to inform Google we're building something
  • used ndk 21e instead of libcwtch readme 22b else libtor fails: https://github.com/guardianproject/tor-android/blob/0.4.6.9/external/Makefile#L29
  • bypassing libcwtch make android and running directly since $(shell ...) would fail
  • upstream apk in x86 libs has only libgojni.so, in my build I (as expected?) added libtor.so too
  • upstream apk in x86_64 has the other 3 libs, but not libtor.so, in my build I (as expected?) added libtor.so too
  • are x86* arches not supported?
Edited Aug 12, 2022 by Licaon_Kter
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: cwatchadd