diff options
Diffstat (limited to 'Library/Formula/plplot.rb')
| -rw-r--r-- | Library/Formula/plplot.rb | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/Library/Formula/plplot.rb b/Library/Formula/plplot.rb index 432e58b67..540c65199 100644 --- a/Library/Formula/plplot.rb +++ b/Library/Formula/plplot.rb @@ -12,11 +12,19 @@ class Plplot < Formula option 'with-java' + # patch 1 taken from upstream http://sourceforge.net/p/plplot/plplot/ci/772223c638ecf5dc740c9f3dd7a6883c6d2c83d2 + # fixes https://github.com/Homebrew/homebrew/issues/36569 + # + # patch 2 taken from upstream http://sourceforge.net/p/plplot/plplot/ci/467c0b0ef58b1759238d7ec3551e3e3fe8f36c5b + # fixes possible compilation problems involving the use of HAVE_CONFIG_H + patch :DATA + def install args = std_cmake_args args << '-DPLD_wxwidgets=OFF' << '-DENABLE_wxwidgets=OFF' args << '-DENABLE_java=OFF' if build.without? 'java' args << '-DPLD_xcairo=OFF' if build.without? 'x11' + args << '-DENABLE_ada=OFF' mkdir "plplot-build" do system "cmake", "..", *args system "make" @@ -24,3 +32,173 @@ class Plplot < Formula end end end +__END__ +--- a/cmake/modules/pkg-config.cmake ++++ b/cmake/modules/pkg-config.cmake +@@ -1,6 +1,6 @@ + # cmake/modules/pkg-config.cmake + # +-# Copyright (C) 2006 Alan W. Irwin ++# Copyright (C) 2006-2015 Alan W. Irwin + # + # This file is part of PLplot. + # +@@ -94,7 +94,12 @@ + set(_xprefix ${_prefix}) + endif(FORCE_EXTERNAL_STATIC) + +- _pkg_check_modules_internal(0 0 ${_prefix} "${_package}") ++ if(CMAKE_VERSION VERSION_LESS "3.1") ++ _pkg_check_modules_internal(0 0 ${_prefix} "${_package}") ++ else(CMAKE_VERSION VERSION_LESS "3.1") ++ _pkg_check_modules_internal(0 0 0 0 ${_prefix} "${_package}") ++ endif(CMAKE_VERSION VERSION_LESS "3.1") ++ + if(${_prefix}_FOUND) + cmake_link_flags(${_link_FLAGS} "${${_xprefix}_LDFLAGS}") + # If libraries cannot be not found, then that is equivalent to whole +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -125,7 +125,7 @@ configure_file( + ${CMAKE_CURRENT_BINARY_DIR}/plplot_config.h + ) + # Allow access to the generated plplot_config.h for this build. +-add_definitions("-DHAVE_CONFIG_H") ++add_definitions("-DPLPLOT_HAVE_CONFIG_H") + # Install top-level files + + # Enable testing framework for examples +@@ -206,10 +206,6 @@ if(PREBUILD_DIST) + # List of targets that must be (pre-)built. + set(DIST_TARGETS) + +- if(ENABLE_octave) +- list(APPEND DIST_TARGETS make_documentation) +- endif(ENABLE_octave) +- + if(BUILD_PRINT) + list(APPEND DIST_TARGETS print) + endif(BUILD_PRINT) +@@ -239,11 +235,6 @@ if(PREBUILD_DIST) + add_custom_target( + prebuild_dist + COMMAND ${CMAKE_COMMAND} -E remove_directory +- ${CMAKE_SOURCE_DIR}/bindings/octave/plplot_octave_txt +- COMMAND ${CMAKE_COMMAND} -E copy_directory +- ${CMAKE_BINARY_DIR}/bindings/octave/plplot_octave_txt +- ${CMAKE_SOURCE_DIR}/bindings/octave/plplot_octave_txt +- COMMAND ${CMAKE_COMMAND} -E remove_directory + ${CMAKE_SOURCE_DIR}/doc/doxygen + COMMAND ${CMAKE_COMMAND} -E copy_directory + ${CMAKE_BINARY_DIR}/doc/doxygen +diff --git a/bindings/ocaml/CMakeLists.txt b/bindings/ocaml/CMakeLists.txt +index e45988e..ff392f0 100644 +--- a/bindings/ocaml/CMakeLists.txt ++++ b/bindings/ocaml/CMakeLists.txt +@@ -57,16 +57,15 @@ if(ENABLE_ocaml) + if(GENERATE_PLPLOT_H_INC) + add_custom_target( + check_plplot_h.inc +- COMMAND +- ${CMAKE_COMMAND} -E remove -f ${CMAKE_CURRENT_BINARY_DIR}/generated_plplot_h.inc +- COMMAND +- ${OCAML} ${CMAKE_CURRENT_SOURCE_DIR}/touchup.ml ${CMAKE_CURRENT_SOURCE_DIR}/plplot_h ${CMAKE_CURRENT_BINARY_DIR}/generated_plplot_h.inc +- COMMAND +- ${CMAKE_COMMAND} -E echo "Check that plplot_h.inc is consistent with touchup.ml and plplot_h" +- COMMAND +- cmp ${CMAKE_CURRENT_SOURCE_DIR}/plplot_h.inc ${CMAKE_CURRENT_BINARY_DIR}/generated_plplot_h.inc ++ COMMAND ${CMAKE_COMMAND} -E echo "Check that bindings/ocaml/plplot_h.inc is consistent with bindings/ocaml/touchup.ml and bindings/ocaml/plplot_h" ++ COMMAND ${CMAKE_COMMAND} -E remove -f ${CMAKE_CURRENT_BINARY_DIR}/generated_plplot_h.inc ++ COMMAND ${OCAML} ${CMAKE_CURRENT_SOURCE_DIR}/touchup.ml ${CMAKE_CURRENT_SOURCE_DIR}/plplot_h ${CMAKE_CURRENT_BINARY_DIR}/generated_plplot_h.inc ++ COMMAND cmp ${CMAKE_CURRENT_SOURCE_DIR}/plplot_h.inc ${CMAKE_CURRENT_BINARY_DIR}/generated_plplot_h.inc + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + ) ++ ++ add_dependencies(check_all check_plplot_h.inc) ++ + endif(GENERATE_PLPLOT_H_INC) + + #Detailed CMake logic to build ocaml bindings for PLplot. +@@ -99,7 +98,7 @@ if(ENABLE_ocaml) + ${CMAKE_CURRENT_BINARY_DIR}/dllplplot_stubs.so + ${CMAKE_CURRENT_BINARY_DIR}/libplplot_stubs.a + COMMAND ${OCAMLC} -ccopt -I${CAMLIDL_LIB_DIR} -c ${CMAKE_CURRENT_BINARY_DIR}/plplot_core_stubs.c +- COMMAND ${OCAMLC} -ccopt -I${CMAKE_SOURCE_DIR}/include -ccopt -I${CMAKE_BINARY_DIR}/include -ccopt -I${CMAKE_SOURCE_DIR}/lib/qsastime -ccopt -I${CMAKE_BINARY_DIR} -ccopt -I${CAMLIDL_LIB_DIR} -ccopt -DHAVE_CONFIG_H -c ${CMAKE_CURRENT_SOURCE_DIR}/plplot_impl.c ++ COMMAND ${OCAMLC} -ccopt -I${CMAKE_SOURCE_DIR}/include -ccopt -I${CMAKE_BINARY_DIR}/include -ccopt -I${CMAKE_SOURCE_DIR}/lib/qsastime -ccopt -I${CMAKE_BINARY_DIR} -ccopt -I${CAMLIDL_LIB_DIR} -ccopt -DPLPLOT_HAVE_CONFIG_H -c ${CMAKE_CURRENT_SOURCE_DIR}/plplot_impl.c + COMMAND ${OCAMLMKLIB} -o plplot_stubs -L${CAMLIDL_LIB_DIR} -lcamlidl -L${CMAKE_BINARY_DIR}/src -lplplot${LIB_TAG} ${CMAKE_CURRENT_BINARY_DIR}/plplot_core_stubs.o ${CMAKE_CURRENT_BINARY_DIR}/plplot_impl.o ${ocaml_STATIC_FLAGS} + DEPENDS + ${CMAKE_CURRENT_BINARY_DIR}/plplot_core_stubs.c +diff --git a/bindings/ocaml/plcairo/CMakeLists.txt b/bindings/ocaml/plcairo/CMakeLists.txt +index 423ef80..d98acf5 100644 +--- a/bindings/ocaml/plcairo/CMakeLists.txt ++++ b/bindings/ocaml/plcairo/CMakeLists.txt +@@ -36,7 +36,7 @@ if(ENABLE_ocaml AND OCAML_HAS_CAIRO) + ${CMAKE_CURRENT_BINARY_DIR}/plcairo_impl.o + ${CMAKE_CURRENT_BINARY_DIR}/dllplcairo_stubs.so + ${CMAKE_CURRENT_BINARY_DIR}/libplcairo_stubs.a +- COMMAND ${OCAMLC} -ccopt "${CAIRO_COMPILE_FLAGS}" -cclib "${CAIRO_LINK_FLAGS}" -ccopt -I${CMAKE_SOURCE_DIR}/include -ccopt -I${CMAKE_BINARY_DIR}/include -ccopt -I${CMAKE_SOURCE_DIR}/lib/qsastime -ccopt -I${CMAKE_BINARY_DIR} -ccopt -DHAVE_CONFIG_H -c ${CMAKE_CURRENT_SOURCE_DIR}/plcairo_impl.c ++ COMMAND ${OCAMLC} -ccopt "${CAIRO_COMPILE_FLAGS}" -cclib "${CAIRO_LINK_FLAGS}" -ccopt -I${CMAKE_SOURCE_DIR}/include -ccopt -I${CMAKE_BINARY_DIR}/include -ccopt -I${CMAKE_SOURCE_DIR}/lib/qsastime -ccopt -I${CMAKE_BINARY_DIR} -ccopt -DPLPLOT_HAVE_CONFIG_H -c ${CMAKE_CURRENT_SOURCE_DIR}/plcairo_impl.c + COMMAND ${OCAMLMKLIB} -o plcairo_stubs ${CAIRO_LINK_FLAGS_LIST} -L${CMAKE_BINARY_DIR}/src -lplplot${LIB_TAG} ${CMAKE_CURRENT_BINARY_DIR}/plcairo_impl.o + DEPENDS + ${CMAKE_CURRENT_SOURCE_DIR}/plcairo_impl.c +diff --git a/include/plConfig.h.in b/include/plConfig.h.in +index 0d63dd0..27ce48b 100644 +--- a/include/plConfig.h.in ++++ b/include/plConfig.h.in +@@ -30,7 +29,7 @@ + // any user applications). Therefore, the configured plConfig.h + // should be installed. In contrast, plplot_config.h.in (note, + // plConfig.h #includes plplot_config.h for the core build because +-// HAVE_CONFIG_H is #defined in that case) contains configured macros ++// PLPLOT_HAVE_CONFIG_H is #defined in that case) contains configured macros + // that are only required for the core build. Therefore, in contrast + // to plConfig.h, plplot_config.h should not be installed. + // +@@ -44,10 +43,16 @@ + #ifndef __PLCONFIG_H__ + #define __PLCONFIG_H__ + +-#ifdef HAVE_CONFIG_H ++#ifdef PLPLOT_HAVE_CONFIG_H + # include <plplot_config.h> + #endif + ++// PLplot version information. ++#define PLPLOT_VERSION_MAJOR "@PLPLOT_VERSION_MAJOR@" ++#define PLPLOT_VERSION_MINOR "@PLPLOT_VERSION_MINOR@" ++#define PLPLOT_VERSION_PATCH "@PLPLOT_VERSION_PATCH@" ++#define PLPLOT_VERSION "@PLPLOT_VERSION@" ++ + // Define if you have c++ accessible stdint.h + #cmakedefine PL_HAVE_CXX_STDINT_H + +diff --git a/plplot_config.h.in b/plplot_config.h.in +index 0274dc8..25e9472 100644 +--- a/plplot_config.h.in ++++ b/plplot_config.h.in +@@ -3,7 +3,7 @@ + // examples (and presumably any user applications). Therefore, the + // configured plplot_config.h should not be installed. In contrast, + // include/plConfig.h.in (note, the configured plConfig.h result +-// #includes plplot_config.h for the core build because HAVE_CONFIG_H ++// #includes plplot_config.h for the core build because PLPLOT_HAVE_CONFIG_H + // is #defined in that case) contains configured macros that are + // required for the core build, installed examples build, and build of + // user applications. Therefore, in contrast to plplot_config.h, +@@ -282,9 +282,6 @@ + // Define to 1 if you have the ANSI C header files. + #cmakedefine STDC_HEADERS 1 + +-// Overall PLplot version number +-#define PLPLOT_VERSION "@PLPLOT_VERSION@" +- + // Location of Tcl stuff + #define TCL_DIR "@TCL_DIR@" + // Consistent package versions for Itcl and friends found by PLplot +@@ -309,3 +306,6 @@ + + // Define as `fork' if `vfork' does not work. + #cmakedefine vfork ++ ++// Define if the PLplot build uses Qt5 (rather than Qt4). ++#cmakedefine PLPLOT_USE_QT5 |
