git: ea54e4010f37 - main - cad/kicad: support of OpenCascade 7.8.0

From: Thierry Thomas <thierry_at_FreeBSD.org>
Date: Thu, 21 Mar 2024 18:02:16 UTC
The branch main has been updated by thierry:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ea54e4010f3762d05c4bb08fbd0936be88ae417c

commit ea54e4010f3762d05c4bb08fbd0936be88ae417c
Author:     Thierry Thomas <thierry@FreeBSD.org>
AuthorDate: 2024-03-17 14:36:19 +0000
Commit:     Thierry Thomas <thierry@FreeBSD.org>
CommitDate: 2024-03-21 18:01:18 +0000

    cad/kicad: support of OpenCascade 7.8.0
    
    Patch taken from OpenBSD, by Johannes Thyssen Tishman.
    
    PR:             277310
    Approved by:    maintainer’s time-out
---
 cad/kicad/Makefile                                 |  2 +-
 cad/kicad/files/patch-cmake_FindOCC.cmake          | 35 +++++++++++++++++++
 ...on.cmake => patch-cmake_KiCadFullVersion.cmake} |  4 +--
 .../files/patch-eeschema_sim_sim__plot__frame.cpp  |  4 +--
 .../files/patch-job_use_dynamic_cast_for_updating  | 40 ++++++++++------------
 ...atch-pcbnew_import__gfx_dxf__import__plugin.cpp | 12 +++----
 .../files/patch-thirdparty_glew_CMakeLists.txt     |  4 +--
 7 files changed, 66 insertions(+), 35 deletions(-)

diff --git a/cad/kicad/Makefile b/cad/kicad/Makefile
index cb7500771af8..e9edb9fac51b 100644
--- a/cad/kicad/Makefile
+++ b/cad/kicad/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	kicad
 PORTVERSION=	7.0.2
-PORTREVISION=	5
+PORTREVISION=	6
 PORTEPOCH=	2
 CATEGORIES=	cad
 MASTER_SITES=	https://gitlab.com/${PORTNAME}/code/${PORTNAME}/-/archive/${DISTVERSION}${DISTVERSIONSUFFIX}/
