New Ticket     Tickets     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #20006 (closed enhancement: fixed)

Opened 6 years ago

Last modified 5 years ago

Variant for installing erlang without wxWidgets/tk

Reported by: crafterm@… Owned by: bfulgham@…
Priority: Normal Milestone:
Component: ports Version: 1.8.0
Keywords: Cc: lstoll@…, jabronson@…, arto.bendiken@…, macsforever2000@…
Port: erlang

Description

Hi There,

Hope all is going well.

Currently an erlang port install requires wxWidgets and tk as a build and runtime dependency respectively, causing all of X to be built. For server applications (eg. rabbitmq) it would be great to be able to build erlang without requiring support for these packages.

Cheers,

Marcus

Change History

comment:1 Changed 6 years ago by blb@…

  • Owner changed from macports-tickets@… to bfulgham@…
  • Keywords erlang removed
  • Port changed from lang/erlang to erlang

comment:2 Changed 5 years ago by blb@…

Is it known that erlang can be built without wxWidgets? In my (admittedly quick) looking around, it seems like it really wants it available...

comment:3 follow-up: ↓ 9 Changed 5 years ago by crafterm@…

Hi There,

Thanks for getting back to me - under Snow Leopard, I edited the port and removed the dependency on wxWidgets and tk, and the erlang package built/installed fine without any issues, and I was able to further install rabbitmq-server as well without problems.

Not sure if erlang is using a ./configure script to determine build time parameters but it seemed to work out that it wasn't present and handle the situation fine.

Cheers,

Marcus

comment:4 follow-ups: ↓ 5 ↓ 8 Changed 5 years ago by blb@…

Note that there is a wxWidgets with the OS (at least there is on my 10.5 machine) which is probably what is being noticed instead; what's really needed is a way to keep erlang from looking for it in the first place, if that is possible.

comment:5 in reply to: ↑ 4 Changed 5 years ago by segal@…

+1. Any status update?

comment:6 Changed 5 years ago by lstoll@…

  • Cc lstoll@… added

Cc Me!

comment:7 Changed 5 years ago by jabronson@…

  • Cc jabronson@… added

Cc Me!

comment:8 in reply to: ↑ 4 ; follow-up: ↓ 14 Changed 5 years ago by jabronson@…

Replying to blb@…:

Note that there is a wxWidgets with the OS (at least there is on my 10.5 machine) which is probably what is being noticed instead; what's really needed is a way to keep erlang from looking for it in the first place, if that is possible.

+1. is the package maintainer available for comment? a no_tk variant would be a huge win for this port.

comment:9 in reply to: ↑ 3 Changed 5 years ago by jabronson@…

Replying to crafterm@…:

under Snow Leopard, I edited the port and removed the dependency on wxWidgets and tk, and the erlang package built/installed fine without any issues, and I was able to further install rabbitmq-server as well without problems.

me too, for the record.

comment:10 Changed 5 years ago by arto.bendiken@…

  • Cc arto.bendiken@… added

Cc Me!

comment:11 Changed 5 years ago by arto.bendiken@…

I commented out the wxWidgets dependency in my Erlang portfile, but that wasn't sufficient. However, I was able to make Erlang build without wxWidgets based on the tip here:

http://groups.google.com/group/erlang-programming/browse_thread/thread/3c926ee0783ad57e

In essence, once your build fails, just do something like this to skip the wxWidgets-related bits:

touch /opt/local/var/macports/build/*/work/erlang-R13B02/lib/wx/SKIP

comment:12 Changed 5 years ago by macsforever2000@…

  • Cc macsforever2000@… added

Cc Me!

comment:13 Changed 5 years ago by jabronson@…

Replying to jabronson@…:

+1. is the package maintainer available for comment? a no_tk variant would be a huge win for this port.

the package maintainer has not produced any activity on this ticket in the 5 months it's been open. i'm going to file a port abandoned ticket if we don't hear from him soon. in the meantime, if someone can contribute a patch, macsforever2000 (mf2k_mp from #macports) has offered to apply it.

comment:14 in reply to: ↑ 8 ; follow-up: ↓ 15 Changed 5 years ago by jabronson@…

Replying to jabronson@…:

Replying to blb@…:

Note that there is a wxWidgets with the OS (at least there is on my 10.5 machine) which is probably what is being noticed instead;

do you know offhand if there's a way to tell whether the "no_tk" erlang i built according to Marcus's instructions above actually linked agains the system wxWidgets? I tried:

$ otool -L /opt/local/bin/erlc
/opt/local/bin/erlc:
	/usr/lib/libutil.dylib (compatibility version 1.0.0, current version 1.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 124.1.1)

but I'm not sure that's asking the right question.

Is it known that erlang can be built without wxWidgets? In my (admittedly quick) looking around, it seems like it really wants it available...

i just asked this very question on the erlang-questions mailing list (hasn't shown up yet in the archive though). so hopefully we'll hear some official word soon.

comment:15 in reply to: ↑ 14 Changed 5 years ago by jabronson@…

Replying to jabronson@…:

i just asked this very question on the erlang-questions mailing list (hasn't shown up yet in the archive though)

turns out you have to subscribe to post a message. actually got a thread started today; follow it here!

comment:16 Changed 5 years ago by jabronson@…

just an update in case you haven't been following the thread on erlang-questions: it would be trivial for the macports package to provide a no_tk variant (either by deleting the file $(top_srcdir)/lib/wx/configure or by adding a --with option). i've asked if the erlang developers are interested in supporting this directly. in the meantime, could someone with better autoconf chops than myself add a patch for the macports package?

comment:17 Changed 5 years ago by jabronson@…

I asked about this on erlang-bugs and it turns out there's already a way to do this:

On 2009/11/21 Björn Gustavsson <bgustavsson@…> wrote:

There already is a mechanism to skip the building of certain applications, namely to create a file named SKIP in the application directory: touch lib/wx/SKIP lib/gs/SKIP

so is it possible to add a no_tk variant which, if enabled, touches lib/wx/SKIP before building?

comment:18 Changed 5 years ago by jabronson@…

i think we should take the opposite approach. the following patch removes the default dependency on wxWidgets and instead makes it available via the "wxwidgets" variant:

Index: Portfile
===================================================================
--- Portfile	(revision 62384)
+++ Portfile	(working copy)
@@ -97,10 +97,13 @@
 	configure.args-delete   --enable-hipe
 }
 
-depends_build   port:gawk \
-                port:wxWidgets
-depends_run     port:tk
+variant wxwidgets description {Build wxWidgets support}	{
+	depends_build-append     port:wxWidgets
+	depends_run-append       port:tk
+}
 
+depends_build   port:gawk
+
 post-destroot	{
 	system "tar -C ${destroot}${prefix}/lib/erlang -zxvf ${distpath}/otp_doc_html_${version}${extract.suffix}"
 	system "tar -C ${destroot}${prefix}/lib/erlang -zxvf ${distpath}/otp_doc_man_${version}${extract.suffix}"

comment:19 Changed 5 years ago by segal@…

This is unbelievable! 7 months old ticket with trivial request. Could His Maintainer Majesty render a decision?

comment:20 Changed 5 years ago by macsforever2000@…

  • Status changed from new to closed
  • Resolution set to fixed

Maintainer timeout. r62456.

Note: See TracTickets for help on using tickets.