From b4eeef9edd922a84e7581953e973aab615602fc7 Mon Sep 17 00:00:00 2001 From: classabbyamp Date: Fri, 29 Mar 2024 17:42:43 -0400 Subject: [PATCH] kicad: split subpackages into their own template combining *all* the kicad templates was a mistake. if kicad needs to be rebuilt (e.g. for a libgit2 update), there is zero reason why the libraries and docs need to be rebuilt. thus, all of them have been split into their own template. This should be kept in sync with the main template. --- srcpkgs/kicad-doc | 1 - srcpkgs/kicad-doc/template | 104 ++++++++++++++++++++++++++++++++++ srcpkgs/kicad-doc/update | 1 + srcpkgs/kicad-footprints | 2 +- srcpkgs/kicad-library | 2 +- srcpkgs/kicad-packages3D | 2 +- srcpkgs/kicad-symbols | 2 +- srcpkgs/kicad-templates | 2 +- srcpkgs/kicad/template | 111 ++----------------------------------- srcpkgs/kicad/update | 1 + 10 files changed, 115 insertions(+), 113 deletions(-) delete mode 120000 srcpkgs/kicad-doc create mode 100644 srcpkgs/kicad-doc/template create mode 120000 srcpkgs/kicad-doc/update diff --git a/srcpkgs/kicad-doc b/srcpkgs/kicad-doc deleted file mode 120000 index e01819c8ab8..00000000000 --- a/srcpkgs/kicad-doc +++ /dev/null @@ -1 +0,0 @@ -kicad \ No newline at end of file diff --git a/srcpkgs/kicad-doc/template b/srcpkgs/kicad-doc/template new file mode 100644 index 00000000000..d7823187ce9 --- /dev/null +++ b/srcpkgs/kicad-doc/template @@ -0,0 +1,104 @@ +# Template file for 'kicad-doc' +# XXX: keep in sync with kicad +pkgname=kicad-doc +version=8.0.1 +revision=2 +build_wrksrc="${pkgname}-${version}" +build_style=cmake +configure_args="-DBUILD_FORMATS=html" +hostmakedepends="ruby-asciidoctor po4a" +depends="kicad>=${version}" +short_desc="Electronic schematic and PCB design software - documentation" +maintainer="classabbyamp " +license="GPL-3.0-or-later, CC-BY-3.0" +homepage="http://kicad.org" +changelog="https://www.kicad.org/blog/categories/Release-Notes/" +distfiles="https://gitlab.com/kicad/services/kicad-doc/-/archive/${version}/kicad-doc-${version}.tar.gz + https://gitlab.com/kicad/libraries/kicad-templates/-/archive/${version}/kicad-templates-${version}.tar.gz + https://gitlab.com/kicad/libraries/kicad-symbols/-/archive/${version}/kicad-symbols-${version}.tar.gz + https://gitlab.com/kicad/libraries/kicad-footprints/-/archive/${version}/kicad-footprints-${version}.tar.gz + https://gitlab.com/kicad/libraries/kicad-packages3D/-/archive/${version}/kicad-packages3D-${version}.tar.gz" +checksum="2fef2a52377e32a6d8a18a6bfd98ab3e3a75b3f23e13a741491eb9c414ee265b + 5aa3b72d89552069155a538a73fd19428f7dd77ec7bf51814591dd460a88c8d7 + 98a11b3a33f18ea02981c95b038138e86c31cb388a8bbd30a1edcc4ad297e0f8 + 24e6c9d10869605b83d56ed091e5e56a9f4439de38db73c1d1d34d1cbf3d3272 + 77c74fa420373a97aa5dca1bed26b0bed065d1c696010bee5238dc76d06a168b" + +# none of these packages contain ELFs, but do contain a bunch of files, +# so skip stripping and elf_in_usrshare lint to speed things up significantly +nostrip=yes +ignore_elf_dirs="/usr/share/kicad" + +post_configure() { + for subpkg in footprints packages3D symbols templates; do + msg_normal "kicad-${subpkg}-${version}_${revision}: running do_configure ...\n" + ( + build_wrksrc="kicad-${subpkg}-${version}" + cd "../${build_wrksrc}" && do_configure + ) + done +} + +post_build() { + for subpkg in footprints packages3D symbols templates; do + msg_normal "kicad-${subpkg}-${version}_${revision}: running do_build ...\n" + ( + cd "../kicad-${subpkg}-${version}" && do_build + ) + done +} + +kicad-footprints_package() { + short_desc="${short_desc/documentation/footprint libraries}" + license="CC-BY-SA-4.0" + depends="kicad>=${version}" + nostrip=yes + ignore_elf_dirs="/usr/share/kicad" + pkg_install() { + cd "../${pkgname}-${version}/build" && \ + DESTDIR="${PKGDESTDIR}" ninja install + } +} + +kicad-packages3D_package() { + short_desc="${short_desc/documentation/3D model libraries}" + license="CC-BY-SA-4.0" + depends="kicad>=${version}" + nostrip=yes + ignore_elf_dirs="/usr/share/kicad" + pkg_install() { + cd "../${pkgname}-${version}/build" && \ + DESTDIR="${PKGDESTDIR}" ninja install + } +} + +kicad-symbols_package() { + short_desc="${short_desc/documentation/schematic symbol libraries}" + license="CC-BY-SA-4.0" + depends="kicad>=${version}" + nostrip=yes + ignore_elf_dirs="/usr/share/kicad" + pkg_install() { + cd "../${pkgname}-${version}/build" && \ + DESTDIR="${PKGDESTDIR}" ninja install + } +} + +kicad-templates_package() { + short_desc="${short_desc/documentation/project templates}" + license="CC-BY-SA-4.0" + depends="kicad>=${version}" + nostrip=yes + ignore_elf_dirs="/usr/share/kicad" + pkg_install() { + cd "../${pkgname}-${version}/build" && \ + DESTDIR="${PKGDESTDIR}" ninja install + } +} + +kicad-library_package() { + short_desc="${short_desc/documentation/all libraries}" + depends="kicad-footprints>=${version}_${revision} kicad-packages3D>=${version}_${revision} + kicad-symbols>=${version}_${revision} kicad-templates>=${version}_${revision}" + build_style="meta" +} diff --git a/srcpkgs/kicad-doc/update b/srcpkgs/kicad-doc/update new file mode 120000 index 00000000000..48dfd63ba40 --- /dev/null +++ b/srcpkgs/kicad-doc/update @@ -0,0 +1 @@ +../kicad/update \ No newline at end of file diff --git a/srcpkgs/kicad-footprints b/srcpkgs/kicad-footprints index e01819c8ab8..4cda2acae32 120000 --- a/srcpkgs/kicad-footprints +++ b/srcpkgs/kicad-footprints @@ -1 +1 @@ -kicad \ No newline at end of file +kicad-doc \ No newline at end of file diff --git a/srcpkgs/kicad-library b/srcpkgs/kicad-library index e01819c8ab8..4cda2acae32 120000 --- a/srcpkgs/kicad-library +++ b/srcpkgs/kicad-library @@ -1 +1 @@ -kicad \ No newline at end of file +kicad-doc \ No newline at end of file diff --git a/srcpkgs/kicad-packages3D b/srcpkgs/kicad-packages3D index e01819c8ab8..4cda2acae32 120000 --- a/srcpkgs/kicad-packages3D +++ b/srcpkgs/kicad-packages3D @@ -1 +1 @@ -kicad \ No newline at end of file +kicad-doc \ No newline at end of file diff --git a/srcpkgs/kicad-symbols b/srcpkgs/kicad-symbols index e01819c8ab8..4cda2acae32 120000 --- a/srcpkgs/kicad-symbols +++ b/srcpkgs/kicad-symbols @@ -1 +1 @@ -kicad \ No newline at end of file +kicad-doc \ No newline at end of file diff --git a/srcpkgs/kicad-templates b/srcpkgs/kicad-templates index e01819c8ab8..4cda2acae32 120000 --- a/srcpkgs/kicad-templates +++ b/srcpkgs/kicad-templates @@ -1 +1 @@ -kicad \ No newline at end of file +kicad-doc \ No newline at end of file diff --git a/srcpkgs/kicad/template b/srcpkgs/kicad/template index c0847a070c0..bc055ccccf6 100644 --- a/srcpkgs/kicad/template +++ b/srcpkgs/kicad/template @@ -1,14 +1,14 @@ # Template file for 'kicad' +# XXX: keep in sync with kicad-doc pkgname=kicad version=8.0.1 revision=2 build_style=cmake build_helper="cmake-wxWidgets-gtk3" -build_wrksrc="${pkgname}-${version}" configure_args="-DKICAD_SCRIPTING_WXPYTHON=ON -DKICAD_USE_EGL=ON -DKICAD_BUILD_I18N=ON -DKICAD_I18N_UNIX_STRICT_PATH=ON -DLEMON_EXE=/usr/bin/lemon" hostmakedepends="pkg-config swig wxWidgets-gtk3-devel tar gettext - python3 python3-setuptools ruby-asciidoctor po4a sqlite-lemon" + python3 python3-setuptools sqlite-lemon" makedepends="wxWidgets-gtk3-devel wxPython python3-devel glew-devel cairo-devel boost-devel libcurl-devel glm libgomp-devel libfreeglut-devel gtk+3-devel unixodbc-devel occt-devel ngspice-devel libgit2-devel @@ -20,24 +20,10 @@ maintainer="classabbyamp " license="GPL-3.0-or-later" homepage="http://kicad.org" changelog="https://www.kicad.org/blog/categories/Release-Notes/" -distfiles="https://gitlab.com/kicad/code/kicad/-/archive/${version}/kicad-${version}.tar.gz - https://gitlab.com/kicad/services/kicad-doc/-/archive/${version}/kicad-doc-${version}.tar.gz - https://gitlab.com/kicad/libraries/kicad-templates/-/archive/${version}/kicad-templates-${version}.tar.gz - https://gitlab.com/kicad/libraries/kicad-symbols/-/archive/${version}/kicad-symbols-${version}.tar.gz - https://gitlab.com/kicad/libraries/kicad-footprints/-/archive/${version}/kicad-footprints-${version}.tar.gz - https://gitlab.com/kicad/libraries/kicad-packages3D/-/archive/${version}/kicad-packages3D-${version}.tar.gz" -checksum="bd67568671d0461c7c85fb1d5979df1c863228ea05d4f0db462b1c93a5a948e5 - 2fef2a52377e32a6d8a18a6bfd98ab3e3a75b3f23e13a741491eb9c414ee265b - 5aa3b72d89552069155a538a73fd19428f7dd77ec7bf51814591dd460a88c8d7 - 98a11b3a33f18ea02981c95b038138e86c31cb388a8bbd30a1edcc4ad297e0f8 - 24e6c9d10869605b83d56ed091e5e56a9f4439de38db73c1d1d34d1cbf3d3272 - 77c74fa420373a97aa5dca1bed26b0bed065d1c696010bee5238dc76d06a168b" +distfiles="https://gitlab.com/kicad/code/kicad/-/archive/${version}/kicad-${version}.tar.gz" +checksum="bd67568671d0461c7c85fb1d5979df1c863228ea05d4f0db462b1c93a5a948e5" python_version=3 replaces="kicad-i18n>=0" -patch_args="-Np1 -d ${build_wrksrc}" -# one test appears to be flaky -# https://gitlab.com/kicad/code/kicad/-/blob/7.0.0/qa/unittests/eeschema/test_netlist_exporter_spice.h#L195-197 -#make_check=ci-skip if [ "$CROSS_BUILD" ]; then hostmakedepends+=" wxPython" @@ -51,92 +37,3 @@ post_patch() { sed -i 's/CMAKE_SIZEOF_VOID_P AND/FALSE AND &/' \ thirdparty/pybind11/tools/FindPythonLibsNew.cmake } - -post_configure() { - for subpkg in doc footprints packages3D symbols templates; do - msg_normal "${pkgname}-${subpkg}-${version}_${revision}: running do_configure ...\n" - ( - build_wrksrc="${pkgname}-${subpkg}-${version}" - configure_args="-DBUILD_FORMATS=html" - cd "../${build_wrksrc}" && do_configure - ) - done -} - -post_build() { - for subpkg in doc footprints packages3D symbols templates; do - msg_normal "${pkgname}-${subpkg}-${version}_${revision}: running do_build ...\n" - ( - cd "../${pkgname}-${subpkg}-${version}" && do_build - ) - done -} - -# none of these subpackages contain ELFs, but do contain a bunch of files, -# so skip stripping and elf_in_usrshare lint to speed things up significantly -kicad-doc_package() { - short_desc+=" - documentation" - license="GPL-3.0-or-later, CC-BY-3.0" - depends="${sourcepkg}>=${version}_${revision}" - nostrip=yes - ignore_elf_dirs="/usr/share/kicad" - pkg_install() { - cd "../${pkgname}-${version}/build" && \ - DESTDIR="${PKGDESTDIR}" ninja install - } -} - -kicad-footprints_package() { - short_desc+=" - footprint libraries" - license="CC-BY-SA-4.0" - depends="${sourcepkg}>=${version}_${revision}" - nostrip=yes - ignore_elf_dirs="/usr/share/kicad" - pkg_install() { - cd "../${pkgname}-${version}/build" && \ - DESTDIR="${PKGDESTDIR}" ninja install - } -} - -kicad-packages3D_package() { - short_desc+=" - 3D model libraries" - license="CC-BY-SA-4.0" - depends="${sourcepkg}>=${version}_${revision}" - nostrip=yes - ignore_elf_dirs="/usr/share/kicad" - pkg_install() { - cd "../${pkgname}-${version}/build" && \ - DESTDIR="${PKGDESTDIR}" ninja install - } -} - -kicad-symbols_package() { - short_desc+=" - schematic symbol libraries" - license="CC-BY-SA-4.0" - depends="${sourcepkg}>=${version}_${revision}" - nostrip=yes - ignore_elf_dirs="/usr/share/kicad" - pkg_install() { - cd "../${pkgname}-${version}/build" && \ - DESTDIR="${PKGDESTDIR}" ninja install - } -} - -kicad-templates_package() { - short_desc+=" - project templates" - license="CC-BY-SA-4.0" - depends="${sourcepkg}>=${version}_${revision}" - nostrip=yes - ignore_elf_dirs="/usr/share/kicad" - pkg_install() { - cd "../${pkgname}-${version}/build" && \ - DESTDIR="${PKGDESTDIR}" ninja install - } -} - -kicad-library_package() { - short_desc+=" - all libraries" - depends="kicad-footprints>=${version}_${revision} kicad-packages3D>=${version}_${revision} - kicad-symbols>=${version}_${revision} kicad-templates>=${version}_${revision}" - build_style="meta" -} diff --git a/srcpkgs/kicad/update b/srcpkgs/kicad/update index 2060b2060cb..db5bf91b5a0 100644 --- a/srcpkgs/kicad/update +++ b/srcpkgs/kicad/update @@ -1,2 +1,3 @@ +pkgname=kicad site="https://gitlab.com/kicad/code/kicad/-/tags" ignore="*99*"