Bug 199490 - [MAINTAINER] finance/bitcoin-armory: Update to 0.93.2
Summary: [MAINTAINER] finance/bitcoin-armory: Update to 0.93.2
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Jason Unovitch
URL:
Keywords: patch, patch-ready
Depends on:
Blocks:
 
Reported: 2015-04-17 02:15 UTC by Yuri Victorovich
Modified: 2015-10-25 23:08 UTC (History)
2 users (show)

See Also:
yuri: maintainer-feedback+


Attachments
patch (12.21 KB, patch)
2015-04-17 02:15 UTC, Yuri Victorovich
no flags Details | Diff
poudriere log (255.09 KB, text/plain)
2015-04-17 02:16 UTC, Yuri Victorovich
yuri: maintainer-approval+
Details
patch (13.54 KB, patch)
2015-04-17 04:39 UTC, Yuri Victorovich
no flags Details | Diff
patch (13.66 KB, patch)
2015-04-18 01:00 UTC, Yuri Victorovich
no flags Details | Diff
Proposed patch (12.50 KB, patch)
2015-04-22 13:38 UTC, Bartek Rutkowski
no flags Details | Diff
patch with updated GH_ tags (14.07 KB, patch)
2015-04-22 20:51 UTC, Yuri Victorovich
no flags Details | Diff
Updated patch (13.45 KB, patch)
2015-04-25 18:57 UTC, Yuri Victorovich
no flags Details | Diff
Updated patch (13.37 KB, patch)
2015-04-27 04:57 UTC, Yuri Victorovich
no flags Details | Diff
Updated patch (14.18 KB, patch)
2015-05-05 21:02 UTC, Yuri Victorovich
no flags Details | Diff
Updated patch (13.39 KB, patch)
2015-05-05 21:05 UTC, Yuri Victorovich
no flags Details | Diff
Patch to 0.93.2 (23.00 KB, patch)
2015-07-16 08:28 UTC, Yuri Victorovich
no flags Details | Diff
poudriere log (87.76 KB, text/plain)
2015-07-16 08:30 UTC, Yuri Victorovich
no flags Details
Shar of 0.93.2 (26.19 KB, text/plain)
2015-07-16 08:32 UTC, Yuri Victorovich
no flags Details
update to 0.93.2, address patch application post shebangfix addition (21.39 KB, patch)
2015-10-22 01:42 UTC, Jason Unovitch
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yuri Victorovich freebsd_committer freebsd_triage 2015-04-17 02:15:13 UTC
Created attachment 155654 [details]
patch

Please note this newly added file:
finance/bitcoin-armory/files/patch-Transaction.py
Comment 1 Yuri Victorovich freebsd_committer freebsd_triage 2015-04-17 02:16:07 UTC
Created attachment 155655 [details]
poudriere log
Comment 2 Yuri Victorovich freebsd_committer freebsd_triage 2015-04-17 02:26:04 UTC
Patch ready.

If the submitter will decide to try it, please expect it to consume anywhere from 40-50GB of disk and up to 12 hours to initialize.
Comment 3 Yuri Victorovich freebsd_committer freebsd_triage 2015-04-17 02:26:49 UTC
Sorry, "committer" -)
Comment 4 Yuri Victorovich freebsd_committer freebsd_triage 2015-04-17 04:39:21 UTC
Created attachment 155661 [details]
patch
Comment 5 Yuri Victorovich freebsd_committer freebsd_triage 2015-04-18 01:00:01 UTC
Created attachment 155684 [details]
patch
Comment 6 Bartek Rutkowski freebsd_committer freebsd_triage 2015-04-20 12:03:05 UTC
Could you please adapt the patch to the new format of GITHUB_* ?
Comment 7 Yuri Victorovich freebsd_committer freebsd_triage 2015-04-20 12:12:50 UTC
I don't understand. It looks just like section 5.4.2.3. USE_GITHUB in https://www.freebsd.org/doc/en/books/porters-handbook/book.html

Where is the new format documented?
Comment 8 Bartek Rutkowski freebsd_committer freebsd_triage 2015-04-20 12:25:13 UTC
Unless there's anything special about the port and its GitHub repo, you should be able to drop the the GH_COMMIT and GH_TAGNAME variables. You can read about that in the CHANGES file in the root of your ports tree.
Comment 9 Yuri Victorovich freebsd_committer freebsd_triage 2015-04-20 18:13:27 UTC
Bartek,

GH_COMMIT can't be practically dropped because then port system expects directory to come w/out the commit tag, and github always sends tarball with the tagged directory. You can bring this up with bdrewery@, this has been discussed a lot and I was the one who brought the issue up.

New rules need to be verified first, and also documented in the handbook.
Comment 10 Bartek Rutkowski freebsd_committer freebsd_triage 2015-04-22 13:38:04 UTC
Created attachment 155854 [details]
Proposed patch
Comment 11 Bartek Rutkowski freebsd_committer freebsd_triage 2015-04-22 13:39:56 UTC
I've managed to get rid of the unnneded GH knobs without any issues, and here's the patch. However, the port updated seems to be failing to build like that:

