diff --git a/app-misc/xygrib/patches/xygrib-1.2.6.1.patchset b/app-misc/xygrib/patches/xygrib-1.2.6.1.patchset index 25a4e36f0..cdf6e4087 100644 --- a/app-misc/xygrib/patches/xygrib-1.2.6.1.patchset +++ b/app-misc/xygrib/patches/xygrib-1.2.6.1.patchset @@ -1,4 +1,4 @@ -From f55ca320f23e9a8cb3baf982d5fd19320a484490 Mon Sep 17 00:00:00 2001 +From 418b3f2dc749bbd6e81bb63caaea850723a2cc25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zolt=C3=A1n=20Mizsei?= Date: Sun, 24 Oct 2021 16:35:20 +0200 Subject: SkewT: build fix @@ -17,5 +17,245 @@ index c9a23ce..0916681 100644 class SkewT; -- -2.30.2 +2.35.1 + + +From 2e957ee8b7ee20de4f3fa4dd0e63a7e179972d7f Mon Sep 17 00:00:00 2001 +From: Begasus +Date: Sun, 24 Apr 2022 08:50:42 +0000 +Subject: Fixes from openSUSE proj8.diff + + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 64059ab..9c0595b 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -124,22 +124,22 @@ find_path(OPENJPEG_INCLUDE_DIR + include_directories(${OPENJPEG_INCLUDE_DIR}) + + if(NOT WIN32) +- include(cmake/FindPROJ4.cmake) +- if(NOT PROJ4_FOUND) +- message(FATAL_ERROR "PROJ.4 library not found!") ++ include(cmake/FindPROJ8.cmake) ++ if(NOT PROJ8_FOUND) ++ message(FATAL_ERROR "PROJ.8 library not found!") + endif() +- include_directories(${PROJ4_INCLUDE_DIRS}) ++ include_directories(${PROJ8_INCLUDE_DIRS}) + endif() + if(WIN32) +- find_library(PROJ4_LIBRARIES ++ find_library(PROJ8_LIBRARIES + NAME "libproj.a" + PATHS + $ENV{EXTERNLIBS}/lib + /opt/lib + REQUIRED + ) +- find_path(PROJ4_INCLUDE_DIRS +- NAMES "proj_api.h" ++ find_path(PROJ8_INCLUDE_DIRS ++ NAMES "proj.h" + PATHS + $ENV{EXTERNLIBS}/include + /opt/include +diff --git a/cmake/FindPROJ8.cmake b/cmake/FindPROJ8.cmake +new file mode 100644 +index 0000000..74896f2 +--- /dev/null ++++ b/cmake/FindPROJ8.cmake +@@ -0,0 +1,76 @@ ++# - Find PROJ8 ++# Find the PROJ8 includes and library ++# ++# PROJ8_INCLUDE_DIR - Where to find PROJ8 includes ++# PROJ8_LIBRARIES - List of libraries when using PROJ8 ++# PROJ8_FOUND - True if PROJ8 was found ++ ++IF(PROJ8_INCLUDE_DIR) ++ SET(PROJ8_FIND_QUIETLY TRUE) ++ENDIF(PROJ8_INCLUDE_DIR) ++ ++FIND_PATH(PROJ8_INCLUDE_DIR "proj.h" ++ PATHS ++ $ENV{EXTERNLIBS}/include ++ $ENV{EXTERNLIBS}/PROJ8/include ++ ~/Library/Frameworks/include ++ /Library/Frameworks/include ++ /usr/local/include ++ /usr/include ++ /sw/include # Fink ++ /opt/local/include # DarwinPorts ++ /opt/csw/include # Blastwave ++ /opt/include ++ DOC "PROJ8 - Headers" ++) ++ ++SET(PROJ8_NAMES PROJ8 proj proj_8_0) ++SET(PROJ8_DBG_NAMES PROJ8D projD proj_8_0_1) ++ ++FIND_LIBRARY(PROJ8_LIBRARY NAMES ${PROJ8_NAMES} ++ PATHS ++ $ENV{EXTERNLIBS} ++ $ENV{EXTERNLIBS}/PROJ8 ++ ~/Library/Frameworks ++ /Library/Frameworks ++ /usr/local ++ /usr ++ /sw ++ /opt/local ++ /opt/csw ++ /opt ++ PATH_SUFFIXES lib lib64 ++ DOC "PROJ8 - Library" ++) ++ ++INCLUDE(FindPackageHandleStandardArgs) ++ ++IF(MSVC) ++ # VisualStudio needs a debug version ++ FIND_LIBRARY(PROJ8_LIBRARY_DEBUG NAMES ${PROJ8_DBG_NAMES} ++ PATHS ++ $ENV{EXTERNLIBS}/PROJ8/lib ++ DOC "PROJ8 - Library (Debug)" ++ ) ++ ++ IF(PROJ8_LIBRARY_DEBUG AND PROJ8_LIBRARY) ++ SET(PROJ8_LIBRARIES optimized ${PROJ8_LIBRARY} debug ${PROJ8_LIBRARY_DEBUG}) ++ ENDIF(PROJ8_LIBRARY_DEBUG AND PROJ8_LIBRARY) ++ ++ FIND_PACKAGE_HANDLE_STANDARD_ARGS(PROJ8 DEFAULT_MSG PROJ8_LIBRARY PROJ8_LIBRARY_DEBUG PROJ8_INCLUDE_DIR) ++ ++ MARK_AS_ADVANCED(PROJ8_LIBRARY PROJ8_LIBRARY_DEBUG PROJ8_INCLUDE_DIR) ++ ++ELSE(MSVC) ++ # rest of the world ++ SET(PROJ8_LIBRARIES ${PROJ8_LIBRARY}) ++ ++ FIND_PACKAGE_HANDLE_STANDARD_ARGS(PROJ8 DEFAULT_MSG PROJ8_LIBRARY PROJ8_INCLUDE_DIR) ++ ++ MARK_AS_ADVANCED(PROJ8_LIBRARY PROJ8_INCLUDE_DIR) ++ ++ENDIF(MSVC) ++ ++IF(PROJ8_FOUND) ++ SET(PROJ8_INCLUDE_DIRS ${PROJ8_INCLUDE_DIR}) ++ENDIF(PROJ8_FOUND) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 8cd9314..fdc47ab 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -122,7 +122,7 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}/util) + include_directories(${CMAKE_CURRENT_SOURCE_DIR}/map ${MAP_GENERATED_HEADERS}) + include_directories(${CMAKE_CURRENT_SOURCE_DIR}/GUI ${GUI_GENERATED_HEADERS}) + +-target_link_libraries(${CMAKE_PROJECT_NAME} g2clib gui util map ${LIBNOVA_LIBRARY} ${OPENJPEG_LIBRARIES} ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Network_LIBRARIES} ${Qt5Xml_LIBRARIES} ${Qt5PrintSupport_LIBRARIES} ${BZIP2_LIBRARIES} ${ZLIB_LIBRARIES} ${PROJ4_LIBRARIES} ${PNG_LIBRARIES}) ++target_link_libraries(${CMAKE_PROJECT_NAME} g2clib gui util map ${LIBNOVA_LIBRARY} ${OPENJPEG_LIBRARIES} ${Qt5Core_LIBRARIES} ${Qt5Gui_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Network_LIBRARIES} ${Qt5Xml_LIBRARIES} ${Qt5PrintSupport_LIBRARIES} ${BZIP2_LIBRARIES} ${ZLIB_LIBRARIES} ${PROJ8_LIBRARIES} ${PNG_LIBRARIES}) + + # Sanitizers, part 2/2 + if ( CMAKE_VERSION VERSION_GREATER 3.4 ) +diff --git a/src/map/Projection.h b/src/map/Projection.h +index b4ca7f5..d482e0d 100644 +--- a/src/map/Projection.h ++++ b/src/map/Projection.h +@@ -21,10 +21,7 @@ along with this program. If not, see . + #include + #include + +-#ifndef ACCEPT_USE_OF_DEPRECATED_PROJ_API_H +-#define ACCEPT_USE_OF_DEPRECATED_PROJ_API_H +-#endif +-#include "proj_api.h" ++#include "proj.h" + + class Projection : public QObject + { +@@ -141,7 +138,7 @@ class Projection_libproj : public Projection + int getProjection() {return currentProj;} + + private : +- projPJ libProj; ++ PJ * libProj; + int currentProj; + }; + +-- +2.35.1 + + +From 239c6d39523676592d17433709c41af512ad2eda Mon Sep 17 00:00:00 2001 +From: begasus +Date: Sun, 24 Apr 2022 08:54:41 +0000 +Subject: Fixes from openSUSE projection.diff + + +diff --git a/src/map/Projection_libproj.cpp b/src/map/Projection_libproj.cpp +index 1dcbd54..0299714 100644 +--- a/src/map/Projection_libproj.cpp ++++ b/src/map/Projection_libproj.cpp +@@ -93,9 +93,9 @@ void Projection_libproj::setProjection(int code) + params[nbpar++] = "no_defs"; + params[nbpar++] = "over"; // allow longitude > 180° + // XXX ouch pj_init +- libProj = pj_init(nbpar, (char **)params); ++ libProj = proj_create_argv(PJ_DEFAULT_CTX, nbpar, (char **)params); + if (!libProj) +- printf("proj error: %s\n", pj_strerrno(pj_errno)); ++ printf("proj error: %s\n", proj_errno_string(proj_errno(libProj))); + assert(libProj); + currentProj = code; + // libProj->over = 1; // allow longitude > 180° +@@ -106,23 +106,23 @@ void Projection_libproj::setProjection(int code) + Projection_libproj::~Projection_libproj() + { + if (libProj != nullptr) { +- pj_free(libProj); ++ proj_destroy(libProj); + } + } + + //------------------------------------------------------------------------------- + void Projection_libproj::map2screen(double x, double y, int *i, int *j) const + { +- projUV data, res; ++ PJ_COORD data, res; + if (y <= -90.0) + y = -90.0+1e-5; + if (y >= 90.0) + y = 90.0-1e-5; +- data.v = y * DEG_TO_RAD; +- data.u = x * DEG_TO_RAD; +- res = pj_fwd(data, libProj); +- *i = (int) (W/2.0 + scale * (res.u/111319.0-CX) + 0.5); +- *j = (int) (H/2.0 - scale * (res.v/111319.0-CY) + 0.5); ++ data.uv.v = y; ++ data.uv.u = x; ++ res = proj_trans(libProj, PJ_FWD, data); ++ *i = (int) (W/2.0 + scale * (res.uv.u/111319.0-CX) + 0.5); ++ *j = (int) (H/2.0 - scale * (res.uv.v/111319.0-CY) + 0.5); + //printf("PROJ map2screen (%f %f) -> (%3d %3d)\n", x,y, *i,*j); + } + +@@ -130,12 +130,12 @@ void Projection_libproj::map2screen(double x, double y, int *i, int *j) const + //------------------------------------------------------------------------------- + void Projection_libproj::screen2map(int i, int j, double *x, double *y) const + { +- projUV data, res; +- data.u = ((i-W/2.0)/scale+ CX)*111319.0 ; +- data.v = ((H/2.0-j)/scale+ CY)*111319.0 ; +- res = pj_inv(data, libProj); +- *x = (double)(res.u*RAD_TO_DEG); +- *y = (double)(res.v*RAD_TO_DEG); ++ PJ_COORD data, res; ++ data.uv.u = ((i-W/2.0)/scale+ CX)*111319.0 ; ++ data.uv.v = ((H/2.0-j)/scale+ CY)*111319.0 ; ++ res = proj_trans(libProj, PJ_INV, data); ++ *x = (double)(res.uv.u); ++ *y = (double)(res.uv.v); + //printf("PROJ screen2map (%3d %3d) -> (%f %f)\n", i,j, *x,*y); + } + //-------------------------------------------------------------- +-- +2.35.1 diff --git a/app-misc/xygrib/xygrib-1.2.6.1.recipe b/app-misc/xygrib/xygrib-1.2.6.1.recipe index 550f3ebd1..e79106740 100644 --- a/app-misc/xygrib/xygrib-1.2.6.1.recipe +++ b/app-misc/xygrib/xygrib-1.2.6.1.recipe @@ -11,7 +11,7 @@ models found on sister site OpenSkiron.org" HOMEPAGE="https://opengribs.org/" COPYRIGHT="2008-2012 - Jacques Zaninetti" LICENSE="GNU GPL v3" -REVISION="1" +REVISION="2" SOURCE_URI="https://github.com/opengribs/XyGrib/archive/v$portVersion.tar.gz" SOURCE_URI_2="https://github.com/opengribs/XyGrib/releases/download/v1.1.1/XyGrib___High_Resolution_Maps.tar.gz" SOURCE_URI_3="https://github.com/opengribs/XyGrib/releases/download/v1.2.6.1/XyGrib__Languages_v1.2.6.tgz" @@ -81,7 +81,6 @@ BUILD() cp -r $sourceDir4/* $sourceDir/data/gis cmake -B build -S . \ - $cmakeDirArgs \ -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_PREFIX=$appsDir make -C build $jobArgs