From c8a77dfe4d3d307c1d5dd2650b7297447d8b609d Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sat, 12 Jan 2019 16:58:08 +0000 Subject: gentoo resync : 12.01.2019 --- sci-electronics/kicad/files/kicad-help-path.patch | 117 ++++++++++++++++++++++ 1 file changed, 117 insertions(+) create mode 100644 sci-electronics/kicad/files/kicad-help-path.patch (limited to 'sci-electronics/kicad/files') diff --git a/sci-electronics/kicad/files/kicad-help-path.patch b/sci-electronics/kicad/files/kicad-help-path.patch new file mode 100644 index 000000000000..0fb43c3550ce --- /dev/null +++ b/sci-electronics/kicad/files/kicad-help-path.patch @@ -0,0 +1,117 @@ +diff -Naur kicad-5.0.1-orig/CMakeLists.txt kicad-5.0.1/CMakeLists.txt +--- kicad-5.0.1-orig/CMakeLists.txt 2018-10-08 14:14:38.000000000 -0700 ++++ kicad-5.0.1/CMakeLists.txt 2018-12-25 00:04:50.423849671 -0800 +@@ -418,6 +418,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.0.1-orig/CMakeModules/config.h.cmake kicad-5.0.1/CMakeModules/config.h.cmake +--- kicad-5.0.1-orig/CMakeModules/config.h.cmake 2018-10-08 14:14:38.000000000 -0700 ++++ kicad-5.0.1/CMakeModules/config.h.cmake 2018-12-25 00:04:39.215828924 -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.0.1-orig/common/searchhelpfilefullpath.cpp kicad-5.0.1/common/searchhelpfilefullpath.cpp +--- kicad-5.0.1-orig/common/searchhelpfilefullpath.cpp 2018-10-08 14:14:38.000000000 -0700 ++++ kicad-5.0.1/common/searchhelpfilefullpath.cpp 2018-12-25 00:04:05.576771741 -0800 +@@ -25,7 +25,7 @@ + + #include + #include +-#include // to define DEFAULT_INSTALL_PATH ++#include // to define DEFAULT_INSTALL_PATH and KICAD_HELP + #include + + +@@ -68,6 +68,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. +@@ -75,6 +79,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() ); +@@ -103,16 +108,17 @@ + + // Based on kicad-doc.bzr/CMakeLists.txt, line 20, the help files are + // installed into "/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( wxT( "share" ) ); + subdirs.Add( wxT( "doc" ) ); + subdirs.Add( wxT( "kicad" ) ); + subdirs.Add( wxT( "help" ) ); + ++ // For custom help path installations via ${KICAD_HELP} ++ moresubdirs.Add( wxT( "help" ) ); ++ + // Based on kicad-doc.bzr/CMakeLists.txt, line 35, the help files are + // installed into "/doc/help" for Windows. +- // This is ${KICAD_HELP} var in that CMakeLists.txt file. + // Below we account for an international subdirectory. + altsubdirs.Add( wxT( "doc" ) ); + altsubdirs.Add( wxT( "help" ) ); +@@ -158,6 +164,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 ); + +@@ -187,8 +196,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; -- cgit v1.2.3