langerhans / dogecoin-wallet-new

Dogecoin Wallet app for your Android device. Standalone Dogecoin node, no centralized backend required. Forked from the popular Bitcoin Wallet.
188 stars 105 forks source link

First attempt with F-droid's build system for 2.00 #32

Open afwang opened 9 years ago

afwang commented 9 years ago

I've pushed a draft of the updated metadata file to build using F-droid's build system on my fork. I was able to successfully build the app locally through their build system (after changing linux_x86 to linux_x86_64 for the NDK portions). I have not completed this through the build server system yet since my build server was running Debian Stable rather than Testing (which I need for a cleaner upgrade to maven 3.0.5), but I'm setting that up in the mean time to give it a really accurate test soon. If you have time, please review: https://gitlab.com/afwang/fdroiddata/commit/04945271f33597a4d2b715bf365456b44d5f5966

I have to ask: where in the source code does the libscrypt library get used? I tried building the app without the native library, and it seems to be fine on a test device.

langerhans commented 9 years ago

Wow, nice! The metadata and build script look fine on a quick look.
Scrypt is for example used here: https://github.com/langerhans/dogecoinj-new/blob/master/core/src/main/java/com/dogecoin/dogecoinj/core/Utils.java#L165

But even if you leave out the native lib it will work, just painfully slow as it will default to the Java implementation. See https://github.com/wg/scrypt/blob/master/src/main/java/com/lambdaworks/crypto/SCrypt.java#L48 (and the static block, that tries to load the native lib).

afwang commented 9 years ago

I found some errors in my build script. I've fixed those errors, and the app is now building successfully through my build server. You can view the commit with those fixes here: https://gitlab.com/afwang/fdroiddata/commit/0158977f6bdc9536b8b7f980b39e80b2995a2903

For easier viewing (and easier submission if everything goes right), I've squashed the commits together on a separate branch: https://gitlab.com/afwang/fdroiddata/commit/741ee7a59e804cd6446c8a17c341fa22caf54f98

I'll be testing out the app tomorrow. I'll update within 2 days with whether the build looks good or not.

afwang commented 9 years ago

I've sent and received a few dogecoins between my devices and some friends' devices. Looks like sending and receiving is working as intended. Scanning and generating QR codes looks good. Saving and editing addresses seems fine. :D

afwang commented 9 years ago

Hi Langerhans!

I haven't heard from you in a couple weeks, so I'm wondering if everything's okay. Is everything all right?

langerhans commented 9 years ago

I'm still here, just busy jumping around between projects. Do you need anything else for getting the build to work? I also really need to update the wallet to the latest upstream code, which I will probably tackle next, so maybe after I got that done, we could look into finalizing the release to f-droid?

afwang commented 9 years ago

I was just wondering if you had any last comments or concerns. I believe the build script is working fine.

I was hoping to submit the merge request to F-Droid soon, but if it makes more sense to wait for an update, I can check the build script after the update work is done.

theScrabi commented 8 years ago

Cool guys I was just about trying to get started with making this app available. On f-droid. But I may not have enough time. So would be nice if someone could continue trying to bring it in.

afwang commented 8 years ago

Well, this has been sitting around for a while. I'll dust off my Fdroid build server and see how everything works a little later. If everything seems fine, I'll take some initiative and open a merge request to get the build script merged into the F-Droid project, possibly this weekend or next, unless langerhans has something that he wants to look at and wants to block the merge.

The build script, judging from the build I've been using on my phone, will be targeting the commit tagged as "2.00" of the wallet.

langerhans commented 8 years ago

The script will definitely need an update and target a later release. 2.00 won't work anymore. Also, dogecoinj is not used anymore. The newer versions of the wallet use https://github.com/dogecoin/libdohj

I have no reasons to block a merge :+1: I will also try to get in the latest upstream changes soon, since the current build does seem to have some connectivity issues I hope being fixed by upstream in recent builds. Otherwise I need to debug further.

afwang commented 8 years ago

Did you have to rebuild the Scrypt libraries any time in the past year? Judging from the Scrypt project, nothing's changed in a while, so I'll continue using the same commit in the build script as before.

langerhans commented 8 years ago

I haven't recompiled the script lib since I started the project :D I was happy enough I got that cross compile stuff working once, hoping I would never have to do it again :)

afwang commented 8 years ago

I've finished updating the build script, and I believe it's a ready to be merged. It can be found at https://gitlab.com/afwang/fdroiddata/commit/63cdd866f4131a557b4b566db995641992e3c0a4.

Before I open the merge request, I'm going to run a sanity check just to make sure there wasn't anything abnormal during the build process.

For the future, can you record which commits you used to build libdohj and bitcoinj-core? I've noticed the 2.0.8 tag references SNAPSHOT versions of those two libraries, so I basically chose the most recent commits from those two projects until the project successfully built with them. Even better for the future is if the wallet (and libdohj) can depend on non-SNAPSHOT versions, but I think this topic would fit under a separate issue. :+1:

EDIT: Moved a binary scan exception to delete rather than ignoring. Should cut down on one possibility the merge gets rejected for whatever reason.

theScrabi commented 8 years ago

Build passed. Sounds good. :)

afwang commented 8 years ago

I took the build out for a field test today. Scanning QR, sending coins, receiving coins, syncing with the network seems to be working!

I'll take the work-in-progress tag off on the merge request, and now we wait for F-Droid to accept or reject the request... https://gitlab.com/fdroid/fdroiddata/merge_requests/1316

afwang commented 8 years ago

Metadata file has been merged. Let's see how it builds!

PanderMusubi commented 6 years ago

@theScrabi and @afwang could https://github.com/langerhans/dogecoin-wallet-new/issues/45 encourage you to help get this app build and be made available in the F-Droid app store?

PanderMusubi commented 6 years ago

A bounty has been added at https://www.bountysource.com/issues/14115407-first-attempt-with-f-droid-s-build-system-for-2-00