diff --git a/pkgs/applications/science/electronics/kicad/base.nix b/pkgs/applications/science/electronics/kicad/base.nix index 61fcff77e1c7..2f4fd63574b0 100644 --- a/pkgs/applications/science/electronics/kicad/base.nix +++ b/pkgs/applications/science/electronics/kicad/base.nix @@ -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; diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix index 425234e7f772..44a538370dae 100644 --- a/pkgs/applications/science/electronics/kicad/default.nix +++ b/pkgs/applications/science/electronics/kicad/default.nix @@ -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 ''; diff --git a/pkgs/applications/science/electronics/kicad/i18n.nix b/pkgs/applications/science/electronics/kicad/i18n.nix deleted file mode 100644 index c9a70a0060d5..000000000000 --- a/pkgs/applications/science/electronics/kicad/i18n.nix +++ /dev/null @@ -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; - }; -} diff --git a/pkgs/applications/science/electronics/kicad/update.sh b/pkgs/applications/science/electronics/kicad/update.sh index 099440956ae7..48270e962f53 100755 --- a/pkgs/applications/science/electronics/kicad/update.sh +++ b/pkgs/applications/science/electronics/kicad/update.sh @@ -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" diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix index 50a75cdfd094..5fed12b0027b 100644 --- a/pkgs/applications/science/electronics/kicad/versions.nix +++ b/pkgs/applications/science/electronics/kicad/versions.nix @@ -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"; };