http://pd.valinor.palantiri.org/data/latest-per-pkg/BitcoinArmory/0.93.1/84amd64-default.log

Please, work on the patch I've uploaded until it builds cleanly and portlint doesnt have any errors.
Comment 12 Yuri Victorovich freebsd_committer freebsd_triage 2015-04-22 20:51:39 UTC
Created attachment 155876 [details]
patch with updated GH_ tags

Please check this patch in. It passes poudriere.
Comment 13 Bartek Rutkowski freebsd_committer freebsd_triage 2015-04-25 13:30:59 UTC
Have you seen all the portlint warnings your latest patch generates? I would be ideal if you could send one that removes them all.
Comment 14 Bartek Rutkowski freebsd_committer freebsd_triage 2015-04-25 13:38:51 UTC
In addition to the portlint warnings, the port fais to build:

http://pd.valinor.palantiri.org/data/84amd64-default/2015-04-25_15h30m27s/logs/errors/BitcoinArmory-0.93.1.log
Comment 15 Yuri Victorovich freebsd_committer freebsd_triage 2015-04-25 18:50:35 UTC
Please ignore portlint errors in this case. Reasons:
* Bug in portlint: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=199693
* portlint complains on upstream patches. These are the same patches that were sent upstream, will be applied there and gone from the ports tree with the next version. It doesn't make sense to be fixing them and retesting just to make portlint happy.

Now looking at the build failure.
First, you should upgrade poudriere. You use 3.1.3, and now 3.1.4 is current. Second, failure is for 84amd64 build (I only tested it for 10.1). On 8.4 there was no clang in base, so it uses clang port 3.4.X and fails with it. Now base also has 3.4: 3.4.1. So this is a bug in the clang port.
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=199694

I will update patch shortly, labeling build as broken for versions < 10, because nobody should need BitcoinArmory on ancient versions.
Comment 16 Yuri Victorovich freebsd_committer freebsd_triage 2015-04-25 18:57:09 UTC
Created attachment 155991 [details]
Updated patch
Comment 17 Yuri Victorovich freebsd_committer freebsd_triage 2015-04-27 04:57:12 UTC
Created attachment 156026 [details]
Updated patch

Fixed compiler option so it will work even on the older OS versions
Comment 18 Bartek Rutkowski freebsd_committer freebsd_triage 2015-05-05 10:34:09 UTC
Currently, the latest patch fails like that:

http://pd.valinor.palantiri.org/data/84amd64-default/2015-05-05_11h37m12s/logs/errors/BitcoinArmory-0.93.1.log
Comment 19 Yuri Victorovich freebsd_committer freebsd_triage 2015-05-05 21:02:15 UTC
Created attachment 156408 [details]
Updated patch

Must have been wrong patch added the last time.
Comment 20 Yuri Victorovich freebsd_committer freebsd_triage 2015-05-05 21:05:01 UTC
Created attachment 156409 [details]
Updated patch
Comment 21 Bartek Rutkowski freebsd_committer freebsd_triage 2015-05-06 11:23:16 UTC
The latest patch fails as well:

http://pd.valinor.palantiri.org/data/84amd64-default/2015-05-06_13h19m35s/logs/errors/BitcoinArmory-0.93.1.log

Could you please test your submissions before uploading them? 8.4 is still a supported version, so the changes made to the port should be tested there too (as well as on 9.3).
Comment 22 Yuri Victorovich freebsd_committer freebsd_triage 2015-05-06 11:41:42 UTC
Sorry about that.

I can only test on 10. I followed the advice of another person how to make it work on 8.X and 9.X, and it failed. I will resubmit with only versions 10+ enabled.
Comment 23 Yuri Victorovich freebsd_committer freebsd_triage 2015-07-16 08:28:53 UTC
Created attachment 158832 [details]
Patch to 0.93.2

Changes:
* Update to the newly released 0.93.2
* Limited to 10.X+ due to potential build issues on 8.X and 9.X and lack of need to maintain Armory there because it is desktop-only
* Limited yo python to 2.X
* Added missing dependency on bitcoin daemon
* Reformatted patches to make portlint happy

Caveats:
* It prints the harmless exception message in the beginning due to the missing announcement message for FreeBSD on Armory web server

I am not aware of any major issues with Armory affecting its usability.
Comment 24 Yuri Victorovich freebsd_committer freebsd_triage 2015-07-16 08:30:33 UTC
Created attachment 158833 [details]
poudriere log
Comment 25 Yuri Victorovich freebsd_committer freebsd_triage 2015-07-16 08:32:58 UTC
Created attachment 158834 [details]
Shar of 0.93.2

