Forums | Admin

Discussion Forums: open-discussion

Start New Thread Start New Thread

 

By: Costa Shapiro
1.9? [ reply ]  
2009-01-09 13:48
Yes, you're absolutely right, the whitespace got screwed, something I didn't expect from a programming forum with a "HTML tags will display in your post as text" message.

Maybe you have an idea on making it work with Ruby 1.9 on OS X? I have trouble making cmake work with extconf.rb after changing some API calls in the source to make it 1.9-compatible.
I should probably make it a different topic..

By: Ana Nelson
RE: Building qt4-qtruby-1.4.10 with Qt-4.4.3 [ reply ]  
2009-01-06 15:26
I couldn't get this patch to apply, so I made the changes manually. Maybe pasting it here did something to the whitespace, or maybe I didn't trim the file in precisely the right place. Anyway, qt4-qtruby compiled for me after making these changes (on OSX 10.5.6), so thank you very much for posting this.

I have Ruby installed via MacPorts so I did:
cmake -DRUBY_LIBRARY=/opt/local/lib/libruby.1.8.dylib .

It will still compile otherwise, but it will find the default system-installed Ruby.

Here is my diff after manually applying the above changes:
http://pastie.org/353809

I tested this with:

curl http://pastie.org/pastes/353809/download > add-webkit-refs.diff
patch -p1 < add-webkit-refs.diff

output:
ana:Downloads ana$ cd qt4-qtruby-1.4.10
ana:qt4-qtruby-1.4.10 ana$ curl http://pastie.org/pastes/353809/download > add-webkit-refs.diff
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 5334 100 5334 0 0 1075 0 0:00:04 0:00:04 --:--:-- 38637
ana:qt4-qtruby-1.4.10 ana$ patch -p1 < add-webkit-refs.diff
patching file cmake/modules/FindQt4.cmake
patching file ruby/qtruby/src/extconf.rb

By: Costa Shapiro
RE: Building qt4-qtruby-1.4.10 with Qt-4.4.3 [ reply ]  
2008-11-08 16:07
Oh, btw, I've used
./configure -universal -optimized-qmake -no-sql-psql
to build the Qt as psql module does not seem to build.

I'd like a comment on this because my database of choice is PostgreSQL indeed and I may be needing that module in a while.

By: Costa Shapiro
Building qt4-qtruby-1.4.10 with Qt-4.4.3 [ reply ]  
2008-11-08 15:44
I had some trouble installing qtruby on my MacOsX 10.4.11 with the Qt in subject - not to mention having some other trouble installing Qt itself (it's fink port seems to be broken).

Apparently, the package ignores its dependencies on WebKit for some reason (why?).
The patch below puts WebKit back on the map (use patch -p1 in the extracted package directory):

diff -crd qt4-qtruby-1.4.10/cmake/modules/FindQt4.cmake qt4-qtruby-1.4.10_work/cmake/modules/FindQt4.cmake
*** qt4-qtruby-1.4.10/cmake/modules/FindQt4.cmake Wed Jun 20 14:21:44 2007
--- qt4-qtruby-1.4.10_work/cmake/modules/FindQt4.cmake Sat Nov 8 16:32:55 2008
***************
*** 23,28 ****
--- 23,29 ----
# QT_USE_QTTEST
# QT_USE_QTUITOOLS
# QT_USE_QTDBUS
+ # QT_USE_QTWEBKIT
#
# All the libraries required are stored in a variable called QT_LIBRARIES.
# Add this variable to your TARGET_LINK_LIBRARIES.
***************
*** 86,91 ****
--- 87,93 ----
# QT_QTSCRIPT_FOUND True if QtScript was found.
# QT_QTTEST_FOUND True if QtTest was found.
# QT_QTUITOOLS_FOUND True if QtUiTools was found.
+ # QT_QTWEBKIT_FOUND True if QtWebKit was found.
#
# QT_DEFINITIONS Definitions to use when compiling code that uses Qt.
#
***************
*** 113,118 ****
--- 115,121 ----
# QT_QTSVG_INCLUDE_DIR Path to "include/QtSvg"
# QT_QTSCRIPT_INCLUDE_DIR Path to "include/QtScript"
# QT_QTTEST_INCLUDE_DIR Path to "include/QtTest"
+ # QT_QTWEBKIT_INCLUDE_DIR Path to "include/QtWebKit"
#
# QT_LIBRARY_DIR Path to "lib" of Qt4
#
***************
*** 157,162 ****
--- 160,167 ----
#
# The QtUiTools library: QT_QTUITOOLS_LIBRARY
#
+ # The QtWebKit library: QT_QTWEBKIT_LIBRARY
+ #
# also defined, but NOT for general use are
# QT_MOC_EXECUTABLE Where to find the moc tool.
# QT_UIC_EXECUTABLE Where to find the uic tool.
***************
*** 512,517 ****
--- 517,530 ----
NO_DEFAULT_PATH
)

