diff options
Diffstat (limited to 'redhat/applications/amarok/amarok-3.5.13-adds_ruby_1.9_support.patch')
-rw-r--r-- | redhat/applications/amarok/amarok-3.5.13-adds_ruby_1.9_support.patch | 138 |
1 files changed, 138 insertions, 0 deletions
diff --git a/redhat/applications/amarok/amarok-3.5.13-adds_ruby_1.9_support.patch b/redhat/applications/amarok/amarok-3.5.13-adds_ruby_1.9_support.patch new file mode 100644 index 000000000..c18b57d57 --- /dev/null +++ b/redhat/applications/amarok/amarok-3.5.13-adds_ruby_1.9_support.patch @@ -0,0 +1,138 @@ +--- amarok/amarok/src/mediadevice/daap/mongrel/http11/CMakeLists.txt.ORI 2012-05-01 11:32:31.604163233 +0200 ++++ amarok/amarok/src/mediadevice/daap/mongrel/http11/CMakeLists.txt 2012-05-01 11:32:39.764016446 +0200 +@@ -16,6 +16,7 @@ + + include_directories( + ${RUBY_INCLUDE_DIR} ++ ${RUBY_ARCH_INCLUDE_DIR} + ) + + ##### other data ################################ +--- amarok/amarok/src/mediadevice/daap/ConfigureChecks.cmake.ruby 2011-05-03 07:45:53.000000000 +0200 ++++ amarok/amarok/src/mediadevice/daap/ConfigureChecks.cmake 2012-05-01 17:12:11.980323997 +0200 +@@ -32,8 +32,33 @@ + tde_message_fatal( "Unable to run ${RUBY_EXECUTABLE}!\n RUBY is correctly installed?" ) + endif( ) + ++execute_process( ++ COMMAND ${RUBY_EXECUTABLE} -rrbconfig -e "puts Config.expand( Config::MAKEFILE_CONFIG['MAJOR'] )" ++ OUTPUT_VARIABLE RUBY_MAJOR_VERSION ++ RESULT_VARIABLE _result ++ OUTPUT_STRIP_TRAILING_WHITESPACE) ++if( _result ) ++ tde_message_fatal( "Unable to run ${RUBY_EXECUTABLE}!\n RUBY is correctly installed?" ) ++endif( ) ++ ++execute_process( ++ COMMAND ${RUBY_EXECUTABLE} -rrbconfig -e "puts Config.expand( Config::MAKEFILE_CONFIG['MINOR'] )" ++ OUTPUT_VARIABLE RUBY_MINOR_VERSION ++ RESULT_VARIABLE _result ++ OUTPUT_STRIP_TRAILING_WHITESPACE) ++if( _result ) ++ tde_message_fatal( "Unable to run ${RUBY_EXECUTABLE}!\n RUBY is correctly installed?" ) ++endif( ) ++ + if( RUBY_INCLUDE_DIR AND RUBY_LDFLAGS ) + message( STATUS "Found RUBY: ${RUBY_EXECUTABLE}" ) + message( STATUS " RUBY_INCLUDE_DIR: ${RUBY_INCLUDE_DIR}" ) + message( STATUS " RUBY_LDFLAGS: ${RUBY_LDFLAGS}" ) ++ message( STATUS " RUBY_MAJOR_VERSION: ${RUBY_MAJOR_VERSION}") ++ message( STATUS " RUBY_MINOR_VERSION: ${RUBY_MINOR_VERSION}") + endif( ) ++ ++if ( "${RUBY_MAJOR_VERSION}.${RUBY_MINOR_VERSION}" VERSION_LESS "1.9" ) ++ message( STATUS " You have an old version of Ruby ! (<1.9)") ++ set ( HAVE_OLD_RUBY 1 CACHE INTERNAL "" ) ++endif( ) +--- amarok/config.h.cmake.ORI 2012-05-01 17:12:53.044914450 +0200 ++++ amarok/config.h.cmake 2012-05-01 17:13:08.307133030 +0200 +@@ -16,3 +16,5 @@ + + #cmakedefine TAGLIB_15 1 + #cmakedefine HAVE_QGLWIDGET 1 ++ ++#cmakedefine HAVE_OLD_RUBY @HAVE_OLD_RUBY@ +--- amarok/amarok/src/mediadevice/daap/mongrel/http11/CMakeLists.txt.ORI 2012-05-01 18:34:12.577433198 +0200 ++++ amarok/amarok/src/mediadevice/daap/mongrel/http11/CMakeLists.txt 2012-05-01 18:34:23.840269058 +0200 +@@ -15,6 +15,7 @@ + ) + + include_directories( ++ ${CMAKE_BINARY_DIR} + ${RUBY_INCLUDE_DIR} + ${RUBY_ARCH_INCLUDE_DIR} + ) +--- amarok/amarok/src/mediadevice/daap/mongrel/http11/http11.c.ruby 2011-09-19 06:40:11.000000000 +0200 ++++ amarok/amarok/src/mediadevice/daap/mongrel/http11/http11.c 2012-05-01 16:25:32.486067476 +0200 +@@ -2,6 +2,7 @@ + * Copyright (c) 2005 Zed A. Shaw + * You can redistribute it and/or modify it under the same terms as Ruby. + */ ++#include "config.h" + #include "ruby.h" + #include "ext_help.h" + #include <assert.h> +@@ -74,7 +75,11 @@ + f = rb_str_dup(global_http_prefix); + f = rb_str_buf_cat(f, field, flen); + ++#ifdef HAVE_OLD_RUBY + for(ch = RSTRING(f)->ptr, end = ch + RSTRING(f)->len; ch < end; ch++) { ++#else ++ for(ch = RSTRING_PTR(f), end = ch + RSTRING_LEN(f); ch < end; ch++) { ++#endif + if(*ch == '-') { + *ch = '_'; + } else { +@@ -157,12 +162,25 @@ + + rb_hash_aset(req, global_gateway_interface, global_gateway_interface_value); + if((temp = rb_hash_aref(req, global_http_host)) != Qnil) { ++#ifdef HAVE_OLD_RUBY + colon = strchr(RSTRING(temp)->ptr, ':'); ++#else ++ colon = strchr(RSTRING_PTR(temp), ':'); ++#endif + if(colon != NULL) { ++#ifdef HAVE_OLD_RUBY + rb_hash_aset(req, global_server_name, rb_str_substr(temp, 0, colon - RSTRING(temp)->ptr)); ++#else ++ rb_hash_aset(req, global_server_name, rb_str_substr(temp, 0, colon - RSTRING_PTR(temp))); ++#endif + rb_hash_aset(req, global_server_port, ++#ifdef HAVE_OLD_RUBY + rb_str_substr(temp, colon - RSTRING(temp)->ptr+1, + RSTRING(temp)->len)); ++#else ++ rb_str_substr(temp, colon - RSTRING_PTR(temp)+1, ++ RSTRING_LEN(temp))); ++#endif + } else { + rb_hash_aset(req, global_server_name, temp); + rb_hash_aset(req, global_server_port, global_port_80); +@@ -281,8 +299,13 @@ + DATA_GET(self, http_parser, http); + + from = FIX2INT(start); ++#ifdef HAVE_OLD_RUBY + dptr = RSTRING(data)->ptr; + dlen = RSTRING(data)->len; ++#else ++ dptr = RSTRING_PTR(data); ++ dlen = RSTRING_LEN(data); ++#endif + + if(from >= dlen) { + rb_raise(eHttpParserError, "Requested start is after data buffer end."); +@@ -512,7 +535,11 @@ + if(pref_len == 1 && uri_str[0] == '/') { + rb_ary_push(result, uri); + } else { ++#ifdef HAVE_OLD_RUBY + rb_ary_push(result, rb_str_substr(uri, pref_len, RSTRING(uri)->len)); ++#else ++ rb_ary_push(result, rb_str_substr(uri, pref_len, RSTRING_LEN(uri))); ++#endif + } + + rb_ary_push(result, (VALUE)handler); |