diff options
Diffstat (limited to 'nixpkgs/pkgs/applications/science/electronics')
8 files changed, 104 insertions, 33 deletions
diff --git a/nixpkgs/pkgs/applications/science/electronics/caneda/default.nix b/nixpkgs/pkgs/applications/science/electronics/caneda/default.nix index 6f832013e8ca..c90ceac6788f 100644 --- a/nixpkgs/pkgs/applications/science/electronics/caneda/default.nix +++ b/nixpkgs/pkgs/applications/science/electronics/caneda/default.nix @@ -1,6 +1,6 @@ -{stdenv, fetchFromGitHub, cmake, qtbase, qttools, qtsvg, qwt }: +{ mkDerivation, stdenv, fetchFromGitHub, cmake, qtbase, qttools, qtsvg, qwt }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "caneda"; version = "0.3.1"; diff --git a/nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix b/nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix index 7c5942d825a9..58bdd5c722da 100644 --- a/nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix +++ b/nixpkgs/pkgs/applications/science/electronics/eagle/eagle.nix @@ -13,11 +13,11 @@ let in mkDerivation rec { pname = "eagle"; - version = "9.6.0"; + version = "9.6.1"; src = fetchurl { url = "https://eagle-updates.circuits.io/downloads/${builtins.replaceStrings ["."] ["_"] version}/Autodesk_EAGLE_${version}_English_Linux_64bit.tar.gz"; - sha256 = "1crkyc7ws2zz5dfs00h6rj4z2hyqb97kp6r4hxhmcgg5647ij4z8"; + sha256 = "1iq4aahrh4g3549vbr7gka5y2h7f17n3yafzl21njc2mkqb12jdw"; }; desktopItem = makeDesktopItem { diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/update.sh b/nixpkgs/pkgs/applications/science/electronics/kicad/update.sh index 7dc0b008b6c2..f048ccde4ec8 100755 --- a/nixpkgs/pkgs/applications/science/electronics/kicad/update.sh +++ b/nixpkgs/pkgs/applications/science/electronics/kicad/update.sh @@ -1,6 +1,8 @@ #!/usr/bin/env nix-shell #!nix-shell -i bash -p coreutils git nix curl +set -e + # this script will generate versions.nix in the right location # this should contain the versions' revs and hashes # the stable revs are stored only for ease of skipping @@ -50,12 +52,11 @@ for arg in "$@"; do done here="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -now=$(date --iso-8601) +now=$(date --iso-8601 --utc) file="${here}/versions.nix" # just in case this runs in parallel -rand="$(head -c 3 /dev/urandom | base64)" -tmp="${here}/,versions.nix.${rand}" +tmp="${here}/,versions.nix.${RANDOM}" # libraries currently on github, move to $gitlab/libraries planned libs=( symbols templates footprints packages3d ) @@ -112,16 +113,16 @@ for version in "${all_versions[@]}"; do echo "Checking src" >&2 src_rev="$(${get_rev} "${gitlab}"/code/kicad.git "${version}" | cut -f1)" - ret="$(grep -sm 1 "\"${pname}\"" -A 4 "${file}" | grep -sm 1 "${src_rev}")" + 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")" - if [[ -n ${ret} && -n ${has_hash} && -z ${clean} ]]; then + 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 else printf "%8srev =\t\t\t\"%s\";\n" "" "${src_rev}" printf "%8ssha256 =\t\t\"%s\";\n" \ "" "$(${prefetch} "${gitlab_pre}${src_rev}")" - (( count++ )) + count=$((count+1)) fi printf "%6s};\n" "" printf "%4s};\n" "" @@ -132,25 +133,25 @@ for version in "${all_versions[@]}"; do echo "Checking i18n" >&2 i18n_rev="$(${get_rev} "${i18n}" "${version}" | cut -f1)" - ret="$(grep -sm 1 "\"${pname}\"" -A 11 "${file}" | grep -sm 1 "${i18n_rev}")" + 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")" - if [[ -n ${ret} && -n ${has_hash} && -z ${clean} ]]; then + 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=$((count+1)) fi for lib in "${libs[@]}"; do echo "Checking ${lib}" >&2 url="${github}-${lib}.git" lib_rev="$(${get_rev} "${url}" "${version}" | cut -f1)" - ret="$(grep -sm 1 "\"${pname}\"" -A 19 "${file}" | grep -sm 1 "${lib_rev}" -A 1)" + 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")" - if [[ -n ${ret} && -n ${has_hash} && -z ${clean} ]]; then + 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 else @@ -161,7 +162,7 @@ for version in "${all_versions[@]}"; do printf "\"%s\";\n" "${lib_rev}" printf "%8s%s.sha256 =\t\"%s\";\n" "" \ "${lib}" "$(${prefetch} "${github}-${lib}/archive/${lib_rev}.tar.gz")" - (( count++ )) + count=$((count+1)) fi done printf "%6s};\n" "" @@ -175,6 +176,11 @@ done printf "}\n" } > "${tmp}" +if grep '""' "${tmp}"; then + echo "empty value detected, out of space?" >&2 + exit "1" +fi + mv "${tmp}" "${file}" printf "\nFinished\nMoved output to %s\n\n" "${file}" >&2 diff --git a/nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix b/nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix index 6b9a981a87c4..174532d69625 100644 --- a/nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix +++ b/nixpkgs/pkgs/applications/science/electronics/kicad/versions.nix @@ -27,25 +27,25 @@ }; "kicad-unstable" = { kicadVersion = { - version = "2020-02-10"; + version = "2020-04-25"; src = { - rev = "1190e60dd426d246661e478db3287f266ec6cda2"; - sha256 = "0cgfad07j69cks97llj4hf3kga0d5qf728s89xwxrzcwm06k62bi"; + rev = "3759799d1e03b2da6a0dcd72273e4978880fc8f1"; + sha256 = "0ba14fla8m5zli68wfjkfc4ymvj4j8z92y3jigxs8hys0450bybi"; }; }; libVersion = { - version = "2020-02-10"; + version = "2020-04-25"; libSources = { - i18n.rev = "26786c4ca804bad7eb072f1ef381f00b5a2ff3ee"; - i18n.sha256 = "0iqr1xfw4s677afjy9bn5y41z4isp327f9y90wypkxiwwq3dfkfl"; - symbols.rev = "35b7da2d211d7cc036b37ad7f5e40ef03faa1bc7"; - symbols.sha256 = "0wbfw1swbfvfp47cn48pxpqlygjs3xh568ydrrs51v3w102x8y64"; - templates.rev = "0c0490897f803ab8b7c3dad438b7eb1f80e0417c"; - templates.sha256 = "0cs3bm3zb5ngw5ldn0lzw5bvqm4kvcidyrn76438alffwiz2b15g"; - footprints.rev = "9357b6f09312966c57fec9f66a516941d79c3038"; - footprints.sha256 = "0cgah1q0h012ffwfl220k7qb6hgbs0i91spq2j4v3lgpfr4g638d"; - packages3d.rev = "de368eb739abe41dfc3163e0e370477e857f9cc1"; - packages3d.sha256 = "0b3p5v8g24h6l7q3sbqz7ns0gnrf9l89glj86m5ybhizvls9vrrs"; + i18n.rev = "fc14baa52ca56a58b0048ab860bf31887d3cf8eb"; + i18n.sha256 = "05nayab7dkjyq7g3i9q7k55hcckpc0cmq4bbklmxx16rx4rbhzc6"; + symbols.rev = "0f9ff2d17237f90bb649bf0a52b6d454f68197e8"; + symbols.sha256 = "1a54428syn2xksc00n2bvh1alrx2vrqmp7cg7d2rn8nlq8yk4qd5"; + templates.rev = "7db8d4d0ea0711f1961d117853547fb3edbc3857"; + templates.sha256 = "1hppcsrkn4dk6ggby6ckh0q65qxkywrbyxa4lwpaf7pxjyv498xg"; + footprints.rev = "61df6d8853b4c68cca0ac87784c0a33cff9394d3"; + footprints.sha256 = "0blmhk8pwd4mi6rlsr4lf4lq7j01h6xbpbvr3pm8pmw8zylhi54v"; + packages3d.rev = "88bcf2e817fe000bb2c05e14489afc3b1a4e10ed"; + packages3d.sha256 = "0z9p1fn5xbz940kr5jz2ibzf09hpdi1c9izmabkffvrnfy6408x6"; }; }; }; diff --git a/nixpkgs/pkgs/applications/science/electronics/librepcb/default.nix b/nixpkgs/pkgs/applications/science/electronics/librepcb/default.nix index 7e0894fb337d..de01b095e381 100644 --- a/nixpkgs/pkgs/applications/science/electronics/librepcb/default.nix +++ b/nixpkgs/pkgs/applications/science/electronics/librepcb/default.nix @@ -2,14 +2,14 @@ mkDerivation { pname = "librepcb"; - version = "0.1.3"; + version = "0.1.4"; src = fetchFromGitHub { owner = "LibrePCB"; repo = "LibrePCB"; fetchSubmodules = true; - rev = "56bc60d347ff67df0fe1d57807d03f0606de557f"; - sha256 = "0z6jn5zawp0x5i9zda7l787jnsv3yl8aqwnpii3g4hsnf2q3hhrh"; + rev = "ae04eef5a71b5ba66ae2cee6b631c1c933ace535"; + sha256 = "0wk5qny1jb6n4mwyyrs7syir3hmwxlwazcd80bpxharmsj7p0rzc"; }; enableParallelBuilding = true; diff --git a/nixpkgs/pkgs/applications/science/electronics/magic-vlsi/0001-strip-bin-prefix.patch b/nixpkgs/pkgs/applications/science/electronics/magic-vlsi/0001-strip-bin-prefix.patch new file mode 100644 index 000000000000..1cef96ea1408 --- /dev/null +++ b/nixpkgs/pkgs/applications/science/electronics/magic-vlsi/0001-strip-bin-prefix.patch @@ -0,0 +1,10 @@ +diff --git a/scripts/makedbh b/scripts/makedbh +index 01e4fa5..d6299c6 100755 +--- a/scripts/makedbh ++++ b/scripts/makedbh +@@ -1,4 +1,4 @@ +-#!/bin/csh -f ++#!/usr/bin/env tcsh + # + # makes the "database.h" (1st argument, $1) file from "database.h.in" + # (2nd argument, $2), setting various mask operation definitions diff --git a/nixpkgs/pkgs/applications/science/electronics/magic-vlsi/0002-fix-format-security.patch b/nixpkgs/pkgs/applications/science/electronics/magic-vlsi/0002-fix-format-security.patch new file mode 100644 index 000000000000..37ae35195503 --- /dev/null +++ b/nixpkgs/pkgs/applications/science/electronics/magic-vlsi/0002-fix-format-security.patch @@ -0,0 +1,19 @@ +diff --git a/database/DBio.c b/database/DBio.c +index 93c4b0b..292ea5f 100644 +--- a/database/DBio.c ++++ b/database/DBio.c +@@ -2378,12 +2378,12 @@ DBCellWriteFile(cellDef, f) + + #define FPRINTF(f,s)\ + {\ +- if (fprintf(f,s) == EOF) goto ioerror;\ ++ if (fprintf(f,"%s",s) == EOF) goto ioerror;\ + DBFileOffset += strlen(s);\ + } + #define FPRINTR(f,s)\ + {\ +- if (fprintf(f,s) == EOF) return 1;\ ++ if (fprintf(f,"%s",s) == EOF) return 1;\ + DBFileOffset += strlen(s);\ + } + diff --git a/nixpkgs/pkgs/applications/science/electronics/magic-vlsi/default.nix b/nixpkgs/pkgs/applications/science/electronics/magic-vlsi/default.nix new file mode 100644 index 000000000000..62b830547e53 --- /dev/null +++ b/nixpkgs/pkgs/applications/science/electronics/magic-vlsi/default.nix @@ -0,0 +1,36 @@ +{ stdenv, fetchurl, m4, tcsh, libX11, tcl, tk, cairo, ncurses, mesa_glu, python3 }: + +stdenv.mkDerivation { + pname = "magic-vlsi"; + version = "8.3.5"; + + src = fetchurl { + url = "http://opencircuitdesign.com/magic/archive/magic-8.3.5.tgz"; + sha256 = "0wv4zmxlqjfaakgp802icn0cd9f8ylkz2sppix83axq8p5cg90yq"; + }; + + buildInputs = [ m4 tcsh libX11 tcl tk cairo ncurses mesa_glu ]; + nativeBuildInputs = [ python3 ]; + + configureFlags = [ + "--with-tcl=${tcl}" + "--with-tk=${tk}" + "--disable-werror" + ]; + + postPatch = '' + patchShebangs scripts/* + ''; + + patches = [ + ./0001-strip-bin-prefix.patch + ./0002-fix-format-security.patch + ]; + + meta = with stdenv.lib; { + description = "VLSI layout tool written in Tcl"; + homepage = "http://opencircuitdesign.com/magic/"; + license = licenses.mit; + maintainers = [ maintainers.dkudriavtsev ]; + }; +} |