+ # Set QT_QTWEBKIT_INCLUDE_DIR
+ FIND_PATH(QT_QTWEBKIT_INCLUDE_DIR QtWebKit
+ PATHS
+ ${QT_INCLUDE_DIR}/QtWebKit
+ ${QT_LIBRARY_DIR}/QtWebKit.framework/Headers
+ NO_DEFAULT_PATH
+ )
+
# Set QT_QTXML_INCLUDE_DIR
FIND_PATH(QT_QTXML_INCLUDE_DIR QtXml
PATHS
***************
*** 639,644 ****
--- 652,664 ----
SET(QT_QTTEST_FOUND FALSE)
ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtTest.framework)

+ IF(EXISTS ${QT_LIBRARY_DIR}/QtWebKit.framework)
+ SET(QT_QTWEBKIT_FOUND TRUE)
+ SET(QT_QTWEBKIT_LIBRARY "-F${QT_LIBRARY_DIR} -framework QtWebKit" CACHE STRING "The QtWebKit library.")
+ ELSE(EXISTS ${QT_LIBRARY_DIR}/QtWebKit.framework)
+ SET(QT_QTWEBKIT_FOUND FALSE)
+ ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtWebKit.framework)
+
# WTF? why don't we have frameworks? :P
# Set QT_QTUITOOLS_LIBRARY
FIND_LIBRARY(QT_QTUITOOLS_LIBRARY NAMES QtUiTools QtUiTools4 PATHS ${QT_LIBRARY_DIR} )
***************
*** 688,693 ****
--- 708,716 ----
# Set QT_QTTEST_LIBRARY
FIND_LIBRARY(QT_QTTEST_LIBRARY NAMES QtTest QtTest4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)

