diff options
Diffstat (limited to 'sci-electronics/kicad/files/kicad-5.1.5-help.patch')
-rw-r--r-- | sci-electronics/kicad/files/kicad-5.1.5-help.patch | 117 |
1 files changed, 117 insertions, 0 deletions
diff --git a/sci-electronics/kicad/files/kicad-5.1.5-help.patch b/sci-electronics/kicad/files/kicad-5.1.5-help.patch new file mode 100644 index 000000000000..1b37e3013c1e --- /dev/null +++ b/sci-electronics/kicad/files/kicad-5.1.5-help.patch @@ -0,0 +1,117 @@ +diff -Naur kicad-5.1.5-orig/CMakeLists.txt kicad-5.1.5/CMakeLists.txt +--- kicad-5.1.5-orig/CMakeLists.txt 2019-11-14 09:09:45.000000000 -0800 ++++ kicad-5.1.5/CMakeLists.txt 2019-12-15 03:41:57.574995996 -0800 +@@ -442,6 +442,10 @@ + set( KIFACE_PREFIX "_" ) + #message( STATUS "KIFACE_SUFFIX:${KIFACE_SUFFIX} KIFACE_PREFIX:${KIFACE_PREFIX}" ) + ++# KICAD_HELP is the location of the help files accessed from the UI ++# (usually provided via kicad-doc package) ++set ( KICAD_HELP share/doc/kicad ++ CACHE PATH "Alternative location of KiCad help files.") + + #================================================ + # Locations for install targets. +diff -Naur kicad-5.1.5-orig/CMakeModules/config.h.cmake kicad-5.1.5/CMakeModules/config.h.cmake +--- kicad-5.1.5-orig/CMakeModules/config.h.cmake 2019-11-14 09:09:45.000000000 -0800 ++++ kicad-5.1.5/CMakeModules/config.h.cmake 2019-12-15 03:42:00.368013375 -0800 +@@ -59,6 +59,10 @@ + /// The install prefix defined during CMake configuration or fall back to CMAKE_INSTALL_PREFIX. + #define DEFAULT_INSTALL_PATH "@DEFAULT_INSTALL_PATH@" + ++/// KiCad help files path can be different on some systems allow adding alternative, ++/// search path for them. Defaults to CMAKE_INSTALL_PREFIX/share/doc/kicad ++#define KICAD_HELP "@KICAD_HELP@" ++ + /// The wxPython version found during configuration. + #if defined( KICAD_SCRIPTING_WXPYTHON ) + #define WXPYTHON_VERSION "@WXPYTHON_VERSION@" +diff -Naur kicad-5.1.5-orig/common/searchhelpfilefullpath.cpp kicad-5.1.5/common/searchhelpfilefullpath.cpp +--- kicad-5.1.5-orig/common/searchhelpfilefullpath.cpp 2019-11-14 09:09:45.000000000 -0800 ++++ kicad-5.1.5/common/searchhelpfilefullpath.cpp 2019-12-15 03:42:03.168030796 -0800 +@@ -25,7 +25,7 @@ + + #include <pgm_base.h> + #include <common.h> +-#include <config.h> // to define DEFAULT_INSTALL_PATH ++#include <config.h> // to define DEFAULT_INSTALL_PATH and KICAD_HELP + #include <macros.h> + #include <trace_helpers.h> + +@@ -69,6 +69,10 @@ + wxArrayString subdirs; + wxArrayString altsubdirs; + SEARCH_STACK ss = aSStack; ++#if ! defined(__WXMAC__) // && defined(__linux__) ++ SEARCH_STACK altss; ++ wxArrayString moresubdirs; ++#endif + + // It might already be in aSStack, but why depend on other code + // far away when it's so easy to add it again (to our copy) as the first place to look. +@@ -76,6 +80,7 @@ + // This is CMAKE_INSTALL_PREFIX unless DEFAULT_INSTALL_PATH was defined during + // build configuration: + ss.AddPaths( wxT( DEFAULT_INSTALL_PATH ), 0 ); ++ altss.AddPaths( wxT( KICAD_HELP ), 0 ); + + #if defined(__WXMAC__) + ss.AddPaths( GetOSXKicadMachineDataDir() ); +@@ -104,16 +109,17 @@ + + // Based on kicad-doc.bzr/CMakeLists.txt, line 20, the help files are + // installed into "<CMAKE_INSTALL_PREFIX>/share/doc/kicad/help" for linux. +- // This is ${KICAD_HELP} var in that CMakeLists.txt file. + // Below we account for an international subdirectory. + subdirs.Add( "share" ); + subdirs.Add( "doc" ); + subdirs.Add( "kicad" ); + subdirs.Add( "help" ); + ++ // For custom help path installations via ${KICAD_HELP} ++ moresubdirs.Add( "help" ); ++ + // Based on kicad-doc.bzr/CMakeLists.txt, line 35, the help files are + // installed into "<CMAKE_INSTALL_PREFIX>/doc/help" for Windows. +- // This is ${KICAD_HELP} var in that CMakeLists.txt file. + // Below we account for an international subdirectory. + altsubdirs.Add( "doc" ); + altsubdirs.Add( "help" ); +@@ -159,6 +165,9 @@ + { + subdirs.Add( locale_name_dirs[ii] ); + altsubdirs.Add( locale_name_dirs[ii] ); ++#if ! defined(__WXMAC__) // && defined(__linux__) ++ moresubdirs.Add( locale_name_dirs[ii] ); ++#endif + + fn = FindFileInSearchPaths( ss, aBaseName + wxT( ".html" ), &altsubdirs ); + +@@ -188,8 +197,27 @@ + if( !fn.IsEmpty() ) + break; + ++#if ! defined(__WXMAC__) // && defined(__linux__) ++ fn = FindFileInSearchPaths( altss, aBaseName + wxT( ".html" ), &moresubdirs ); ++ ++ if( !fn.IsEmpty() ) ++ { ++ // Prepend URI protocol since we will open in a browser ++ fn = wxT( "file://" ) + fn; ++ break; ++ } ++ ++ fn = FindFileInSearchPaths( altss, aBaseName + wxT( ".pdf" ), &moresubdirs ); ++ ++ if( !fn.IsEmpty() ) ++ break; ++#endif ++ + subdirs.RemoveAt( subdirs.GetCount() - 1 ); + altsubdirs.RemoveAt( altsubdirs.GetCount() - 1 ); ++#if ! defined(__WXMAC__) // && defined(__linux__) ++ moresubdirs.RemoveAt( altsubdirs.GetCount() - 1 ); ++#endif + } + + return fn; |