diff options
Diffstat (limited to 'pkgs/applications/science/electronics')
19 files changed, 443 insertions, 128 deletions
diff --git a/pkgs/applications/science/electronics/adms/default.nix b/pkgs/applications/science/electronics/adms/default.nix index f55dd2f0528..0fcf4d25e2d 100644 --- a/pkgs/applications/science/electronics/adms/default.nix +++ b/pkgs/applications/science/electronics/adms/default.nix @@ -2,14 +2,14 @@ libxml2, perl, perlPackages, gd }: stdenv.mkDerivation rec { - version = "2.3.6"; + version = "2.3.7"; pname = "adms"; src = fetchFromGitHub { owner = "Qucs"; repo = "adms"; rev = "release-${version}"; - sha256 = "1pcwq5khzdq4x33lid9hq967gv78dr5i4f2sk8m8rwkfqb9vdzrg"; + sha256 = "0i37c9k6q1iglmzp9736rrgsnx7sw8xn3djqbbjw29zsyl3pf62c"; }; nativeBuildInputs = [ autoreconfHook ]; diff --git a/pkgs/applications/science/electronics/appcsxcad/default.nix b/pkgs/applications/science/electronics/appcsxcad/default.nix new file mode 100644 index 00000000000..d2b7c0d66a1 --- /dev/null +++ b/pkgs/applications/science/electronics/appcsxcad/default.nix @@ -0,0 +1,58 @@ +{ lib +, mkDerivation +, fetchFromGitHub +, cmake +, csxcad +, qcsxcad +, hdf5 +, vtkWithQt5 +, qtbase +, wrapQtAppsHook +, fparser +, tinyxml +, cgal +, boost +}: + +mkDerivation { + pname = "appcsxcad"; + version = "unstable-2020-01-04"; + + src = fetchFromGitHub { + owner = "thliebig"; + repo = "AppCSXCAD"; + rev = "de8c271ec8b57e80233cb2a432e3d7fd54d30876"; + sha256 = "0shnfa0if3w588a68gr82qi6k7ldg1j2921fnzji90mmay21birp"; + }; + + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; + + buildInputs = [ + csxcad + qcsxcad + hdf5 + vtkWithQt5 + qtbase + fparser + tinyxml + cgal + boost + ]; + + postFixup = '' + rm $out/bin/AppCSXCAD.sh + ''; + + enableParallelBuilding = true; + + meta = with lib; { + description = "Minimal Application using the QCSXCAD library"; + homepage = "https://github.com/thliebig/AppCSXCAD"; + license = licenses.gpl3; + maintainers = with maintainers; [ matthuszagh ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/science/electronics/csxcad/default.nix b/pkgs/applications/science/electronics/csxcad/default.nix new file mode 100644 index 00000000000..adc6a60be85 --- /dev/null +++ b/pkgs/applications/science/electronics/csxcad/default.nix @@ -0,0 +1,49 @@ +{ stdenv +, fetchFromGitHub +, cmake +, fparser +, tinyxml +, hdf5 +, cgal_5 +, vtk +, boost +, gmp +, mpfr +}: + +stdenv.mkDerivation rec { + pname = "csxcad"; + version = "unstable-2020-02-08"; + + src = fetchFromGitHub { + owner = "thliebig"; + repo = "CSXCAD"; + rev = "ef6e40931dbd80e0959f37c8e9614c437bf7e518"; + sha256 = "072s765jyzpdq8qqysdy0dld17m6sr9zfcs0ip2zk8c4imxaysnb"; + }; + + patches = [./searchPath.patch ]; + + buildInputs = [ + cgal_5 + boost + gmp + mpfr + vtk + fparser + tinyxml + hdf5 + ]; + + nativeBuildInputs = [ cmake ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "A C++ library to describe geometrical objects"; + homepage = "https://github.com/thliebig/CSXCAD"; + license = licenses.lgpl3; + maintainers = with maintainers; [ matthuszagh ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/science/electronics/csxcad/searchPath.patch b/pkgs/applications/science/electronics/csxcad/searchPath.patch new file mode 100644 index 00000000000..2fc0d77b320 --- /dev/null +++ b/pkgs/applications/science/electronics/csxcad/searchPath.patch @@ -0,0 +1,11 @@ +--- CSXCAD/matlab/searchBinary.m 2019-07-14 09:24:02.154291745 -0700 ++++ CSXCAD/matlab/searchBinary.m 2019-07-14 09:20:20.900248280 -0700 +@@ -33,7 +33,7 @@ + + % try all search paths + for n=1:numel(searchpath) +- binary_location = [searchpath{n} name]; ++ binary_location = [searchpath{n} filesep name]; + if exist(binary_location, 'file') + return + end diff --git a/pkgs/applications/science/electronics/eagle/eagle.nix b/pkgs/applications/science/electronics/eagle/eagle.nix index 58bdd5c722d..400e5e30097 100644 --- a/pkgs/applications/science/electronics/eagle/eagle.nix +++ b/pkgs/applications/science/electronics/eagle/eagle.nix @@ -13,11 +13,11 @@ let in mkDerivation rec { pname = "eagle"; - version = "9.6.1"; + version = "9.6.2"; src = fetchurl { url = "https://eagle-updates.circuits.io/downloads/${builtins.replaceStrings ["."] ["_"] version}/Autodesk_EAGLE_${version}_English_Linux_64bit.tar.gz"; - sha256 = "1iq4aahrh4g3549vbr7gka5y2h7f17n3yafzl21njc2mkqb12jdw"; + sha256 = "18syygnskl286kn8aqfzzdsyzq59d2w19y1h1ynyxsnrvkyv71h0"; }; desktopItem = makeDesktopItem { @@ -27,7 +27,7 @@ let comment = "Schematic capture and PCB layout"; desktopName = "Eagle"; genericName = "Schematic editor"; - categories = "Application;Development;"; + categories = "Development;"; }; buildInputs = diff --git a/pkgs/applications/science/electronics/eagle/eagle7.nix b/pkgs/applications/science/electronics/eagle/eagle7.nix index af0fb675880..5546bb91045 100644 --- a/pkgs/applications/science/electronics/eagle/eagle7.nix +++ b/pkgs/applications/science/electronics/eagle/eagle7.nix @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { comment = "Schematic capture and PCB layout"; desktopName = "Eagle"; genericName = "Schematic editor"; - categories = "Application;Development;"; + categories = "Development;"; }; buildInputs = diff --git a/pkgs/applications/science/electronics/fritzing/default.nix b/pkgs/applications/science/electronics/fritzing/default.nix index a0442db7fed..275100ac7fd 100644 --- a/pkgs/applications/science/electronics/fritzing/default.nix +++ b/pkgs/applications/science/electronics/fritzing/default.nix @@ -1,8 +1,8 @@ -{ stdenv, fetchpatch, fetchFromGitHub, qmake, pkgconfig +{ mkDerivation, stdenv, fetchpatch, fetchFromGitHub, qmake, pkgconfig , qtbase, qtsvg, qtserialport, boost, libgit2 }: -stdenv.mkDerivation rec { +mkDerivation rec { pname = "fritzing"; version = "0.9.3b"; diff --git a/pkgs/applications/science/electronics/gtkwave/default.nix b/pkgs/applications/science/electronics/gtkwave/default.nix index 3d75780936e..36cc19142d1 100644 --- a/pkgs/applications/science/electronics/gtkwave/default.nix +++ b/pkgs/applications/science/electronics/gtkwave/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "gtkwave"; - version = "3.3.104"; + version = "3.3.106"; src = fetchurl { url = "mirror://sourceforge/gtkwave/${pname}-gtk3-${version}.tar.gz"; - sha256 = "1qvldbnlp3wkqr5ff93f6pdvv9yzij7lxfhpqlizakz08l1xb391"; + sha256 = "0ma53s27735x16dq5qi91kvlypkiwkxh2jhw0gziyccnk1mkdsji"; }; nativeBuildInputs = [ pkgconfig wrapGAppsHook ]; diff --git a/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix b/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix new file mode 100644 index 00000000000..06053a8f356 --- /dev/null +++ b/pkgs/applications/science/electronics/hal-hardware-analyzer/default.nix @@ -0,0 +1,52 @@ +{ stdenv, fetchFromGitHub, cmake, ninja, pkgconfig, python3Packages +, boost, rapidjson, qtbase, qtsvg, igraph, spdlog, wrapQtAppsHook +, llvmPackages ? null +}: + +stdenv.mkDerivation rec { + version = "2.0.0"; + pname = "hal-hardware-analyzer"; + + src = fetchFromGitHub { + owner = "emsec"; + repo = "hal"; + rev = "v${version}"; + sha256 = "11xmqxnryksl645wmm1d69k1b5zwvxxf0admk4iblzaa3ggf7cv1"; + }; + # make sure bundled dependencies don't get in the way - install also otherwise + # copies them in full to the output, bloating the package + postPatch = '' + rm -rf deps/*/* + substituteInPlace cmake/detect_dependencies.cmake \ + --replace 'spdlog 1.4.2 EXACT' 'spdlog 1.4.2 REQUIRED' + ''; + + nativeBuildInputs = [ cmake ninja pkgconfig ]; + buildInputs = [ qtbase qtsvg boost rapidjson igraph spdlog wrapQtAppsHook ] + ++ (with python3Packages; [ python pybind11 ]) + ++ stdenv.lib.optional stdenv.cc.isClang llvmPackages.openmp; + + cmakeFlags = with stdenv.lib.versions; [ + "-DHAL_VERSION_RETURN=${version}" + "-DHAL_VERSION_MAJOR=${major version}" + "-DHAL_VERSION_MINOR=${minor version}" + "-DHAL_VERSION_PATCH=${patch version}" + "-DHAL_VERSION_TWEAK=0" + "-DHAL_VERSION_ADDITIONAL_COMMITS=0" + "-DHAL_VERSION_DIRTY=false" + "-DHAL_VERSION_BROKEN=false" + "-DENABLE_INSTALL_LDCONFIG=off" + "-DBUILD_ALL_PLUGINS=on" + ]; + # needed for macos build - this is why we use wrapQtAppsHook instead of + # the qt mkDerivation - the latter forcibly overrides this. + cmakeBuildType = "MinSizeRel"; + + meta = { + description = "A comprehensive reverse engineering and manipulation framework for gate-level netlists"; + homepage = "https://github.com/emsec/hal"; + license = stdenv.lib.licenses.mit; + platforms = with stdenv.lib.platforms; unix; + maintainers = with stdenv.lib.maintainers; [ ris ]; + }; +} diff --git a/pkgs/applications/science/electronics/hyp2mat/default.nix b/pkgs/applications/science/electronics/hyp2mat/default.nix new file mode 100644 index 00000000000..154b68dd5aa --- /dev/null +++ b/pkgs/applications/science/electronics/hyp2mat/default.nix @@ -0,0 +1,53 @@ +{ stdenv +, fetchFromGitHub +, bison +, flex +, gengetopt +, help2man +, groff +, libharu +, autoreconfHook +, pkgconfig +, libpng +, zlib +}: + +stdenv.mkDerivation rec { + pname = "hyp2mat"; + version = "0.0.18"; + + src = fetchFromGitHub { + owner = "koendv"; + repo = "hyp2mat"; + rev = "v${version}"; + sha256 = "03ibk51swxfl7pfrhcrfiffdi4mnf8kla0g1xj1lsrvrjwapfx03"; + }; + + nativeBuildInputs = [ + autoreconfHook + pkgconfig + ]; + + buildInputs = [ + libharu + libpng + zlib + bison + flex + gengetopt + help2man + groff + ]; + + configureFlags = [ "--enable-library" ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "Import Hyperlynx Boardsim files to openEMS, an open source 3D full-wave electromagnetic field solver"; + homepage = "https://github.com/koendv/hyp2mat"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ matthuszagh ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/science/electronics/kicad/base.nix b/pkgs/applications/science/electronics/kicad/base.nix index 6bc66596229..b7ab5fa70d9 100644 --- a/pkgs/applications/science/electronics/kicad/base.nix +++ b/pkgs/applications/science/electronics/kicad/base.nix @@ -2,14 +2,13 @@ , libX11, gettext, glew, glm, cairo, curl, openssl, boost, pkgconfig , doxygen, pcre, libpthreadstubs, libXdmcp, fetchpatch, lndir, callPackages -, pname ? "kicad" , stable ? true , baseName ? "kicad" , versions ? { } , oceSupport ? false, opencascade , withOCCT ? true, opencascade-occt , ngspiceSupport ? true, libngspice -, scriptingSupport ? true, swig, python, pythonPackages, wxPython +, scriptingSupport ? true, swig, python, wxPython , debug ? false, valgrind , withI18n ? true }: @@ -20,26 +19,26 @@ with lib; let versionConfig = versions.${baseName}; - baseVersion = "${versions.${baseName}.kicadVersion.version}"; # oce on aarch64 fails a test withOCE = oceSupport && !stdenv.isAarch64; withOCC = (withOCCT && !withOCE) || (oceSupport && stdenv.isAarch64); - kicad-libraries = callPackages ./libraries.nix versionConfig.libVersion; + libraries = callPackages ./libraries.nix versionConfig.libVersion; in stdenv.mkDerivation rec { - inherit pname; - version = "base-${baseVersion}"; + i18n = libraries.i18n; + + pname = "kicad-base"; + version = "${versions.${baseName}.kicadVersion.version}"; src = fetchFromGitLab ( { group = "kicad"; owner = "code"; repo = "kicad"; - rev = baseVersion; } // versionConfig.kicadVersion.src ); @@ -57,9 +56,11 @@ stdenv.mkDerivation rec { # tagged releases don't have "unknown" # kicad nightlies use git describe --dirty # nix removes .git, so its approximated here + # "-1" appended to indicate we're adding a patch postPatch = '' substituteInPlace CMakeModules/KiCadVersion.cmake \ - --replace "unknown" ${builtins.substring 0 10 src.rev} + --replace "unknown" "${builtins.substring 0 10 src.rev}-1" \ + --replace "${version}" "${version}-1" ''; makeFlags = optional (debug) [ "CFLAGS+=-Og" "CFLAGS+=-ggdb" ]; @@ -113,7 +114,7 @@ stdenv.mkDerivation rec { postInstall = optional (withI18n) '' mkdir -p $out/share - lndir ${kicad-libraries.i18n}/share $out/share + lndir ${i18n}/share $out/share ''; meta = { @@ -124,7 +125,6 @@ stdenv.mkDerivation rec { ''; homepage = "https://www.kicad-pcb.org/"; license = licenses.agpl3; - maintainers = with maintainers; [ evils kiwi berce ]; - platforms = with platforms; linux; + platforms = platforms.all; }; } diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix index f03a0a0ccef..a8340a2c22c 100644 --- a/pkgs/applications/science/electronics/kicad/default.nix +++ b/pkgs/applications/science/electronics/kicad/default.nix @@ -1,13 +1,15 @@ -{ lib, stdenv, gnome3, pkgs, wxGTK30, wxGTK31 +{ lib, stdenv, gnome3, wxGTK30, wxGTK31 +, makeWrapper , gsettings-desktop-schemas, hicolor-icon-theme , callPackage, callPackages , librsvg, cups , pname ? "kicad" +, stable ? true , oceSupport ? false, opencascade , withOCCT ? true, opencascade-occt , ngspiceSupport ? true, libngspice -, scriptingSupport ? true, swig, python3, python3Packages +, scriptingSupport ? false, swig, python3 , debug ? false, valgrind , with3d ? true , withI18n ? true @@ -18,7 +20,6 @@ assert ngspiceSupport -> libngspice != null; with lib; let - stable = pname != "kicad-unstable"; baseName = if (stable) then "kicad" else "kicad-unstable"; versions = import ./versions.nix; @@ -31,21 +32,19 @@ let # but brings high DPI support? else wxGTK31.override { withGtk2 = false; }; - pythonPackages = python3Packages; python = python3; - wxPython = python3Packages.wxPython_4_0; + wxPython = python.pkgs.wxPython_4_0; - libraries = callPackages ./libraries.nix versionConfig.libVersion; +in +stdenv.mkDerivation rec { + + passthru.libraries = callPackages ./libraries.nix versionConfig.libVersion; base = callPackage ./base.nix { - pname = baseName; inherit versions stable baseName; inherit wxGTK python wxPython; inherit debug withI18n withOCCT oceSupport ngspiceSupport scriptingSupport; }; -in -stdenv.mkDerivation rec { - inherit pname; version = versions.${baseName}.kicadVersion.version; @@ -56,14 +55,15 @@ stdenv.mkDerivation rec { dontFixup = true; pythonPath = optionals (scriptingSupport) - [ wxPython pythonPackages.six ]; + [ wxPython python.pkgs.six ]; - nativeBuildInputs = optionals (scriptingSupport) - [ pythonPackages.wrapPython ]; + nativeBuildInputs = [ makeWrapper ] + ++ optionals (scriptingSupport) + [ python.pkgs.wrapPython ]; # wrapGAppsHook added the equivalent to ${base}/share # though i noticed no difference without it - makeWrapperArgs = [ + makeWrapperArgs = with passthru.libraries; [ "--prefix XDG_DATA_DIRS : ${base}/share" "--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share" "--prefix XDG_DATA_DIRS : ${gnome3.defaultIconTheme}/share" @@ -73,47 +73,40 @@ stdenv.mkDerivation rec { "--prefix XDG_DATA_DIRS : ${cups}/share" "--prefix GIO_EXTRA_MODULES : ${gnome3.dconf}/lib/gio/modules" - "--set KISYSMOD ${libraries.footprints}/share/kicad/modules" - "--set KICAD_SYMBOL_DIR ${libraries.symbols}/share/kicad/library" - "--set KICAD_TEMPLATE_DIR ${libraries.templates}/share/kicad/template" - "--prefix KICAD_TEMPLATE_DIR : ${libraries.symbols}/share/kicad/template" - "--prefix KICAD_TEMPLATE_DIR : ${libraries.footprints}/share/kicad/template" + "--set KISYSMOD ${footprints}/share/kicad/modules" + "--set KICAD_SYMBOL_DIR ${symbols}/share/kicad/library" + "--set KICAD_TEMPLATE_DIR ${templates}/share/kicad/template" + "--prefix KICAD_TEMPLATE_DIR : ${symbols}/share/kicad/template" + "--prefix KICAD_TEMPLATE_DIR : ${footprints}/share/kicad/template" ] - ++ optionals (with3d) [ "--set KISYS3DMOD ${libraries.packages3d}/share/kicad/modules/packages3d" ] + ++ optionals (with3d) [ "--set KISYS3DMOD ${packages3d}/share/kicad/modules/packages3d" ] ++ optionals (ngspiceSupport) [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ] # infinisil's workaround for #39493 ++ [ "--set GDK_PIXBUF_MODULE_FILE ${librsvg}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache" ] ; - # dunno why i have to add $makeWrapperArgs manually... + # why does $makeWrapperArgs have to be added explicitly? # $out and $program_PYTHONPATH don't exist when makeWrapperArgs gets set? - # not sure if anything has to be done with the other stuff in base/bin - # dxf2idf, idf2vrml, idfcyl, idfrect, kicad2step, kicad-ogltest - installPhase = - optionalString (scriptingSupport) '' buildPythonPath "${base} $pythonPath" - '' + - '' makeWrapper ${base}/bin/kicad $out/bin/kicad $makeWrapperArgs '' - + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH" - '' + - '' makeWrapper ${base}/bin/pcbnew $out/bin/pcbnew $makeWrapperArgs '' - + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH" - '' + - '' makeWrapper ${base}/bin/eeschema $out/bin/eeschema $makeWrapperArgs '' - + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH" - '' + - '' makeWrapper ${base}/bin/gerbview $out/bin/gerbview $makeWrapperArgs '' - + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH" - '' + - '' makeWrapper ${base}/bin/pcb_calculator $out/bin/pcb_calculator $makeWrapperArgs '' - + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH" - '' + - '' makeWrapper ${base}/bin/pl_editor $out/bin/pl_editor $makeWrapperArgs '' - + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH" - '' + - '' makeWrapper ${base}/bin/bitmap2component $out/bin/bitmap2component $makeWrapperArgs '' - + optionalString (scriptingSupport) '' --set PYTHONPATH "$program_PYTHONPATH" - '' + # kicad-ogltest's source seems to indicate that crashing is expected behaviour... + installPhase = with lib; + let + tools = [ "kicad" "pcbnew" "eeschema" "gerbview" "pcb_calculator" "pl_editor" "bitmap2component" ]; + utils = [ "dxf2idf" "idf2vrml" "idfcyl" "idfrect" "kicad2step" "kicad-ogltest" ]; + in + ( concatStringsSep "\n" + ( flatten [ + ( optionalString (scriptingSupport) "buildPythonPath \"${base} $pythonPath\" \n" ) + + # wrap each of the directly usable tools + ( map ( tool: "makeWrapper ${base}/bin/${tool} $out/bin/${tool} $makeWrapperArgs" + + optionalString (scriptingSupport) " --set PYTHONPATH \"$program_PYTHONPATH\"" + ) tools ) + + # link in the CLI utils + ( map ( util: "ln -s ${base}/bin/${util} $out/bin/${util}" ) utils ) + ]) + ) ; # can't run this for each pname @@ -123,10 +116,11 @@ stdenv.mkDerivation rec { # and can't git commit if this could be running in parallel with other scripts passthru.updateScript = [ ./update.sh "all" ]; - meta = { - description = if (stable) - then "Open Source Electronics Design Automation Suite" - else "Open Source EDA Suite, Development Build"; + meta = rec { + description = (if (stable) + then "Open Source Electronics Design Automation suite" + else "Open Source EDA suite, development build") + + (if (!with3d) then ", without 3D models" else ""); homepage = "https://www.kicad-pcb.org/"; longDescription = '' KiCad is an open source software suite for Electronic Design Automation. @@ -134,12 +128,20 @@ stdenv.mkDerivation rec { ''; license = licenses.agpl3; # berce seems inactive... - maintainers = with maintainers; [ evils kiwi berce ]; - # kicad's cross-platform, not sure what to fill in here - platforms = with platforms; linux; - } // optionalAttrs with3d { - # We can't download the 3d models on Hydra - they are a ~1 GiB download and - # they occupy ~5 GiB in store. - hydraPlatforms = []; + maintainers = with stdenv.lib.maintainers; [ evils kiwi berce ]; + # kicad is cross platform + platforms = stdenv.lib.platforms.all; + # despite that, nipkgs' wxGTK for darwin is "wxmac" + # and wxPython_4_0 does not account for this + # adjusting this package to downgrade to python2Packages.wxPython (wxPython 3), + # seems like more trouble than fixing wxPython_4_0 would be + # additionally, libngspice is marked as linux only, though it should support darwin + + hydraPlatforms = if (with3d) then [ ] else platforms; + # We can't download the 3d models on Hydra, + # they are a ~1 GiB download and they occupy ~5 GiB in store. + # as long as the base and libraries (minus 3d) are build, + # this wrapper does not need to get built + # the kicad-*small "packages" cause this to happen }; } diff --git a/pkgs/applications/science/electronics/kicad/libraries.nix b/pkgs/applications/science/electronics/kicad/libraries.nix index 7cdf9373e08..4dde2a0a122 100644 --- a/pkgs/applications/science/electronics/kicad/libraries.nix +++ b/pkgs/applications/science/electronics/kicad/libraries.nix @@ -13,21 +13,27 @@ with lib; let mkLib = name: - stdenv.mkDerivation - { - pname = "kicad-${name}"; - version = "${version}"; - src = fetchFromGitHub ( - { - owner = "KiCad"; - repo = "kicad-${name}"; - rev = version; - inherit name; - } // (libSources.${name} or { }) - ); - nativeBuildInputs = [ cmake ]; - meta.license = licenses.cc-by-sa-40; + stdenv.mkDerivation { + pname = "kicad-${name}"; + version = "${version}"; + src = fetchFromGitHub ( + { + owner = "KiCad"; + repo = "kicad-${name}"; + rev = version; + inherit name; + } // (libSources.${name} or { }) + ); + nativeBuildInputs = [ cmake ]; + + meta = rec { + license = licenses.cc-by-sa-40; + platforms = stdenv.lib.platforms.all; + # the 3d models are a ~1 GiB download and occupy ~5 GiB in store. + # this would exceed the hydra output limit + hydraPlatforms = if (name == "packages3d" ) then [ ] else platforms; }; + }; in { symbols = mkLib "symbols"; @@ -56,6 +62,9 @@ in ); buildInputs = [ gettext ]; nativeBuildInputs = [ cmake ]; - meta.license = licenses.gpl2; # https://github.com/KiCad/kicad-i18n/issues/3 + meta = { + license = licenses.gpl2; # https://github.com/KiCad/kicad-i18n/issues/3 + platforms = stdenv.lib.platforms.all; + }; }; } diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix index 174532d6962..7299e8ee907 100644 --- a/pkgs/applications/science/electronics/kicad/versions.nix +++ b/pkgs/applications/science/electronics/kicad/versions.nix @@ -3,49 +3,49 @@ { "kicad" = { kicadVersion = { - version = "5.1.5"; + version = "5.1.6"; src = { - rev = "52549c5d09cbfb0e807fcbcb07819bc9f7861544"; - sha256 = "15h3rwisjss3fdc9bam9n2wq94slhacc3fbg14bnzf4n5agsnv5b"; + rev = "c6e7f7de7df655fd59b57823499efc443009de6b"; + sha256 = "1pa3z0h0679jmgxlzc833h6q85b5paxdp69kf2h93vkaryj58622"; }; }; libVersion = { - version = "5.1.5"; + version = "5.1.6"; libSources = { - i18n.rev = "5122cbec6563fb7c8d6f960a639ac470353af91b"; - i18n.sha256 = "1rfpifl8vky1gba2angizlb2n7mwmsiai3r6ip6qma60wdj8sbd3"; - symbols.rev = "dd122ec170b49e032179511c9d263126f52f4020"; - symbols.sha256 = "048b07ffsaav1ssrchw2p870lvb4rsyb5vnniy670k7q9p16qq6h"; - templates.rev = "94761f10d06582b33cd55ea2149d72f269f65580"; - templates.sha256 = "0cs3bm3zb5ngw5ldn0lzw5bvqm4kvcidyrn76438alffwiz2b15g"; - footprints.rev = "e076f8f271f8db96d5fec45616b7554caebb7ef7"; - footprints.sha256 = "1c4whgn14qhz4yqkl46w13p6rpv1k0hsc9s9h9368fxfcz9knb2j"; - packages3d.rev = "8d233cdcb109aa1c3b8ba4c934ee31f6a3b6e1f4"; - packages3d.sha256 = "0cff2ms1bsw530kqb1fr1m2pjixyxzwa81mxgac3qpbcf8fnpvaz"; + i18n.rev = "5ad171ce5c8d90f4740517c2adecb310d8be51bd"; + i18n.sha256 = "0qryi8xjm23ka363zfl7bbga0v5c31fr3d4nyxp3m168vkv9zhha"; + symbols.rev = "5150eaa2a7d15cfc6bb1459c527c4ebaa66d7708"; + symbols.sha256 = "12w3rdy085drlikkpb27n9ni7cyg9l0pqy7hnr86cxjcw3l5wcx6"; + templates.rev = "9213d439f757e6049b7e54f3ea08272a0d0f44a9"; + templates.sha256 = "1hppcsrkn4dk6ggby6ckh0q65qxkywrbyxa4lwpaf7pxjyv498xg"; + footprints.rev = "a61b4e49762fb355f654e65a1c7db1aaf7bb2332"; + footprints.sha256 = "1kmf91a5mmvj9izrv40mkaw1w36yjgn8daczd9rq2wlmd0rdp1zx"; + packages3d.rev = "150ff1caf0b01dc04c84f4f966f4f88fedfa8f8c"; + packages3d.sha256 = "0b9jglf77fy0n0r8xs4yqkv6zvipyfvp0z5dnqlzp32csy5aqpi1"; }; }; }; "kicad-unstable" = { kicadVersion = { - version = "2020-04-25"; + version = "2020-07-21"; src = { - rev = "3759799d1e03b2da6a0dcd72273e4978880fc8f1"; - sha256 = "0ba14fla8m5zli68wfjkfc4ymvj4j8z92y3jigxs8hys0450bybi"; + rev = "9a801d8b72f24e297a7d9d6e8cee2eef6cab2988"; + sha256 = "0yilmmng7y3rz1bxw2b0s0aqs8hdqr7ach2r45bx8v1f4bih4ka9"; }; }; libVersion = { - version = "2020-04-25"; + version = "2020-07-21"; libSources = { - 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"; + i18n.rev = "a311975d139caf8be9848dd613a9800570adc245"; + i18n.sha256 = "1bkn2hhwcg8xdpn9yfm9nnqsg02c1nizhpxd4yhpxgifhh4psz1g"; + symbols.rev = "18572c4c118fe8ef779edf3131eebf2c33c6fa46"; + symbols.sha256 = "0hqx0aznzrnlbdkpsnl8mbs9bdgiv029d6zjh10nyjzcw27q3hxz"; + templates.rev = "ae16953b81055855bcede4a33305413599d86a15"; + templates.sha256 = "1pkv90p3liy3bj4nklxsvpzh9m56p0k5ldr22armvgqfaqaadx9v"; + footprints.rev = "4835f80b4a52256aa7a3eb650e6e0fef33a77d0d"; + footprints.sha256 = "00rc6phxmkry35i0xzry14axvh2akvvkly45s3xxi06vaydaw7i5"; + packages3d.rev = "9b560cf94a35b692ca516d37bdaf392ce10e549d"; + packages3d.sha256 = "0b9jglf77fy0n0r8xs4yqkv6zvipyfvp0z5dnqlzp32csy5aqpi1"; }; }; }; diff --git a/pkgs/applications/science/electronics/librepcb/default.nix b/pkgs/applications/science/electronics/librepcb/default.nix index 7e0894fb337..de01b095e38 100644 --- a/pkgs/applications/science/electronics/librepcb/default.nix +++ b/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/pkgs/applications/science/electronics/magic-vlsi/default.nix b/pkgs/applications/science/electronics/magic-vlsi/default.nix index 62b830547e5..96849c30029 100644 --- a/pkgs/applications/science/electronics/magic-vlsi/default.nix +++ b/pkgs/applications/science/electronics/magic-vlsi/default.nix @@ -31,6 +31,6 @@ stdenv.mkDerivation { description = "VLSI layout tool written in Tcl"; homepage = "http://opencircuitdesign.com/magic/"; license = licenses.mit; - maintainers = [ maintainers.dkudriavtsev ]; + maintainers = [ maintainers.anna328p ]; }; } diff --git a/pkgs/applications/science/electronics/openhantek6022/default.nix b/pkgs/applications/science/electronics/openhantek6022/default.nix new file mode 100644 index 00000000000..5a70831d824 --- /dev/null +++ b/pkgs/applications/science/electronics/openhantek6022/default.nix @@ -0,0 +1,31 @@ +{ mkDerivation, lib, fetchFromGitHub, makeWrapper, cmake, qtbase, qttools, fftw, libusb1, libglvnd }: + +mkDerivation rec { + pname = "openhantek6022"; + version = "3.1.1"; + + src = fetchFromGitHub { + owner = "OpenHantek"; + repo = "OpenHantek6022"; + rev = version; + sha256 = "17b0qmz7g0nk7n7jhbh5xhs135dpj9kv41n42vvpdzwr6z5rk4qm"; + }; + + nativeBuildInputs = [ cmake makeWrapper ]; + buildInputs = [ fftw libusb1 libglvnd qtbase qttools ]; + + postPatch = '' + # Fix up install paths & checks + sed -i 's#if(EXISTS ".*")#if(1)#g' CMakeLists.txt + sed -i 's#/lib/udev#lib/udev#g' CMakeLists.txt + sed -i 's#/usr/share#share#g' CMakeLists.txt + ''; + + meta = with lib; { + description = "Free software for Hantek and compatible (Voltcraft/Darkwire/Protek/Acetech) USB digital signal oscilloscopes"; + homepage = "https://github.com/OpenHantek/OpenHantek6022"; + license = licenses.gpl3; + maintainers = with maintainers; [ baracoder ]; + platforms = qtbase.meta.platforms; + }; +} diff --git a/pkgs/applications/science/electronics/qcsxcad/default.nix b/pkgs/applications/science/electronics/qcsxcad/default.nix new file mode 100644 index 00000000000..c12678c0047 --- /dev/null +++ b/pkgs/applications/science/electronics/qcsxcad/default.nix @@ -0,0 +1,50 @@ +{ stdenv +, mkDerivation +, fetchFromGitHub +, cmake +, csxcad +, tinyxml +, vtkWithQt5 +, wrapQtAppsHook +, qtbase +}: + +mkDerivation { + pname = "qcsxcad"; + version = "unstable-2020-01-04"; + + src = fetchFromGitHub { + owner = "thliebig"; + repo = "QCSXCAD"; + rev = "0dabbaf2bc1190adec300871cf309791af842c8e"; + sha256 = "11kbh0mxbdfh7s5azqin3i2alic5ihmdfj0jwgnrhlpjk4cbf9rn"; + }; + + nativeBuildInputs = [ + cmake + wrapQtAppsHook + ]; + + cmakeFlags = [ + "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}" + "-DCSXCAD_ROOT_DIR=${csxcad}" + "-DENABLE_RPATH=OFF" + ]; + + buildInputs = [ + csxcad + tinyxml + vtkWithQt5 + qtbase + ]; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + description = "Qt library for CSXCAD"; + homepage = "https://github.com/thliebig/QCSXCAD"; + license = licenses.gpl3; + maintainers = with maintainers; [ matthuszagh ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix index dd6c5a09851..0613e22bbda 100644 --- a/pkgs/applications/science/electronics/verilator/default.nix +++ b/pkgs/applications/science/electronics/verilator/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "verilator"; - version = "4.032"; + version = "4.036"; src = fetchurl { url = "https://www.veripool.org/ftp/${pname}-${version}.tgz"; - sha256 = "1l3rhgw7pk59dz7dyhcl0iygn6c9rv9bv131rfzg66asxfwbfq1s"; + sha256 = "1sy02pgq3kvk8548l57hsh08vfbqdg8dghj8mwlybdi8fdjz4z1h"; }; enableParallelBuilding = true; |