From 9bb16846229428fb6f88a5f002149b23bf1dfd62 Mon Sep 17 00:00:00 2001 From: "Yury G. Kudryashov" Date: Tue, 20 Mar 2012 22:10:53 +0000 Subject: [PATCH] Add kde48.qtruby svn path=/nixpkgs/trunk/; revision=33313 --- pkgs/desktops/kde-4.8/default.nix | 3 +-- .../kdebindings/qtruby-include-smokeqt.patch | 13 +++++++++++++ .../kdebindings/qtruby-install-prefix.patch | 15 +++++++++++++++ pkgs/desktops/kde-4.8/kdebindings/qtruby.nix | 16 ++++++++++++++++ 4 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 pkgs/desktops/kde-4.8/kdebindings/qtruby-include-smokeqt.patch create mode 100644 pkgs/desktops/kde-4.8/kdebindings/qtruby-install-prefix.patch create mode 100644 pkgs/desktops/kde-4.8/kdebindings/qtruby.nix diff --git a/pkgs/desktops/kde-4.8/default.nix b/pkgs/desktops/kde-4.8/default.nix index f086b06ab9d..6404173bb12 100644 --- a/pkgs/desktops/kde-4.8/default.nix +++ b/pkgs/desktops/kde-4.8/default.nix @@ -15,8 +15,7 @@ let # kdesdk/kioslave is splitted into kioslave-svn and kioslave-git kdesdk = [ "kioslave" ]; # Most of kdebindings do not compile due to a bug in the buildsystem - kdebindings = [ "kimono" "korundum" "kross-interpreters" "perlkde" - "qtruby" "qyoto" ]; + kdebindings = [ "kimono" "korundum" "kross-interpreters" "perlkde" "qyoto" ]; }; # Extra subpackages in the manifest format diff --git a/pkgs/desktops/kde-4.8/kdebindings/qtruby-include-smokeqt.patch b/pkgs/desktops/kde-4.8/kdebindings/qtruby-include-smokeqt.patch new file mode 100644 index 00000000000..7d20a3c1c0b --- /dev/null +++ b/pkgs/desktops/kde-4.8/kdebindings/qtruby-include-smokeqt.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 33078b4..1a6ad2e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,7 +5,7 @@ set(COMPILE_RUBY FALSE CACHE INTERNAL "") + find_package(Ruby REQUIRED) + find_package(Qt4 REQUIRED) + find_package(Smoke COMPONENTS QtCore QtGui QtXml QtOpenGl QtSql QtNetwork QtDbus QtSvg Phonon QSci QtDeclarative QtScript QtWebkit QtUiTools QtTest Qwt) +-include_directories(${SMOKE_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/src ${QT_INCLUDES}) ++include_directories(${SMOKE_INCLUDE_DIR} ${SMOKE_QTCORE_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/src ${QT_INCLUDES}) + + set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${SMOKE_CMAKE_MODULE_DIR}) + include(MacroOptionalFindPackage) diff --git a/pkgs/desktops/kde-4.8/kdebindings/qtruby-install-prefix.patch b/pkgs/desktops/kde-4.8/kdebindings/qtruby-install-prefix.patch new file mode 100644 index 00000000000..bd95a0d8bd3 --- /dev/null +++ b/pkgs/desktops/kde-4.8/kdebindings/qtruby-install-prefix.patch @@ -0,0 +1,15 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 33078b4..30aec0e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -31,8 +31,8 @@ if (NOT COMPILE_RUBY) + return() + endif (NOT COMPILE_RUBY) + +-SET(CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR} CACHE DIR "custom installation directory for ruby binary extension" ) +-SET(CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR} CACHE DIR "custom installation directory for ruby extension" ) ++string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_ARCH_DIR ${RUBY_SITEARCH_DIR}) ++string(REPLACE "${RUBY_ROOT_DIR}" "${CMAKE_INSTALL_PREFIX}" CUSTOM_RUBY_SITE_LIB_DIR ${RUBY_SITELIB_DIR}) + + # compute an overall version number which can be compared at once + MATH(EXPR RUBY_VERSION_NUMBER "${RUBY_VERSION_MAJOR}*10000 + ${RUBY_VERSION_MINOR}*100 + ${RUBY_VERSION_PATCH}") diff --git a/pkgs/desktops/kde-4.8/kdebindings/qtruby.nix b/pkgs/desktops/kde-4.8/kdebindings/qtruby.nix new file mode 100644 index 00000000000..5dd25899e74 --- /dev/null +++ b/pkgs/desktops/kde-4.8/kdebindings/qtruby.nix @@ -0,0 +1,16 @@ +{ kde, cmake, smokeqt, ruby }: + +kde { + buildInputs = [ smokeqt ruby ]; + buildNativeInputs = [ cmake ]; + + # The second patch is not ready for upstream submmission. I should add an + # option() instead. + patches = [ ./qtruby-include-smokeqt.patch ./qtruby-install-prefix.patch ]; + + cmakeFlags="-DRUBY_ROOT_DIR=${ruby}"; + + meta = { + description = "Ruby bindings for Qt library"; + }; +}