diff --git a/cad/kicad/files/patch-cmake_FindOCC.cmake b/cad/kicad/files/patch-cmake_FindOCC.cmake
new file mode 100644
index 000000000000..88569eabb1a4
--- /dev/null
+++ b/cad/kicad/files/patch-cmake_FindOCC.cmake
@@ -0,0 +1,35 @@
+--- cmake/FindOCC.cmake.orig	2023-04-13 20:27:39 UTC
++++ cmake/FindOCC.cmake
+@@ -45,7 +45,7 @@ set( OCC_LIBS
+     TKGeomAlgo
+     TKGeomBase
+     TKHLR
+-    TKIGES
++    TKDEIGES
+     TKLCAF
+     TKMath
+     TKMesh
+@@ -55,18 +55,15 @@ set( OCC_LIBS
+     TKPrim
+     TKService
+     TKShHealing
+-    TKSTEP209
+-    TKSTEPAttr
+-    TKSTEPBase
+-    TKSTEP
+-    TKSTL
++    TKDESTEP
++    TKDESTL
+     TKTObj
+     TKTopAlgo
+     TKV3d
+-    TKVRML
++    TKDEVRML
+     TKXCAF
+-    TKXDEIGES
+-    TKXDESTEP
++    TKXSDRAWIGES
++    TKXSDRAWSTEP
+     TKXMesh
+     TKXmlL
+     TKXml
diff --git a/cad/kicad/files/patch-CMakeModules_KiCadFullVersion.cmake b/cad/kicad/files/patch-cmake_KiCadFullVersion.cmake
similarity index 75%
rename from cad/kicad/files/patch-CMakeModules_KiCadFullVersion.cmake
rename to cad/kicad/files/patch-cmake_KiCadFullVersion.cmake
index 654deae40d10..39dea0eea338 100644
--- a/cad/kicad/files/patch-CMakeModules_KiCadFullVersion.cmake
+++ b/cad/kicad/files/patch-cmake_KiCadFullVersion.cmake
@@ -1,5 +1,5 @@
---- ./cmake/KiCadFullVersion.cmake.orig	2023-01-25 21:49:08.004539000 +0100
-+++ ./cmake/KiCadFullVersion.cmake	2023-01-25 21:49:50.772285000 +0100
+--- cmake/KiCadFullVersion.cmake.orig	2023-04-13 20:27:39 UTC
++++ cmake/KiCadFullVersion.cmake
 @@ -27,10 +27,6 @@
  # repository), or the version from KiCadVersion.cmake. The user-provided
  # KICAD_VERSION_EXTRA is then appended to the base version string.
diff --git a/cad/kicad/files/patch-eeschema_sim_sim__plot__frame.cpp b/cad/kicad/files/patch-eeschema_sim_sim__plot__frame.cpp
index ba2c5ec1a4dd..9f409544dd76 100644
--- a/cad/kicad/files/patch-eeschema_sim_sim__plot__frame.cpp
+++ b/cad/kicad/files/patch-eeschema_sim_sim__plot__frame.cpp
@@ -1,5 +1,5 @@
---- eeschema/sim/sim_plot_frame.cpp.orig	2023-01-25 22:50:55.894239000 +0100
-+++ eeschema/sim/sim_plot_frame.cpp	2023-01-27 00:25:46.086158000 +0100
+--- eeschema/sim/sim_plot_frame.cpp.orig	2023-04-13 20:27:39 UTC
++++ eeschema/sim/sim_plot_frame.cpp
 @@ -27,6 +27,8 @@
  #include <wx/debug.h>
  #include <wx/stc/stc.h>
diff --git a/cad/kicad/files/patch-job_use_dynamic_cast_for_updating b/cad/kicad/files/patch-job_use_dynamic_cast_for_updating
index 9b6be4f43bcd..c86b00d5fd54 100644
--- a/cad/kicad/files/patch-job_use_dynamic_cast_for_updating
+++ b/cad/kicad/files/patch-job_use_dynamic_cast_for_updating
@@ -17,11 +17,9 @@ Date:   Fri Mar 24 21:59:39 2023 +0100
     Credits to Pero Orsolic for reporting the first cases of this in the
     PDF export in https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=270273 .
 
-diff --git eeschema/eeschema_jobs_handler.cpp eeschema/eeschema_jobs_handler.cpp
-index 61462793ee..ce312d5100 100644
---- eeschema/eeschema_jobs_handler.cpp
+--- eeschema/eeschema_jobs_handler.cpp.orig	2023-04-13 20:27:39 UTC
 +++ eeschema/eeschema_jobs_handler.cpp
-@@ -111,7 +111,7 @@ REPORTER& EESCHEMA_JOBS_HANDLER::Report( const wxString& aText, SEVERITY aSeveri
+@@ -111,7 +111,7 @@ int EESCHEMA_JOBS_HANDLER::JobExportPdf( JOB* aJob )
  
  int EESCHEMA_JOBS_HANDLER::JobExportPdf( JOB* aJob )
  {
@@ -30,7 +28,7 @@ index 61462793ee..ce312d5100 100644
  
      if( !aPdfJob )
          return CLI::EXIT_CODES::ERR_UNKNOWN;
-@@ -147,7 +147,7 @@ int EESCHEMA_JOBS_HANDLER::JobExportPdf( JOB* aJob )
+@@ -147,7 +147,7 @@ int EESCHEMA_JOBS_HANDLER::JobExportSvg( JOB* aJob )
  
  int EESCHEMA_JOBS_HANDLER::JobExportSvg( JOB* aJob )
  {
@@ -39,7 +37,7 @@ index 61462793ee..ce312d5100 100644
  
      if( !aSvgJob )
          return CLI::EXIT_CODES::ERR_UNKNOWN;
-@@ -183,7 +183,7 @@ int EESCHEMA_JOBS_HANDLER::JobExportSvg( JOB* aJob )
+@@ -183,7 +183,7 @@ int EESCHEMA_JOBS_HANDLER::JobExportNetlist( JOB* aJob
  
  int EESCHEMA_JOBS_HANDLER::JobExportNetlist( JOB* aJob )
  {
@@ -48,7 +46,7 @@ index 61462793ee..ce312d5100 100644
  
      if( !aNetJob )
          return CLI::EXIT_CODES::ERR_UNKNOWN;
-@@ -281,7 +281,7 @@ int EESCHEMA_JOBS_HANDLER::JobExportNetlist( JOB* aJob )
+@@ -281,7 +281,7 @@ int EESCHEMA_JOBS_HANDLER::JobExportPythonBom( JOB* aJ
  
  int EESCHEMA_JOBS_HANDLER::JobExportPythonBom( JOB* aJob )
  {
@@ -57,7 +55,7 @@ index 61462793ee..ce312d5100 100644
  
      SCHEMATIC* sch = EESCHEMA_HELPERS::LoadSchematic( aNetJob->m_filename, SCH_IO_MGR::SCH_KICAD );
  
-@@ -447,7 +447,7 @@ int EESCHEMA_JOBS_HANDLER::doSymExportSvg( JOB_SYM_EXPORT_SVG*         aSvgJob,
+@@ -447,7 +447,7 @@ int EESCHEMA_JOBS_HANDLER::JobSymExportSvg( JOB* aJob 
  
  int EESCHEMA_JOBS_HANDLER::JobSymExportSvg( JOB* aJob )
  {
@@ -66,7 +64,7 @@ index 61462793ee..ce312d5100 100644
  
      wxFileName fn( svgJob->m_libraryPath );
      fn.MakeAbsolute();
-@@ -510,7 +510,7 @@ int EESCHEMA_JOBS_HANDLER::JobSymExportSvg( JOB* aJob )
+@@ -510,7 +510,7 @@ int EESCHEMA_JOBS_HANDLER::JobSymUpgrade( JOB* aJob )
  
  int EESCHEMA_JOBS_HANDLER::JobSymUpgrade( JOB* aJob )
  {
@@ -75,11 +73,9 @@ index 61462793ee..ce312d5100 100644
  
      wxFileName fn( upgradeJob->m_libraryPath );
      fn.MakeAbsolute();
-diff --git pcbnew/pcbnew_jobs_handler.cpp pcbnew/pcbnew_jobs_handler.cpp
-index be0f806dea..e045f864de 100644
---- pcbnew/pcbnew_jobs_handler.cpp
+--- pcbnew/pcbnew_jobs_handler.cpp.orig	2023-04-13 20:27:39 UTC
 +++ pcbnew/pcbnew_jobs_handler.cpp
-@@ -76,7 +76,7 @@ PCBNEW_JOBS_HANDLER::PCBNEW_JOBS_HANDLER()
+@@ -76,7 +76,7 @@ int PCBNEW_JOBS_HANDLER::JobExportStep( JOB* aJob )
  
  int PCBNEW_JOBS_HANDLER::JobExportStep( JOB* aJob )
  {
@@ -88,7 +84,7 @@ index be0f806dea..e045f864de 100644
  
      if( aStepJob == nullptr )
          return CLI::EXIT_CODES::ERR_UNKNOWN;
-@@ -119,7 +119,7 @@ int PCBNEW_JOBS_HANDLER::JobExportStep( JOB* aJob )
+@@ -119,7 +119,7 @@ int PCBNEW_JOBS_HANDLER::JobExportSvg( JOB* aJob )
  
  int PCBNEW_JOBS_HANDLER::JobExportSvg( JOB* aJob )
  {
@@ -97,7 +93,7 @@ index be0f806dea..e045f864de 100644
  
      if( aSvgJob == nullptr )
          return CLI::EXIT_CODES::ERR_UNKNOWN;
-@@ -152,7 +152,7 @@ int PCBNEW_JOBS_HANDLER::JobExportSvg( JOB* aJob )
+@@ -152,7 +152,7 @@ int PCBNEW_JOBS_HANDLER::JobExportDxf( JOB* aJob )
  
  int PCBNEW_JOBS_HANDLER::JobExportDxf( JOB* aJob )
  {
@@ -106,7 +102,7 @@ index be0f806dea..e045f864de 100644
  
      if( aDxfJob == nullptr )
          return CLI::EXIT_CODES::ERR_UNKNOWN;
-@@ -207,7 +207,7 @@ int PCBNEW_JOBS_HANDLER::JobExportDxf( JOB* aJob )
+@@ -207,7 +207,7 @@ int PCBNEW_JOBS_HANDLER::JobExportPdf( JOB* aJob )
  
  int PCBNEW_JOBS_HANDLER::JobExportPdf( JOB* aJob )
  {
@@ -115,7 +111,7 @@ index be0f806dea..e045f864de 100644
  
      if( aPdfJob == nullptr )
          return CLI::EXIT_CODES::ERR_UNKNOWN;
-@@ -257,7 +257,7 @@ int PCBNEW_JOBS_HANDLER::JobExportPdf( JOB* aJob )
+@@ -257,7 +257,7 @@ int PCBNEW_JOBS_HANDLER::JobExportGerbers( JOB* aJob )
  
  int PCBNEW_JOBS_HANDLER::JobExportGerbers( JOB* aJob )
  {
@@ -124,7 +120,7 @@ index be0f806dea..e045f864de 100644
  
      if( aGerberJob == nullptr )
          return CLI::EXIT_CODES::ERR_UNKNOWN;
-@@ -368,7 +368,7 @@ void PCBNEW_JOBS_HANDLER::populateGerberPlotOptionsFromJob( PCB_PLOT_PARAMS&
+@@ -368,7 +368,7 @@ int PCBNEW_JOBS_HANDLER::JobExportGerber( JOB* aJob )
  
  int PCBNEW_JOBS_HANDLER::JobExportGerber( JOB* aJob )
  {
@@ -133,7 +129,7 @@ index be0f806dea..e045f864de 100644
  
      if( aGerberJob == nullptr )
          return CLI::EXIT_CODES::ERR_UNKNOWN;
-@@ -414,7 +414,7 @@ static DRILL_PRECISION precisionListForMetric( 3, 3 );
+@@ -414,7 +414,7 @@ int PCBNEW_JOBS_HANDLER::JobExportDrill( JOB* aJob )
  
  int PCBNEW_JOBS_HANDLER::JobExportDrill( JOB* aJob )
  {
@@ -142,7 +138,7 @@ index be0f806dea..e045f864de 100644
  
      if( aDrillJob == nullptr )
          return CLI::EXIT_CODES::ERR_UNKNOWN;
-@@ -522,7 +522,7 @@ int PCBNEW_JOBS_HANDLER::JobExportDrill( JOB* aJob )
+@@ -522,7 +522,7 @@ int PCBNEW_JOBS_HANDLER::JobExportPos( JOB* aJob )
  
  int PCBNEW_JOBS_HANDLER::JobExportPos( JOB* aJob )
  {
@@ -151,7 +147,7 @@ index be0f806dea..e045f864de 100644
  
      if( aPosJob == nullptr )
          return CLI::EXIT_CODES::ERR_UNKNOWN;
-@@ -597,7 +597,7 @@ extern FOOTPRINT* try_load_footprint( const wxFileName& aFileName, IO_MGR::PCB_F
+@@ -597,7 +597,7 @@ int PCBNEW_JOBS_HANDLER::JobExportFpUpgrade( JOB* aJob
  
  int PCBNEW_JOBS_HANDLER::JobExportFpUpgrade( JOB* aJob )
  {
@@ -160,7 +156,7 @@ index be0f806dea..e045f864de 100644
  
      if( upgradeJob == nullptr )
          return CLI::EXIT_CODES::ERR_UNKNOWN;
-@@ -668,7 +668,7 @@ int PCBNEW_JOBS_HANDLER::JobExportFpUpgrade( JOB* aJob )
+@@ -668,7 +668,7 @@ int PCBNEW_JOBS_HANDLER::JobExportFpSvg( JOB* aJob )
  
  int PCBNEW_JOBS_HANDLER::JobExportFpSvg( JOB* aJob )
  {
diff --git a/cad/kicad/files/patch-pcbnew_import__gfx_dxf__import__plugin.cpp b/cad/kicad/files/patch-pcbnew_import__gfx_dxf__import__plugin.cpp
index aee69e61ffff..82200f8c0966 100644
--- a/cad/kicad/files/patch-pcbnew_import__gfx_dxf__import__plugin.cpp
+++ b/cad/kicad/files/patch-pcbnew_import__gfx_dxf__import__plugin.cpp
@@ -1,5 +1,5 @@
---- pcbnew/import_gfx/dxf_import_plugin.cpp.orig	2023-01-25 22:16:35.742131000 +0100
-+++ pcbnew/import_gfx/dxf_import_plugin.cpp	2023-01-25 23:02:52.939723000 +0100
+--- pcbnew/import_gfx/dxf_import_plugin.cpp.orig	2023-04-13 20:27:39 UTC
++++ pcbnew/import_gfx/dxf_import_plugin.cpp
 @@ -28,6 +28,9 @@
  // like void DXF_IMPORT_PLUGIN::addLine( const DL_LineData& data ) when a line is read.
  // this function just add the BOARD entity from dxf parameters (start and end point ...)
@@ -10,7 +10,7 @@
  
  #include "dxf_import_plugin.h"
  #include <wx/arrstr.h>
-@@ -580,7 +583,7 @@
+@@ -580,7 +583,7 @@ void DXF_IMPORT_PLUGIN::addEllipse( const DL_EllipseDa
      // For now, we assume ellipses in the XY plane.
  
      VECTOR2D center( mapX( centerCoords.x ), mapY( centerCoords.y ) );
@@ -19,7 +19,7 @@
  
      // DXF elliptical arcs store their angles in radians (unlike circular arcs which use degrees)
      // The arcs wind CCW as in KiCad.  The end angle must be greater than the start angle, and if
-@@ -598,7 +601,7 @@
+@@ -598,7 +601,7 @@ void DXF_IMPORT_PLUGIN::addEllipse( const DL_EllipseDa
  
      if( aData.ratio == 1.0 )
      {
@@ -28,7 +28,7 @@
  
          if( startAngle == endAngle )
          {
-@@ -616,7 +619,7 @@
+@@ -616,7 +619,7 @@ void DXF_IMPORT_PLUGIN::addEllipse( const DL_EllipseDa
      }
  
      std::vector<BEZIER<double>> splines;
@@ -37,7 +37,7 @@
  
      TransformEllipseToBeziers( ellipse, splines );
  
-@@ -630,8 +633,8 @@
+@@ -630,8 +633,8 @@ void DXF_IMPORT_PLUGIN::addEllipse( const DL_EllipseDa
          bufferToUse->AddSpline( b.Start, b.C1, b.C2, b.End, lineWidth );
  
      // Naive bounding
diff --git a/cad/kicad/files/patch-thirdparty_glew_CMakeLists.txt b/cad/kicad/files/patch-thirdparty_glew_CMakeLists.txt
index 18c5a496dd6c..07d970b22fa6 100644
--- a/cad/kicad/files/patch-thirdparty_glew_CMakeLists.txt
+++ b/cad/kicad/files/patch-thirdparty_glew_CMakeLists.txt
@@ -1,6 +1,6 @@
---- thirdparty/glew/CMakeLists.txt.orig	2022-05-07 15:44:23 +0200
+--- thirdparty/glew/CMakeLists.txt.orig	2023-04-13 20:27:39 UTC
 +++ thirdparty/glew/CMakeLists.txt
-@@ -5,6 +5,7 @@
+@@ -5,6 +5,7 @@ target_include_directories( glew PRIVATE "${CMAKE_CURR
  # The actual include directories will be added to the global include paths as
  # system headers
  target_include_directories( glew PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include" )