summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-electronics/kicad')
-rw-r--r--sci-electronics/kicad/Manifest8
-rw-r--r--sci-electronics/kicad/files/kicad-5.1.5-help.patch117
-rw-r--r--sci-electronics/kicad/files/kicad-5.1.5-ldflags.patch17
-rw-r--r--sci-electronics/kicad/files/kicad-5.1.5-strict-aliasing.patch25
-rw-r--r--sci-electronics/kicad/files/kicad-5.1.6-metainfo.patch30
-rw-r--r--sci-electronics/kicad/files/kicad-6.0.6-unitialized-variable-fix.patch12
-rw-r--r--sci-electronics/kicad/files/kicad-7.0.0-werror.patch21
-rw-r--r--sci-electronics/kicad/files/kicad-8.0.1-libgit2.patch36
-rw-r--r--sci-electronics/kicad/files/kicad-scripts-install-fix.patch12
-rw-r--r--sci-electronics/kicad/kicad-5.1.12-r3.ebuild170
-rw-r--r--sci-electronics/kicad/kicad-7.0.10.ebuild176
-rw-r--r--sci-electronics/kicad/kicad-7.0.11.ebuild (renamed from sci-electronics/kicad/kicad-6.0.6.ebuild)65
-rw-r--r--sci-electronics/kicad/kicad-7.0.7.ebuild174
-rw-r--r--sci-electronics/kicad/kicad-8.0.0.ebuild181
-rw-r--r--sci-electronics/kicad/kicad-8.0.1.ebuild181
-rw-r--r--sci-electronics/kicad/kicad-8.0.2-r1.ebuild180
-rw-r--r--sci-electronics/kicad/kicad-9999.ebuild74
-rw-r--r--sci-electronics/kicad/metadata.xml13
18 files changed, 1035 insertions, 457 deletions
diff --git a/sci-electronics/kicad/Manifest b/sci-electronics/kicad/Manifest
index 011976182930..10997a18105d 100644
--- a/sci-electronics/kicad/Manifest
+++ b/sci-electronics/kicad/Manifest
@@ -1,2 +1,6 @@
-DIST kicad-5.1.12.tar.bz2 18581842 BLAKE2B f04369fecded6fb07376efa209ddf5fcc693e73018ed728003529cdd0e6ef4a059c28106db1acf18834d938c3fbe4b9df5b5c8e0874989d35f74cf67414e6c76 SHA512 c0e5ad5b360ef788b427755aa71eeaec1a19b7520a00bb94fafba47e291f6ba067c598004efd515287800cd41f7da399d0389121e53e9669026c62f21b0a65ea
-DIST kicad-6.0.6.tar.gz 45086249 BLAKE2B fbf1f11cbf4838186e1ecb42127f7b182d3cd13b4af147211c85244d361cbf83387f5d102efdc80a63cfff36e343e6c4e07fef7f95dac4c6666844c5bc9d0ec2 SHA512 c472a6b81e3065e0499cad8467527d3531dc4d5861f50079ecb2ae6fccaf2c4d24fbeae8e9fe0cdde5ef548458fcef9615d6539426abe391a629dd539406065a
+DIST kicad-7.0.10.tar.bz2 43991960 BLAKE2B 3e21f575e41a6036ff2a9c3ab17472e51c73612ddadbf88631717b43024e604a8607fff013828823ff4db4d4263ac8e3bcc3b069e3efdfdc66fdb627f60f192a SHA512 f8005e6cb685c4cdc3982eec644f6d4a115138eaa19ca0bd2e6ae07613eac9c98fd7cdc181dd83e6c6d3c4b73ff6a54261ac5448a2a9c53298bc611c1bf408e1
+DIST kicad-7.0.11.tar.bz2 44083805 BLAKE2B d923581f49b3cf48776de56ba12ddc99e942269c0c14950bb6b3413fb616af74a1b4e7095fc746e20125096f7d2e4c7a9f271dd58918b22fa53e8ce7b78fa6f6 SHA512 28d5560ead989dcfb6d3b07e37443de3bf1883bd56604ae20f70c0a068504fd8745f7011507d417f487b86071cec130ac8eb7bda7513d096e78dcc3dc98585aa
+DIST kicad-7.0.7.tar.bz2 44055973 BLAKE2B 4169e111b8d2086572aa2979f09a8119dbc9caf34790ec5e5f3e0972d0a2e93dab6a1c814dc35ae40d5962e7ba93bad83d5930e9dba9b9f2e52f307378519714 SHA512 82eff4a16847c657ae3102af7914539bf7404e8856ca8c94557533a3ddd7b40ff4571b351dab48349d503d413cf293880245a97238516add83e79890325f1067
+DIST kicad-8.0.0.tar.bz2 72430414 BLAKE2B 52bad016249563d9668f08da2103e47c7db706e6749e23ff5c59fd423673db614a1c8681cd0e7927571fe157644e142929891647964c48f45b219e72166c3ebc SHA512 52e605c10fbac0a3c6208f92ab9e567de9074e41495db9619631765a0f20e2da23a2d45610bd367d943e8b4a2d72edf33456007aabcc1f7672b0bb1a93101ce0
+DIST kicad-8.0.1.tar.bz2 72453098 BLAKE2B 67c6b69256566a176ae10affa7ac65879db71f5017dc24312eba904724b2b28caa56f6c82c697d27b34d94f9a8f5448307948e17f17c9750693b192afa3ffab9 SHA512 b6509bb4bfd1cbe87a2f409b70a8ba037a44fb039aaacd9d62868b43925382c0d3aab4c4f7e4bbd646b6ea7cf35fd7318f620a1c8c250c09251349357f2caf11
+DIST kicad-8.0.2.tar.bz2 72713030 BLAKE2B ba47a16b5c435970a45aef9988a5f6d218df043a5ce3547a191991ef63620125989e6218e97266a62c76ece604248bdf0652a10d423346fe3648c8ba240651c4 SHA512 192bcd494f00eccc430ddf9e9034f252bae177f06da81e730fb82f000a58bac9201d49ecba93c3bd17608b6df6a944beea85849050e306e11c1abfbd0028ff4a
diff --git a/sci-electronics/kicad/files/kicad-5.1.5-help.patch b/sci-electronics/kicad/files/kicad-5.1.5-help.patch
deleted file mode 100644
index 1b37e3013c1e..000000000000
--- a/sci-electronics/kicad/files/kicad-5.1.5-help.patch
+++ /dev/null
@@ -1,117 +0,0 @@
-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;
diff --git a/sci-electronics/kicad/files/kicad-5.1.5-ldflags.patch b/sci-electronics/kicad/files/kicad-5.1.5-ldflags.patch
deleted file mode 100644
index 1495037b1b72..000000000000
--- a/sci-electronics/kicad/files/kicad-5.1.5-ldflags.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-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-11-19 02:08:32.309282631 -0800
-@@ -355,10 +355,10 @@
-
- elseif( NOT APPLE )
- # Thou shalt not link vaporware and tell us it's a valid DSO (apple ld doesn't support it)
-- set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" )
-- set( CMAKE_MODULE_LINKER_FLAGS "-Wl,--no-undefined" )
-+ set( CMAKE_SHARED_LINKER_FLAGS "$ENV{LDFLAGS} -Wl,--no-undefined" )
-+ set( CMAKE_MODULE_LINKER_FLAGS "$ENV{LDFLAGS} -Wl,--no-undefined" )
-
-- set( CMAKE_EXE_LINKER_FLAGS_RELEASE "-s" )
-+ set( CMAKE_EXE_LINKER_FLAGS_RELEASE "$ENV{LDFLAGS} -s" )
-
- # Defeat ELF's ability to use the GOT to replace locally implemented functions
- # with ones from another module.
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
deleted file mode 100644
index b01a6b7d79f6..000000000000
--- a/sci-electronics/kicad/files/kicad-5.1.5-strict-aliasing.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-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-5.1.6-metainfo.patch b/sci-electronics/kicad/files/kicad-5.1.6-metainfo.patch
deleted file mode 100644
index 675ff749de8d..000000000000
--- a/sci-electronics/kicad/files/kicad-5.1.6-metainfo.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -Naur kicad-5.1.6-orig/CMakeLists.txt kicad-5.1.6/CMakeLists.txt
---- kicad-5.1.6-orig/CMakeLists.txt 2020-05-11 11:27:08.000000000 -0700
-+++ kicad-5.1.6/CMakeLists.txt 2020-05-25 20:45:57.199559075 -0700
-@@ -929,7 +929,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 ${PROJECT_BINARY_DIR}/resources/linux/appdata )
-+ set( UNIX_APPDATA_FILES ${PROJECT_BINARY_DIR}/resources/linux/metainfo )
-
- # Install Mime directory
- install( DIRECTORY ${UNIX_ICON_FILES}
-diff -Naur kicad-5.1.6-orig/CMakeModules/WritePlatformMetadata_linux.cmake kicad-5.1.6/CMakeModules/WritePlatformMetadata_linux.cmake
---- kicad-5.1.6-orig/CMakeModules/WritePlatformMetadata_linux.cmake 2020-05-11 11:27:08.000000000 -0700
-+++ kicad-5.1.6/CMakeModules/WritePlatformMetadata_linux.cmake 2020-05-25 20:54:51.927438936 -0700
-@@ -36,11 +36,11 @@
- string( TIMESTAMP KICAD_CONFIG_TIMESTAMP "%Y-%m-%d" )
-
- # Configure the KiCad appdata file
--configure_file( ${PROJECT_SOURCE_DIR}/resources/linux/appdata/kicad.appdata.xml.in
-- ${PROJECT_BINARY_DIR}/resources/linux/appdata/kicad.appdata.xml
-+configure_file( ${PROJECT_SOURCE_DIR}/resources/linux/metainfo/kicad.appdata.xml.in
-+ ${PROJECT_BINARY_DIR}/resources/linux/metainfo/kicad.appdata.xml
- @ONLY )
-
- # Ensure the file was configured successfully
--if( NOT EXISTS ${PROJECT_BINARY_DIR}/resources/linux/appdata/kicad.appdata.xml )
-+if( NOT EXISTS ${PROJECT_BINARY_DIR}/resources/linux/metainfo/kicad.appdata.xml )
- message( FATAL_ERROR "Configuration failed to write file kicad.appdata.xml." )
- endif()
diff --git a/sci-electronics/kicad/files/kicad-6.0.6-unitialized-variable-fix.patch b/sci-electronics/kicad/files/kicad-6.0.6-unitialized-variable-fix.patch
deleted file mode 100644
index cce508c1e888..000000000000
--- a/sci-electronics/kicad/files/kicad-6.0.6-unitialized-variable-fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur kicad-6.0.6/common/tool/tool_manager.cpp kicad-6.0.6-new/common/tool/tool_manager.cpp
---- kicad-6.0.6/common/tool/tool_manager.cpp 2022-06-17 18:11:16.000000000 -0700
-+++ kicad-6.0.6-new/common/tool/tool_manager.cpp 2022-06-20 00:17:13.548239632 -0700
-@@ -902,7 +902,7 @@
- m_menuOwner = -1;
-
- // Restore cursor settings
-- for( auto cursorSetting : m_cursorSettings )
-+ for( auto const& cursorSetting : m_cursorSettings )
- {
- auto it = m_toolIdIndex.find( cursorSetting.first );
- wxASSERT( it != m_toolIdIndex.end() );
diff --git a/sci-electronics/kicad/files/kicad-7.0.0-werror.patch b/sci-electronics/kicad/files/kicad-7.0.0-werror.patch
new file mode 100644
index 000000000000..b5fa3b1ae15d
--- /dev/null
+++ b/sci-electronics/kicad/files/kicad-7.0.0-werror.patch
@@ -0,0 +1,21 @@
+From 04fc6081bd3d6575d00589f71150ab796778a9c9 Mon Sep 17 00:00:00 2001
+From: Matthew Smith <matthew@gentoo.org>
+Date: Mon, 20 Feb 2023 17:53:50 +0000
+Subject: [PATCH] build: Remove Werror flag from clipper2
+
+Bug: https://bugs.gentoo.org/895014
+
+--- a/thirdparty/clipper2/CMakeLists.txt
++++ b/thirdparty/clipper2/CMakeLists.txt
+@@ -27,7 +27,7 @@ target_compile_definitions(clipper2 PUBLIC USINGZ)
+ if (MSVC)
+ target_compile_options(clipper2 PRIVATE /W4 /WX)
+ else()
+- target_compile_options(clipper2 PRIVATE -Wall -Wextra -Wpedantic -Werror)
++ target_compile_options(clipper2 PRIVATE -Wall -Wextra -Wpedantic)
+ target_link_libraries(clipper2 PUBLIC -lm)
+ endif()
+
+--
+2.39.2
+
diff --git a/sci-electronics/kicad/files/kicad-8.0.1-libgit2.patch b/sci-electronics/kicad/files/kicad-8.0.1-libgit2.patch
new file mode 100644
index 000000000000..d2523993e6fe
--- /dev/null
+++ b/sci-electronics/kicad/files/kicad-8.0.1-libgit2.patch
@@ -0,0 +1,36 @@
+From: Huang Rui <vowstar@gmail.com>
+Date: Fri, 22 Mar 2024 18:18:40 +0800
+Subject: [PATCH] libgit2-1.8.0 compatibility: adjusted parent pointer type
+
+- Adjusted parent pointer type in git_commit_create call for compatibility
+ with libgit2 1.8.0 and above.
+- Included preprocessor checks to maintain support for versions older than
+ 1.8.0.
+- Ensures consistent function behavior across different libgit2 versions.
+
+Fixes https://gitlab.com/kicad/code/kicad/-/issues/17536
+Signed-off-by: Huang Rui <vowstar@gmail.com>
+---
+ kicad/project_tree_pane.cpp | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/kicad/project_tree_pane.cpp
++++ b/kicad/project_tree_pane.cpp
+@@ -2233,7 +2233,14 @@ void PROJECT_TREE_PANE::onGitCommit( wxCommandEvent& aEvent )
+ }
+
+ git_oid oid;
++ // Check if the libgit2 library version is 1.8.0 or higher
++#if ( LIBGIT2_VER_MAJOR > 1 ) || ( LIBGIT2_VER_MAJOR == 1 && LIBGIT2_VER_MINOR >= 8 )
++ // For libgit2 version 1.8.0 and above
++ git_commit* const parents[1] = { parent };
++#else
++ // For libgit2 versions older than 1.8.0
+ const git_commit* parents[1] = { parent };
++#endif
+
+ if( git_commit_create( &oid, repo, "HEAD", author, author, nullptr, commit_msg.mb_str(), tree,
+ 1, parents ) != 0 )
+--
+2.44.0
+
diff --git a/sci-electronics/kicad/files/kicad-scripts-install-fix.patch b/sci-electronics/kicad/files/kicad-scripts-install-fix.patch
deleted file mode 100644
index d52a05d3bcf5..000000000000
--- a/sci-electronics/kicad/files/kicad-scripts-install-fix.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur kicad-6.0.2-orig/CMakeLists.txt kicad-6.0.2/CMakeLists.txt
---- kicad-6.0.2-orig/CMakeLists.txt 2022-02-10 16:29:07.000000000 -0800
-+++ kicad-6.0.2/CMakeLists.txt 2022-02-13 20:09:37.244713966 -0800
-@@ -950,7 +950,7 @@
- ###
- if( UNIX AND NOT APPLE )
- install( DIRECTORY scripts
-- DESTINATION ${KICAD_DOCS}
-+ DESTINATION ${KICAD_BIN}/scripts
- COMPONENT resources
- PATTERN "*.bat" EXCLUDE
- )
diff --git a/sci-electronics/kicad/kicad-5.1.12-r3.ebuild b/sci-electronics/kicad/kicad-5.1.12-r3.ebuild
deleted file mode 100644
index 2f202db0313a..000000000000
--- a/sci-electronics/kicad/kicad-5.1.12-r3.ebuild
+++ /dev/null
@@ -1,170 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{8,9} )
-
-WX_GTK_VER="3.0-gtk3"
-
-inherit check-reqs cmake optfeature python-single-r1 toolchain-funcs wxwidgets xdg-utils
-
-DESCRIPTION="Electronic Schematic and PCB design tools"
-HOMEPAGE="https://www.kicad.org"
-SRC_URI="https://gitlab.com/kicad/code/${PN}/-/archive/${PV}/${P}.tar.bz2"
-
-LICENSE="GPL-2+ GPL-3+ Boost-1.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="doc examples github +ngspice +occ openmp +python"
-
-REQUIRED_USE="
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-# Depend on opencascade:0 to get unslotted variant (so we know path to it), bug #833301
-COMMON_DEPEND="
- >=dev-libs/boost-1.61:=[context,nls,threads(+)]
- media-libs/freeglut
- media-libs/glew:0=
- >=media-libs/glm-0.9.9.1
- media-libs/mesa[X(+)]
- >=x11-libs/cairo-1.8.8:=
- >=x11-libs/pixman-0.30
- x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
- github? ( net-misc/curl:=[ssl] )
- ngspice? (
- >sci-electronics/ngspice-27[shared]
- )
- occ? ( <sci-libs/opencascade-7.5.3:0=[vtk(+)] )
- python? (
- $(python_gen_cond_dep '
- >=dev-libs/boost-1.61:=[context,nls,threads(+),python,${PYTHON_USEDEP}]
- dev-python/wxpython:4.0[${PYTHON_USEDEP}]
- ')
- ${PYTHON_DEPS}
- )
-"
-DEPEND="${COMMON_DEPEND}
- python? ( >=dev-lang/swig-3.0:0 )"
-RDEPEND="${COMMON_DEPEND}
- sci-electronics/electronics-menu
-"
-BDEPEND="doc? ( app-doc/doxygen )"
-CHECKREQS_DISK_BUILD="800M"
-
-PATCHES=(
- "${FILESDIR}/${PN}-5.1.5-help.patch"
- "${FILESDIR}/${PN}-5.1.5-strict-aliasing.patch"
- "${FILESDIR}/${PN}-5.1.6-metainfo.patch"
- "${FILESDIR}/${PN}-5.1.5-ldflags.patch"
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-
- use python && python-single-r1_pkg_setup
- setup-wxwidgets
- 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_prepare() {
- # Fix OpenCASCADE lookup
- sed -e 's|/usr/include/opencascade|${CASROOT}/include/opencascade|' \
- -e 's|/usr/lib|${CASROOT}/'$(get_libdir)' NO_DEFAULT_PATH|' \
- -i CMakeModules/FindOpenCASCADE.cmake || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- xdg_environment_reset
-
- local mycmakeargs=(
- -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)"
- -DKICAD_SCRIPTING_MODULES="$(usex python)"
- -DKICAD_SCRIPTING_WXPYTHON="$(usex python)"
- -DKICAD_SCRIPTING_WXPYTHON_PHOENIX="$(usex python)"
- -DKICAD_SCRIPTING_PYTHON3="$(usex python)"
- -DKICAD_SCRIPTING_ACTION_MENU="$(usex python)"
- -DKICAD_SPICE="$(usex ngspice)"
- -DKICAD_USE_OCC="$(usex occ)"
- -DKICAD_INSTALL_DEMOS="$(usex examples)"
- -DCMAKE_SKIP_RPATH="ON"
- )
- use python && mycmakeargs+=(
- -DPYTHON_DEST="$(python_get_sitedir)"
- -DPYTHON_EXECUTABLE="${PYTHON}"
- -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
- -DPYTHON_LIBRARY="$(python_get_library_path)"
- )
- if use occ; then
- mycmakeargs+=(
- -DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade
- -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/opencascade
- )
- fi
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- if use doc; then
- cmake_src_compile dev-docs doxygen-docs
- fi
-}
-
-src_install() {
- cmake_src_install
- use python && python_optimize
- if use doc ; then
- dodoc uncrustify.cfg
- cd Documentation || die
- dodoc -r *.txt kicad_doxygen_logo.png notes_about_pcbnew_new_file_format.odt doxygen/. development/doxygen/.
- fi
-}
-
-src_test() {
- # Test cannot find library in Portage's sandbox. Let's create a link so test can run.
- ln -s "${S}_build/eeschema/_eeschema.kiface" "${S}_build/qa/eeschema/_eeschema.kiface" || die
-
- default
-}
-
-pkg_postinst() {
- optfeature "Component symbols library" sci-electronics/kicad-symbols
- optfeature "Component footprints library" sci-electronics/kicad-footprints
- optfeature "3D models of components " sci-electronics/kicad-packages3d
- optfeature "Project templates" sci-electronics/kicad-templates
- optfeature "Different languages for GUI" sci-electronics/kicad-i18n
- optfeature "Extended documentation" app-doc/kicad-doc
- optfeature "Creating 3D models of components" media-gfx/wings
-
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
- xdg_icon_cache_update
-}
diff --git a/sci-electronics/kicad/kicad-7.0.10.ebuild b/sci-electronics/kicad/kicad-7.0.10.ebuild
new file mode 100644
index 000000000000..01d0cff6c0d7
--- /dev/null
+++ b/sci-electronics/kicad/kicad-7.0.10.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+WX_GTK_VER="3.2-gtk3"
+
+inherit check-reqs cmake optfeature python-single-r1 toolchain-funcs wxwidgets xdg-utils
+
+DESCRIPTION="Electronic Schematic and PCB design tools"
+HOMEPAGE="https://www.kicad.org"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.com/kicad/code/kicad.git"
+ inherit git-r3
+else
+ MY_PV="${PV/_rc/-rc}"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="https://gitlab.com/kicad/code/${PN}/-/archive/${MY_PV}/${MY_P}.tar.bz2 -> ${P}.tar.bz2"
+ S="${WORKDIR}/${PN}-${MY_PV}"
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="amd64 ~arm64 ~riscv ~x86"
+ fi
+fi
+
+# BSD for bundled pybind
+LICENSE="GPL-2+ GPL-3+ Boost-1.0 BSD"
+SLOT="0"
+IUSE="doc examples nls openmp test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="!test? ( test )"
+
+# Contains bundled pybind but it's patched for wx
+# See https://gitlab.com/kicad/code/kicad/-/commit/74e4370a9b146b21883d6a2d1df46c7a10bd0424
+# Depend on opencascade:0 to get unslotted variant (so we know path to it), bug #833301
+# Depend wxGTK version needs to be limited due to switch from EGL to GLX, bug #911120
+COMMON_DEPEND="
+ dev-db/unixODBC
+ dev-libs/boost:=[context,nls]
+ media-libs/freeglut
+ media-libs/glew:0=
+ >=media-libs/glm-0.9.9.1
+ media-libs/mesa[X(+)]
+ net-misc/curl
+ >=sci-libs/opencascade-7.3.0:0=
+ <sci-libs/opencascade-7.8.0:0=
+ >=x11-libs/cairo-1.8.8:=
+ >=x11-libs/pixman-0.30
+ >sci-electronics/ngspice-27[shared]
+ sys-libs/zlib
+ >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl]
+ $(python_gen_cond_dep '
+ dev-libs/boost:=[context,nls,python,${PYTHON_USEDEP}]
+ >=dev-python/wxpython-4.2.0:*[${PYTHON_USEDEP}]
+ ')
+ ${PYTHON_DEPS}
+ nls? (
+ sys-devel/gettext
+ )
+ test? (
+ media-gfx/cairosvg
+ )
+"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}
+ sci-electronics/electronics-menu
+"
+BDEPEND=">=dev-lang/swig-4.0
+ doc? ( app-text/doxygen )"
+
+if [[ ${PV} == 9999 ]] ; then
+ # x11-misc-util/macros only required on live ebuilds
+ BDEPEND+=" >=x11-misc/util-macros-1.18"
+fi
+
+CHECKREQS_DISK_BUILD="1500M"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.0-werror.patch
+)
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ python-single-r1_pkg_setup
+ setup-wxwidgets
+ check-reqs_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ default_src_unpack
+ fi
+}
+
+src_configure() {
+ xdg_environment_reset
+
+ local mycmakeargs=(
+ -DKICAD_DOCS="${EPREFIX}/usr/share/doc/${PN}-doc-${PV}"
+
+ -DKICAD_SCRIPTING_WXPYTHON=ON
+ -DKICAD_USE_EGL=OFF
+
+ -DKICAD_BUILD_I18N="$(usex nls)"
+ -DKICAD_I18N_UNIX_STRICT_PATH="$(usex nls)"
+
+ -DPYTHON_DEST="$(python_get_sitedir)"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DPYTHON_LIBRARY="$(python_get_library_path)"
+
+ -DKICAD_INSTALL_DEMOS="$(usex examples)"
+ -DCMAKE_SKIP_RPATH="ON"
+
+ -DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade
+ -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/opencascade
+
+ -DKICAD_BUILD_QA_TESTS="$(usex test)"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use doc; then
+ cmake_src_compile doxygen-docs
+ fi
+}
+
+src_test() {
+ # Test cannot find library in Portage's sandbox. Let's create a link so test can run.
+ mkdir -p "${BUILD_DIR}/qa/eeschema/" || die
+ dosym "${BUILD_DIR}/eeschema/_eeschema.kiface" "${BUILD_DIR}/qa/eeschema/_eeschema.kiface" || die
+
+ # LD_LIBRARY_PATH is there to help it pick up the just-built libraries
+ LD_LIBRARY_PATH="${BUILD_DIR}/3d-viewer/3d_cache/sg:${LD_LIBRARY_PATH}" cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ python_optimize
+
+ dodoc doxygen/eagle-plugin-notes.txt
+
+ if use doc ; then
+ cd doxygen || die
+ dodoc -r out/html/.
+ fi
+}
+
+pkg_postinst() {
+ optfeature "Component symbols library" sci-electronics/kicad-symbols
+ optfeature "Component footprints library" sci-electronics/kicad-footprints
+ optfeature "3D models of components " sci-electronics/kicad-packages3d
+ optfeature "Project templates" sci-electronics/kicad-templates
+ optfeature "Extended documentation" app-doc/kicad-doc
+ optfeature "Creating 3D models of components" media-gfx/wings
+
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ xdg_icon_cache_update
+}
diff --git a/sci-electronics/kicad/kicad-6.0.6.ebuild b/sci-electronics/kicad/kicad-7.0.11.ebuild
index c152b8099cd1..6048013c238d 100644
--- a/sci-electronics/kicad/kicad-6.0.6.ebuild
+++ b/sci-electronics/kicad/kicad-7.0.11.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
-WX_GTK_VER="3.0-gtk3"
+PYTHON_COMPAT=( python3_{10..11} )
+WX_GTK_VER="3.2-gtk3"
inherit check-reqs cmake optfeature python-single-r1 toolchain-funcs wxwidgets xdg-utils
@@ -17,7 +17,7 @@ if [[ ${PV} == 9999 ]]; then
else
MY_PV="${PV/_rc/-rc}"
MY_P="${PN}-${MY_PV}"
- SRC_URI="https://gitlab.com/kicad/code/${PN}/-/archive/${MY_PV}/${MY_P}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="https://gitlab.com/kicad/code/${PN}/-/archive/${MY_PV}/${MY_P}.tar.bz2 -> ${P}.tar.bz2"
S="${WORKDIR}/${PN}-${MY_PV}"
if [[ ${PV} != *_rc* ]] ; then
@@ -28,55 +28,59 @@ fi
# BSD for bundled pybind
LICENSE="GPL-2+ GPL-3+ Boost-1.0 BSD"
SLOT="0"
-IUSE="doc examples +ngspice nls openmp +occ +pcm"
+IUSE="doc examples nls openmp test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
# Contains bundled pybind but it's patched for wx
# See https://gitlab.com/kicad/code/kicad/-/commit/74e4370a9b146b21883d6a2d1df46c7a10bd0424
# Depend on opencascade:0 to get unslotted variant (so we know path to it), bug #833301
+# Depend wxGTK version needs to be limited due to switch from EGL to GLX, bug #911120
COMMON_DEPEND="
- !sci-electronics/kicad-i18n
- >=dev-libs/boost-1.61:=[context,nls]
+ dev-db/unixODBC
+ dev-libs/boost:=[context,nls]
media-libs/freeglut
media-libs/glew:0=
>=media-libs/glm-0.9.9.1
media-libs/mesa[X(+)]
+ net-misc/curl
+ >=sci-libs/opencascade-7.3.0:0=
+ <sci-libs/opencascade-7.8.0:0=
>=x11-libs/cairo-1.8.8:=
>=x11-libs/pixman-0.30
- x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
+ >sci-electronics/ngspice-27[shared]
+ sys-libs/zlib
+ >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl]
$(python_gen_cond_dep '
- >=dev-libs/boost-1.61:=[context,nls,python,${PYTHON_USEDEP}]
- dev-python/wxpython:4.0[${PYTHON_USEDEP}]
+ dev-libs/boost:=[context,nls,python,${PYTHON_USEDEP}]
+ >=dev-python/wxpython-4.2.0:*[${PYTHON_USEDEP}]
')
${PYTHON_DEPS}
- ngspice? (
- >sci-electronics/ngspice-27[shared]
- )
nls? (
sys-devel/gettext
)
- occ? (
- >=sci-libs/opencascade-7.3.0:0=
+ test? (
+ media-gfx/cairosvg
)
"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}
sci-electronics/electronics-menu
"
-BDEPEND=">=dev-lang/swig-3.0
- doc? ( app-doc/doxygen )"
+BDEPEND=">=dev-lang/swig-4.0
+ doc? ( app-text/doxygen )"
if [[ ${PV} == 9999 ]] ; then
# x11-misc-util/macros only required on live ebuilds
BDEPEND+=" >=x11-misc/util-macros-1.18"
fi
-CHECKREQS_DISK_BUILD="900M"
+CHECKREQS_DISK_BUILD="1500M"
PATCHES=(
- "${FILESDIR}/${PN}-scripts-install-fix.patch"
- "${FILESDIR}/${P}-unitialized-variable-fix.patch"
+ "${FILESDIR}"/${PN}-7.0.0-werror.patch
)
pkg_setup() {
@@ -102,8 +106,8 @@ src_configure() {
-DKICAD_DOCS="${EPREFIX}/usr/share/doc/${PN}-doc-${PV}"
-DKICAD_SCRIPTING_WXPYTHON=ON
+ -DKICAD_USE_EGL=OFF
- # Merged from separate -i18n package, bug #830274
-DKICAD_BUILD_I18N="$(usex nls)"
-DKICAD_I18N_UNIX_STRICT_PATH="$(usex nls)"
@@ -112,17 +116,13 @@ src_configure() {
-DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
-DPYTHON_LIBRARY="$(python_get_library_path)"
- -DKICAD_SPICE="$(usex ngspice)"
- -DKICAD_PCM="$(usex pcm)"
-
- -DKICAD_USE_OCC="$(usex occ)"
-DKICAD_INSTALL_DEMOS="$(usex examples)"
-DCMAKE_SKIP_RPATH="ON"
- )
- use occ && mycmakeargs+=(
-DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade
-DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/opencascade
+
+ -DKICAD_BUILD_QA_TESTS="$(usex test)"
)
cmake_src_configure
@@ -137,7 +137,8 @@ src_compile() {
src_test() {
# Test cannot find library in Portage's sandbox. Let's create a link so test can run.
- ln -s "${BUILD_DIR}/eeschema/_eeschema.kiface" "${BUILD_DIR}/qa/eeschema/_eeschema.kiface" || die
+ mkdir -p "${BUILD_DIR}/qa/eeschema/" || die
+ dosym "${BUILD_DIR}/eeschema/_eeschema.kiface" "${BUILD_DIR}/qa/eeschema/_eeschema.kiface" || die
# LD_LIBRARY_PATH is there to help it pick up the just-built libraries
LD_LIBRARY_PATH="${BUILD_DIR}/3d-viewer/3d_cache/sg:${LD_LIBRARY_PATH}" cmake_src_test
@@ -147,10 +148,11 @@ src_install() {
cmake_src_install
python_optimize
+ dodoc doxygen/eagle-plugin-notes.txt
+
if use doc ; then
- dodoc uncrustify.cfg
- cd Documentation || die
- dodoc -r *.txt kicad_doxygen_logo.png notes_about_pcbnew_new_file_format.odt doxygen/.
+ cd doxygen || die
+ dodoc -r out/html/.
fi
}
@@ -159,7 +161,6 @@ pkg_postinst() {
optfeature "Component footprints library" sci-electronics/kicad-footprints
optfeature "3D models of components " sci-electronics/kicad-packages3d
optfeature "Project templates" sci-electronics/kicad-templates
- optfeature "Different languages for GUI" sci-electronics/kicad-i18n
optfeature "Extended documentation" app-doc/kicad-doc
optfeature "Creating 3D models of components" media-gfx/wings
diff --git a/sci-electronics/kicad/kicad-7.0.7.ebuild b/sci-electronics/kicad/kicad-7.0.7.ebuild
new file mode 100644
index 000000000000..66c7ff8dd513
--- /dev/null
+++ b/sci-electronics/kicad/kicad-7.0.7.ebuild
@@ -0,0 +1,174 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+WX_GTK_VER="3.2-gtk3"
+
+inherit check-reqs cmake optfeature python-single-r1 toolchain-funcs wxwidgets xdg-utils
+
+DESCRIPTION="Electronic Schematic and PCB design tools"
+HOMEPAGE="https://www.kicad.org"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.com/kicad/code/kicad.git"
+ inherit git-r3
+else
+ MY_PV="${PV/_rc/-rc}"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="https://gitlab.com/kicad/code/${PN}/-/archive/${MY_PV}/${MY_P}.tar.bz2 -> ${P}.tar.bz2"
+ S="${WORKDIR}/${PN}-${MY_PV}"
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="amd64 ~arm64 ~riscv ~x86"
+ fi
+fi
+
+# BSD for bundled pybind
+LICENSE="GPL-2+ GPL-3+ Boost-1.0 BSD"
+SLOT="0"
+IUSE="doc examples nls openmp test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="!test? ( test )"
+
+# Contains bundled pybind but it's patched for wx
+# See https://gitlab.com/kicad/code/kicad/-/commit/74e4370a9b146b21883d6a2d1df46c7a10bd0424
+# Depend on opencascade:0 to get unslotted variant (so we know path to it), bug #833301
+# Depend wxGTK version needs to be limited due to switch from EGL to GLX, bug #911120
+COMMON_DEPEND="
+ dev-db/unixODBC
+ dev-libs/boost:=[context,nls]
+ media-libs/freeglut
+ media-libs/glew:0=
+ >=media-libs/glm-0.9.9.1
+ media-libs/mesa[X(+)]
+ net-misc/curl
+ >=sci-libs/opencascade-7.3.0:0=
+ <sci-libs/opencascade-7.8.0:0=
+ >=x11-libs/cairo-1.8.8:=
+ >=x11-libs/pixman-0.30
+ >sci-electronics/ngspice-27[shared]
+ sys-libs/zlib
+ >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl]
+ $(python_gen_cond_dep '
+ dev-libs/boost:=[context,nls,python,${PYTHON_USEDEP}]
+ ~dev-python/wxpython-4.2.0:*[${PYTHON_USEDEP}]
+ ')
+ ${PYTHON_DEPS}
+ nls? (
+ sys-devel/gettext
+ )
+ test? (
+ media-gfx/cairosvg
+ )
+"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}
+ sci-electronics/electronics-menu
+"
+BDEPEND=">=dev-lang/swig-4.0
+ doc? ( app-text/doxygen )"
+
+if [[ ${PV} == 9999 ]] ; then
+ # x11-misc-util/macros only required on live ebuilds
+ BDEPEND+=" >=x11-misc/util-macros-1.18"
+fi
+
+CHECKREQS_DISK_BUILD="1500M"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.0.0-werror.patch
+)
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ python-single-r1_pkg_setup
+ setup-wxwidgets
+ check-reqs_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ default_src_unpack
+ fi
+}
+
+src_configure() {
+ xdg_environment_reset
+
+ local mycmakeargs=(
+ -DKICAD_DOCS="${EPREFIX}/usr/share/doc/${PN}-doc-${PV}"
+
+ -DKICAD_SCRIPTING_WXPYTHON=ON
+ -DKICAD_USE_EGL=OFF
+
+ -DKICAD_BUILD_I18N="$(usex nls)"
+ -DKICAD_I18N_UNIX_STRICT_PATH="$(usex nls)"
+
+ -DPYTHON_DEST="$(python_get_sitedir)"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DPYTHON_LIBRARY="$(python_get_library_path)"
+
+ -DKICAD_INSTALL_DEMOS="$(usex examples)"
+ -DCMAKE_SKIP_RPATH="ON"
+
+ -DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade
+ -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/opencascade
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use doc; then
+ cmake_src_compile doxygen-docs
+ fi
+}
+
+src_test() {
+ # Test cannot find library in Portage's sandbox. Let's create a link so test can run.
+ mkdir -p "${BUILD_DIR}/qa/eeschema/" || die
+ dosym "${BUILD_DIR}/eeschema/_eeschema.kiface" "${BUILD_DIR}/qa/eeschema/_eeschema.kiface" || die
+
+ # LD_LIBRARY_PATH is there to help it pick up the just-built libraries
+ LD_LIBRARY_PATH="${BUILD_DIR}/3d-viewer/3d_cache/sg:${LD_LIBRARY_PATH}" cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ python_optimize
+
+ dodoc doxygen/eagle-plugin-notes.txt
+
+ if use doc ; then
+ cd doxygen || die
+ dodoc -r out/html/.
+ fi
+}
+
+pkg_postinst() {
+ optfeature "Component symbols library" sci-electronics/kicad-symbols
+ optfeature "Component footprints library" sci-electronics/kicad-footprints
+ optfeature "3D models of components " sci-electronics/kicad-packages3d
+ optfeature "Project templates" sci-electronics/kicad-templates
+ optfeature "Extended documentation" app-doc/kicad-doc
+ optfeature "Creating 3D models of components" media-gfx/wings
+
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ xdg_icon_cache_update
+}
diff --git a/sci-electronics/kicad/kicad-8.0.0.ebuild b/sci-electronics/kicad/kicad-8.0.0.ebuild
new file mode 100644
index 000000000000..96b4a708d332
--- /dev/null
+++ b/sci-electronics/kicad/kicad-8.0.0.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+WX_GTK_VER="3.2-gtk3"
+
+inherit check-reqs cmake optfeature python-single-r1 toolchain-funcs wxwidgets xdg-utils
+
+DESCRIPTION="Electronic Schematic and PCB design tools"
+HOMEPAGE="https://www.kicad.org"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.com/kicad/code/kicad.git"
+ inherit git-r3
+else
+ MY_PV="${PV/_rc/-rc}"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="https://gitlab.com/kicad/code/${PN}/-/archive/${MY_PV}/${MY_P}.tar.bz2 -> ${P}.tar.bz2"
+ S="${WORKDIR}/${PN}-${MY_PV}"
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+ fi
+fi
+
+# BSD for bundled pybind
+LICENSE="GPL-2+ GPL-3+ Boost-1.0 BSD"
+SLOT="0"
+IUSE="doc examples nls openmp telemetry test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="!test? ( test )"
+
+# Contains bundled pybind but it's patched for wx
+# See https://gitlab.com/kicad/code/kicad/-/commit/74e4370a9b146b21883d6a2d1df46c7a10bd0424
+# Depend on opencascade:0 to get unslotted variant (so we know path to it), bug #833301
+# Depend wxGTK version needs to be limited due to switch from EGL to GLX, bug #911120
+COMMON_DEPEND="
+ app-crypt/libsecret
+ dev-db/unixODBC
+ dev-libs/boost:=[context,nls]
+ dev-libs/libgit2:=
+ media-libs/freeglut
+ media-libs/glew:0=
+ >=media-libs/glm-0.9.9.1
+ media-libs/mesa[X(+)]
+ net-misc/curl
+ >=sci-libs/opencascade-7.5.0:0=
+ <sci-libs/opencascade-7.8.0:0=
+ >=x11-libs/cairo-1.8.8:=
+ >=x11-libs/pixman-0.30
+ >sci-electronics/ngspice-27[shared]
+ sys-libs/zlib
+ >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl]
+ $(python_gen_cond_dep '
+ dev-libs/boost:=[context,nls,python,${PYTHON_USEDEP}]
+ >=dev-python/wxpython-4.2.0:*[${PYTHON_USEDEP}]
+ ')
+ ${PYTHON_DEPS}
+ nls? (
+ sys-devel/gettext
+ )
+ test? (
+ media-gfx/cairosvg
+ )
+"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}
+ sci-electronics/electronics-menu
+"
+BDEPEND=">=dev-lang/swig-4.0
+ doc? ( app-text/doxygen )"
+
+if [[ ${PV} == 9999 ]] ; then
+ # x11-misc-util/macros only required on live ebuilds
+ BDEPEND+=" >=x11-misc/util-macros-1.18"
+fi
+
+CHECKREQS_DISK_BUILD="1500M"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.0.1-libgit2.patch
+)
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ python-single-r1_pkg_setup
+ setup-wxwidgets
+ check-reqs_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ default_src_unpack
+ fi
+}
+
+src_configure() {
+ xdg_environment_reset
+
+ local mycmakeargs=(
+ -DKICAD_DOCS="${EPREFIX}/usr/share/doc/${PN}-doc-${PV}"
+
+ -DKICAD_SCRIPTING_WXPYTHON=ON
+ -DKICAD_USE_EGL=OFF
+
+ -DKICAD_BUILD_I18N="$(usex nls)"
+ -DKICAD_I18N_UNIX_STRICT_PATH="$(usex nls)"
+
+ -DPYTHON_DEST="$(python_get_sitedir)"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DPYTHON_LIBRARY="$(python_get_library_path)"
+
+ -DKICAD_INSTALL_DEMOS="$(usex examples)"
+ -DCMAKE_SKIP_RPATH="ON"
+
+ -DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade
+ -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/opencascade
+
+ -DKICAD_USE_SENTRY="$(usex telemetry)"
+
+ -DKICAD_SPICE_QA="$(usex test)"
+ -DKICAD_BUILD_QA_TESTS="$(usex test)"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use doc; then
+ cmake_src_compile doxygen-docs
+ fi
+}
+
+src_test() {
+ # Test cannot find library in Portage's sandbox. Let's create a link so test can run.
+ mkdir -p "${BUILD_DIR}/qa/eeschema/" || die
+ dosym "${BUILD_DIR}/eeschema/_eeschema.kiface" "${BUILD_DIR}/qa/eeschema/_eeschema.kiface" || die
+
+ # LD_LIBRARY_PATH is there to help it pick up the just-built libraries
+ LD_LIBRARY_PATH="${BUILD_DIR}/3d-viewer/3d_cache/sg:${LD_LIBRARY_PATH}" cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ python_optimize
+
+ dodoc doxygen/eagle-plugin-notes.txt
+
+ if use doc ; then
+ cd doxygen || die
+ dodoc -r out/html/.
+ fi
+}
+
+pkg_postinst() {
+ optfeature "Component symbols library" sci-electronics/kicad-symbols
+ optfeature "Component footprints library" sci-electronics/kicad-footprints
+ optfeature "3D models of components " sci-electronics/kicad-packages3d
+ optfeature "Project templates" sci-electronics/kicad-templates
+ optfeature "Extended documentation" app-doc/kicad-doc
+ optfeature "Creating 3D models of components" media-gfx/wings
+
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ xdg_icon_cache_update
+}
diff --git a/sci-electronics/kicad/kicad-8.0.1.ebuild b/sci-electronics/kicad/kicad-8.0.1.ebuild
new file mode 100644
index 000000000000..96b4a708d332
--- /dev/null
+++ b/sci-electronics/kicad/kicad-8.0.1.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+WX_GTK_VER="3.2-gtk3"
+
+inherit check-reqs cmake optfeature python-single-r1 toolchain-funcs wxwidgets xdg-utils
+
+DESCRIPTION="Electronic Schematic and PCB design tools"
+HOMEPAGE="https://www.kicad.org"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.com/kicad/code/kicad.git"
+ inherit git-r3
+else
+ MY_PV="${PV/_rc/-rc}"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="https://gitlab.com/kicad/code/${PN}/-/archive/${MY_PV}/${MY_P}.tar.bz2 -> ${P}.tar.bz2"
+ S="${WORKDIR}/${PN}-${MY_PV}"
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+ fi
+fi
+
+# BSD for bundled pybind
+LICENSE="GPL-2+ GPL-3+ Boost-1.0 BSD"
+SLOT="0"
+IUSE="doc examples nls openmp telemetry test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="!test? ( test )"
+
+# Contains bundled pybind but it's patched for wx
+# See https://gitlab.com/kicad/code/kicad/-/commit/74e4370a9b146b21883d6a2d1df46c7a10bd0424
+# Depend on opencascade:0 to get unslotted variant (so we know path to it), bug #833301
+# Depend wxGTK version needs to be limited due to switch from EGL to GLX, bug #911120
+COMMON_DEPEND="
+ app-crypt/libsecret
+ dev-db/unixODBC
+ dev-libs/boost:=[context,nls]
+ dev-libs/libgit2:=
+ media-libs/freeglut
+ media-libs/glew:0=
+ >=media-libs/glm-0.9.9.1
+ media-libs/mesa[X(+)]
+ net-misc/curl
+ >=sci-libs/opencascade-7.5.0:0=
+ <sci-libs/opencascade-7.8.0:0=
+ >=x11-libs/cairo-1.8.8:=
+ >=x11-libs/pixman-0.30
+ >sci-electronics/ngspice-27[shared]
+ sys-libs/zlib
+ >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl]
+ $(python_gen_cond_dep '
+ dev-libs/boost:=[context,nls,python,${PYTHON_USEDEP}]
+ >=dev-python/wxpython-4.2.0:*[${PYTHON_USEDEP}]
+ ')
+ ${PYTHON_DEPS}
+ nls? (
+ sys-devel/gettext
+ )
+ test? (
+ media-gfx/cairosvg
+ )
+"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}
+ sci-electronics/electronics-menu
+"
+BDEPEND=">=dev-lang/swig-4.0
+ doc? ( app-text/doxygen )"
+
+if [[ ${PV} == 9999 ]] ; then
+ # x11-misc-util/macros only required on live ebuilds
+ BDEPEND+=" >=x11-misc/util-macros-1.18"
+fi
+
+CHECKREQS_DISK_BUILD="1500M"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-8.0.1-libgit2.patch
+)
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ python-single-r1_pkg_setup
+ setup-wxwidgets
+ check-reqs_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ default_src_unpack
+ fi
+}
+
+src_configure() {
+ xdg_environment_reset
+
+ local mycmakeargs=(
+ -DKICAD_DOCS="${EPREFIX}/usr/share/doc/${PN}-doc-${PV}"
+
+ -DKICAD_SCRIPTING_WXPYTHON=ON
+ -DKICAD_USE_EGL=OFF
+
+ -DKICAD_BUILD_I18N="$(usex nls)"
+ -DKICAD_I18N_UNIX_STRICT_PATH="$(usex nls)"
+
+ -DPYTHON_DEST="$(python_get_sitedir)"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DPYTHON_LIBRARY="$(python_get_library_path)"
+
+ -DKICAD_INSTALL_DEMOS="$(usex examples)"
+ -DCMAKE_SKIP_RPATH="ON"
+
+ -DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade
+ -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/opencascade
+
+ -DKICAD_USE_SENTRY="$(usex telemetry)"
+
+ -DKICAD_SPICE_QA="$(usex test)"
+ -DKICAD_BUILD_QA_TESTS="$(usex test)"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use doc; then
+ cmake_src_compile doxygen-docs
+ fi
+}
+
+src_test() {
+ # Test cannot find library in Portage's sandbox. Let's create a link so test can run.
+ mkdir -p "${BUILD_DIR}/qa/eeschema/" || die
+ dosym "${BUILD_DIR}/eeschema/_eeschema.kiface" "${BUILD_DIR}/qa/eeschema/_eeschema.kiface" || die
+
+ # LD_LIBRARY_PATH is there to help it pick up the just-built libraries
+ LD_LIBRARY_PATH="${BUILD_DIR}/3d-viewer/3d_cache/sg:${LD_LIBRARY_PATH}" cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ python_optimize
+
+ dodoc doxygen/eagle-plugin-notes.txt
+
+ if use doc ; then
+ cd doxygen || die
+ dodoc -r out/html/.
+ fi
+}
+
+pkg_postinst() {
+ optfeature "Component symbols library" sci-electronics/kicad-symbols
+ optfeature "Component footprints library" sci-electronics/kicad-footprints
+ optfeature "3D models of components " sci-electronics/kicad-packages3d
+ optfeature "Project templates" sci-electronics/kicad-templates
+ optfeature "Extended documentation" app-doc/kicad-doc
+ optfeature "Creating 3D models of components" media-gfx/wings
+
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ xdg_icon_cache_update
+}
diff --git a/sci-electronics/kicad/kicad-8.0.2-r1.ebuild b/sci-electronics/kicad/kicad-8.0.2-r1.ebuild
new file mode 100644
index 000000000000..83bf7ead3a08
--- /dev/null
+++ b/sci-electronics/kicad/kicad-8.0.2-r1.ebuild
@@ -0,0 +1,180 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+WX_GTK_VER="3.2-gtk3"
+
+inherit check-reqs cmake flag-o-matic optfeature python-single-r1 toolchain-funcs wxwidgets xdg-utils
+
+DESCRIPTION="Electronic Schematic and PCB design tools"
+HOMEPAGE="https://www.kicad.org"
+
+if [[ ${PV} == 9999 ]]; then
+ EGIT_REPO_URI="https://gitlab.com/kicad/code/kicad.git"
+ inherit git-r3
+else
+ MY_PV="${PV/_rc/-rc}"
+ MY_P="${PN}-${MY_PV}"
+ SRC_URI="https://gitlab.com/kicad/code/${PN}/-/archive/${MY_PV}/${MY_P}.tar.bz2 -> ${P}.tar.bz2"
+ S="${WORKDIR}/${PN}-${MY_PV}"
+
+ if [[ ${PV} != *_rc* ]] ; then
+ KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+ fi
+fi
+
+# BSD for bundled pybind
+LICENSE="GPL-2+ GPL-3+ Boost-1.0 BSD"
+SLOT="0"
+IUSE="doc examples nls openmp test"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="!test? ( test )"
+
+# Contains bundled pybind but it's patched for wx
+# See https://gitlab.com/kicad/code/kicad/-/commit/74e4370a9b146b21883d6a2d1df46c7a10bd0424
+# Depend on opencascade:0 to get unslotted variant (so we know path to it), bug #833301
+# Depend wxGTK version needs to be limited due to switch from EGL to GLX, bug #911120
+COMMON_DEPEND="
+ app-crypt/libsecret
+ dev-db/unixODBC
+ dev-libs/boost:=[context,nls]
+ dev-libs/libgit2:=
+ media-libs/freeglut
+ media-libs/glew:0=
+ >=media-libs/glm-0.9.9.1
+ media-libs/mesa[X(+)]
+ net-misc/curl
+ >=sci-libs/opencascade-7.5.0:0=
+ >=x11-libs/cairo-1.8.8:=
+ >=x11-libs/pixman-0.30
+ >sci-electronics/ngspice-27[shared]
+ sys-libs/zlib
+ >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl]
+ $(python_gen_cond_dep '
+ dev-libs/boost:=[context,nls,python,${PYTHON_USEDEP}]
+ >=dev-python/wxpython-4.2.0:*[${PYTHON_USEDEP}]
+ ')
+ ${PYTHON_DEPS}
+ nls? (
+ sys-devel/gettext
+ )
+ test? (
+ media-gfx/cairosvg
+ )
+"
+DEPEND="${COMMON_DEPEND}"
+RDEPEND="${COMMON_DEPEND}
+ sci-electronics/electronics-menu
+"
+BDEPEND=">=dev-lang/swig-4.0
+ doc? ( app-text/doxygen )"
+
+if [[ ${PV} == 9999 ]] ; then
+ # x11-misc-util/macros only required on live ebuilds
+ BDEPEND+=" >=x11-misc/util-macros-1.18"
+fi
+
+CHECKREQS_DISK_BUILD="1500M"
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ python-single-r1_pkg_setup
+ setup-wxwidgets
+ check-reqs_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ else
+ default_src_unpack
+ fi
+}
+
+src_prepare() {
+ filter-lto # Bug 927482
+ cmake_src_prepare
+}
+
+src_configure() {
+ xdg_environment_reset
+
+ local mycmakeargs=(
+ -DKICAD_DOCS="${EPREFIX}/usr/share/doc/${PN}-doc-${PV}"
+
+ -DKICAD_SCRIPTING_WXPYTHON=ON
+ -DKICAD_USE_EGL=OFF
+
+ -DKICAD_BUILD_I18N="$(usex nls)"
+ -DKICAD_I18N_UNIX_STRICT_PATH="$(usex nls)"
+
+ -DPYTHON_DEST="$(python_get_sitedir)"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DPYTHON_LIBRARY="$(python_get_library_path)"
+
+ -DKICAD_INSTALL_DEMOS="$(usex examples)"
+ -DCMAKE_SKIP_RPATH="ON"
+
+ -DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade
+ -DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/opencascade
+
+ -DKICAD_SPICE_QA="$(usex test)"
+ -DKICAD_BUILD_QA_TESTS="$(usex test)"
+ )
+
+ cmake_src_configure
+}
+
+src_compile() {
+ cmake_src_compile
+ if use doc; then
+ cmake_src_compile doxygen-docs
+ fi
+}
+
+src_test() {
+ # Test cannot find library in Portage's sandbox. Let's create a link so test can run.
+ mkdir -p "${BUILD_DIR}/qa/eeschema/" || die
+ dosym "${BUILD_DIR}/eeschema/_eeschema.kiface" "${BUILD_DIR}/qa/eeschema/_eeschema.kiface" || die
+
+ # LD_LIBRARY_PATH is there to help it pick up the just-built libraries
+ LD_LIBRARY_PATH="${BUILD_DIR}/common:${BUILD_DIR}/common/gal:${BUILD_DIR}/3d-viewer/3d_cache/sg:${LD_LIBRARY_PATH}" \
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ python_optimize
+
+ dodoc doxygen/eagle-plugin-notes.txt
+
+ if use doc ; then
+ cd doxygen || die
+ dodoc -r out/html/.
+ fi
+}
+
+pkg_postinst() {
+ optfeature "Component symbols library" sci-electronics/kicad-symbols
+ optfeature "Component footprints library" sci-electronics/kicad-footprints
+ optfeature "3D models of components " sci-electronics/kicad-packages3d
+ optfeature "Project templates" sci-electronics/kicad-templates
+ optfeature "Extended documentation" app-doc/kicad-doc
+ optfeature "Creating 3D models of components" media-gfx/wings
+
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+ xdg_icon_cache_update
+}
diff --git a/sci-electronics/kicad/kicad-9999.ebuild b/sci-electronics/kicad/kicad-9999.ebuild
index 2105a3f3d542..83bf7ead3a08 100644
--- a/sci-electronics/kicad/kicad-9999.ebuild
+++ b/sci-electronics/kicad/kicad-9999.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
-WX_GTK_VER="3.0-gtk3"
+PYTHON_COMPAT=( python3_{10..11} )
+WX_GTK_VER="3.2-gtk3"
-inherit check-reqs cmake optfeature python-single-r1 toolchain-funcs wxwidgets xdg-utils
+inherit check-reqs cmake flag-o-matic optfeature python-single-r1 toolchain-funcs wxwidgets xdg-utils
DESCRIPTION="Electronic Schematic and PCB design tools"
HOMEPAGE="https://www.kicad.org"
@@ -17,7 +17,7 @@ if [[ ${PV} == 9999 ]]; then
else
MY_PV="${PV/_rc/-rc}"
MY_P="${PN}-${MY_PV}"
- SRC_URI="https://gitlab.com/kicad/code/${PN}/-/archive/${MY_PV}/${MY_P}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="https://gitlab.com/kicad/code/${PN}/-/archive/${MY_PV}/${MY_P}.tar.bz2 -> ${P}.tar.bz2"
S="${WORKDIR}/${PN}-${MY_PV}"
if [[ ${PV} != *_rc* ]] ; then
@@ -28,51 +28,57 @@ fi
# BSD for bundled pybind
LICENSE="GPL-2+ GPL-3+ Boost-1.0 BSD"
SLOT="0"
-IUSE="doc examples +ngspice nls openmp +occ +pcm"
+IUSE="doc examples nls openmp test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
# Contains bundled pybind but it's patched for wx
# See https://gitlab.com/kicad/code/kicad/-/commit/74e4370a9b146b21883d6a2d1df46c7a10bd0424
# Depend on opencascade:0 to get unslotted variant (so we know path to it), bug #833301
+# Depend wxGTK version needs to be limited due to switch from EGL to GLX, bug #911120
COMMON_DEPEND="
- !sci-electronics/kicad-i18n
- >=dev-libs/boost-1.61:=[context,nls]
+ app-crypt/libsecret
+ dev-db/unixODBC
+ dev-libs/boost:=[context,nls]
+ dev-libs/libgit2:=
media-libs/freeglut
media-libs/glew:0=
>=media-libs/glm-0.9.9.1
media-libs/mesa[X(+)]
+ net-misc/curl
+ >=sci-libs/opencascade-7.5.0:0=
>=x11-libs/cairo-1.8.8:=
>=x11-libs/pixman-0.30
- x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
+ >sci-electronics/ngspice-27[shared]
+ sys-libs/zlib
+ >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl]
$(python_gen_cond_dep '
- >=dev-libs/boost-1.61:=[context,nls,python,${PYTHON_USEDEP}]
- dev-python/wxpython:4.0[${PYTHON_USEDEP}]
+ dev-libs/boost:=[context,nls,python,${PYTHON_USEDEP}]
+ >=dev-python/wxpython-4.2.0:*[${PYTHON_USEDEP}]
')
${PYTHON_DEPS}
- ngspice? (
- >sci-electronics/ngspice-27[shared]
- )
nls? (
sys-devel/gettext
)
- occ? (
- >=sci-libs/opencascade-7.3.0:0=
+ test? (
+ media-gfx/cairosvg
)
"
DEPEND="${COMMON_DEPEND}"
RDEPEND="${COMMON_DEPEND}
sci-electronics/electronics-menu
"
-BDEPEND=">=dev-lang/swig-3.0
- doc? ( app-doc/doxygen )"
+BDEPEND=">=dev-lang/swig-4.0
+ doc? ( app-text/doxygen )"
if [[ ${PV} == 9999 ]] ; then
# x11-misc-util/macros only required on live ebuilds
BDEPEND+=" >=x11-misc/util-macros-1.18"
fi
-CHECKREQS_DISK_BUILD="900M"
+CHECKREQS_DISK_BUILD="1500M"
pkg_setup() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
@@ -90,6 +96,11 @@ src_unpack() {
fi
}
+src_prepare() {
+ filter-lto # Bug 927482
+ cmake_src_prepare
+}
+
src_configure() {
xdg_environment_reset
@@ -97,8 +108,8 @@ src_configure() {
-DKICAD_DOCS="${EPREFIX}/usr/share/doc/${PN}-doc-${PV}"
-DKICAD_SCRIPTING_WXPYTHON=ON
+ -DKICAD_USE_EGL=OFF
- # Merged from separate -i18n package, bug #830274
-DKICAD_BUILD_I18N="$(usex nls)"
-DKICAD_I18N_UNIX_STRICT_PATH="$(usex nls)"
@@ -107,17 +118,14 @@ src_configure() {
-DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
-DPYTHON_LIBRARY="$(python_get_library_path)"
- -DKICAD_SPICE="$(usex ngspice)"
- -DKICAD_PCM="$(usex pcm)"
-
- -DKICAD_USE_OCC="$(usex occ)"
-DKICAD_INSTALL_DEMOS="$(usex examples)"
-DCMAKE_SKIP_RPATH="ON"
- )
- use occ && mycmakeargs+=(
-DOCC_INCLUDE_DIR="${CASROOT}"/include/opencascade
-DOCC_LIBRARY_DIR="${CASROOT}"/$(get_libdir)/opencascade
+
+ -DKICAD_SPICE_QA="$(usex test)"
+ -DKICAD_BUILD_QA_TESTS="$(usex test)"
)
cmake_src_configure
@@ -132,20 +140,23 @@ src_compile() {
src_test() {
# Test cannot find library in Portage's sandbox. Let's create a link so test can run.
- ln -s "${BUILD_DIR}/eeschema/_eeschema.kiface" "${BUILD_DIR}/qa/eeschema/_eeschema.kiface" || die
+ mkdir -p "${BUILD_DIR}/qa/eeschema/" || die
+ dosym "${BUILD_DIR}/eeschema/_eeschema.kiface" "${BUILD_DIR}/qa/eeschema/_eeschema.kiface" || die
# LD_LIBRARY_PATH is there to help it pick up the just-built libraries
- LD_LIBRARY_PATH="${BUILD_DIR}/3d-viewer/3d_cache/sg:${LD_LIBRARY_PATH}" cmake_src_test
+ LD_LIBRARY_PATH="${BUILD_DIR}/common:${BUILD_DIR}/common/gal:${BUILD_DIR}/3d-viewer/3d_cache/sg:${LD_LIBRARY_PATH}" \
+ cmake_src_test
}
src_install() {
cmake_src_install
python_optimize
+ dodoc doxygen/eagle-plugin-notes.txt
+
if use doc ; then
- dodoc uncrustify.cfg
- cd Documentation || die
- dodoc -r *.txt kicad_doxygen_logo.png notes_about_pcbnew_new_file_format.odt doxygen/.
+ cd doxygen || die
+ dodoc -r out/html/.
fi
}
@@ -154,7 +165,6 @@ pkg_postinst() {
optfeature "Component footprints library" sci-electronics/kicad-footprints
optfeature "3D models of components " sci-electronics/kicad-packages3d
optfeature "Project templates" sci-electronics/kicad-templates
- optfeature "Different languages for GUI" sci-electronics/kicad-i18n
optfeature "Extended documentation" app-doc/kicad-doc
optfeature "Creating 3D models of components" media-gfx/wings
diff --git a/sci-electronics/kicad/metadata.xml b/sci-electronics/kicad/metadata.xml
index cd956ca81c5d..07c75b4303e6 100644
--- a/sci-electronics/kicad/metadata.xml
+++ b/sci-electronics/kicad/metadata.xml
@@ -5,23 +5,20 @@
<email>zoltan@sinustrom.info</email>
<name>Zoltan Puskas</name>
</maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>vowstar@gmail.com</email>
+ <name>Huang Rui</name>
+ </maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
- <use>
- <flag name="github">Add github support into PCB editor</flag>
- <flag name="ngspice">Enable circuit simulation</flag>
- <flag name="occ">Enable viewing 3D rendering of designs via <pkg>sci-libs/opencascade</pkg></flag>
- <flag name="python">Enable python scripting support</flag>
- <flag name="pcm">Enable plugin content manager</flag>
- </use>
<longdescription>
Kicad is an open source (GPL) software for the creation of electronic
schematic diagrams and printed circuit board artwork.
</longdescription>
<upstream>
- <remote-id type="github">KiCad/kicad-i18n</remote-id>
+ <remote-id type="gitlab">kicad/code/kicad</remote-id>
<remote-id type="launchpad">kicad</remote-id>
</upstream>
</pkgmetadata>