+ # Set QT_QTWEBKIT_LIBRARY
+ FIND_LIBRARY(QT_QTWEBKIT_LIBRARY NAMES QtWebKit QtWebKit4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
FIND_LIBRARY(QT_QTDBUS_LIBRARY NAMES QtDBus QtDBus4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)

IF(MSVC)
***************
*** 703,708 ****
--- 726,732 ----
FIND_LIBRARY(QT_QTUITOOLS_LIBRARY_DEBUG NAMES QtUiToolsd QtUiToolsd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
FIND_LIBRARY(QT_QTTEST_LIBRARY_DEBUG NAMES QtTestd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
FIND_LIBRARY(QT_QTDBUS_LIBRARY_DEBUG NAMES QtDBusd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+ FIND_LIBRARY(QT_QTWEBKIT_LIBRARY_DEBUG NAMES QtWebkitd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_DEBUG NAMES QtAssistantClientd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
FIND_LIBRARY(QT_QTDESIGNER_LIBRARY_DEBUG NAMES QtDesigner4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
FIND_LIBRARY(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG NAMES QtDesignerComponentsd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
***************
*** 793,798 ****
--- 817,823 ----
_QT4_ADJUST_LIB_VARS(QTUITOOLS)
_QT4_ADJUST_LIB_VARS(QTTEST)
_QT4_ADJUST_LIB_VARS(QTDBUS)
+ _QT4_ADJUST_LIB_VARS(QT)


# platform dependent libraries
diff -crd qt4-qtruby-1.4.10/ruby/qtruby/src/extconf.rb qt4-qtruby-1.4.10_work/ruby/qtruby/src/extconf.rb
*** qt4-qtruby-1.4.10/ruby/qtruby/src/extconf.rb Thu Apr 12 20:04:54 2007
--- qt4-qtruby-1.4.10_work/ruby/qtruby/src/extconf.rb Sat Nov 8 16:10:04 2008
***************
*** 3,11 ****
dir_config('qt')

# For Linux, BSD*, Mac OS X etc:
! $LOCAL_LIBS += '-lsmokeqt -lQtCore -lQtGui -lQtNetwork -lQtOpenGL -lQtSql -lQtXml -lstdc++'

# For Windows the Qt library names end in '4':
! # $LOCAL_LIBS += '-lsmokeqt -lQtCore4 -lQtGui4 -lQtNetwork4 -lQtOpenGL4 -lQtSql4 -lQtXml4 -lstdc++'

create_makefile("qtruby4")
--- 3,11 ----
dir_config('qt')

# For Linux, BSD*, Mac OS X etc:
! $LOCAL_LIBS += '-lsmokeqt -lQtCore -lQtGui -lQtNetwork -lQtOpenGL -lQtSql -lQtXml -lQtWebKit -lstdc++'

# For Windows the Qt library names end in '4':
! # $LOCAL_LIBS += '-lsmokeqt -lQtCore4 -lQtGui4 -lQtNetwork4 -lQtOpenGL4 -lQtSql4 -lQtXml4 -lQtWebKit4 -lstdc++'

create_makefile("qtruby4")
diff -crd qt4-qtruby-1.4.10/cmake/modules/FindQt4.cmake qt4-qtruby-1.4.10_work/cmake/modules/FindQt4.cmake
*** qt4-qtruby-1.4.10/cmake/modules/FindQt4.cmake Wed Jun 20 14:21:44 2007
--- qt4-qtruby-1.4.10_work/cmake/modules/FindQt4.cmake Sat Nov 8 16:32:55 2008
***************
*** 23,28 ****
--- 23,29 ----
# QT_USE_QTTEST
# QT_USE_QTUITOOLS
# QT_USE_QTDBUS
+ # QT_USE_QTWEBKIT
#
# All the libraries required are stored in a variable called QT_LIBRARIES.
# Add this variable to your TARGET_LINK_LIBRARIES.
***************
*** 86,91 ****
--- 87,93 ----
# QT_QTSCRIPT_FOUND True if QtScript was found.
# QT_QTTEST_FOUND True if QtTest was found.
# QT_QTUITOOLS_FOUND True if QtUiTools was found.
+ # QT_QTWEBKIT_FOUND True if QtWebKit was found.
#
# QT_DEFINITIONS Definitions to use when compiling code that uses Qt.
#
***************
*** 113,118 ****
--- 115,121 ----
# QT_QTSVG_INCLUDE_DIR Path to "include/QtSvg"
# QT_QTSCRIPT_INCLUDE_DIR Path to "include/QtScript"
# QT_QTTEST_INCLUDE_DIR Path to "include/QtTest"
+ # QT_QTWEBKIT_INCLUDE_DIR Path to "include/QtWebKit"
#
# QT_LIBRARY_DIR Path to "lib" of Qt4
#
***************
*** 157,162 ****
--- 160,167 ----
#
# The QtUiTools library: QT_QTUITOOLS_LIBRARY
#
+ # The QtWebKit library: QT_QTWEBKIT_LIBRARY
+ #
# also defined, but NOT for general use are
# QT_MOC_EXECUTABLE Where to find the moc tool.
# QT_UIC_EXECUTABLE Where to find the uic tool.
***************
*** 512,517 ****
--- 517,530 ----
NO_DEFAULT_PATH
)

+ # Set QT_QTWEBKIT_INCLUDE_DIR
+ FIND_PATH(QT_QTWEBKIT_INCLUDE_DIR QtWebKit
+ PATHS
+ ${QT_INCLUDE_DIR}/QtWebKit
+ ${QT_LIBRARY_DIR}/QtWebKit.framework/Headers
+ NO_DEFAULT_PATH
+ )
+
# Set QT_QTXML_INCLUDE_DIR
FIND_PATH(QT_QTXML_INCLUDE_DIR QtXml
PATHS
***************
*** 639,644 ****
--- 652,664 ----
SET(QT_QTTEST_FOUND FALSE)
ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtTest.framework)

+ IF(EXISTS ${QT_LIBRARY_DIR}/QtWebKit.framework)
+ SET(QT_QTWEBKIT_FOUND TRUE)
+ SET(QT_QTWEBKIT_LIBRARY "-F${QT_LIBRARY_DIR} -framework QtWebKit" CACHE STRING "The QtWebKit library.")
+ ELSE(EXISTS ${QT_LIBRARY_DIR}/QtWebKit.framework)
+ SET(QT_QTWEBKIT_FOUND FALSE)
+ ENDIF(EXISTS ${QT_LIBRARY_DIR}/QtWebKit.framework)
+
# WTF? why don't we have frameworks? :P
# Set QT_QTUITOOLS_LIBRARY
FIND_LIBRARY(QT_QTUITOOLS_LIBRARY NAMES QtUiTools QtUiTools4 PATHS ${QT_LIBRARY_DIR} )
***************
*** 688,693 ****
--- 708,716 ----
# Set QT_QTTEST_LIBRARY
FIND_LIBRARY(QT_QTTEST_LIBRARY NAMES QtTest QtTest4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)

+ # Set QT_QTWEBKIT_LIBRARY
+ FIND_LIBRARY(QT_QTWEBKIT_LIBRARY NAMES QtWebKit QtWebKit4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+
FIND_LIBRARY(QT_QTDBUS_LIBRARY NAMES QtDBus QtDBus4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)

IF(MSVC)
***************
*** 703,708 ****
--- 726,732 ----
FIND_LIBRARY(QT_QTUITOOLS_LIBRARY_DEBUG NAMES QtUiToolsd QtUiToolsd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
FIND_LIBRARY(QT_QTTEST_LIBRARY_DEBUG NAMES QtTestd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
FIND_LIBRARY(QT_QTDBUS_LIBRARY_DEBUG NAMES QtDBusd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
+ FIND_LIBRARY(QT_QTWEBKIT_LIBRARY_DEBUG NAMES QtWebkitd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
FIND_LIBRARY(QT_QTASSISTANT_LIBRARY_DEBUG NAMES QtAssistantClientd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
FIND_LIBRARY(QT_QTDESIGNER_LIBRARY_DEBUG NAMES QtDesigner4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
FIND_LIBRARY(QT_QTDESIGNERCOMPONENTS_LIBRARY_DEBUG NAMES QtDesignerComponentsd4 PATHS ${QT_LIBRARY_DIR} NO_DEFAULT_PATH)
***************
*** 793,798 ****
--- 817,823 ----
_QT4_ADJUST_LIB_VARS(QTUITOOLS)
_QT4_ADJUST_LIB_VARS(QTTEST)
_QT4_ADJUST_LIB_VARS(QTDBUS)
+ _QT4_ADJUST_LIB_VARS(QT)


# platform dependent libraries
diff -crd qt4-qtruby-1.4.10/ruby/qtruby/src/extconf.rb qt4-qtruby-1.4.10_work/ruby/qtruby/src/extconf.rb
*** qt4-qtruby-1.4.10/ruby/qtruby/src/extconf.rb Thu Apr 12 20:04:54 2007
--- qt4-qtruby-1.4.10_work/ruby/qtruby/src/extconf.rb Sat Nov 8 16:10:04 2008
***************
*** 3,11 ****
dir_config('qt')

# For Linux, BSD*, Mac OS X etc:
! $LOCAL_LIBS += '-lsmokeqt -lQtCore -lQtGui -lQtNetwork -lQtOpenGL -lQtSql -lQtXml -lstdc++'

# For Windows the Qt library names end in '4':
! # $LOCAL_LIBS += '-lsmokeqt -lQtCore4 -lQtGui4 -lQtNetwork4 -lQtOpenGL4 -lQtSql4 -lQtXml4 -lstdc++'

create_makefile("qtruby4")
--- 3,11 ----
dir_config('qt')

# For Linux, BSD*, Mac OS X etc:
! $LOCAL_LIBS += '-lsmokeqt -lQtCore -lQtGui -lQtNetwork -lQtOpenGL -lQtSql -lQtXml -lQtWebKit -lstdc++'

# For Windows the Qt library names end in '4':
! # $LOCAL_LIBS += '-lsmokeqt -lQtCore4 -lQtGui4 -lQtNetwork4 -lQtOpenGL4 -lQtSql4 -lQtXml4 -lQtWebKit4 -lstdc++'

create_makefile("qtruby4")


And everything builds.

Note that non-os-bundled (e.g. fink) ruby users (like me) have to run
cmake -DRUBY_LIBRARY=/sw/lib/libruby.1.8.dylib .
or otherwise specify the correct location of the ruby installation.

.enjoy.