Gentoo Archives: gentoo-commits

From: Alexey Shvetsov <alexxy@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: sci-electronics/kicad/, sci-electronics/kicad/files/
Date: Thu, 14 May 2020 10:36:11
Message-Id: 1589452447.0eea69141f8a758b5205b69a1495332aff9e78e9.alexxy@gentoo
1 commit: 0eea69141f8a758b5205b69a1495332aff9e78e9
2 Author: Zoltan Puskas <zoltan <AT> sinustrom <DOT> info>
3 AuthorDate: Thu Dec 19 10:26:24 2019 +0000
4 Commit: Alexey Shvetsov <alexxy <AT> gentoo <DOT> org>
5 CommitDate: Thu May 14 10:34:07 2020 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0eea6914
7
8 sci-electronics/kicad: Fix build failure and QA
9
10 Fix recent build failure in KiCAD. Also apply backported
11 patches from upstream to address QA issues that remained
12 since introducing this version of the ebuild.
13
14 Package-Manager: Portage-2.3.80, Repoman-2.3.19
15 Signed-off-by: Zoltan Puskas <zoltan <AT> sinustrom.info>
16 Closes: https://bugs.gentoo.org/682480
17 Closes: https://bugs.gentoo.org/722288
18 Signed-off-by: Alexey Shvetsov <alexxy <AT> gentoo.org>
19
20 .../kicad/files/kicad-5.1.5-ninja-build.patch | 6 +++---
21 .../kicad/files/kicad-5.1.5-strict-aliasing.patch | 25 ++++++++++++++++++++++
22 .../kicad/files/kicad-algorithm-header.patch | 11 ++++++++++
23 sci-electronics/kicad/files/kicad-metainfo.patch | 12 +++++++++++
24 ...kicad-5.1.5-r1.ebuild => kicad-5.1.5-r2.ebuild} | 17 ++++++++++++++-
25 5 files changed, 67 insertions(+), 4 deletions(-)
26
27 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
28 index 3aac927b5bd..3b4b6a4d2fe 100644
29 --- a/sci-electronics/kicad/files/kicad-5.1.5-ninja-build.patch
30 +++ b/sci-electronics/kicad/files/kicad-5.1.5-ninja-build.patch
31 @@ -13,8 +13,8 @@ diff -Naur kicad-5.1.5-orig/pcbnew/CMakeLists.txt kicad-5.1.5/pcbnew/CMakeLists.
32 + install( FILES ${CMAKE_CURRENT_BINARY_DIR}/_pcbnew.kiface DESTINATION ${PYTHON_DEST} COMPONENT binary RENAME "_pcbnew.so" )
33 set( PYMOD_EXT "so" )
34 endif()
35 -
36 -@@ -827,18 +823,16 @@
37 +
38 +@@ -792,18 +788,16 @@ if( KICAD_SCRIPTING_MODULES )
39 DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/_pcbnew.${PYMOD_EXT}
40 )
41 else()
42 @@ -41,5 +41,5 @@ diff -Naur kicad-5.1.5-orig/pcbnew/CMakeLists.txt kicad-5.1.5/pcbnew/CMakeLists.
43 + DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/_pcbnew.${PYMOD_EXT}
44 + )
45 endif()
46 -
47 +
48 endif()
49
50 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
51 new file mode 100644
52 index 00000000000..b01a6b7d79f
53 --- /dev/null
54 +++ b/sci-electronics/kicad/files/kicad-5.1.5-strict-aliasing.patch
55 @@ -0,0 +1,25 @@
56 +diff --git a/eeschema/dialogs/dialog_spice_model.cpp b/eeschema/dialogs/dialog_spice_model.cpp
57 +index b265e2363..eb1187d86 100644
58 +--- a/eeschema/dialogs/dialog_spice_model.cpp
59 ++++ b/eeschema/dialogs/dialog_spice_model.cpp
60 +@@ -34,6 +34,7 @@
61 + #include <wx/wupdlock.h>
62 +
63 + #include <cctype>
64 ++#include <cstring>
65 +
66 + // Helper function to shorten conditions
67 + static bool empty( const wxTextCtrl* aCtrl )
68 +@@ -804,9 +804,11 @@ bool DIALOG_SPICE_MODEL::addPwlValue( const wxString& aTime, const wxString& aVa
69 + float timeF;
70 + m_pwlTime->GetValue().ToDouble( &timeD );
71 + timeF = timeD;
72 ++ long data;
73 ++ std::memcpy( &data, &timeF, sizeof( timeF ) );
74 +
75 + // Store the time value, so the entries can be sorted
76 +- m_pwlValList->SetItemData( idx, *reinterpret_cast<long*>( &timeF ) );
77 ++ m_pwlValList->SetItemData( idx, data );
78 +
79 + // Sort items by timestamp
80 + m_pwlValList->SortItems( comparePwlValues, -1 );
81
82 diff --git a/sci-electronics/kicad/files/kicad-algorithm-header.patch b/sci-electronics/kicad/files/kicad-algorithm-header.patch
83 new file mode 100644
84 index 00000000000..aa118ea6f86
85 --- /dev/null
86 +++ b/sci-electronics/kicad/files/kicad-algorithm-header.patch
87 @@ -0,0 +1,11 @@
88 +diff -Naur kicad-5.1.5-orig/common/lib_tree_model.cpp kicad-5.1.5/common/lib_tree_model.cpp
89 +--- kicad-5.1.5-orig/common/lib_tree_model.cpp 2020-05-11 00:36:36.568301297 +0200
90 ++++ kicad-5.1.5/common/lib_tree_model.cpp 2020-05-11 00:37:50.472359703 +0200
91 +@@ -21,6 +21,7 @@
92 +
93 + #include <lib_tree_model.h>
94 +
95 ++#include <algorithm>
96 + #include <eda_pattern_match.h>
97 + #include <lib_tree_item.h>
98 + #include <make_unique.h>
99
100 diff --git a/sci-electronics/kicad/files/kicad-metainfo.patch b/sci-electronics/kicad/files/kicad-metainfo.patch
101 new file mode 100644
102 index 00000000000..48a5ef5be50
103 --- /dev/null
104 +++ b/sci-electronics/kicad/files/kicad-metainfo.patch
105 @@ -0,0 +1,12 @@
106 +diff -Naur kicad-5.1.5-orig/CMakeLists.txt kicad-5.1.5/CMakeLists.txt
107 +--- kicad-5.1.5-orig/CMakeLists.txt 2019-11-14 09:09:45.000000000 -0800
108 ++++ kicad-5.1.5/CMakeLists.txt 2020-05-11 23:51:52.122093410 -0700
109 +@@ -919,7 +919,7 @@
110 + set( UNIX_MIME_FILES ${UNIX_MIME_DIR}/mime )
111 + set( UNIX_ICON_FILES ${UNIX_MIME_DIR}/icons )
112 + set( UNIX_APPLICATIONS_FILES ${UNIX_MIME_DIR}/applications )
113 +- set( UNIX_APPDATA_FILES resources/linux/appdata )
114 ++ set( UNIX_APPDATA_FILES resources/linux/metainfo )
115 +
116 + # Install Mime directory
117 + install( DIRECTORY ${UNIX_ICON_FILES}
118
119 diff --git a/sci-electronics/kicad/kicad-5.1.5-r1.ebuild b/sci-electronics/kicad/kicad-5.1.5-r2.ebuild
120 similarity index 83%
121 rename from sci-electronics/kicad/kicad-5.1.5-r1.ebuild
122 rename to sci-electronics/kicad/kicad-5.1.5-r2.ebuild
123 index aaf6a6bf350..8dbca2a8ae4 100644
124 --- a/sci-electronics/kicad/kicad-5.1.5-r1.ebuild
125 +++ b/sci-electronics/kicad/kicad-5.1.5-r2.ebuild
126 @@ -57,6 +57,9 @@ CHECKREQS_DISK_BUILD="800M"
127 PATCHES=(
128 "${FILESDIR}"/"${PN}-5.1.5-help.patch"
129 "${FILESDIR}"/"${PN}-5.1.5-ninja-build.patch"
130 + "${FILESDIR}"/"${PN}-5.1.5-strict-aliasing.patch"
131 + "${FILESDIR}"/"${PN}-algorithm-header.patch"
132 + "${FILESDIR}"/"${PN}-metainfo.patch"
133 "${FILESDIR}"/"ldflags.patch"
134 )
135
136 @@ -67,11 +70,22 @@ pkg_setup() {
137 check-reqs_pkg_setup
138 }
139
140 +src_unpack() {
141 + default_src_unpack
142 + # For the metainfo patch to work the kicad.appdata.xml has to be moved to
143 + # avoid QA issue. This is needed because /usr/share/appdata location is
144 + # deprecated, it should not be used anymore by new software.
145 + # Appdata/Metainfo files should be installed into /usr/share/metainfo
146 + # directory. as per
147 + # https://www.freedesktop.org/software/appstream/docs/chap-Metadata.html
148 + mv "${S}/resources/linux/appdata" "${S}/resources/linux/metainfo" || die "Appdata move failed"
149 +}
150 +
151 src_configure() {
152 xdg_environment_reset
153
154 local mycmakeargs=(
155 - -DKICAD_DOCS="${EPREFIX}/usr/share/doc/${P}"
156 + -DKICAD_DOCS="${EPREFIX}/usr/share/doc/${PF}"
157 -DKICAD_HELP="${EPREFIX}/usr/share/doc/${PN}-doc-${PV}"
158 -DBUILD_GITHUB_PLUGIN="$(usex github)"
159 -DKICAD_SCRIPTING="$(usex python)"
160 @@ -84,6 +98,7 @@ src_configure() {
161 -DKICAD_USE_OCC="$(usex occ)"
162 -DKICAD_USE_OCE="$(usex oce)"
163 -DKICAD_INSTALL_DEMOS="$(usex examples)"
164 + -DCMAKE_SKIP_RPATH="ON"
165 )
166 use python && mycmakeargs+=(
167 -DPYTHON_DEST="$(python_get_sitedir)"