diff options
Diffstat (limited to 'sci-electronics/kicad')
-rw-r--r-- | sci-electronics/kicad/files/kicad-5.1.5-ninja-build.patch | 6 | ||||
-rw-r--r-- | sci-electronics/kicad/files/kicad-5.1.5-strict-aliasing.patch | 25 | ||||
-rw-r--r-- | sci-electronics/kicad/files/kicad-algorithm-header.patch | 11 | ||||
-rw-r--r-- | sci-electronics/kicad/files/kicad-metainfo.patch | 12 | ||||
-rw-r--r-- | sci-electronics/kicad/kicad-5.1.5-r2.ebuild (renamed from sci-electronics/kicad/kicad-5.1.5-r1.ebuild) | 17 |
5 files changed, 67 insertions, 4 deletions
diff --git a/sci-electronics/kicad/files/kicad-5.1.5-ninja-build.patch b/sci-electronics/kicad/files/kicad-5.1.5-ninja-build.patch index 3aac927b5bd2..3b4b6a4d2fef 100644 --- a/sci-electronics/kicad/files/kicad-5.1.5-ninja-build.patch +++ b/sci-electronics/kicad/files/kicad-5.1.5-ninja-build.patch @@ -13,8 +13,8 @@ diff -Naur kicad-5.1.5-orig/pcbnew/CMakeLists.txt kicad-5.1.5/pcbnew/CMakeLists. + install( FILES ${CMAKE_CURRENT_BINARY_DIR}/_pcbnew.kiface DESTINATION ${PYTHON_DEST} COMPONENT binary RENAME "_pcbnew.so" ) set( PYMOD_EXT "so" ) endif() - -@@ -827,18 +823,16 @@ + +@@ -792,18 +788,16 @@ if( KICAD_SCRIPTING_MODULES ) DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/_pcbnew.${PYMOD_EXT} ) else() @@ -41,5 +41,5 @@ diff -Naur kicad-5.1.5-orig/pcbnew/CMakeLists.txt kicad-5.1.5/pcbnew/CMakeLists. + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/_pcbnew.${PYMOD_EXT} + ) endif() - + endif() diff --git a/sci-electronics/kicad/files/kicad-5.1.5-strict-aliasing.patch b/sci-electronics/kicad/files/kicad-5.1.5-strict-aliasing.patch new file mode 100644 index 000000000000..b01a6b7d79f6 --- /dev/null +++ b/sci-electronics/kicad/files/kicad-5.1.5-strict-aliasing.patch @@ -0,0 +1,25 @@ +diff --git a/eeschema/dialogs/dialog_spice_model.cpp b/eeschema/dialogs/dialog_spice_model.cpp +index b265e2363..eb1187d86 100644 +--- a/eeschema/dialogs/dialog_spice_model.cpp ++++ b/eeschema/dialogs/dialog_spice_model.cpp +@@ -34,6 +34,7 @@ + #include <wx/wupdlock.h> + + #include <cctype> ++#include <cstring> + + // Helper function to shorten conditions + static bool empty( const wxTextCtrl* aCtrl ) +@@ -804,9 +804,11 @@ bool DIALOG_SPICE_MODEL::addPwlValue( const wxString& aTime, const wxString& aVa + float timeF; + m_pwlTime->GetValue().ToDouble( &timeD ); + timeF = timeD; ++ long data; ++ std::memcpy( &data, &timeF, sizeof( timeF ) ); + + // Store the time value, so the entries can be sorted +- m_pwlValList->SetItemData( idx, *reinterpret_cast<long*>( &timeF ) ); ++ m_pwlValList->SetItemData( idx, data ); + + // Sort items by timestamp + m_pwlValList->SortItems( comparePwlValues, -1 ); diff --git a/sci-electronics/kicad/files/kicad-algorithm-header.patch b/sci-electronics/kicad/files/kicad-algorithm-header.patch new file mode 100644 index 000000000000..aa118ea6f860 --- /dev/null +++ b/sci-electronics/kicad/files/kicad-algorithm-header.patch @@ -0,0 +1,11 @@ +diff -Naur kicad-5.1.5-orig/common/lib_tree_model.cpp kicad-5.1.5/common/lib_tree_model.cpp +--- kicad-5.1.5-orig/common/lib_tree_model.cpp 2020-05-11 00:36:36.568301297 +0200 ++++ kicad-5.1.5/common/lib_tree_model.cpp 2020-05-11 00:37:50.472359703 +0200 +@@ -21,6 +21,7 @@ + + #include <lib_tree_model.h> + ++#include <algorithm> + #include <eda_pattern_match.h> + #include <lib_tree_item.h> + #include <make_unique.h> diff --git a/sci-electronics/kicad/files/kicad-metainfo.patch b/sci-electronics/kicad/files/kicad-metainfo.patch new file mode 100644 index 000000000000..48a5ef5be507 --- /dev/null +++ b/sci-electronics/kicad/files/kicad-metainfo.patch @@ -0,0 +1,12 @@ +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 2020-05-11 23:51:52.122093410 -0700 +@@ -919,7 +919,7 @@ + set( UNIX_MIME_FILES ${UNIX_MIME_DIR}/mime ) + set( UNIX_ICON_FILES ${UNIX_MIME_DIR}/icons ) + set( UNIX_APPLICATIONS_FILES ${UNIX_MIME_DIR}/applications ) +- set( UNIX_APPDATA_FILES resources/linux/appdata ) ++ set( UNIX_APPDATA_FILES resources/linux/metainfo ) + + # Install Mime directory + install( DIRECTORY ${UNIX_ICON_FILES} diff --git a/sci-electronics/kicad/kicad-5.1.5-r1.ebuild b/sci-electronics/kicad/kicad-5.1.5-r2.ebuild index aaf6a6bf350a..8dbca2a8ae44 100644 --- a/sci-electronics/kicad/kicad-5.1.5-r1.ebuild +++ b/sci-electronics/kicad/kicad-5.1.5-r2.ebuild @@ -57,6 +57,9 @@ CHECKREQS_DISK_BUILD="800M" PATCHES=( "${FILESDIR}"/"${PN}-5.1.5-help.patch" "${FILESDIR}"/"${PN}-5.1.5-ninja-build.patch" + "${FILESDIR}"/"${PN}-5.1.5-strict-aliasing.patch" + "${FILESDIR}"/"${PN}-algorithm-header.patch" + "${FILESDIR}"/"${PN}-metainfo.patch" "${FILESDIR}"/"ldflags.patch" ) @@ -67,11 +70,22 @@ pkg_setup() { check-reqs_pkg_setup } +src_unpack() { + default_src_unpack + # For the metainfo patch to work the kicad.appdata.xml has to be moved to + # avoid QA issue. This is needed because /usr/share/appdata location is + # deprecated, it should not be used anymore by new software. + # Appdata/Metainfo files should be installed into /usr/share/metainfo + # directory. as per + # https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html + mv "${S}/resources/linux/appdata" "${S}/resources/linux/metainfo" || die "Appdata move failed" +} + src_configure() { xdg_environment_reset local mycmakeargs=( - -DKICAD_DOCS="${EPREFIX}/usr/share/doc/${P}" + -DKICAD_DOCS="${EPREFIX}/usr/share/doc/${PF}" -DKICAD_HELP="${EPREFIX}/usr/share/doc/${PN}-doc-${PV}" -DBUILD_GITHUB_PLUGIN="$(usex github)" -DKICAD_SCRIPTING="$(usex python)" @@ -84,6 +98,7 @@ src_configure() { -DKICAD_USE_OCC="$(usex occ)" -DKICAD_USE_OCE="$(usex oce)" -DKICAD_INSTALL_DEMOS="$(usex examples)" + -DCMAKE_SKIP_RPATH="ON" ) use python && mycmakeargs+=( -DPYTHON_DEST="$(python_get_sitedir)" |