mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-02-20 11:05:14 +00:00
Merge pull request #152149 from evils/kicad
KiCad: 5.1.12 -> 6.0.0; and a bunch of cleanup
This commit is contained in:
commit
33d85a8e24
@ -35,7 +35,6 @@
|
||||
, swig
|
||||
, python
|
||||
, wxPython
|
||||
, opencascade
|
||||
, opencascade-occt
|
||||
, libngspice
|
||||
, valgrind
|
||||
@ -44,22 +43,16 @@
|
||||
, baseName
|
||||
, kicadSrc
|
||||
, kicadVersion
|
||||
, i18n
|
||||
, withOCE
|
||||
, withOCC
|
||||
, withNgspice
|
||||
, withScripting
|
||||
, withI18n
|
||||
, withPCM
|
||||
, debug
|
||||
, sanitizeAddress
|
||||
, sanitizeThreads
|
||||
, withI18n
|
||||
}:
|
||||
|
||||
assert lib.asserts.assertMsg (!(withOCE && stdenv.isAarch64)) "OCE fails a test on Aarch64";
|
||||
assert lib.asserts.assertMsg (!(withOCC && withOCE))
|
||||
"Only one of OCC and OCE may be enabled";
|
||||
assert lib.assertMsg (!(stable && (sanitizeAddress || sanitizeThreads)))
|
||||
"Only kicad-unstable(-small) supports address/thread sanitation";
|
||||
assert lib.assertMsg (!(sanitizeAddress && sanitizeThreads))
|
||||
"'sanitizeAddress' and 'sanitizeThreads' are mutually exclusive, use one.";
|
||||
|
||||
@ -75,6 +68,7 @@ stdenv.mkDerivation rec {
|
||||
# tagged releases don't have "unknown"
|
||||
# kicad nightlies use git describe --dirty
|
||||
# nix removes .git, so its approximated here
|
||||
# "6.99.0" doesn't have "-unknown", yet; so leaving this in case it returns
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeModules/KiCadVersion.cmake \
|
||||
--replace "unknown" "${builtins.substring 0 10 src.rev}" \
|
||||
@ -82,23 +76,14 @@ stdenv.mkDerivation rec {
|
||||
|
||||
makeFlags = optionals (debug) [ "CFLAGS+=-Og" "CFLAGS+=-ggdb" ];
|
||||
|
||||
cmakeFlags = optionals (stable && withScripting) [
|
||||
"-DKICAD_SCRIPTING=ON"
|
||||
"-DKICAD_SCRIPTING_MODULES=ON"
|
||||
"-DKICAD_SCRIPTING_PYTHON3=ON"
|
||||
"-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
|
||||
cmakeFlags = optionals (withScripting) [
|
||||
"-DKICAD_SCRIPTING_WXPYTHON=ON"
|
||||
]
|
||||
++ optionals (!withScripting) [
|
||||
"-DKICAD_SCRIPTING=OFF"
|
||||
"-DKICAD_SCRIPTING_WXPYTHON=OFF"
|
||||
]
|
||||
++ optional (withNgspice) "-DKICAD_SPICE=ON"
|
||||
++ optional (!withOCE) "-DKICAD_USE_OCE=OFF"
|
||||
++ optional (!withNgspice) "-DKICAD_SPICE=OFF"
|
||||
++ optional (!withOCC) "-DKICAD_USE_OCC=OFF"
|
||||
++ optionals (withOCE) [
|
||||
"-DKICAD_USE_OCE=ON"
|
||||
"-DOCE_DIR=${opencascade}"
|
||||
]
|
||||
++ optionals (withOCC) [
|
||||
"-DKICAD_USE_OCC=ON"
|
||||
"-DOCC_INCLUDE_DIR=${opencascade-occt}/include/opencascade"
|
||||
@ -108,11 +93,20 @@ stdenv.mkDerivation rec {
|
||||
"-DKICAD_STDLIB_DEBUG=ON"
|
||||
"-DKICAD_USE_VALGRIND=ON"
|
||||
]
|
||||
++ optionals (!doInstallCheck) [
|
||||
"-DKICAD_BUILD_QA_TESTS=OFF"
|
||||
]
|
||||
++ optionals (sanitizeAddress) [
|
||||
"-DKICAD_SANITIZE_ADDRESS=ON"
|
||||
]
|
||||
++ optionals (sanitizeThreads) [
|
||||
"-DKICAD_SANITIZE_THREADS=ON"
|
||||
]
|
||||
++ optionals (withI18n) [
|
||||
"-DKICAD_BUILD_I18N=ON"
|
||||
]
|
||||
++ optionals (!withPCM) [
|
||||
"-DKICAD_PCM=OFF"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -154,34 +148,27 @@ stdenv.mkDerivation rec {
|
||||
curl
|
||||
openssl
|
||||
boost
|
||||
swig
|
||||
python
|
||||
]
|
||||
# unstable requires swig and python
|
||||
# wxPython still optional
|
||||
++ optionals (withScripting || (!stable)) [ swig python ]
|
||||
++ optional (withScripting) wxPython
|
||||
++ optional (withNgspice) libngspice
|
||||
++ optional (withOCE) opencascade
|
||||
++ optional (withOCC) opencascade-occt
|
||||
++ optional (debug) valgrind
|
||||
;
|
||||
|
||||
# debug builds fail all but the python test
|
||||
# 5.1.x fails the eeschema test
|
||||
doInstallCheck = !debug && !stable;
|
||||
#doInstallCheck = !debug;
|
||||
# temporarily disabled until upstream issue 9888 is resolved
|
||||
doInstallCheck = false;
|
||||
installCheckTarget = "test";
|
||||
|
||||
dontStrip = debug;
|
||||
|
||||
postInstall = optionalString (withI18n) ''
|
||||
mkdir -p $out/share
|
||||
lndir ${i18n}/share $out/share
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Just the built source without the libraries";
|
||||
longDescription = ''
|
||||
Just the build products, optionally with the i18n linked in
|
||||
the libraries are passed via an env var in the wrapper, default.nix
|
||||
Just the build products, the libraries are passed via an env var in the wrapper, default.nix
|
||||
'';
|
||||
homepage = "https://www.kicad.org/";
|
||||
license = lib.licenses.agpl3;
|
||||
|
@ -2,8 +2,7 @@
|
||||
, fetchFromGitLab
|
||||
, gnome
|
||||
, dconf
|
||||
, wxGTK30
|
||||
, wxGTK31
|
||||
, wxGTK31-gtk3
|
||||
, makeWrapper
|
||||
, gsettings-desktop-schemas
|
||||
, hicolor-icon-theme
|
||||
@ -14,42 +13,36 @@
|
||||
|
||||
, pname ? "kicad"
|
||||
, stable ? true
|
||||
, oceSupport ? false
|
||||
, withOCE ? false
|
||||
, withOCCT ? false
|
||||
, withOCC ? true
|
||||
, ngspiceSupport ? false
|
||||
, withNgspice ? true
|
||||
, libngspice
|
||||
, scriptingSupport ? false
|
||||
, withScripting ? true
|
||||
, python3
|
||||
, debug ? false
|
||||
, sanitizeAddress ? false
|
||||
, sanitizeThreads ? false
|
||||
, with3d ? true
|
||||
, withI18n ? true
|
||||
, withI18n ? false
|
||||
, withPCM ? true # Plugin and Content Manager
|
||||
, srcs ? { }
|
||||
}:
|
||||
|
||||
# The `srcs` parameter can be used to override the kicad source code
|
||||
# and all libraries (including i18n), which are otherwise inaccessible
|
||||
# and all libraries, which are otherwise inaccessible
|
||||
# to overlays since most of the kicad build expression has been
|
||||
# refactored into base.nix, most of the library build expressions have
|
||||
# been refactored into libraries.nix, and most the i18n build
|
||||
# expression has been refactored into i18n.nix. Overrides are only
|
||||
# applied when building `kicad-unstable`. The `srcs` parameter has no
|
||||
# effect for stable `kicad`. `srcs` takes an attribute set in which
|
||||
# been refactored into libraries.nix. Overrides are only applied when
|
||||
# building `kicad-unstable`. The `srcs` parameter has
|
||||
# no effect for stable `kicad`. `srcs` takes an attribute set in which
|
||||
# any of the following attributes are meaningful (though none are
|
||||
# mandatory): "kicad", "kicadVersion", "i18n", "symbols", "templates",
|
||||
# mandatory): "kicad", "kicadVersion", "symbols", "templates",
|
||||
# "footprints", "packages3d", and "libVersion". "kicadVersion" and
|
||||
# "libVersion" should be set to a string with the desired value for
|
||||
# the version attribute in kicad's `mkDerivation` and the version
|
||||
# attribute in any of the library's or i18n's `mkDerivation`,
|
||||
# respectively. "kicad", "i18n", "symbols", "templates", "footprints",
|
||||
# and "packages3d" should be set to an appropriate fetcher (e.g.,
|
||||
# `fetchFromGitLab`). So, for example, a possible overlay for kicad
|
||||
# is:
|
||||
# attribute in any of the library's `mkDerivation`, respectively.
|
||||
# "kicad", "symbols", "templates", "footprints", and "packages3d"
|
||||
# should be set to an appropriate fetcher (e.g. `fetchFromGitLab`).
|
||||
# So, for example, a possible overlay for kicad is:
|
||||
#
|
||||
# final: prev:
|
||||
|
||||
@ -68,15 +61,6 @@
|
||||
# });
|
||||
# }
|
||||
|
||||
assert withNgspice -> libngspice != null;
|
||||
assert lib.assertMsg (!ngspiceSupport)
|
||||
"`nspiceSupport` was renamed to `withNgspice` for the sake of consistency with other kicad nix arguments.";
|
||||
assert lib.assertMsg (!oceSupport)
|
||||
"`oceSupport` was renamed to `withOCE` for the sake of consistency with other kicad nix arguments.";
|
||||
assert lib.assertMsg (!scriptingSupport)
|
||||
"`scriptingSupport` was renamed to `withScripting` for the sake of consistency with other kicad nix arguments.";
|
||||
assert lib.assertMsg (!withOCCT)
|
||||
"`withOCCT` was renamed to `withOCC` for the sake of consistency with upstream cmake options.";
|
||||
let
|
||||
baseName = if (stable) then "kicad" else "kicad-unstable";
|
||||
versionsImport = import ./versions.nix;
|
||||
@ -91,14 +75,6 @@ let
|
||||
sha256 = versionsImport.${baseName}.kicadVersion.src.sha256;
|
||||
};
|
||||
|
||||
i18nSrcFetch = fetchFromGitLab {
|
||||
group = "kicad";
|
||||
owner = "code";
|
||||
repo = "kicad-i18n";
|
||||
rev = versionsImport.${baseName}.libVersion.libSources.i18n.rev;
|
||||
sha256 = versionsImport.${baseName}.libVersion.libSources.i18n.sha256;
|
||||
};
|
||||
|
||||
libSrcFetch = name: fetchFromGitLab {
|
||||
group = "kicad";
|
||||
owner = "libraries";
|
||||
@ -121,36 +97,15 @@ let
|
||||
if srcOverridep "kicadVersion" then srcs.kicadVersion
|
||||
else versionsImport.${baseName}.kicadVersion.version;
|
||||
|
||||
i18nSrc = if srcOverridep "i18n" then srcs.i18n else i18nSrcFetch;
|
||||
i18nVersion =
|
||||
if srcOverridep "i18nVersion" then srcs.i18nVersion
|
||||
else versionsImport.${baseName}.libVersion.version;
|
||||
|
||||
libSrc = name: if srcOverridep name then srcs.${name} else libSrcFetch name;
|
||||
# TODO does it make sense to only have one version for all libs?
|
||||
libVersion =
|
||||
if srcOverridep "libVersion" then srcs.libVersion
|
||||
else versionsImport.${baseName}.libVersion.version;
|
||||
|
||||
wxGTK =
|
||||
if (stable)
|
||||
# wxGTK3x may default to withGtk2 = false, see #73145
|
||||
then
|
||||
wxGTK30.override
|
||||
{
|
||||
withGtk2 = false;
|
||||
}
|
||||
# wxGTK31 currently introduces an issue with opening the python interpreter in pcbnew
|
||||
# but brings high DPI support?
|
||||
else
|
||||
wxGTK31.override {
|
||||
withGtk2 = false;
|
||||
};
|
||||
|
||||
wxGTK = wxGTK31-gtk3;
|
||||
python = python3;
|
||||
wxPython = if (stable)
|
||||
then python.pkgs.wxPython_4_0
|
||||
else python.pkgs.wxPython_4_1;
|
||||
wxPython = python.pkgs.wxPython_4_1;
|
||||
|
||||
inherit (lib) concatStringsSep flatten optionalString optionals;
|
||||
in
|
||||
@ -158,13 +113,11 @@ stdenv.mkDerivation rec {
|
||||
|
||||
# Common libraries, referenced during runtime, via the wrapper.
|
||||
passthru.libraries = callPackages ./libraries.nix { inherit libSrc; };
|
||||
passthru.i18n = callPackage ./i18n.nix { src = i18nSrc; };
|
||||
base = callPackage ./base.nix {
|
||||
inherit stable baseName;
|
||||
inherit kicadSrc kicadVersion;
|
||||
inherit (passthru) i18n;
|
||||
inherit wxGTK python wxPython;
|
||||
inherit withI18n withOCC withOCE withNgspice withScripting;
|
||||
inherit withOCC withNgspice withScripting withI18n withPCM;
|
||||
inherit debug sanitizeAddress sanitizeThreads;
|
||||
};
|
||||
|
||||
@ -197,27 +150,14 @@ stdenv.mkDerivation rec {
|
||||
"--prefix GIO_EXTRA_MODULES : ${dconf}/lib/gio/modules"
|
||||
# required to open a bug report link in firefox-wayland
|
||||
"--set-default MOZ_DBUS_REMOTE 1"
|
||||
]
|
||||
++ optionals (stable)
|
||||
[
|
||||
"--set-default KISYSMOD ${footprints}/share/kicad/modules"
|
||||
"--set-default KICAD_SYMBOL_DIR ${symbols}/share/kicad/library"
|
||||
"--set-default KICAD_TEMPLATE_DIR ${templates}/share/kicad/template"
|
||||
"--prefix KICAD_TEMPLATE_DIR : ${symbols}/share/kicad/template"
|
||||
"--prefix KICAD_TEMPLATE_DIR : ${footprints}/share/kicad/template"
|
||||
]
|
||||
++ optionals (stable && with3d) [ "--set-default KISYS3DMOD ${packages3d}/share/kicad/modules/packages3d" ]
|
||||
++ optionals (!stable)
|
||||
[
|
||||
"--set-default KICAD6_FOOTPRINT_DIR ${footprints}/share/kicad/footprints"
|
||||
"--set-default KICAD6_SYMBOL_DIR ${symbols}/share/kicad/symbols"
|
||||
"--set-default KICAD6_TEMPLATE_DIR ${templates}/share/kicad/template"
|
||||
"--prefix KICAD6_TEMPLATE_DIR : ${symbols}/share/kicad/template"
|
||||
"--prefix KICAD6_TEMPLATE_DIR : ${footprints}/share/kicad/template"
|
||||
]
|
||||
++ optionals (!stable && with3d)
|
||||
++ optionals (with3d)
|
||||
[
|
||||
"--set-default KISYS3DMOD ${packages3d}/share/kicad/3dmodels"
|
||||
"--set-default KICAD6_3DMODEL_DIR ${packages3d}/share/kicad/3dmodels"
|
||||
]
|
||||
++ optionals (withNgspice) [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ]
|
||||
@ -259,9 +199,6 @@ stdenv.mkDerivation rec {
|
||||
ln -s ${base}/share/applications $out/share/applications
|
||||
ln -s ${base}/share/icons $out/share/icons
|
||||
ln -s ${base}/share/mime $out/share/mime
|
||||
'' + optionalString (stable) ''
|
||||
ln -s ${base}/share/appdata $out/share/appdata
|
||||
'' + optionalString (!stable) ''
|
||||
ln -s ${base}/share/metainfo $out/share/metainfo
|
||||
'';
|
||||
|
||||
|
@ -1,18 +0,0 @@
|
||||
{ lib, stdenv
|
||||
, cmake
|
||||
, gettext
|
||||
, src
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
inherit src;
|
||||
|
||||
pname = "kicad-i18n";
|
||||
version = builtins.substring 0 10 src.rev;
|
||||
|
||||
nativeBuildInputs = [ cmake gettext ];
|
||||
meta = with lib; {
|
||||
license = licenses.gpl2; # https://github.com/KiCad/kicad-i18n/issues/3
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
@ -1,7 +1,9 @@
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p coreutils git nix curl
|
||||
# shellcheck shell=bash enable=all
|
||||
|
||||
set -e
|
||||
shopt -s inherit_errexit
|
||||
|
||||
# this script will generate versions.nix in the right location
|
||||
# this should contain the versions' revs and hashes
|
||||
@ -25,10 +27,12 @@ export TMPDIR=/tmp
|
||||
# remove items left in /nix/store?
|
||||
|
||||
# get the latest tag that isn't an RC or *.99
|
||||
latest_tag="$(git ls-remote --tags --sort -version:refname \
|
||||
https://gitlab.com/kicad/code/kicad.git \
|
||||
| grep -o 'refs/tags/[0-9]*\.[0-9]*\.[0-9]*$' \
|
||||
| grep -v ".99" | head -n 1 | cut -d '/' -f 3)"
|
||||
latest_tags="$(git ls-remote --tags --sort -version:refname https://gitlab.com/kicad/code/kicad.git)"
|
||||
# using a scratch variable to ensure command failures get caught (SC2312)
|
||||
scratch="$(grep -o 'refs/tags/[0-9]*\.[0-9]*\.[0-9]*$' <<< "${latest_tags}")"
|
||||
scratch="$(grep -ve '\.99' -e '\.9\.9' <<< "${scratch}")"
|
||||
scratch="$(head -n 1 <<< "${scratch}")"
|
||||
latest_tag="$(cut -d '/' -f 3 <<< "${scratch}")"
|
||||
|
||||
all_versions=( "${latest_tag}" master )
|
||||
|
||||
@ -60,15 +64,15 @@ tmp="${here}/,versions.nix.${RANDOM}"
|
||||
|
||||
libs=( symbols templates footprints packages3d )
|
||||
|
||||
get_rev="git ls-remote --heads --tags"
|
||||
get_rev() {
|
||||
git ls-remote --heads --tags "$@"
|
||||
}
|
||||
|
||||
gitlab="https://gitlab.com/kicad"
|
||||
# append commit hash or tag
|
||||
gitlab_pre="https://gitlab.com/api/v4/projects/kicad%2Fcode%2Fkicad/repository/archive.tar.gz?sha="
|
||||
|
||||
# not a lib, but separate and already moved to gitlab
|
||||
i18n="${gitlab}/code/kicad-i18n.git"
|
||||
i18n_pre="https://gitlab.com/api/v4/projects/kicad%2Fcode%2Fkicad-i18n/repository/archive.tar.gz?sha="
|
||||
src_pre="https://gitlab.com/api/v4/projects/kicad%2Fcode%2Fkicad/repository/archive.tar.gz?sha="
|
||||
lib_pre="https://gitlab.com/api/v4/projects/kicad%2Flibraries%2Fkicad-"
|
||||
lib_mid="/repository/archive.tar.gz?sha="
|
||||
|
||||
count=0
|
||||
|
||||
@ -108,16 +112,19 @@ for version in "${all_versions[@]}"; do
|
||||
printf "%6ssrc = {\n" ""
|
||||
|
||||
echo "Checking src" >&2
|
||||
src_rev="$(${get_rev} "${gitlab}"/code/kicad.git "${version}" | cut -f1)"
|
||||
scratch="$(get_rev "${gitlab}"/code/kicad.git "${version}")"
|
||||
src_rev="$(cut -f1 <<< "${scratch}")"
|
||||
has_rev="$(grep -sm 1 "\"${pname}\"" -A 4 "${file}" | grep -sm 1 "${src_rev}" || true)"
|
||||
has_hash="$(grep -sm 1 "\"${pname}\"" -A 5 "${file}" | grep -sm 1 "sha256" || true)"
|
||||
|
||||
if [[ -n ${has_rev} && -n ${has_hash} && -z ${clean} ]]; then
|
||||
echo "Reusing old ${pname}.src.sha256, already latest .rev" >&2
|
||||
grep -sm 1 "\"${pname}\"" -A 5 "${file}" | grep -sm 1 "rev" -A 1
|
||||
scratch=$(grep -sm 1 "\"${pname}\"" -A 5 "${file}")
|
||||
grep -sm 1 "rev" -A 1 <<< "${scratch}"
|
||||
else
|
||||
prefetched="$(${prefetch} "${src_pre}${src_rev}")"
|
||||
printf "%8srev =\t\t\t\"%s\";\n" "" "${src_rev}"
|
||||
printf "%8ssha256 =\t\t\"%s\";\n" \
|
||||
"" "$(${prefetch} "${gitlab_pre}${src_rev}")"
|
||||
printf "%8ssha256 =\t\t\"%s\";\n" "" "${prefetched}"
|
||||
count=$((count+1))
|
||||
fi
|
||||
printf "%6s};\n" ""
|
||||
@ -127,37 +134,26 @@ for version in "${all_versions[@]}"; do
|
||||
printf "%6sversion =\t\t\t\"%s\";\n" "" "${today}"
|
||||
printf "%6slibSources = {\n" ""
|
||||
|
||||
echo "Checking i18n" >&2
|
||||
i18n_rev="$(${get_rev} "${i18n}" "${version}" | cut -f1)"
|
||||
has_rev="$(grep -sm 1 "\"${pname}\"" -A 11 "${file}" | grep -sm 1 "${i18n_rev}" || true)"
|
||||
has_hash="$(grep -sm 1 "\"${pname}\"" -A 12 "${file}" | grep -sm 1 "i18n.sha256" || true)"
|
||||
if [[ -n ${has_rev} && -n ${has_hash} && -z ${clean} ]]; then
|
||||
echo "Reusing old kicad-i18n-${today}.src.sha256, already latest .rev" >&2
|
||||
grep -sm 1 "\"${pname}\"" -A 12 "${file}" | grep -sm 1 "i18n" -A 1
|
||||
else
|
||||
printf "%8si18n.rev =\t\t\"%s\";\n" "" "${i18n_rev}"
|
||||
printf "%8si18n.sha256 =\t\t\"%s\";\n" "" \
|
||||
"$(${prefetch} "${i18n_pre}${i18n_rev}")"
|
||||
count=$((count+1))
|
||||
fi
|
||||
|
||||
for lib in "${libs[@]}"; do
|
||||
echo "Checking ${lib}" >&2
|
||||
url="${gitlab}/libraries/kicad-${lib}.git"
|
||||
lib_rev="$(${get_rev} "${url}" "${version}" | cut -f1 | tail -n1)"
|
||||
scratch="$(get_rev "${url}" "${version}")"
|
||||
scratch="$(cut -f1 <<< "${scratch}")"
|
||||
lib_rev="$(tail -n1 <<< "${scratch}")"
|
||||
has_rev="$(grep -sm 1 "\"${pname}\"" -A 19 "${file}" | grep -sm 1 "${lib_rev}" || true)"
|
||||
has_hash="$(grep -sm 1 "\"${pname}\"" -A 20 "${file}" | grep -sm 1 "${lib}.sha256" || true)"
|
||||
if [[ -n ${has_rev} && -n ${has_hash} && -z ${clean} ]]; then
|
||||
echo "Reusing old kicad-${lib}-${today}.src.sha256, already latest .rev" >&2
|
||||
grep -sm 1 "\"${pname}\"" -A 20 "${file}" | grep -sm 1 "${lib}" -A 1
|
||||
scratch="$(grep -sm 1 "\"${pname}\"" -A 20 "${file}")"
|
||||
grep -sm 1 "${lib}" -A 1 <<< "${scratch}"
|
||||
else
|
||||
prefetched="$(${prefetch} "${lib_pre}${lib}${lib_mid}${lib_rev}")"
|
||||
printf "%8s%s.rev =\t" "" "${lib}"
|
||||
case "${lib}" in
|
||||
symbols|templates) printf "\t" ;; *) ;;
|
||||
esac
|
||||
printf "\"%s\";\n" "${lib_rev}"
|
||||
printf "%8s%s.sha256 =\t\"%s\";\n" "" \
|
||||
"${lib}" "$(${prefetch} "https://gitlab.com/api/v4/projects/kicad%2Flibraries%2Fkicad-${lib}/repository/archive.tar.gz?sha=${lib_rev}")"
|
||||
printf "%8s%s.sha256 =\t\"%s\";\n" "" "${lib}" "${prefetched}"
|
||||
count=$((count+1))
|
||||
fi
|
||||
done
|
||||
@ -166,7 +162,7 @@ for version in "${all_versions[@]}"; do
|
||||
printf "%2s};\n" ""
|
||||
else
|
||||
printf "\nReusing old %s\n" "${pname}" >&2
|
||||
grep -sm 1 "\"${pname}\"" -A 23 "${file}"
|
||||
grep -sm 1 "\"${pname}\"" -A 21 "${file}"
|
||||
fi
|
||||
done
|
||||
printf "}\n"
|
||||
|
@ -3,47 +3,43 @@
|
||||
{
|
||||
"kicad" = {
|
||||
kicadVersion = {
|
||||
version = "5.1.12";
|
||||
version = "6.0.0";
|
||||
src = {
|
||||
rev = "84ad8e8a86f13c0697f5cbed8c17977b6545ddc9";
|
||||
sha256 = "0kgikchqxds3mp71nkg307mr4c1dgv8akbmksz4w9x8jg4i1mfqq";
|
||||
rev = "d3dd2cf0fa975548d027db88d19b8a88866866d8";
|
||||
sha256 = "1jrfwyi4zs0rpcpsj01z6687a433nnr56cxbnz12jfg2yafpxk23";
|
||||
};
|
||||
};
|
||||
libVersion = {
|
||||
version = "5.1.12";
|
||||
version = "6.0.0";
|
||||
libSources = {
|
||||
i18n.rev = "0ad3d7e469e31c8868ad83f90e22a9c18f16aa1f";
|
||||
i18n.sha256 = "0y51l0r62cnxkvpc21732p3cx7pjvaqjih8193502hlv9kv1j9p6";
|
||||
symbols.rev = "97c0bfdd2f5ebe952bc90c60f080a8e41da60615";
|
||||
symbols.sha256 = "1zdajim409570xzis53kmrbdcf7000v2vmc90f49h214lrx2zhr2";
|
||||
templates.rev = "eca0f632eb76c8f49de4d5a590c83543090d0b7d";
|
||||
templates.sha256 = "1fbhn1l3j2rwc29aida9b408wif55i23bp9ddcs7dvf83smjm05g";
|
||||
footprints.rev = "b65732f8ebd7ab894fd638f3f2bf4a4e9b24f653";
|
||||
footprints.sha256 = "0qpii55dgv2gxqg1qq0dngdnbb9din790qi5qv0l6qqrzx843h5s";
|
||||
packages3d.rev = "0ddd588650fede09766b704feb15d30bcb6e144f";
|
||||
packages3d.sha256 = "12w7m5nbk9kcnlnlg4sk1sd7xgb9i2kxfi0jcbd0phs89qyl7wjr";
|
||||
symbols.rev = "275f22eb9eecd5b6deabdefd82c9a826254d9f23";
|
||||
symbols.sha256 = "0wjk464l60xknvgc9d870901lqnx296dw7amlh3wg0wf78izarfr";
|
||||
templates.rev = "3a422b5b0928f3fd31579769d4dee2b009a85a11";
|
||||
templates.sha256 = "0vbjy1v5923942ma0rqcp1dhylhxk1m4vyfxjxw13sizkrpmlwr1";
|
||||
footprints.rev = "3ea7895b0817abecaa34276346749a711b0c69f6";
|
||||
footprints.sha256 = "0jv2plwzhhkfx7a2zankkjkbfzjxv43ab8rqpxzqfq2fnx83q6r5";
|
||||
packages3d.rev = "e607286d4a48ddf654585b37b45d74416a9a70c7";
|
||||
packages3d.sha256 = "0vwcbzq42hzjl4f0zjaswmiff1x59hv64g5n00mx1gl0gwngnyla";
|
||||
};
|
||||
};
|
||||
};
|
||||
"kicad-unstable" = {
|
||||
kicadVersion = {
|
||||
version = "6.0.0-rc1";
|
||||
version = "2021-12-23";
|
||||
src = {
|
||||
rev = "9fb05440b3ef3073613ecdeba6112aeb6b26c4df";
|
||||
sha256 = "1j0hd6bpmd80dyvy9mz4n4rr8f849bdwdd4vs8vfbsswf0gxj734";
|
||||
rev = "21eb92821866d558acd9e737b643b300a8b18202";
|
||||
sha256 = "01hg0byp60xzgz0xxfwvyq1hbvbllsys6lx9yfj27d3qjc3bdk42";
|
||||
};
|
||||
};
|
||||
libVersion = {
|
||||
version = "6.0.0-rc1";
|
||||
version = "2021-12-25";
|
||||
libSources = {
|
||||
i18n.rev = "e89d9a89bec59199c1ade56ee2556591412ab7b0";
|
||||
i18n.sha256 = "04zaqyhj3qr4ymyd3k5vjpcna64j8klpsygcgjcv29s3rdi8glfl";
|
||||
symbols.rev = "27b627393a7f2733e965ed82a5533a757789cbb2";
|
||||
symbols.sha256 = "0p1qay6h6ibkhcz1b8xszsihi432ddi8jgnan2xr5rl4539c4ydp";
|
||||
symbols.rev = "125a2e736504e776e4c6fb7f5131efad75edf245";
|
||||
symbols.sha256 = "0wjk464l60xknvgc9d870901lqnx296dw7amlh3wg0wf78izarfr";
|
||||
templates.rev = "8c9ff3dadb9c75cf2932f11c09a46c0c9d84784b";
|
||||
templates.sha256 = "0vbjy1v5923942ma0rqcp1dhylhxk1m4vyfxjxw13sizkrpmlwr1";
|
||||
footprints.rev = "4ce2242095912e491f1690210d9cb2328363b268";
|
||||
footprints.sha256 = "1zx13rrpiamxyv7y27mr5xsdz0d09hpwfgc2j496p3q41q2crlq0";
|
||||
footprints.rev = "ac8de318d8ef7b3eb64c78c6c2650b7b085f3271";
|
||||
footprints.sha256 = "0jv2plwzhhkfx7a2zankkjkbfzjxv43ab8rqpxzqfq2fnx83q6r5";
|
||||
packages3d.rev = "1080b6e565e56bae9be46db2278a1542092d7a2d";
|
||||
packages3d.sha256 = "0vwcbzq42hzjl4f0zjaswmiff1x59hv64g5n00mx1gl0gwngnyla";
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user