diff options
Diffstat (limited to 'pkgs/applications/science/electronics/kicad/default.nix')
| -rw-r--r-- | pkgs/applications/science/electronics/kicad/default.nix | 50 |
1 files changed, 36 insertions, 14 deletions
diff --git a/pkgs/applications/science/electronics/kicad/default.nix b/pkgs/applications/science/electronics/kicad/default.nix index 76048733a6a3..770b73c71244 100644 --- a/pkgs/applications/science/electronics/kicad/default.nix +++ b/pkgs/applications/science/electronics/kicad/default.nix @@ -1,6 +1,6 @@ { lib, stdenv , fetchFromGitLab -, gnome3 +, gnome , dconf , wxGTK30 , wxGTK31 @@ -25,6 +25,8 @@ , withScripting ? true , python3 , debug ? false +, sanitizeAddress ? false +, sanitizeThreads ? false , with3d ? true , withI18n ? true , srcs ? { } @@ -146,28 +148,28 @@ let }; python = python3; - wxPython = python.pkgs.wxPython_4_0; + wxPython = if (stable) + then python.pkgs.wxPython_4_0 + else python.pkgs.wxPython_4_1; inherit (lib) concatStringsSep flatten optionalString optionals; in stdenv.mkDerivation rec { # Common libraries, referenced during runtime, via the wrapper. - passthru.libraries = callPackages ./libraries.nix { inherit libSrc libVersion; }; - passthru.i18n = callPackage ./i18n.nix { - src = i18nSrc; - version = i18nVersion; - }; + 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 debug withI18n withOCC withOCE withNgspice withScripting; + inherit withI18n withOCC withOCE withNgspice withScripting; + inherit debug sanitizeAddress sanitizeThreads; }; inherit pname; - version = kicadVersion; + version = if (stable) then kicadVersion else builtins.substring 0 10 src.src.rev; src = base; dontUnpack = true; @@ -187,20 +189,37 @@ stdenv.mkDerivation rec { makeWrapperArgs = with passthru.libraries; [ "--prefix XDG_DATA_DIRS : ${base}/share" "--prefix XDG_DATA_DIRS : ${hicolor-icon-theme}/share" - "--prefix XDG_DATA_DIRS : ${gnome3.adwaita-icon-theme}/share" + "--prefix XDG_DATA_DIRS : ${gnome.adwaita-icon-theme}/share" "--prefix XDG_DATA_DIRS : ${wxGTK.gtk}/share/gsettings-schemas/${wxGTK.gtk.name}" "--prefix XDG_DATA_DIRS : ${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}" # wrapGAppsHook did these two as well, no idea if it matters... "--prefix XDG_DATA_DIRS : ${cups}/share" "--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 (with3d) [ "--set-default KISYS3DMOD ${packages3d}/share/kicad/modules/packages3d" ] + ++ optionals (stable && with3d) [ "--set-default KISYS3DMOD ${packages3d}/share/kicad/modules/packages3d" ] + ++ optionals (!stable) + [ + "--set-default KICAD6_FOOTPRINT_DIR ${footprints}/share/kicad/modules" + "--set-default KICAD6_SYMBOL_DIR ${symbols}/share/kicad/library" + "--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) + [ + "--set-default KISYS3DMOD ${packages3d}/share/kicad/3dmodels" + "--set-default KICAD6_3DMODEL_DIR ${packages3d}/share/kicad/3dmodels" + ] ++ optionals (withNgspice) [ "--prefix LD_LIBRARY_PATH : ${libngspice}/lib" ] # infinisil's workaround for #39493 @@ -240,6 +259,10 @@ 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 ''; # can't run this for each pname @@ -260,8 +283,7 @@ stdenv.mkDerivation rec { The Programs handle Schematic Capture, and PCB Layout with Gerber output. ''; license = lib.licenses.gpl3Plus; - # berce seems inactive... - maintainers = with lib.maintainers; [ evils kiwi berce ]; + maintainers = with lib.maintainers; [ evils kiwi ]; # kicad is cross platform platforms = lib.platforms.all; # despite that, nipkgs' wxGTK for darwin is "wxmac" |
