Skip to content
This repository has been archived by the owner on Jan 16, 2025. It is now read-only.

wxmac: disable monolithic build; erlang: build with wx support #26982

Merged
merged 2 commits into from
Mar 1, 2014
Merged

wxmac: disable monolithic build; erlang: build with wx support #26982

merged 2 commits into from
Mar 1, 2014

Conversation

adamv
Copy link
Contributor

@adamv adamv commented Feb 25, 2014

No description provided.

@adamv
Copy link
Contributor Author

adamv commented Feb 25, 2014

10.9 build error here is unrelated and known.

@leoliu
Copy link

leoliu commented Feb 27, 2014

I need this too. I have to manually edit some makefile under wx in the erlang git source tree to get it to build. re-build wxmac takes very long time.

@adamv adamv self-assigned this Feb 27, 2014
@adamv
Copy link
Contributor Author

adamv commented Feb 27, 2014

Getting an Erlang build failure on Lion; possibly due to a race condition in install? The install is deparallelized so I'm not sure what's going on here.

@adamv
Copy link
Contributor Author

adamv commented Feb 27, 2014

@BrewTestBot test this please

@adamv
Copy link
Contributor Author

adamv commented Feb 27, 2014

Erlang built this time, but not last time, so it would appear that the build step still has a (potentially rare) race condition, and should be reported upstream and run under ENV.j1.

This is sad, though, since building Erlang takes a very long time even with full use of cores.

@adamv
Copy link
Contributor Author

adamv commented Mar 1, 2014

I've updated this with a wxMac bottle. Now would be a good time to put some eyes on the code changes.

@mistydemeo
Copy link
Contributor

Using the provided wxmac bottle, the wxpython bindings build and pass brew test for me.

# need to enable universal binary build in order to build all x86_64 headers
# need to specify x86_64 and i386 or will try to build for ppc arch and fail on newer OSes
# need to enable universal binary build in order to build all x86_64
# headers need to specify x86_64 and i386 or will try to build for ppc arch
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the first two lines were supposed to be separate thoughts.

@mistydemeo
Copy link
Contributor

This looks good to me.

@mistydemeo
Copy link
Contributor

Should the wxmac patches still be included?

@adamv
Copy link
Contributor Author

adamv commented Mar 1, 2014

Which patches? I haven't pushed anything yet.

@mistydemeo
Copy link
Contributor

Might have happened when you rebased my older wxmac branch (which is from before the patch was added) - the current wxmac formula has a patch that's removed in your version of my commit.

@adamv
Copy link
Contributor Author

adamv commented Mar 1, 2014

Oh right, good catch!

@adamv
Copy link
Contributor Author

adamv commented Mar 1, 2014

Rebuilding the bottle with the patch.

@mistydemeo
Copy link
Contributor

Thanks!

@mistydemeo
Copy link
Contributor

Tested with a wxpython app (Twine, not via app bundle) and it works, BTW!

@adamv
Copy link
Contributor Author

adamv commented Mar 1, 2014

Erlang passed a wx smoke test as well.

@adamv
Copy link
Contributor Author

adamv commented Mar 1, 2014

I seem to be stuck, the uploaded wxmac bottle may not match the most recently built one

@adamv
Copy link
Contributor Author

adamv commented Mar 1, 2014

Looks correct locally though:

$ brew fetch --force-bottle wxmac
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/wxmac-3.0.0.mavericks.bottle.tar.gz
######################################################################## 100.0%
Downloaded to: /Library/Caches/Homebrew/wxmac-3.0.0.mavericks.bottle.tar.gz
SHA1: 6a5b2ff59a3f7b4c78658ed4f3cda543bfc7f325
SHA256: b75314828f700ca37e1db97551509e8470c3773b2057ffc25f59d730cd2f76df

@MikeMcQuaid
Copy link
Member

@adamv Weird intermittent SF issue with new bottles. It only seems to happen in the first e.g. 24H. Perhaps I should tell the bot to always use a particular mirror or something. I'll SSH in and do a fetch.

Also, can someone remind me why we're splitting these up?


depends_on :python
depends_on FrameworkPython
depends_on 'wxmac'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's use double-quotes everywhere now.

@adamv
Copy link
Contributor Author

adamv commented Mar 1, 2014

We're splitting them explicitly so we can bottle wxmac.

@MikeMcQuaid
Copy link
Member

@adamv I realise I should have said this earlier but we might want to hold-off on this. This applies to a bunch of widely-used packages like e.g. libxml. I've got a half-written issue about this but basically we need to think of a strategy that lets us bottle Python packages too.

@adamv
Copy link
Contributor Author

adamv commented Mar 1, 2014

I think we want to split the wxPython build out anyway, since many things depend on wx without needing the Python bindings, which themselves also take a long time to compile.

@adamv
Copy link
Contributor Author

adamv commented Mar 1, 2014

A note on the change of wx to build --disable-monolithic: MacPorts seems to get saga to build with this option, though it may be applying a patch.

I can't build saga locally though due to:

In file included from soci.cpp:9:
./soci.h:306:23: error: use 'template' keyword to treat 'value' as a dependent template name
            return p->value<T>();
                      ^
                      template 

@adamv
Copy link
Contributor Author

adamv commented Mar 1, 2014

@MikeMcQuaid if you think a Python bottling solution is coming "soon", I can hold off on this, otherwise I'd rather see this start to go in.

@MikeMcQuaid
Copy link
Member

@adamv I think it is. I'll create an issue.

@MikeMcQuaid
Copy link
Member

@adamv Issue is up in #27112.

@adamv
Copy link
Contributor Author

adamv commented Mar 1, 2014

I'll pull the wxpython/bottle changes out of here and just test the wx/erlang ones.

adamv added 2 commits March 1, 2014 09:33
More software requires non-monolithic builds than the
other way around

Closes #26624.
@mistydemeo
Copy link
Contributor

@MikeMcQuaid I changed this originally because the wxpython bindings take a good fifteen minutes to build and 60MB of space on disk. There's no reason to ask users who don't want wxpython to use them just because we think they should come in the same package. (They don't come in the same package upstream, and it was always a weird decision on our part to forcibly bundle them together.)

I'd been testing rebuilding both wxmac and wxpython independently of each other, and being forced to rebuild wxmac (30-40 minutes) just to test changes to wxpython was really, really painful.

Even if we have a python bottling solution coming soon, I would still want us to make this change - we'd just end up bottling wxpython as its own formula.

@MikeMcQuaid
Copy link
Member

@mistydemeo If they don't come in the same upstream package I'm OK with them being separated. Apologies for the unnecessary intervention.

@adamv adamv closed this Mar 1, 2014
@adamv adamv deleted the wx branch March 1, 2014 19:43
@adamv adamv merged commit f95e5bc into Homebrew:master Mar 1, 2014
@adamv
Copy link
Contributor Author

adamv commented Mar 1, 2014

Continuing in #27116.

@Homebrew Homebrew locked and limited conversation to collaborators Feb 17, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants