summaryrefslogtreecommitdiff
path: root/dev-lang/gdl/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /dev-lang/gdl/files
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'dev-lang/gdl/files')
-rw-r--r--dev-lang/gdl/files/0.9.2-include.patch10
-rw-r--r--dev-lang/gdl/files/0.9.5-antlr.patch91
-rw-r--r--dev-lang/gdl/files/0.9.5-png.patch15
-rw-r--r--dev-lang/gdl/files/0.9.6-disable-tests-hanging-under-xvfb-run.patch80
-rw-r--r--dev-lang/gdl/files/0.9.6-fix-file-move.patch14
-rw-r--r--dev-lang/gdl/files/0.9.6-fix-python-function-call.patch30
-rw-r--r--dev-lang/gdl/files/0.9.6-formats.patch111
-rw-r--r--dev-lang/gdl/files/0.9.6-fun-fix.patch56
-rw-r--r--dev-lang/gdl/files/0.9.6-gcc6.patch31
-rw-r--r--dev-lang/gdl/files/0.9.6-python-use-path-and-startup.patch20
10 files changed, 458 insertions, 0 deletions
diff --git a/dev-lang/gdl/files/0.9.2-include.patch b/dev-lang/gdl/files/0.9.2-include.patch
new file mode 100644
index 000000000000..49613da16e21
--- /dev/null
+++ b/dev-lang/gdl/files/0.9.2-include.patch
@@ -0,0 +1,10 @@
+--- gdl-0.9.2.orig/src/cformat.g 2010-07-25 17:59:19.000000000 +0100
++++ gdl-0.9.2/src/cformat.g 2012-06-21 16:34:12.000000000 +0100
+@@ -16,6 +16,7 @@
+ ***************************************************************************/
+
+ header "pre_include_cpp" {
++#include <cstdlib>
+ #include "includefirst.hpp"
+ }
+
diff --git a/dev-lang/gdl/files/0.9.5-antlr.patch b/dev-lang/gdl/files/0.9.5-antlr.patch
new file mode 100644
index 000000000000..f5b627ab444e
--- /dev/null
+++ b/dev-lang/gdl/files/0.9.5-antlr.patch
@@ -0,0 +1,91 @@
+ CMakeLists.txt | 14 +++++++++++---
+ CMakeModules/FindANTLR.cmake | 11 +++++++++++
+ src/CMakeLists.txt | 18 +++++++++++-------
+ 3 files changed, 33 insertions(+), 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 407e39a..c4b3278 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -111,6 +111,8 @@ set(SZIPDIR "" CACHE PATH "GDL: Specify the SZip directory tree")
+
+ set(GDL_DATA_DIR "/share/gnudatalanguage" CACHE PATH "GDL: data directory relative to CMAKE_INSTALL_PREFIX")
+
++set(BUNDLED_ANTLR OFF CACHE BOOL "Use bundled ANTLR grammar ?")
++set(ANTLRDIR "" CACHE PATH "Specify the system ANTLR directory tree")
+
+ # check for 64-bit OS
+ if(${CMAKE_SIZEOF_VOID_P} EQUAL 8)
+@@ -174,9 +176,15 @@ check_library_exists(m nexttoward "" HAVE_NEXTTOWARD)
+ # mpi
+ check_include_file(mpi.h HAVE_MPI_H)
+
+-# SA: whithout it compilation of antlr fails if there's a conflicting
+-# version of antlr in system-wide directories
+-include_directories(src)
++if(BUNDLED_ANTLR)
++ # SA: whithout it compilation of antlr fails if there's a conflicting
++ # version of antlr in system-wide directories
++ include_directories(src)
++else(BUNDLED_ANTLR)
++ find_package(ANTLR QUIET)
++ set(LIBRARIES ${LIBRARIES} ${ANTLR_LIBRARIES})
++ include_directories(${ANTLR_INCLUDE_DIR})
++endif(BUNDLED_ANTLR)
+
+ if(WIN32 AND NOT CYGWIN)
+ # For Win32 find Pdcureses instead of (N)Curses
+diff --git a/CMakeModules/FindANTLR.cmake b/CMakeModules/FindANTLR.cmake
+new file mode 100644
+index 0000000..b61cc5b
+--- /dev/null
++++ b/CMakeModules/FindANTLR.cmake
+@@ -0,0 +1,11 @@
++
++
++find_library(ANTLR_LIBRARIES NAMES antlr)
++find_path(ANTLR_INCLUDE_DIR NAMES antlr/ANTLRUtil.hpp)
++include(FindPackageHandleStandardArgs)
++find_package_handle_standard_args(ANTLR DEFAULT_MSG ANTLR_LIBRARIES ANTLR_INCLUDE_DIR)
++
++mark_as_advanced(
++ANTLR_LIBRARIES
++ANTLR_INCLUDE_DIR
++)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 1f7ffec..776a1fd 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -262,9 +262,8 @@ widget.cpp
+ widget.hpp
+ )
+
+-add_subdirectory(antlr)
+
+-include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/src/antlr ${CMAKE_BINARY_DIR})
++include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_SOURCE_DIR}/src ${CMAKE_BINARY_DIR})
+ link_directories(${LINK_DIRECTORIES})
+
+ if(PYTHON_MODULE) #libgdl
+@@ -275,11 +274,16 @@ else(PYTHON_MODULE) #gdl
+ add_executable(gdl ${SOURCES})
+ endif(PYTHON_MODULE)
+
+-add_dependencies(gdl antlr) # be sure that antlr is built before gdl
+-target_link_libraries(gdl antlr) # link antlr against gdl
+-if (MINGW)
+-target_link_libraries(gdl ws2_32)
+-endif (MINGW)
++if(BUNDLED_ANTLR)
++ add_subdirectory(antlr)
++ include_directories(${CMAKE_SOURCE_DIR}/src/antlr)
++ add_dependencies(gdl antlr) # be sure that antlr is built before gdl
++ target_link_libraries(gdl antlr) # link antlr against gdl
++ if (MINGW)
++ target_link_libraries(gdl ws2_32)
++ endif (MINGW)
++endif(BUNDLED_ANTLR)
++
+ target_link_libraries(gdl ${LIBRARIES})
+ add_definitions(-DHAVE_CONFIG_H)
+
diff --git a/dev-lang/gdl/files/0.9.5-png.patch b/dev-lang/gdl/files/0.9.5-png.patch
new file mode 100644
index 000000000000..1140fcc9ac75
--- /dev/null
+++ b/dev-lang/gdl/files/0.9.5-png.patch
@@ -0,0 +1,15 @@
+ CMakeLists.txt | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 407e39a..f24a087 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -270,7 +270,6 @@ if(PNGLIB)
+ set(USE_PNGLIB ${PNG_FOUND})
+ if(PNG_FOUND)
+ set(LIBRARIES ${LIBRARIES} ${PNG_LIBRARIES})
+- set(LINK_DIRECTORIES ${LINK_DIRECTORIES} ${PNG_LIBRARY_DIRS})
+ include_directories(${PNG_INCLUDE_DIRS})
+ else(PNG_FOUND)
+ message(FATAL_ERROR "libpng is required but was not found.\n"
diff --git a/dev-lang/gdl/files/0.9.6-disable-tests-hanging-under-xvfb-run.patch b/dev-lang/gdl/files/0.9.6-disable-tests-hanging-under-xvfb-run.patch
new file mode 100644
index 000000000000..6ce92aff0ab7
--- /dev/null
+++ b/dev-lang/gdl/files/0.9.6-disable-tests-hanging-under-xvfb-run.patch
@@ -0,0 +1,80 @@
+Description: Disable tests which work fine with local X but hang under xvfb-run
+Author: Axel Beckert <abe@debian.org>
+Last-Update: 2014-10-10
+
+--- a/testsuite/Makefile.am
++++ b/testsuite/Makefile.am
+@@ -18,7 +18,6 @@
+ test_bug_2876372.pro \
+ test_bug_2892631.pro \
+ test_bug_2949487.pro \
+- test_bug_2974380.pro \
+ test_bug_3033108.pro \
+ test_bug_3054361.pro \
+ test_bug_3055720.pro \
+@@ -43,7 +42,6 @@
+ test_bug_3152899.pro \
+ test_bug_3189072.pro \
+ test_bug_3199465.pro \
+- test_bug_3275334.pro \
+ test_bug_3285659.pro \
+ test_bug_3286031.pro \
+ test_bug_3288652.pro \
+@@ -74,16 +72,12 @@
+ test_ce.pro \
+ test_clip.pro \
+ test_common.pro \
+- test_congrid.pro \
+ test_constants.pro \
+ test_convert_coord.pro \
+ test_correlate.pro \
+ test_deriv.pro \
+- test_device.pro \
+ test_dicom.pro \
+ test_erfinv.pro \
+- test_execute.pro \
+- test_extra_keywords.pro \
+ test_fft.pro \
+ test_fft_dim.pro \
+ test_fft_leak.pro \
+@@ -122,7 +116,6 @@
+ test_memory.pro \
+ test_message.pro \
+ test_modulo.pro \
+- test_moment.pro \
+ test_mpfit.pro \
+ test_multiroots.pro \
+ test_nans_in_sort_and_median.pro \
+@@ -130,10 +123,8 @@
+ test_netcdf.pro \
+ test_null.pro \
+ test_obj_new.pro \
+- test_plot_oo.pro \
+ test_plotting_ranges.pro \
+ test_pmulti.pro \
+- test_pmulti_basic.pro \
+ test_postscript.pro \
+ test_product.pro \
+ test_ps_decomposed.pro \
+@@ -144,7 +135,6 @@
+ test_python_module_2.pro \
+ test_qromb.pro \
+ test_qromo.pro \
+- test_random.pro \
+ test_readf.pro \
+ test_reads.pro \
+ test_rebin.pro \
+@@ -167,13 +157,11 @@
+ test_suite.pro \
+ test_systime.pro \
+ test_trisol.pro \
+- test_tv.pro \
+ test_typename.pro \
+ test_url.pro \
+ test_voigt.pro \
+ test_wait.pro \
+ test_wavelet.pro \
+- test_window_background.pro \
+ test_where.pro \
+ test_zeropoly.pro \
+ test_zip.pro \
diff --git a/dev-lang/gdl/files/0.9.6-fix-file-move.patch b/dev-lang/gdl/files/0.9.6-fix-file-move.patch
new file mode 100644
index 000000000000..31d4f066f49c
--- /dev/null
+++ b/dev-lang/gdl/files/0.9.6-fix-file-move.patch
@@ -0,0 +1,14 @@
+Author: Ole Streicher <olebole@debian.org>
+Description: Remove trailing slash at the end of dir when moving files specified by wildcard
+Forwarded: https://sourceforge.net/p/gnudatalanguage/patches/97/
+--- a/src/pro/file_move.pro
++++ b/src/pro/file_move.pro
+@@ -31,7 +31,7 @@
+ res=FILE_SEARCH(dir, FILE_BASENAME(source[ii]), /fully)
+
+ for jj=0,N_ELEMENTS(res)-1 do begin
+- if(FILE_DIRNAME(res[jj], /MARK_DIRECTORY) eq dir) then flist=[flist, res[jj]] ;
++ if(FILE_DIRNAME(res[jj]) eq dir) then flist=[flist, res[jj]] ;
+ ;print, 'dir ', dir, ' res ', FILE_DIRNAME(res[jj])
+ endfor
+
diff --git a/dev-lang/gdl/files/0.9.6-fix-python-function-call.patch b/dev-lang/gdl/files/0.9.6-fix-python-function-call.patch
new file mode 100644
index 000000000000..fe90774e5c7b
--- /dev/null
+++ b/dev-lang/gdl/files/0.9.6-fix-python-function-call.patch
@@ -0,0 +1,30 @@
+Author: Ole Streicher <olebole@debian.org>
+Bug: https://sourceforge.net/p/gnudatalanguage/bugs/377
+Bug: https://sourceforge.net/p/gnudatalanguage/bugs/679
+Forwarded: https://sourceforge.net/p/gnudatalanguage/patches/91
+ https://sourceforge.net/p/gnudatalanguage/patches/92
+Description: Fix Python calling GDL functions
+ * user defined functions crash
+ * data arrays of 64 bit element size are not completely converted to Python
+--- a/src/pythongdl.cpp
++++ b/src/pythongdl.cpp
+@@ -329,7 +329,7 @@
+ }
+ }
+
+- sub = proList[ proIx];
++ sub = funList[ proIx];
+ }
+ }
+ else
+--- a/src/topython.cpp
++++ b/src/topython.cpp
+@@ -67,7 +67,7 @@
+ // TODO: free the memory: PyArray_Free(PyObject* op, void* ptr) ?
+ throw GDLException("Failed to convert array to python.");
+ }
+- memcpy(PyArray_DATA(ret), DataAddr(), this->N_Elements() * sizeof(Sp::t));
++ memcpy(PyArray_DATA(ret), DataAddr(), this->N_Elements() * Data_<Sp>::Sizeof());
+ return ret;
+ }
+
diff --git a/dev-lang/gdl/files/0.9.6-formats.patch b/dev-lang/gdl/files/0.9.6-formats.patch
new file mode 100644
index 000000000000..105fa9cb8eff
--- /dev/null
+++ b/dev-lang/gdl/files/0.9.6-formats.patch
@@ -0,0 +1,111 @@
+diff -up gdl-0.9.6/testsuite/test_formats.pro.formats gdl-0.9.6/testsuite/test_formats.pro
+--- gdl-0.9.6/testsuite/test_formats.pro.formats 2015-09-06 13:15:01.000000000 -0600
++++ gdl-0.9.6/testsuite/test_formats.pro 2016-01-12 14:26:18.811283030 -0700
+@@ -13,6 +13,10 @@
+ ; is OK for negative input, wrong for positive one !!
+ ; -- extra "\ ^J" added in GDL between the Re/Im parts for (D)Complex
+ ;
++; Changes:
++; 2016-01612 : AC various changes for better managing paths,
++; expecially for Cmake automatic tests !
++;
+ ; md5sum of current version of "formats.idl" (-1 et 12 ...)
+ ; 5d1cfbc31312a833f62033e297f986a2 formats.idl
+ ;
+@@ -53,7 +57,10 @@ end
+ pro GENERATE_FORMATS_FILE, nb_cases, verbose=verbose, test=test
+ ;
+ filename='formats.'+GDL_IDL_FL()
+-;
++if FILE_TEST(filename) then begin
++ FILE_MOVE, filename, filename+'_old', /overwrite
++ MESSAGE,/cont, 'Copy of old file <<'+filename+'_old'+'>> done.'
++endif
+ ; value to be write : one negative, one positive
+ ;
+ struct_neg = {BYTE:-1b,short:-1us,ushort:-1us, $
+@@ -104,17 +111,53 @@ soft=GDL_IDL_FL(/verbose)
+ ;
+ GENERATE_FORMATS_FILE, nb_cases, verbose=verbose
+ ;
+-if (soft NE 'idl') AND ~FILE_TEST("formats.idl") then MESSAGE, "missing reference file <<formats.idl>>"
++; locating then read back the reference idl.xdr:
++;
++; we need to add the current dir. into the path because new file(s)
++; are writtent in it. Do we have a simple way to check whether a dir
++; is already in !PATH ?
++;
++CD, current=current
++new_path=!path+PATH_SEP(/SEARCH_PATH)+current
++list_of_dirs=STRSPLIT(new_path, PATH_SEP(/SEARCH_PATH), /EXTRACT)
++;
++; only this reference file is mandatory !
++;
++filename='formats.idl'
++file_fmt_idl=FILE_SEARCH(list_of_dirs+PATH_SEP()+filename)
++;
++if (soft NE 'idl') AND (STRLEN(file_fmt_idl) EQ 0) then begin
++ MESSAGE, 'reference file <<'+filename+'>> not found in the !PATH', /continue
++ if KEYWORD_SET(no_exit) OR KEYWORD_SET(test) then STOP
++ EXIT, status=1
++endif
++if N_ELEMENTS(file_fmt_idl) GT 1 then print, 'multiple reference file <<'+filename+'>> found !'
++file_fmt_idl=file_fmt_idl[0]
++;
++filename='formats.gdl'
++file_fmt_gdl=FILE_SEARCH(list_of_dirs+PATH_SEP()+filename)
++if N_ELEMENTS(file_fmt_gdl) GT 1 then begin
++ print, 'multiple reference file <<'+filename+'>> found ! First used !!'
++ print, TRANSPOSE(file_fmt_gdl)
++ file_fmt_gdl=file_fmt_gdl[0]
++endif
++;
++filename='formats.fl'
++file_fmt_fl=FILE_SEARCH(list_of_dirs+PATH_SEP()+filename)
++if N_ELEMENTS(file_fmt_fl) GT 1 then begin
++ print, 'multiple reference file <<'+filename+'>> found !'
++ print, TRANSPOSE(file_fmt_fl)
++ file_fmt_fl=file_fmt_fl[0]
++endif
+ ;
+ if (soft EQ 'idl') then begin
+- if ~FILE_TEST("formats.gdl") then MESSAGE, /cont, "missing file <<formats.gdl>>"
+- if ~FILE_TEST("formats.fl") then MESSAGE, /cont, "missing file <<formats.fl>>"
+- if ~FILE_TEST("formats.gdl") AND ~FILE_TEST("formats.fl") then begin
+- MESSAGE, /cont, "No useful file found for comparison. Just Reference file written."
+- endif
+- if FILE_TEST("formats.gdl") then soft='gdl' else begin
+- if FILE_TEST("formats.fl") then soft='fl'
+- endelse
++ soft=''
++ if ~FILE_TEST(file_fmt_fl) then MESSAGE, /cont, "missing file <<formats.fl>>" else soft='fl'
++ if ~FILE_TEST(file_fmt_gdl) then MESSAGE, /cont, "missing file <<formats.gdl>>" else soft='gdl'
++ if (soft EQ '') then begin
++ MESSAGE, /cont, "No useful file found for comparison. Just Reference file written."
++ return
++ endif
+ endif
+ ;
+ ; reading back the 2 files : one created ("formats.gdl" or
+@@ -123,9 +166,10 @@ endif
+ print, "Files to be compared : formats.idl, formats."+soft
+ ;
+ GET_LUN, lun1
+-OPENR, lun1, "formats.idl"
++OPENR, lun1, file_fmt_idl
+ GET_LUN, lun2
+-OPENR, lun2, "formats."+soft
++if (soft EQ 'gdl') then OPENR, lun2, file_fmt_gdl
++if (soft EQ 'fl') then OPENR, lun2, file_fmt_fl
+ ;
+ ref=STRING("")
+ val=STRING("")
+@@ -155,7 +199,7 @@ CLOSE, lun1, lun2
+ FREE_LUN, lun1, lun2
+ ;
+ if (nb_errors GT 0) then begin
+- MESSAGE, /continue, 'Using a "diff formats.idl formats.gdl" in a shell'
++ MESSAGE, /continue, 'Using a "diff formats.idl formats.{gdl|fl}" in a shell'
+ MESSAGE, /continue, 'should help to debug !'
+ endif
+ ;
diff --git a/dev-lang/gdl/files/0.9.6-fun-fix.patch b/dev-lang/gdl/files/0.9.6-fun-fix.patch
new file mode 100644
index 000000000000..a3a4118ceb0a
--- /dev/null
+++ b/dev-lang/gdl/files/0.9.6-fun-fix.patch
@@ -0,0 +1,56 @@
+Author: Vitaliy Tomin <highwaystar@users.sf.net>
+Description: Fix direct calling of direct function calls from Python
+Bug: https://sourceforge.net/p/gnudatalanguage/bugs/678
+--- a/src/pythongdl.cpp
++++ b/src/pythongdl.cpp
+@@ -392,25 +392,31 @@
+
+ BaseGDL* retValGDL = NULL;
+ Guard<BaseGDL> retValGDL_guard;
+- if( functionCall)
+- {
+- if( libCall)
+- retValGDL = static_cast<DLibFun*>(static_cast<EnvT*>(e)->
+- GetPro())->Fun()( static_cast<EnvT*>(e));
+- else
+- retValGDL = interpreter->call_fun(static_cast<DSubUD*>
+- (static_cast<EnvUDT*>(e)
+- ->GetPro())->GetTree());
+- retValGDL_guard.Reset( retValGDL);
+- }
+- else
+- {
+- if( libCall)
+- static_cast<DLibPro*>(e->GetPro())->Pro()(static_cast<EnvT*>(e)); // throws
+- else
+- interpreter->call_pro(static_cast<DSubUD*>
+- (e->GetPro())->GetTree()); //throws
+- }
++
++ if (functionCall) {
++ DLibFun* sub_fun_chk = dynamic_cast<DLibFun *>(static_cast<EnvT *>(e)->GetPro());
++ if (sub_fun_chk) {
++ //handle direct call function first
++ if (sub_fun_chk->DirectCall()) {
++ BaseGDL* directCallParameter = e->GetParDefined(0);
++ retValGDL = static_cast<DLibFunDirect*>(sub_fun_chk)->FunDirect()(directCallParameter, true /*isReference*/);
++ }
++ } else if (libCall)
++ retValGDL = static_cast<DLibFun *>(static_cast<EnvT *>(e)->GetPro())
++ ->Fun()(static_cast<EnvT *>(e));
++ else
++ retValGDL = interpreter->call_fun(
++ static_cast<DSubUD *>(static_cast<EnvUDT *>(e)->GetPro())
++ ->GetTree());
++ retValGDL_guard.Reset(retValGDL);
++ } else {
++ if (libCall)
++ static_cast<DLibPro *>(e->GetPro())
++ ->Pro()(static_cast<EnvT *>(e)); // throws
++ else
++ interpreter->call_pro(
++ static_cast<DSubUD *>(e->GetPro())->GetTree()); // throws
++ }
+
+ // copy back args and keywords
+ success = CopyArgToPython( parRef, kwRef, *e, argTuple, kwDict);
diff --git a/dev-lang/gdl/files/0.9.6-gcc6.patch b/dev-lang/gdl/files/0.9.6-gcc6.patch
new file mode 100644
index 000000000000..e017255b0bef
--- /dev/null
+++ b/dev-lang/gdl/files/0.9.6-gcc6.patch
@@ -0,0 +1,31 @@
+diff -up gdl-0.9.6/src/specializations.hpp.gcc6 gdl-0.9.6/src/specializations.hpp
+--- gdl-0.9.6/src/specializations.hpp.gcc6 2015-08-24 15:26:47.000000000 -0600
++++ gdl-0.9.6/src/specializations.hpp 2016-03-03 16:30:46.694379312 -0700
+@@ -534,16 +534,6 @@ void Data_<SpDString>::MinMax( DLong* mi
+
+ // default_io.cpp
+ template<>
+-std::istream& operator>>(std::istream& i, Data_<SpDFloat>& data_);
+-template<>
+-std::istream& operator>>(std::istream& i, Data_<SpDDouble>& data_);
+-template<>
+-std::istream& operator>>(std::istream& i, Data_<SpDComplex>& data_);
+-template<>
+-std::istream& operator>>(std::istream& i, Data_<SpDComplexDbl>& data_);
+-template<>
+-std::istream& operator>>(std::istream& is, Data_<SpDString>& data_);
+-template<>
+ std::ostream& Data_<SpDLong>::ToStream(std::ostream& o, SizeT w, SizeT* actPosPtr);
+ template<>
+ std::ostream& Data_<SpDULong>::ToStream(std::ostream& o, SizeT w, SizeT* actPosPtr);
+--- gdl-0.9.6/src/typedefs.hpp.gcc6 2014/08/09 15:33:29 1.76
++++ gdl-0.9.6/src/typedefs.hpp 2016/02/04 22:48:46 1.77
+@@ -235,7 +235,7 @@
+
+ Guard& operator=( Guard& r)
+ {
+- if( &r == this) return;
++ if( &r == this) return *this;
+ delete guarded;
+ guarded = r.guarded;
+ r.guarded = NULL;
diff --git a/dev-lang/gdl/files/0.9.6-python-use-path-and-startup.patch b/dev-lang/gdl/files/0.9.6-python-use-path-and-startup.patch
new file mode 100644
index 000000000000..a76cd8cb6275
--- /dev/null
+++ b/dev-lang/gdl/files/0.9.6-python-use-path-and-startup.patch
@@ -0,0 +1,20 @@
+Author: Ole Streicher <olebole@debian.org>
+Description: Initialize GDL path if one is defined
+Forwarded: https://sourceforge.net/p/gnudatalanguage/patches/93/
+--- a/src/pythongdl.cpp
++++ b/src/pythongdl.cpp
+@@ -537,6 +537,14 @@
+ // instantiate the interpreter (creates $MAIN$ environment)
+ interpreter = new DInterpreter();
+
++ string gdlPath=GetEnvString("GDL_PATH");
++ if( gdlPath == "") gdlPath=GetEnvString("IDL_PATH");
++ if( gdlPath == "")
++ {
++ gdlPath = "+" GDLDATADIR "/lib";
++ }
++ SysVar::SetGDLPath( gdlPath);
++
+ PyObject* m = Py_InitModule("GDL", GDLMethods);
+
+ gdlError = PyErr_NewException((char*)"GDL.error", NULL, NULL);