Shar of 0.93.2 in case it is useful.
Comment 26 Bartek Rutkowski freebsd_committer freebsd_triage 2015-08-03 14:18:30 UTC
The latest patch fails to apply to the latest version of the port. Can you update your ports tree and attach a new patch that applies cleanly?
Comment 27 Jason Unovitch freebsd_committer freebsd_triage 2015-10-22 01:42:21 UTC
Created attachment 162339 [details]
update to 0.93.2, address patch application post shebangfix addition

Take.

The patch applied cleanly to everything except for the Makefile due to the shebangfix addition and PORTREVISION bump.  This patch has the Makefile changes manually applied.

The only notable change is using BROKEN_FreeBSD_9= and not including bsd.port.(pre|post).mk.  8 is not supported so we don't need to mention it won't build on 8 anymore.

QA checks are running now just to ensure nothing has changed that will cause an issue.  If all is well I shall commit this tomorrow evening after checking through the QA.
Comment 28 Jason Unovitch freebsd_committer freebsd_triage 2015-10-23 03:26:11 UTC
Ok, everything looks good but let's discuss the broken on FreeBSD 9 before we commit this as the current version does build on all releases.  What solutions have you tried?  I've seen in another port that some extra lib checks were needed to get the atomic library.

Example:
https://github.com/openvswitch/ovs/commit/fd2e50cd333324ca18d8186a5c9211aa03c439cf

I haven't looked at the source for this port at all just yet but can we implement a similar patch here so we can just do one commit that builds on all releases?  I don't see any critical or pressing need to get this committed that would preclude us from doing this correct from the start.
Comment 29 Yuri Victorovich freebsd_committer freebsd_triage 2015-10-23 04:38:29 UTC
Atomic operations caused failures, and were disabled on FreeBSD as per suggestion of the upstream maintainer. The sticking point is clang's lack of support for the mixed intel/att asm syntax. There is the clang bug report for this which they acknowledged.

For some reason compilation fails on 9 with obscure compiler warnings. I also tried some solutions, but they failed.

For this particular package, which is the desktop GUI app, I don't anticipate that this will be a problem that it is disabled on 9. Maybe I am mistaken, but I think desktop users are likely updated to 10 compared to the the server users who are more likely not updated.

This package has been dragging on for so long now, that I would tend to disentangle it from all other issues, and have it committed now that it looks good. And 9-compatibility can be looked at for the next update.

Thank you for taking it!
Comment 30 commit-hook freebsd_committer freebsd_triage 2015-10-24 02:25:56 UTC
A commit references this bug:

Author: junovitch
Date: Sat Oct 24 02:25:46 UTC 2015
New revision: 400098
URL: https://svnweb.freebsd.org/changeset/ports/400098

Log:
  finance/bitcoin-armory: update 0.92.3 -> 0.93.2

  - Update PORTVERSION, distinfo, pkg-plist, and patches for 0.93.2
  - Remove "Implementation of" word fluff from COMMENT
  - Add missing run-dep on bitcoin daemon
  - USES: Add compiler:c++11-lang and compiler:c++11-lib
  - USES: Restrict to python:2
  - Remove USE_GCC, set and pass CXXFLAGS
  - Mark BROKEN on FreeBSD 9 due upstream issues with atomic ops on FreeBSD
  - Use INSTALL_ICONS and install several during post-stage

  PR:		199490
  Submitted by:	yuri@rawbw.com (maintainer)

Changes:
  head/finance/bitcoin-armory/Makefile
  head/finance/bitcoin-armory/distinfo
  head/finance/bitcoin-armory/files/patch-ArmoryQt.py
  head/finance/bitcoin-armory/files/patch-ArmoryUtils.py
  head/finance/bitcoin-armory/files/patch-Makefile
  head/finance/bitcoin-armory/files/patch-announcefetch.py
  head/finance/bitcoin-armory/files/patch-armoryengine_ArmoryUtils.py
  head/finance/bitcoin-armory/files/patch-armoryengine_Transaction.py
  head/finance/bitcoin-armory/files/patch-cppForSwig-Makefile
  head/finance/bitcoin-armory/files/patch-cppForSwig-cryptopp-Makefile
  head/finance/bitcoin-armory/files/patch-cppForSwig_Makefile
  head/finance/bitcoin-armory/files/patch-cppForSwig_cryptopp_Makefile
  head/finance/bitcoin-armory/files/patch-dpkgfiles-armory
  head/finance/bitcoin-armory/files/patch-dpkgfiles_armory
  head/finance/bitcoin-armory/pkg-message
  head/finance/bitcoin-armory/pkg-plist
Comment 31 Jason Unovitch freebsd_committer freebsd_triage 2015-10-25 22:14:24 UTC
(In reply to yuri from comment #29)
Can you open a new PR for the next update and 9.x compatibility fixes?  If you can work with the upstream on the compatibility front that would be excellent!  Thanks!
Comment 32 Yuri Victorovich freebsd_committer freebsd_triage 2015-10-25 23:08:17 UTC
I submitted patches upstream a year ago, but they weren't merged: https://github.com/etotheipi/BitcoinArmory/pull/227 It seems that armory is in maintenance mode, and support there is very limited. I will try to do my best.