diff options
author | 2023-05-18 11:33:15 +0200 | |
---|---|---|
committer | 2023-05-18 11:33:15 +0200 | |
commit | 46fcf164c587d6fb0fb7f8e6a8c6d4246899997d (patch) | |
tree | 82a2831e53c0b026fe29f563b91474aabceae114 | |
parent | sys-apps/man-pages-linux-kernel-api: BLAKE2B for Manifest - v4.5.2. (diff) | |
download | AstroFloyd-46fcf164c587d6fb0fb7f8e6a8c6d4246899997d.tar.gz AstroFloyd-46fcf164c587d6fb0fb7f8e6a8c6d4246899997d.tar.bz2 AstroFloyd-46fcf164c587d6fb0fb7f8e6a8c6d4246899997d.zip |
sci-libs/plplot: revision bump to v5.15.0-r2.
Signed-off-by: AstroFloyd <AstroFloyd@gmail.com>
-rw-r--r-- | sci-libs/plplot/Manifest | 15 | ||||
-rw-r--r-- | sci-libs/plplot/files/plplot-5.12.0-safe-string.patch | 20 | ||||
-rw-r--r-- | sci-libs/plplot/files/plplot-5.15.0-QPainterPath-include.patch | 10 | ||||
-rw-r--r-- | sci-libs/plplot/files/plplot-5.15.0-configure-clang16.patch | 18 | ||||
-rw-r--r-- | sci-libs/plplot/files/plplot-5.15.0-ieee.patch | 19 | ||||
-rw-r--r-- | sci-libs/plplot/files/plplot-5.15.0-multiarch.patch | 56 | ||||
-rw-r--r-- | sci-libs/plplot/files/plplot-5.15.0-ocaml-rpath.patch | 166 | ||||
-rw-r--r-- | sci-libs/plplot/files/plplot-5.15.0-ocaml.patch | 43 | ||||
-rw-r--r-- | sci-libs/plplot/plplot-5.14.0-r2.ebuild (renamed from sci-libs/plplot/plplot-5.14.0-r1.ebuild) | 0 | ||||
-rw-r--r-- | sci-libs/plplot/plplot-5.15.0-r2.ebuild (renamed from sci-libs/plplot/plplot-5.15.0-r1.ebuild) | 0 |
10 files changed, 342 insertions, 5 deletions
diff --git a/sci-libs/plplot/Manifest b/sci-libs/plplot/Manifest index 10180ae..39dfcc8 100644 --- a/sci-libs/plplot/Manifest +++ b/sci-libs/plplot/Manifest @@ -8,15 +8,20 @@ AUX plplot-5.11.0-octave.patch 669 BLAKE2B 43361aa8c31f6b743b1a6d20b27701655ab4d AUX plplot-5.12.0-java-install-path.patch 393 BLAKE2B bd6860e694b5132a349699e25b79951308001b04b49d4ac1f070cd2ce51dc1e6ea76a7721e925c123669beb981ba756c3ae4e29bc0dee6f85f4e44fb61ac5f91 SHA512 0e87a67fd6821be07a56b68d8f9c23e4c25efea4fc9b56a2cec06d804202946917abd58271c71674d6b3b3ecda688be44920649095da3b125fe3a119fd22f1dd AUX plplot-5.12.0-multiarch.patch 1309 BLAKE2B 8bce8e12a82b361989e5b8a7c11c25a642fc2d62af37b74764db675ed6d91bc4b011318633b42a942abd0b59db70658f1cb28bf4873722095a998d5e63a00d51 SHA512 4fe0992ccc8f7f9dcab956c1ec06a647e4a7bab67c0f2a78c4e004491a5d8685240dadfd2c248e4fd6a58747a5da67ab8c8dc35c1a0de5a85431da431a00607f AUX plplot-5.12.0-ocaml-remove-rpath.patch 2012 BLAKE2B 47bbcc2c7e49b50f045c786ae3d5a799b45ab734e24e815168d9a6364fe09fc63869b57dd0a12b5c70ef5b69444ad6dba31bcc123faada6df9ac0af8cb0984d5 SHA512 6c40de6ab578ab8c347f12335b8a91976e5e4d8eee039512048039507c5e2b4a75b5bbfdde5ae347d2ccb167679b6574460d3f737ad37ee8902c7bcdc96af05d +AUX plplot-5.12.0-safe-string.patch 791 BLAKE2B 8a3b37dd236d3086fe0780dd0e10d670884f706b4e6164980d8197de1a3f49fc0ef2ee15cd9f499c50b14a454bf62a6d6aee1512522ab5a3fe16c8fb93fc042f SHA512 c531a57ef2203c01f5d44f0bd1edc5101c740986987e454019fe42f4905dbd9b5f13ad93e91e3c73c95c320e9128ac4696021e258dc523fc9f5559348eda9129 +AUX plplot-5.15.0-QPainterPath-include.patch 190 BLAKE2B 097e21f0a5a8c5d941f95f089529762d080fb18880f607b00e8c0a33ebb37ef2efa1be025274a2d7ad1cca5590f060560c7679424cb5f2c572de919f9a168ea8 SHA512 52d656294fe75ebf28102575e191a4e43f0cba0b1d39826bb3eabd3044d83c00dd1a774d3df3de4eea6fba7af8138842352f76218cb9fdceb444be487c9f14f6 +AUX plplot-5.15.0-configure-clang16.patch 512 BLAKE2B 44dc699eaec802f143c0659736b9f87d7430b3a13f672549c6b55da62c4b3eb117efdc6132386589bcb2c889a4c3544ec92479db5aff764e61284b327047f4d4 SHA512 5fdec8150d3ee50ab086b0c49ef0ae754fe0c2129444b1bc435b7f3b64c04195b83bceb3ae8cedc92d1231c50f1322cd035a6f5c516e5386b0dd486808b5bf3a +AUX plplot-5.15.0-ieee.patch 1243 BLAKE2B 291274ae674f3471fdf081619c2b8e14caec490b391413e52bc8b424f596757297b48b9af09647196adc3069f81750652d05d8da5582092ad13e92d56af05c01 SHA512 e242ff53ac490f17b898cf8184446a342bd9ca36f6245f4142cefe275aa2f5865e13428cdbc8663e80a56d7f0c438492b3529dd7c3dd0400d380d99928c58318 +AUX plplot-5.15.0-multiarch.patch 2544 BLAKE2B 288fc0f26f1f30cdbb786642ca5a59d8ba29958ffa690f87622748d4fa47ba098bce6671988e55f59526113dba08370ef15b0bc516552a9dee6918f430444dd5 SHA512 f98ea4f09cfaff7b1b2ad78940a10c5368ad29f402daca34a9a1ee2eeb3b275137576db884f1304ddc4c48ca83c032b9b2b10132a850839fba9c176bb27255a7 +AUX plplot-5.15.0-ocaml-rpath.patch 9583 BLAKE2B b475580f9e4da0ab660dc2d0dfbdbbfbd277787a12421cf24c31453952257111c06e790a7f728f9b97ef16a8c4ea5a5e856e852f54cd81445a1f5b2aadb9df9d SHA512 5262e9922829ee3ec223b60b794de728e15104ba176f1a1e2fe4ba14929b08943cc5f00d166441c0e8ed5dfb09902044e3c62d944efdcf4bc3be604a56cb424a +AUX plplot-5.15.0-ocaml.patch 3424 BLAKE2B ba1c9f758c319a76b0a457a287ee6934ee39300401e2d9a364c70446e12af679ce55c22eda0bf7aa7cb621fd4c76f56268afa649ba935a716495049f41706187 SHA512 1387625d1e784fb92ab3279a342c08d8f85fc055e0c69ce1af9656492102072c7a1d5a6498f8758dc3fd35e0543e80b65cd315641886f9baff60f7740583a0e3 AUX plplot-5.9.11-multiarch.patch 2150 BLAKE2B 330d282ba175c8b997b813e94b3af1d5a536a65b4be52fa886e15b43cae0c63aabb4f4147776a4bec79b927aee9da17ae03df850039f53154a2ce511f3b99b43 SHA512 c638a5bdba7d29d76fdf5c96415d56718dea162c1a03bf4f0180c12d8d8bf26603f628de4ec130403234a5a8e349630bed6d17e53a13fa6faf921da402869da9 AUX plplot-5.9.11-ocaml.patch 2829 BLAKE2B fa543653242d953874b7fb85b99182c1f44320a417a8f311d74dd54ede641b873e21b82c0708ac2eb07b6dd151c499f80748f0b606af83fa71548e248f168631 SHA512 26d739d0cc3f3b8227de9fdfbb6a7cbfdca6daff6515b1b91571316abc2d057eac953951ad9bb7b0fd2b28d8e220836c5da652e19170ed8401a9b3946b39c34a AUX plplot-5.9.11-octave.patch 633 BLAKE2B a6e7ef529be8f8b2e34ee0aedcc101e3c3b7db2a3cfe9d1d7bfbd1f521d3be1110cbe67d5b2714d131d80410d4734e71f1fdd77db2c0a73c9e9c8b13fd1ddd14 SHA512 c3832d531425cea20aa436cb757ed7bfd30bdc44a4d5cc11cf9a5e5fc7109897cc10748ce780de53232b63cd67d00c1cd2d9f62ef6d378d0f814182d1beb10e2 AUX plplot-5.9.6-python.patch 379 BLAKE2B cf08250c851c3405517183e8f3425f42ede2f850cc8bcd89828e3e1b89035731a8a3face0988750e9f9e5dce2fa0404b23b2721c5b315ff61aeac552fd6e05f2 SHA512 cb2022bda3d5408ef0b2dc280981ad8bdb2f7ecb20d827f7e71ce063fba60963e68aeaa5efd8eef87da8e3dc270b609f7cb342c1da175cd757c9f135173842e4 -DIST plplot-5.13.0.tar.gz 16269842 BLAKE2B c0aaf2726bddd76f4596b5351b8c15ff35084d9f2c426f2b1f716a634223657aa840798b7b45071deba48a9e4c643fc24450877e658d4b7fed5d619c628987bf SHA512 1d5cb5da17d4bde6d675585bff1f8dcb581719249a0b2687867e767703f8dab0870e7ea44b9549a497f4ac0141a3cabf6761c49520c0e2b26ffe581468512cbb DIST plplot-5.14.0.tar.gz 15413089 BLAKE2B f44d1563edb3eaf051ed54ba609e11e2d6fb9caccc6832377120546840a7a5751f19fd08aef7c3faa4718873713a0ad2efa7fc23281946f9a0bd04cc73e95b76 SHA512 08baada17c2a0166b6fe134bb15d4896aa8a4f3d1b51b7e22fd774df16ea7f2972b1fb93eaeb6f401372a38576ef4490ad45656b3dffabed6f3ef0e7719919e9 DIST plplot-5.15.0.tar.gz 15380293 BLAKE2B 41f359c4e86c7a26fe53a9d82a9f02aeb97b5b6f44abca590621640c56e50a62823e8a03165a939689f5456cee419b8292ea34faccd07641bd4a953b6f1d73fe SHA512 54533245569b724a7ef90392cc6e9ae65873e6cbab923df0f841c8b43def5e4307690894c7681802209bd3c8df97f54285310a706428f79b3340cce3207087c8 -EBUILD plplot-5.13.0-r1.ebuild 7287 BLAKE2B 2b206db83935932e1597cd80b11a730523483873d7e553e800832572f35e474016be390663905798c7a3d419e04dec80c1a32fe8080c741ad1eb878144f8156a SHA512 52a8a272924f795b5201df7e733fde3b2b2cf1accd98e3d2745d313cb0f5fe6593ac734a836c03db003f5b4bc44de21a14c7b87ac9827df8c6909fc38ec383f5 -EBUILD plplot-5.14.0-r1.ebuild 7319 BLAKE2B 738bb2326ee5072a37461039d0d64bcb556f6345fa103cd46bc833c478ff2c97896123fcb811a2924c8d96f9168f51ef2542cb52424fa60613776df0487569d4 SHA512 66ec304cfee909c8cccc992d60e9fea2e80d82d7e722170e2c0b0a0c796c0619d405c98b73c2971566438b81bb344507d240d94be095e7f8c13a9d694033fc28 -EBUILD plplot-5.15.0-r1.ebuild 7319 BLAKE2B 738bb2326ee5072a37461039d0d64bcb556f6345fa103cd46bc833c478ff2c97896123fcb811a2924c8d96f9168f51ef2542cb52424fa60613776df0487569d4 SHA512 66ec304cfee909c8cccc992d60e9fea2e80d82d7e722170e2c0b0a0c796c0619d405c98b73c2971566438b81bb344507d240d94be095e7f8c13a9d694033fc28 +EBUILD plplot-5.14.0-r2.ebuild 7445 BLAKE2B 1a4bef69dd7fe222f04ea187d6e6f4db75ba31c717b54a39bd721c646fdc2d26a9a45a9e370845a8fe0920632edb3594f9d4ee61c5c9f87589398c1147b59a29 SHA512 ce36c4f760fd65495c31ac4f3d116186047b55d5731e810007f41734c43de2b4854716841ea86d60728a2fa5d4a916187384510f0c8f7562a604021e900f6ac9 +EBUILD plplot-5.15.0-r2.ebuild 7535 BLAKE2B fc1082fec56a7c2d5e29f4179fe181a4634e560a792d2eeb42cbcfca8831e53d2ce6e811ff6b3e5e43a61406be5736673d79fa9cb7a6b10f5b0f40662d53ad08 SHA512 183c2e63f945596f8e31e0af792ea03ec444d0b529a5f78ca5c8a9874c33b1413364508abe7041c40d3627df32403affbab9885d306957259e5c6d0dfaa6b948 MISC ChangeLog 13594 BLAKE2B 13c6123b8b78f07e705878e7dfefdcf230a6cc41e139bed7ed4ae0fb77a01d0f1965c9281768ab0054612a58a8375e5fc07eb54368120519f85e4a67830044ed SHA512 fa5a78b9d0b77de655affdeb8af694cfc16d98682fdbca90e2e534094c6814a9638fdad9877715f121436010836bfaea0c88e3085d79507dbd41796a105faa8c -MISC metadata.xml 1416 BLAKE2B 3cbcf64f1ca0f8e0594be5c83049d07f857d87f369dcbc33bfb1cc59b54a14cafa80cc06017ca0a928cb7d4c244e748af2cb5efbaa115433f51b8b5504ca42d3 SHA512 8212ad9655b471b34c7cfb33ae652fd1c224140b3c0901aad2317a006a266cee4a5bf46934f3c145099818b19483004750f1dee1597c759c13c8bd73783ca5d3 +MISC metadata.xml 1369 BLAKE2B 29277133bcb927eeba9ab70131612ee39ddb8ae1cdec6858bab9d943f40b040ce8b4baeb46d7a1e0427e88229718644c4ebfceda484dd2140bc2648aeeb00499 SHA512 d3b9857b1eaec3b251da1e302e080b800f0f5e928a43a1fcb2168cdf5b66d30c15c1458ad41d98f8a41ae26a3e83ae49d2bbdd4d5423dc41319a1b3a8ed57440 diff --git a/sci-libs/plplot/files/plplot-5.12.0-safe-string.patch b/sci-libs/plplot/files/plplot-5.12.0-safe-string.patch new file mode 100644 index 0000000..5a36051 --- /dev/null +++ b/sci-libs/plplot/files/plplot-5.12.0-safe-string.patch @@ -0,0 +1,20 @@ +--- plplot-5.12.0.old/examples/ocaml/x20.ml 2017-01-29 01:50:35.000000000 +0000 ++++ plplot-5.12.0/examples/ocaml/x20.ml 2017-11-18 12:10:33.476409441 +0000 +@@ -59,7 +59,7 @@ + let w, h = Scanf.sscanf w_h_line "%d %d" (fun w h -> w, h) in + let num_col = Scanf.sscanf num_col_line "%d" (fun n -> n) in + +- let img = String.make (w * h) ' ' in ++ let img = Bytes.make (w * h) ' ' in + let imf = Array.make_matrix w h 0.0 in + + (* Note that under 32bit OCaml, this will only work when reading strings up +@@ -72,7 +72,7 @@ + for j = 0 to h - 1 do + imf.(i).(j) <- + (* flip image up-down *) +- float_of_int (int_of_char (img.[(h - 1 - j ) * w + i])); ++ float_of_int (int_of_char (Bytes.get img ((h - 1 - j ) * w + i))); + done + done; + imf, w, h, num_col diff --git a/sci-libs/plplot/files/plplot-5.15.0-QPainterPath-include.patch b/sci-libs/plplot/files/plplot-5.15.0-QPainterPath-include.patch new file mode 100644 index 0000000..3c6b85b --- /dev/null +++ b/sci-libs/plplot/files/plplot-5.15.0-QPainterPath-include.patch @@ -0,0 +1,10 @@ +--- a/include/qt.h ++++ b/include/qt.h +@@ -67,6 +67,7 @@ + #include <QMainWindow> + #include <QPicture> + #include <QMutex> ++#include <QPainterPath> + + #include "plDevs.h" + #include "plplotP.h" diff --git a/sci-libs/plplot/files/plplot-5.15.0-configure-clang16.patch b/sci-libs/plplot/files/plplot-5.15.0-configure-clang16.patch new file mode 100644 index 0000000..1f72da2 --- /dev/null +++ b/sci-libs/plplot/files/plplot-5.15.0-configure-clang16.patch @@ -0,0 +1,18 @@ +https://bugs.gentoo.org/898258 +https://sourceforge.net/p/plplot/patches/37/ + +Avoid implicitly declaring exit. Future compilers will not support +implicit function declarations, so this cmake probe will always fail. + +--- a/cmake/modules/TestForHighBitCharacters.c ++++ b/cmake/modules/TestForHighBitCharacters.c +@@ -17,6 +17,6 @@ int + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) +- exit(1); +- exit (0); ++ return 1; ++ return 0; + } + diff --git a/sci-libs/plplot/files/plplot-5.15.0-ieee.patch b/sci-libs/plplot/files/plplot-5.15.0-ieee.patch new file mode 100644 index 0000000..065f59a --- /dev/null +++ b/sci-libs/plplot/files/plplot-5.15.0-ieee.patch @@ -0,0 +1,19 @@ +diff -up plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/cmake/modules/csiro.cmake.ieee plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/cmake/modules/csiro.cmake +--- plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/cmake/modules/csiro.cmake.ieee 2018-09-19 20:31:11.333168883 -0600 ++++ plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/cmake/modules/csiro.cmake 2018-09-19 20:31:56.323728783 -0600 +@@ -27,15 +27,6 @@ option(WITH_CSA "Enable use of the csa l + # expanded to a lot more cases as we gain platform experience. + set(NAN_CFLAGS ${CMAKE_C_FLAGS}) + if(PL_HAVE_QHULL OR WITH_CSA) +- if(CMAKE_SYSTEM_PROCESSOR MATCHES "i[0-9]86" AND NOT CMAKE_C_COMPILER MATCHES "gcc") +- set(NAN_CFLAGS "${NAN_CFLAGS} -mieee-fp") +- elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "alpha.*") +- if(CMAKE_C_COMPILER MATCHES "gcc") +- set(NAN_CFLAGS "${NAN_CFLAGS} -mieee") +- else(CMAKE_C_COMPILER MATCHES "gcc") +- set(NAN_CFLAGS "${NAN_CFLAGS} -ieee") +- endif(CMAKE_C_COMPILER MATCHES "gcc") +- endif(CMAKE_SYSTEM_PROCESSOR MATCHES "i[0-9]86" AND NOT CMAKE_C_COMPILER MATCHES "gcc") + if(NOT DEFINED NaNAwareCCompiler) + message(STATUS "Check for NaN awareness in C compiler") + try_run(RUN_RESULT COMPILE_RESULT diff --git a/sci-libs/plplot/files/plplot-5.15.0-multiarch.patch b/sci-libs/plplot/files/plplot-5.15.0-multiarch.patch new file mode 100644 index 0000000..4fc5b0b --- /dev/null +++ b/sci-libs/plplot/files/plplot-5.15.0-multiarch.patch @@ -0,0 +1,56 @@ +diff -up plplot-5.15.0/examples/c/Makefile.examples.in.multiarch plplot-5.15.0/examples/c/Makefile.examples.in +--- plplot-5.15.0/examples/c/Makefile.examples.in.multiarch 2019-09-17 21:47:24.535984257 -0600 ++++ plplot-5.15.0/examples/c/Makefile.examples.in 2019-09-17 21:50:37.029009186 -0600 +@@ -23,9 +23,6 @@ SHELL = @SH_EXECUTABLE@ + CC = @CC@ + EXEEXT = @EXEEXT@ + +-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@ +-install_tree_c_RPATHCMD = @install_tree_c_RPATHCMD@ +- + @extXdrawable_true@extXdrawable_EXECUTABLES_list = \ + @extXdrawable_true@ extXdrawable_demo$(EXEEXT) + +diff -up plplot-5.15.0/examples/c++/Makefile.examples.in.multiarch plplot-5.15.0/examples/c++/Makefile.examples.in +--- plplot-5.15.0/examples/c++/Makefile.examples.in.multiarch 2019-09-17 21:47:24.536984262 -0600 ++++ plplot-5.15.0/examples/c++/Makefile.examples.in 2019-09-17 21:50:18.672911449 -0600 +@@ -23,15 +23,10 @@ SHELL = @SH_EXECUTABLE@ + CXX = @CXX@ + EXEEXT = @EXEEXT@ + +-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@ +-install_tree_cxx_RPATHCMD = @install_tree_cxx_RPATHCMD@ +- +-@wxwidgets_true@install_tree_wxwidgets_RPATHCMD = @install_tree_wxwidgets_RPATHCMD@ + @wxwidgets_true@PLPLOTWXWIDGETS_EXECUTABLES_list = \ + @wxwidgets_true@ @wxdemo_name@$(EXEEXT) + + @qt_gui_true@QT_MOC_EXECUTABLE = @QT_MOC_EXECUTABLE@ +-@qt_gui_true@install_tree_qt_RPATHCMD = @install_tree_qt_RPATHCMD@ + @qt_gui_true@qt_gui_EXECUTABLES_list = \ + @qt_gui_true@ qt_example$(EXEEXT) + +diff -up plplot-5.15.0/examples/fortran/Makefile.examples.in.multiarch plplot-5.15.0/examples/fortran/Makefile.examples.in +--- plplot-5.15.0/examples/fortran/Makefile.examples.in.multiarch 2019-09-17 21:47:24.537984268 -0600 ++++ plplot-5.15.0/examples/fortran/Makefile.examples.in 2019-09-17 21:48:01.062178741 -0600 +@@ -24,7 +24,6 @@ SHELL = @SH_EXECUTABLE@ + Fortran = @FC@ + EXEEXT = @EXEEXT@ + +-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@ + install_tree_fortran_RPATHCMD = @install_tree_fortran_RPATHCMD@ + + EXECUTABLES_list = \ +diff -up plplot-5.15.0/examples/tk/Makefile.examples.in.multiarch plplot-5.15.0/examples/tk/Makefile.examples.in +--- plplot-5.15.0/examples/tk/Makefile.examples.in.multiarch 2019-09-17 21:47:24.538984273 -0600 ++++ plplot-5.15.0/examples/tk/Makefile.examples.in 2019-09-17 21:50:00.816816375 -0600 +@@ -24,9 +24,6 @@ SHELL = @SH_EXECUTABLE@ + CC = @CC@ + EXEEXT = @EXEEXT@ + +-PKG_CONFIG_ENV = @PKG_CONFIG_ENV@ +-install_tree_tk_RPATHCMD = @install_tree_tk_RPATHCMD@ +- + EXECUTABLES_list = xtk01$(EXEEXT) + # Second and fourth examples depend on itk. + @itk_true@itk_EXECUTABLES_list = xtk02$(EXEEXT) xtk04$(EXEEXT) diff --git a/sci-libs/plplot/files/plplot-5.15.0-ocaml-rpath.patch b/sci-libs/plplot/files/plplot-5.15.0-ocaml-rpath.patch new file mode 100644 index 0000000..f3fe04d --- /dev/null +++ b/sci-libs/plplot/files/plplot-5.15.0-ocaml-rpath.patch @@ -0,0 +1,166 @@ +commit 6b215267e7baeae83906bec8dab72a549aeda6c8 +Author: Alan W. Irwin <airwin@users.sourceforge.net> +Date: Mon Sep 23 17:39:31 2019 -0700 + + Build system: Fix ocaml examples core build for -DUSE_RPATH=OFF case + + Thanks to Orion Poplawski for reporting this issue which is that the + *core build_tree* rpath manipulations for the ocaml examples were + being (incorrectly) skipped for the -DUSE_RPATH=OFF case. The fix for + this issue required non-trivial CMake logic changes so was extensively + tested (see below). + + Tested by: Alan W. Irwin <airwin@users.sourceforge.net> on Linux + (Debian Buster = Stable) with the following steps: + + # Choose these prefixes to assure that the source, build, and install + # trees have blanks in their pathnames (to test those cases during + # this comprehensive test) + COMPREHENSIVE_TEST_PREFIX="/home/software/plplot/HEAD/comprehensive_test_disposeable blank" + SOURCE_PREFIX="/home/software/plplot/HEAD/plplot blank .git" + + # Set CMAKE_PREFIX_PATH to access local versions of lua and libLASi to + # avoid important bugs in the Debian Testing versions of those + # packages. Also access a local version of libqhull to test that + # additional rpath possibility. + + # Put a local build of CMake-3.15.20190829-g3ec986c first on the PATH to thoroughly + # test our build system for a locally built CMake version that includes an + # essential fix so that D language support works properly for the ldc2 and dmd compilers. + + # For this particular test use the gdc D compiler if D enabled (which it was not, see below). + + # Use the -DUSE_INCRTCL_VERSION_4=ON option to help CMake find Tcl/Tk + # components. (This step will not be necessary as soon as the PLplot + # build system is modified to make Tcl/Tk/Itcl/Itk/Iwidgets finding + # more robust.) + + # Use -DSWIG_EXECUTABLE=/home/software/swig/install/bin/swig to test + # swig-4.0.0 that I built for myself. + + # To save time, constrain the test to just the ocaml binding and svg device. + + # To save a lot of babysitting of this test, constrain the test by dropping + # the interactive component. + + time (nice -19 env CMAKE_PREFIX_PATH=/home/software/lua/install-5.3.5:/home/software/lasi_svn/install:/home/software/qhull/install PATH=/home/software/cmake/install-3ec986ce8e/bin:"$PATH" DC=gdc "$SOURCE_PREFIX"/scripts/comprehensive_test.sh --prefix "$COMPREHENSIVE_TEST_PREFIX" --cmake_added_options "-DUSE_INCRTCL_VERSION_4=ON -DSWIG_EXECUTABLE=/home/software/swig/install/bin/swig -DDEFAULT_NO_BINDINGS=ON -DENABLE_ocaml=ON -DDEFAULT_NO_DEVICES=ON -DPLD_svg=ON " --build_command "make -j18" --ctest_command "ctest -j18" --do_test_interactive no) + + The time result on my Ryzen 7 1700 system with 16 hardware threads was + + real 4m12.625s + user 4m22.128s + sys 0m58.076s + + The above test was repeated with the following changes: + + # Specify LD_LIBRARY_PATH to workaround the lack of special rpath + # support for external local versions of software + + # Use the -DUSE_RPATH=OFF cmake option to drop all install-tree + # rpath support (and to ignore any special rpath support for + # external local versions of software). + + # Further constrain the test to be performed just for the core build tree + # since -DUSE_RPATH=OFF will obviously give bad results for the install + # tree for this non-standard installation location. + + time (nice -19 env CMAKE_PREFIX_PATH=/home/software/lua/install-5.3.5:/home/software/lasi_svn/install:/home/software/qhull/install PATH=/home/software/cmake/install-3ec986ce8e/bin:"$PATH" DC=gdc LD_LIBRARY_PATH=/home/software/lasi_svn/install/lib:/home/software/qhull/install/lib "$SOURCE_PREFIX"/scripts/comprehensive_test.sh --prefix "$COMPREHENSIVE_TEST_PREFIX" --cmake_added_options "-DUSE_INCRTCL_VERSION_4=ON -DSWIG_EXECUTABLE=/home/software/swig/install/bin/swig -DDEFAULT_NO_BINDINGS=ON -DENABLE_ocaml=ON -DDEFAULT_NO_DEVICES=ON -DPLD_svg=ON -DUSE_RPATH=OFF" --build_command "make -j18" --ctest_command "ctest -j18" --do_test_interactive no --do_test_install_tree no --do_test_traditional_install_tree no) + + The time result on my Ryzen 7 1700 system with 16 hardware threads was + + real 1m57.888s + user 1m42.156s + sys 0m26.478s + + Both these comprehensive tests (one which tests that the default + -DUSE_RPATH=ON still works for the ocaml case and one similar to + Orion's test case which tests that -DUSER_RPATH=OFF works for the + ocaml case in the core build tree) ran without issues (e.g., there + were no hangs or other obvious errors) and was followed up by the + evaluation procedure documented in doc/wiki_source/Testing_PLplot. + Those evaluations showed no configure, build, or obvious run-time + errors (i.e., no non-zero return codes for any of the steps in these + comprehensive tests), and the difference test results (done with the + default svg device) were perfect as well. + +diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt +index 93cb01b..5bcbceb 100644 +--- a/examples/CMakeLists.txt ++++ b/examples/CMakeLists.txt +@@ -343,27 +343,24 @@ if(CORE_BUILD) + # Extra layer of -Wl indirection required for the nagfor compiler + string(REPLACE "-Wl," "-Wl,-Wl,," install_tree_fortran_RPATHCMD ${install_tree_fortran_RPATHCMD}) + endif(install_tree_fortran_RPATHCMD AND CMAKE_Fortran_COMPILER MATCHES "nagfor") ++ endif(USE_RPATH AND NOT WIN32_OR_CYGWIN) ++ ++ # ocaml is a special case not handled by the above logic for other languages ++ # because the (unofficial) CMake language support is ++ # implemented with low-level add_custom commands/targets so that rpath ++ # must be specified for 3 cases (the traditional build of the installed ++ # examples, and the CMake-based build of the build-tree and install-tree examples). ++ # Furthermore, the rpath syntax is different for ocaml. ++ if(ENABLE_ocaml) ++ set(language ocaml) + +- # ocaml is a special case because the (unofficial) CMake language support is +- # implemented with low-level add_custom commands/targets so that rpath +- # must be specified for 3 cases (the traditional build of the installed +- # examples, and the CMake-based build of the build-tree and install-tree examples). +- # Furthermore, the rpath syntax is different for ocaml. +- if(ENABLE_ocaml) +- set(language ocaml) ++ if(USE_RPATH AND NOT WIN32_OR_CYGWIN) + # Each of the installed examples that are built depend on a library installed in ${LIB_DIR}. + set(install_tree_${language}_RPATH ${LIB_DIR}) +- # The ocaml examples depend on the plplot library ++ # The ocaml examples depend on the plplot library so use INSTALL_RPATH ++ # property of that library target. + set(tll_arguments PLPLOT::plplot) + process_rpath(install_tree_${language}_RPATH "${tll_arguments}") +- +- # Special case of the ocaml build-tree examples. +- # Must be done before ${install_tree_${language}_RPATH gets transformed +- # from official CMake list to colon-separated form. +- set(build_tree_${language}_RPATH ${install_tree_${language}_RPATH}) +- list(REMOVE_ITEM build_tree_${language}_RPATH ${LIB_DIR}) +- list(APPEND build_tree_${language}_RPATH ${CMAKE_BINARY_DIR}/src) +- + # Transform from semicolon- to colon-separated list. (Quotes + # for last argument required to process whole argument as string + # containing semicolons rather than as the concatanated elements +@@ -372,19 +369,30 @@ if(CORE_BUILD) + # install- and build-tree versions of CMake-based build of ocaml + # examples + string(REGEX REPLACE ";" ":" install_tree_${language}_RPATH "${install_tree_${language}_RPATH}") +- string(REGEX REPLACE ";" ":" build_tree_${language}_RPATH "${build_tree_${language}_RPATH}") + string(REPLACE " " "\\ " install_tree_${language}_RPATH_ESCAPED "${install_tree_${language}_RPATH}") +- string(REPLACE " " "\\ " build_tree_${language}_RPATH_ESCAPED "${build_tree_${language}_RPATH}") +- + # install_tree_ocaml_RPATHCMD needed in configured traditional + # Makefile for the ocaml subdirectory. + # Ocaml compiler requires -ccopt in front of every -Wl option: + set(install_tree_${language}_RPATHCMD "-ccopt -Wl,-rpath -ccopt -Wl,\"${install_tree_${language}_RPATH_ESCAPED}\"") ++ endif(USE_RPATH AND NOT WIN32_OR_CYGWIN) + +- endif(ENABLE_ocaml) ++ # Special case of the ocaml build-tree examples. ++ # Follow above process_rpath logic but with some changes ++ # appropriate for the core build of the ocaml examples. ++ set(build_tree_${language}_RPATH ${CMAKE_BINARY_DIR}/src) ++ set(tll_arguments PLPLOT::plplot) ++ process_rpath(build_tree_${language}_RPATH "${tll_arguments}") + ++ # Get rid of any mention of ${LIB_DIR} for the core build version ++ # of the examples. ++ # Must be done before ${build_tree_${language}_RPATH gets transformed ++ # from official CMake list to colon-separated form. ++ list(REMOVE_ITEM build_tree_${language}_RPATH ${LIB_DIR}) + +- endif(USE_RPATH AND NOT WIN32_OR_CYGWIN) ++ string(REGEX REPLACE ";" ":" build_tree_${language}_RPATH "${build_tree_${language}_RPATH}") ++ string(REPLACE " " "\\ " build_tree_${language}_RPATH_ESCAPED "${build_tree_${language}_RPATH}") ++ ++ endif(ENABLE_ocaml) + + # Install Chloe.pgm in installed examples directory so that all implementations + # of example 20 in the various examples subdirectories can conveniently diff --git a/sci-libs/plplot/files/plplot-5.15.0-ocaml.patch b/sci-libs/plplot/files/plplot-5.15.0-ocaml.patch new file mode 100644 index 0000000..6f0827f --- /dev/null +++ b/sci-libs/plplot/files/plplot-5.15.0-ocaml.patch @@ -0,0 +1,43 @@ +diff -up plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/CMakeLists.txt.ocaml plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/CMakeLists.txt +--- plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/CMakeLists.txt.ocaml 2018-09-19 17:38:53.000000000 -0600 ++++ plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/CMakeLists.txt 2018-09-19 20:32:29.884146436 -0600 +@@ -326,11 +326,11 @@ if(ENABLE_ocaml) + ${CMAKE_CURRENT_BINARY_DIR}/plplot.cmo + ) + +- # ocamlc -a -custom builds a *.cma library from *.cmo ++ # ocamlc -a builds a *.cma library from *.cmo + add_custom_command( + OUTPUT + ${CMAKE_CURRENT_BINARY_DIR}/plplot.cma +- COMMAND ${OCAMLC} -a -custom -o plplot.cma plplot_core.cmo plplot.cmo -dllib -lplplot_stubs -ccopt -L. -cclib -lplplot_stubs -ccopt -L${CAMLIDL_LIB_DIR} -cclib -lcamlidl ${ocaml_LIBRARIES_FLAGS} ++ COMMAND ${OCAMLC} -a -o plplot.cma plplot_core.cmo plplot.cmo -dllib -lplplot_stubs -ccopt -L. -cclib -lplplot_stubs -ccopt -L${CAMLIDL_LIB_DIR} -cclib -lcamlidl ${ocaml_LIBRARIES_FLAGS} + DEPENDS + ${CMAKE_CURRENT_BINARY_DIR}/plplot_core.cmo + ${CMAKE_CURRENT_BINARY_DIR}/plplot.cmo +@@ -341,7 +341,7 @@ if(ENABLE_ocaml) + add_custom_command( + OUTPUT + ${CMAKE_CURRENT_BINARY_DIR}/installed_plplot.cma +- COMMAND ${OCAMLC} -a -custom -o installed_plplot.cma plplot_core.cmo plplot.cmo -dllib -lplplot_stubs -ccopt -L. -cclib -lplplot_stubs -ccopt -L${CAMLIDL_LIB_DIR} -cclib -lcamlidl ${installed_ocaml_LIBRARIES_FLAGS} ++ COMMAND ${OCAMLC} -a -o installed_plplot.cma plplot_core.cmo plplot.cmo -dllib -lplplot_stubs -ccopt -L. -cclib -lplplot_stubs -ccopt -L${CAMLIDL_LIB_DIR} -cclib -lcamlidl ${installed_ocaml_LIBRARIES_FLAGS} + DEPENDS + ${CMAKE_CURRENT_BINARY_DIR}/plplot_core.cmo + ${CMAKE_CURRENT_BINARY_DIR}/plplot.cmo +diff -up plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/plcairo/CMakeLists.txt.ocaml plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/plcairo/CMakeLists.txt +--- plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/plcairo/CMakeLists.txt.ocaml 2018-09-19 20:32:29.884146436 -0600 ++++ plplot-plplot-a9d9500c732d4eae47ed7fca687e02ec8a48d02c/bindings/ocaml/plcairo/CMakeLists.txt 2018-09-19 20:33:18.389750080 -0600 +@@ -91,11 +91,11 @@ if(ENABLE_ocaml AND OCAML_HAS_CAIRO) + ${CMAKE_CURRENT_BINARY_DIR}/plcairo.ml + ) + +- # ocamlc -a -custom builds a *.cma library from *.cmo ++ # ocamlc -a builds a *.cma library from *.cmo + add_custom_command( + OUTPUT + ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cma +- COMMAND ${OCAMLC} -a -custom -o ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cma -I ${PATH_TO_PLPLOT_CMA} plplot.cma ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cmo -dllib -lplcairo_stubs -ccopt -L${CMAKE_CURRENT_BINARY_DIR} -cclib -lplcairo_stubs -ccopt -L${CMAKE_BINARY_DIR}/src -cclib -l${WRITEABLE_TARGET}plplot -dllpath ${CMAKE_BINARY_DIR}/src ++ COMMAND ${OCAMLC} -a -o ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cma -I ${PATH_TO_PLPLOT_CMA} plplot.cma ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cmo -dllib -lplcairo_stubs -ccopt -L${CMAKE_CURRENT_BINARY_DIR} -cclib -lplcairo_stubs -ccopt -L${CMAKE_BINARY_DIR}/src -cclib -l${WRITEABLE_TARGET}plplot -dllpath ${CMAKE_BINARY_DIR}/src + DEPENDS + ${CMAKE_CURRENT_BINARY_DIR}/plcairo.cmo + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} diff --git a/sci-libs/plplot/plplot-5.14.0-r1.ebuild b/sci-libs/plplot/plplot-5.14.0-r2.ebuild index b054f90..b054f90 100644 --- a/sci-libs/plplot/plplot-5.14.0-r1.ebuild +++ b/sci-libs/plplot/plplot-5.14.0-r2.ebuild diff --git a/sci-libs/plplot/plplot-5.15.0-r1.ebuild b/sci-libs/plplot/plplot-5.15.0-r2.ebuild index b054f90..b054f90 100644 --- a/sci-libs/plplot/plplot-5.15.0-r1.ebuild +++ b/sci-libs/plplot/plplot-5.15.0-r2.ebuild |