pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg/48830: libreoffice4-4.2.2.1 build screwed by ruby211-2.1.1's tcl-8.5.15nb1 build



> ===> Install binary package of tcl-8.6.1nb3
> pkg_add: A different version of tcl-8.6.1nb3 is already installed: 
> tcl-8.5.15nb1
> pkg_add: 1 package addition failed
>
> and so, since libreoffice wants a tcl greater than 8.6, while
> ruby21 wants a tcl less than 8.6, we're at an impossible
> impass.
>
>>How-To-Repeat:
>
> Build /usr/pkgsrc/lang/ruby21.  Then build /usr/pkgsrc/misc/libreoffice4
>>Fix:
>
> delete, and forget about the one or the other.

Just some comments / ramblings:


It seems that in pkgsrc, x11/ruby-tk is the last holdout which
requires tcl and tk older than 8.6.  Perhaps it should "get with the
program" and update?  However, the trivial attempt with

Index: Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/x11/ruby-tk/Makefile,v
retrieving revision 1.43
diff -u -r1.43 Makefile
--- Makefile    10 Mar 2014 14:23:51 -0000      1.43
+++ Makefile    25 May 2014 07:50:42 -0000
@@ -36,6 +36,6 @@
 
 .include "../../lang/ruby/modules.mk"
 .include "../../lang/ruby/Makefile.common"
-.include "../../lang/tcl85/buildlink3.mk"
-.include "../../x11/tk85/buildlink3.mk"
+.include "../../lang/tcl/buildlink3.mk"
+.include "../../x11/tk/buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"

results in sour messages from the configure machinery in x11/ruby-tk
that it really does need Tcl/Tk 8.5 or older.  So ... more effort is
required to follow that path.  Does anyone know what specifically in
ruby-tk is incompatible with newer Tcl/Tk?

Tweaking the configure script like this:

: {289} cat ../../lang/ruby21-base/patches/patch-ext_tk_extconf.rb 
$NetBSD$

--- ext/tk/extconf.rb.orig      2013-11-30 02:46:47.000000000 +0000
+++ ext/tk/extconf.rb
@@ -8,11 +8,11 @@ TkLib_Config = {}
 TkLib_Config['search_versions'] =
   # %w[8.9 8.8 8.7 8.6 8.5 8.4 8.3 8.2 8.1 8.0 7.6 4.2]
   # %w[8.7 8.6 8.5 8.4 8.3 8.2 8.1 8.0]
-  # %w[8.7 8.6 8.5 8.4 8.0] # to shorten search steps
-  %w[8.5 8.4] # At present, Tcl/Tk8.6 is not supported.
+  %w[8.7 8.6 8.5 8.4 8.0] # to shorten search steps
+  # %w[8.5 8.4] # At present, Tcl/Tk8.6 is not supported.
 
 TkLib_Config['unsupported_versions'] =
-  %w[8.8 8.7 8.6] # At present, Tcl/Tk8.6 is not supported.
+  %w[8.8 8.7] # At present, Tcl/Tk8.6 is not supported.
 
 TkLib_Config['major_nums'] = '87'
 
: {290} 

and doing a "make mps" in ruby21-base (after placing the patch file as
above) lets ruby212-tk-2.1.2nb3 install, but I don't know if it will
work, and I don't know how to test it.  As far as I can see, though,
there are no warnings from the C compilations done in x11/ruby-tk.


I'm not all that familiar with ruby, and without setting any make
variables, it seems that the build of ruby21 stops because ruby-gdbm
selected ruby200, and after happily installing ruby200-gdbm-2.0.0p481
the build stops with

ERROR: [depends.mk] A package matching ``ruby212-gdbm>=2.1.2'' should
ERROR:     be installed, but one cannot be found.  Perhaps there is a
ERROR:     stale work directory for ../../databases/ruby-gdbm?

and I can assure you that there was no stale work dir.

Looking at lang/ruby/rubyversion.mk suggests that I should maybe set
RUBY_VERSION_DEFAULT to 21, so I put that in /etc/mk.conf, and this
fixes the build in databases/ruby-gdbm/ to install ruby212-gdbm-2.1.2.

Confusingly, it seems that setting RUBY_VERSION_DEFAULT in the
environment causes x11/ruby-tk to select building with ruby200,
despite my setting in /etc/mk.conf.  Removing that variable from the
environment fixes it to try to build ruby212-tk-2.1.2nb3!?!


Can someone please confirm that setting RUBY_VERSION_DEFAULT in
/etc/mk.conf is a requirement to have ruby21 built properly?


Regards,

- Håvard


Home | Main Index | Thread Index | Old Index