diff options
Diffstat (limited to 'dev-lang/gdl')
-rw-r--r-- | dev-lang/gdl/Manifest | 15 | ||||
-rw-r--r-- | dev-lang/gdl/files/0.9.2-include.patch | 10 | ||||
-rw-r--r-- | dev-lang/gdl/files/0.9.5-antlr.patch | 91 | ||||
-rw-r--r-- | dev-lang/gdl/files/0.9.5-png.patch | 15 | ||||
-rw-r--r-- | dev-lang/gdl/files/0.9.6-disable-tests-hanging-under-xvfb-run.patch | 80 | ||||
-rw-r--r-- | dev-lang/gdl/files/0.9.6-fix-file-move.patch | 14 | ||||
-rw-r--r-- | dev-lang/gdl/files/0.9.6-fix-python-function-call.patch | 30 | ||||
-rw-r--r-- | dev-lang/gdl/files/0.9.6-formats.patch | 111 | ||||
-rw-r--r-- | dev-lang/gdl/files/0.9.6-fun-fix.patch | 56 | ||||
-rw-r--r-- | dev-lang/gdl/files/0.9.6-gcc6.patch | 31 | ||||
-rw-r--r-- | dev-lang/gdl/files/0.9.6-python-use-path-and-startup.patch | 20 | ||||
-rw-r--r-- | dev-lang/gdl/gdl-0.9.6-r2.ebuild | 159 | ||||
-rw-r--r-- | dev-lang/gdl/metadata.xml | 24 |
13 files changed, 656 insertions, 0 deletions
diff --git a/dev-lang/gdl/Manifest b/dev-lang/gdl/Manifest new file mode 100644 index 000000000000..ac503ea9b222 --- /dev/null +++ b/dev-lang/gdl/Manifest @@ -0,0 +1,15 @@ +AUX 0.9.2-include.patch 314 SHA256 6f9c9aaac6f9ee526c1cdd5eb107bfa28eecefa9f4a7f947e5f80cf6bb7591c7 SHA512 3dc426de776f004b9c9840f37af0002907036b6f9d370535c51a2ed6916156d34d640214bec2dba58c9553917c16b996b61194bf15bb3e1c6f2b6f81edb13a4c WHIRLPOOL f56a8f64ca50578f12b66b40687b074a37731c5e08422a4d30e9b96ae4e4cd3ee07e2672fb06ad14b1a37a197b915a9e09992ad56b20cb3b16e673160e042124 +AUX 0.9.5-antlr.patch 3059 SHA256 ab44e0e5274c6e38fa1d37141b2c3426373ff97d3897e4e6f2cd0a191f0affe0 SHA512 2d8d47162fc0179319b728041421a72c965657023e396285de5ec2849b667e21117a587c771b88eb84c54f983747cb1635b7bfb0955762af1912efa88128593c WHIRLPOOL c0d183397164e37e038b97d7cd8f0a5096d120b2e5c0839afeac720d1e0516ea4a159f12cecf01ecd94a753c162aed5d590ef061341e121e1ec2e1ffdb46efcc +AUX 0.9.5-png.patch 489 SHA256 4c582ca1bcb7ec85d71d6f43f1c56f3d3635ef404f1ccab3e745a6cc7c77054d SHA512 6a7b09286fb62ad18b57434804260a6155c1f4739d72a9ed440c6efe1d682b126a297885d092fbf0cb1e2809a663cb9c7755507c807613199b317f981df7cfc1 WHIRLPOOL c47297b93144f16d7a5c11af1752d3634e2188a4043e1576c74154e6c38962c2169f574a5f16d2d2851ce479db4e591161ee77e8e0ea55c90853c2d216f46258 +AUX 0.9.6-disable-tests-hanging-under-xvfb-run.patch 1884 SHA256 7e1a46e0656b2d2701affd1d294af7333596e81d46b4f9b3ad1dcc1c2e913747 SHA512 00e97be57c6e278814d9bab8f41c294475f5bae3dad682d288814cec153b27adf1f45257851620dfdb450a184f39b621d5d8fa0c407c612e06c8639454c8f5f7 WHIRLPOOL 917e833b735c80886b1b0e0711be7de2729cd4fe07bb81a1cbe8abaeb667fac4a18b18bbae8ca26bf9382f4eae85a469764c71a5635d5b3d7ec3953ee9399ae9 +AUX 0.9.6-fix-file-move.patch 639 SHA256 278ce36bb65029a02ab3d30792c86c6f16b515414e97282f9fae75c94f143b4d SHA512 761266807892aca4d9e8031ddf75b8066d364efc63c624151f6929ac74ee0d43dd4e7e189ba754bbb6d2b134f390f67fc919b33f0402ef8a221801ff678fb78a WHIRLPOOL e076bab4a68672196c8790c147b94d7de8d6087135b8e7712be718d71f5ac79ca67ebe90ef7de0708231af7a2f38d0776c7008dacda5bed1e1d9d2b4916f68b1 +AUX 0.9.6-fix-python-function-call.patch 987 SHA256 92a3bd3c9d87a86ed28bfce1dd74ac62680292d8f32d45e48d8867d8de23cb93 SHA512 f75c8bee4dbbbdff6fbfe5fa5d41cdfda2acbfd4806e3233fb4d6b499680ea9e9653461a1f6686bf44738fa26fe49d22e14e6bf0e857fd9713655e9763103680 WHIRLPOOL c672de3cdd8a3de08a42bed4c8159f67e3dfa2d632adaa6800487f8c1fd83349e36b306d2536545cc0d6639a5e38dee959c6fd64400feaecaae35e6e6e9f07c7 +AUX 0.9.6-formats.patch 4241 SHA256 690ea48759f694ad2e9483be2f0526cfc3ffb80ab5b6e6923c63f608b70f8781 SHA512 7f947b0a13d7a1f56df311ced9673cf9b85a77f351164a4162d386a35a5022ae4f914216a2d801b0a8a7e52341318d498e480cba1f9959b08500753150a6da07 WHIRLPOOL 8f85c9fda7d58aa509273b962cf24a99ee442af81de62c03d182a66e07934ccf62afb09366ed5b699d730825740d4d912fa91a25f775e01eeef663da5beb658e +AUX 0.9.6-fun-fix.patch 2064 SHA256 91014df47132eeada8df941e7514722f875b0bf2280a1909bcaf88184b08f73e SHA512 e3bafb4803541442c39f35370cedf3e2a2dd4502f2011c72ff92eb9f1f846362e560da69ac60914c71fc0c759e186368cae644b6eff9baa78c057cee70d08bd9 WHIRLPOOL c8553c2fee7c38b158fd8e0348cd96e35c518d00d71d586f770f793d6c3afd877f203b8686d522c0ca6ae99351ff2cc9c95faca645f8918397bbf48fb780b36a +AUX 0.9.6-gcc6.patch 1255 SHA256 39745105c5de809da23fb78c28f0b78b07f9c784f44c70e61cd6df8482d85dfb SHA512 870231a918cd2d114ac31973bbd2c53733c3e64811c48eadf88c78f82a353aecf4d604e28dfa3a532efb3b0480e5d7209e8fad1fef793212027e89f53608c619 WHIRLPOOL f98df0c21daa99b1aeb592918a77bf7de2cc6212f5d0dffce842d924c9f15d1d2d268c850f439fdd10991cee5d50ac37b11558bebdd41d2d9f17331b137ccafa +AUX 0.9.6-python-use-path-and-startup.patch 682 SHA256 dc0b9d3173b76608c8f2b28757dddb5ca63831390538e569ae57f2e71e9881fd SHA512 f6e20eadb6acfd3805d5f41bba8d90e9dba5230211577e0b47217638b97745dd921c657dad7adf935abeeb9316989554858976d915f14b79dc2082eb132f9418 WHIRLPOOL 00287abe47c9913398d4d8b5e7ddbcc2bdeac1f030ac22f26d3ce4336f08df78d4b99a6977ec700e4de636513fa18ec1a68e5a2f1f26ffb00c9b4c9f9f5331d9 +DIST gdl-0.9.6v2.tgz 1777167 SHA256 cfb005ee1d9c843b26cc474618225ce68a1f0bfaeddcd45bf63a0a8fb62eedb4 SHA512 a816ee2e3822af380a1131a6138263c33560db7286cd699b864da305a1103d5afc881a1cd3574d2e243bfb7e65e759e46322c5e55c66ec15620d9c514565c2c5 WHIRLPOOL 1437816b807b8414b423c777ad0a3af4088a885548526741a5cf31f2ad802087efc52d1db6555d3a09c9e94baec526443e55182b6a1088f58d2843d8ffb47df6 +EBUILD gdl-0.9.6-r2.ebuild 4144 SHA256 86c28c053e9bb59ef661f018fe4e525685538266f61f7e23c25e8cf2a56ddaac SHA512 11936edb8d2c9e3ad3ae4ac558297e377acab2616d0af61ebf1d862034aa7ad0f1c776cc295bd61e5df7f1a0339bf70a5daeb1a19b6996407b609b6b7d994b44 WHIRLPOOL 51d7f111fcce7a01b062ec3b91d5f5658cbd4ccafe69d3d29f7e89321c96af9eb7543cca85a5079c59615d080b04a0c120e04b77ede574405c645922b76ba928 +MISC ChangeLog 5294 SHA256 f2157f1753af2d7c87411ed2e3d51db46510656ac7256a9521b998f378b9270c SHA512 d99bde1c5fa2130a7aa1e0160826c8bd506fa3551aca4faad19c7cb699f14a33a117c8771c24306f640c7b74410832f23d5c91a8ea008625be2501b02f2043ea WHIRLPOOL 4ec39738bf23dbdf6d056ba6245e551daf4625556a26e40f90d7b3c14e1e61f621874ff4ef0e447f00a6a905d3c1274736daec4f1dd5cf5870fe45dc66ee15e7 +MISC ChangeLog-2015 10904 SHA256 0d69fc1c9e1bfccf5dd4404814cb0da35f3d1943e8b7fafb130376f4f55bf685 SHA512 60eaf82492a0e89b560271af0f6a7d7999fad9a96c0d8a2bd939219e3ae59ea1328abd44f0b8163964df37954a8907f854da70344d160a65f15032d2ffe95671 WHIRLPOOL f2c08f87d925f6661f5dedf75172b9c0a2bfd2623f8bb607de62ab085bff47e8386fd8e3f3f5e8d0072a1bb7c5f1448edf9a9c9c0f5dca772c08599f8a25804c +MISC metadata.xml 1136 SHA256 552f6f864bf099b6c836a25deed05ee38aabd4869f0d9a0e868fd93b597d0009 SHA512 6fa45b8c596eef33f08e5c706a78364e59c32fc0cf6237d2ae870fbf696099708f9af708b00a9b0b08cbe211879a0e5fca84b7b9a7385e66e1f39277a0d2f7af WHIRLPOOL 4e380fb4b6778002e8623a597f85e06182c7f4d4d5098007e60bcc2ac356dff2051542b74cecc0dc1f45cd2fb14bfbe522d2905b2e72d9451ee0d628130baf9e 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); diff --git a/dev-lang/gdl/gdl-0.9.6-r2.ebuild b/dev-lang/gdl/gdl-0.9.6-r2.ebuild new file mode 100644 index 000000000000..04689db30c0d --- /dev/null +++ b/dev-lang/gdl/gdl-0.9.6-r2.ebuild @@ -0,0 +1,159 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +WX_GTK_VER="3.0" +PYTHON_COMPAT=( python2_7 ) + +inherit cmake-utils eutils python-r1 wxwidgets toolchain-funcs virtualx + +DESCRIPTION="GNU Data Language" +HOMEPAGE="http://gnudatalanguage.sourceforge.net/" +SRC_URI="mirror://sourceforge/gnudatalanguage/${P}v2.tgz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux" +IUSE="+eigen fftw graphicsmagick grib gshhs hdf hdf5 +imagemagick netcdf openmp + png proj postscript python static-libs udunits wxwidgets" + +RDEPEND=" + dev-cpp/antlr-cpp:2= + sci-libs/gsl:0= + sci-libs/plplot:0=[-dynamic] + sys-libs/ncurses:0= + sys-libs/readline:0= + sys-libs/zlib:0= + x11-libs/libX11:0= + fftw? ( sci-libs/fftw:3.0= ) + grib? ( sci-libs/grib_api:0= ) + gshhs? ( sci-geosciences/gshhs-data sci-geosciences/gshhs:0= ) + hdf? ( sci-libs/hdf:0= ) + hdf5? ( sci-libs/hdf5:0= ) + imagemagick? ( + !graphicsmagick? ( media-gfx/imagemagick:=[cxx] ) + graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] ) + ) + netcdf? ( sci-libs/netcdf ) + proj? ( sci-libs/proj ) + postscript? ( dev-libs/pslib ) + python? ( + ${PYTHON_DEPS} + dev-python/numpy[${PYTHON_USEDEP}] + ) + udunits? ( sci-libs/udunits ) + wxwidgets? ( x11-libs/wxGTK:${WX_GTK_VER}[X] )" +DEPEND="${RDEPEND} + dev-java/antlr:0[java(+),script(+)] + virtual/pkgconfig + eigen? ( dev-cpp/eigen:3 )" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +PATCHES=( + "${FILESDIR}"/0.9.2-include.patch + "${FILESDIR}"/0.9.5-antlr.patch + "${FILESDIR}"/0.9.5-png.patch + "${FILESDIR}"/0.9.6-fix-file-move.patch + "${FILESDIR}"/0.9.6-fix-python-function-call.patch + "${FILESDIR}"/0.9.6-fun-fix.patch + "${FILESDIR}"/0.9.6-python-use-path-and-startup.patch + "${FILESDIR}"/0.9.6-disable-tests-hanging-under-xvfb-run.patch + "${FILESDIR}"/0.9.6-gcc6.patch + "${FILESDIR}"/0.9.6-formats.patch +) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +src_prepare() { + use wxwidgets && need-wxwidgets unicode + use hdf5 && has_version sci-libs/hdf5[mpi] && export CXX=mpicxx + + # make sure antlr includes are from system and rebuild the sources with it + # https://sourceforge.net/tracker/?func=detail&atid=618685&aid=3465878&group_id=97659 + rm -r src/antlr || die + einfo "Regenerating grammar" + pushd src >/dev/null || die + local i + for i in *.g; do + antlr ${i} || die + done + popd >/dev/null || die + + # gentoo: avoid install files in datadir directory + # and manually install them in src_install + sed -e '/AUTHORS/d' -i CMakeLists.txt || die + cmake-utils_src_prepare +} + +src_configure() { + # MPI is still very buggy + # x11=off does not compile + local mycmakeargs=( + -DMPICH=OFF + -DBUNDLED_ANTLR=OFF + -DX11=ON + -DEIGEN3="$(usex eigen)" + -DFFTW="$(usex fftw)" + -DGRIB="$(usex grib)" + -DGSHHS="$(usex gshhs)" + -DHDF="$(usex hdf)" + -DHDF5="$(usex hdf5)" + -DLIBPROJ4="$(usex proj)" + -DNETCDF="$(usex netcdf)" + -DOPENMP="$(usex openmp)" + -DPNGLIB="$(usex png)" + -DPSLIB="$(usex postscript)" + -DUDUNITS="$(usex udunits)" + -DWXWIDGETS="$(usex wxwidgets)" + ) + + if use imagemagick; then + if use graphicsmagick; then + mycmakeargs+=( -DGRAPHICSMAGICK=ON -DMAGICK=OFF ) + else + mycmakeargs+=( -DGRAPHICSMAGICK=OFF -DMAGICK=ON ) + fi + else + mycmakeargs+=( -DGRAPHICSMAGICK=OFF -DMAGICK=OFF ) + fi + + configuration() { + mycmakeargs+=( $@ ) + cmake-utils_src_configure + } + configuration -DPYTHON_MODULE=OFF -DPYTHON=OFF + use python && python_foreach_impl configuration -DPYTHON_MODULE=ON -DPYTHON=ON +} + +src_compile() { + cmake-utils_src_compile + use python && python_foreach_impl cmake-utils_src_make +} + +src_test() { + # there is check target instead of the ctest to define some LDPATH + virtx emake -C "${BUILD_DIR}" check +} + +src_install() { + cmake-utils_src_install + if use python; then + installation() { + mv src/libgdl.so GDL.so || die + python_domodule GDL.so + } + python_foreach_impl run_in_build_dir installation + dodoc PYTHON.txt + fi + #dodoc AUTHORS README + echo "GDL_PATH=\"+${EPREFIX}/usr/share/gnudatalanguage\"" > 50gdl || die + doenvd 50gdl +} diff --git a/dev-lang/gdl/metadata.xml b/dev-lang/gdl/metadata.xml new file mode 100644 index 000000000000..7831d55c1928 --- /dev/null +++ b/dev-lang/gdl/metadata.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="project"> + <email>sci@gentoo.org</email> + <name>Gentoo Science Project</name> + </maintainer> + <longdescription lang="en"> + A free IDL (Interactive Data Language) compatible incremental compiler + (ie. runs IDL programs). IDL is a registered trademark of ITT Visual + Information Solutions. +</longdescription> + <use> + <flag name="eigen">Build matrix manipulation with <pkg>dev-cpp/eigen</pkg></flag> + <flag name="hdf">Add support for the Hierarchical Data Format v.4</flag> + <flag name="gshhs">Add support for projection adn continent maps with <pkg>sci-geosciences/gshhs-data</pkg></flag> + <flag name="grib">Add support for the meteorological GRIB format with <pkg>sci-libs/grib_api</pkg></flag> + <flag name="proj">Add support for <pkg>sci-libs/proj</pkg> (geographic projections)</flag> + <flag name="udunits">Add support for manipulating units of physical quantities</flag> + </use> + <upstream> + <remote-id type="sourceforge">gnudatalanguage</remote-id> + </upstream> +</pkgmetadata> |