diff --git a/pkgs/applications/science/electronics/lepton-eda/default.nix b/pkgs/applications/science/electronics/lepton-eda/default.nix new file mode 100644 index 000000000000..060909bdcb40 --- /dev/null +++ b/pkgs/applications/science/electronics/lepton-eda/default.nix @@ -0,0 +1,61 @@ +{ stdenv +, lib +, pkg-config +, makeWrapper +, texinfo +, fetchurl +, autoreconfHook +, guile +, flex +, gtk2 +, glib +, gtkextra +, gettext +, gawk +, shared-mime-info +, groff +, libstroke +}: + +stdenv.mkDerivation rec { + pname = "lepton-eda"; + version = "1.9.13-20201211"; + + src = fetchurl { + url = "https://github.com/lepton-eda/lepton-eda/releases/download/${version}/lepton-eda-${builtins.head (lib.splitString "-" version)}.tar.gz"; + sha256 = "sha256-9Be3FBWnZU2M5aNQwi3N8M81e0S7n46mwWQh1mrK4Z8="; + }; + + nativeBuildInputs = [ pkg-config makeWrapper texinfo autoreconfHook ]; + + propagatedBuildInputs = [ guile flex gtk2 glib gtkextra gettext gawk shared-mime-info groff libstroke ]; + + configureFlags = [ + "--disable-update-xdg-database" + ]; + + CFLAGS = [ + "-DSCM_DEBUG_TYPING_STRICTNESS=2" + ]; + + postInstall = '' + libs="${lib.makeLibraryPath propagatedBuildInputs}" + for program in $out/bin/*; do + wrapProgram "$program" \ + --prefix LD_LIBRARY_PATH : "$libs" \ + --prefix LTDL_LIBRARY_PATH : "$out/lib" + done + ''; + + meta = with lib; { + homepage = "https://github.com/lepton-eda"; + description = "Lepton Electronic Design Automation"; + longDescription = '' + Lepton EDA is a suite of free software tools for designing electronics. + It provides schematic capture, netlisting into over 30 netlist formats, and many other features. + ''; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ tesq0 ]; + }; +} diff --git a/pkgs/development/libraries/gtkextra/default.nix b/pkgs/development/libraries/gtkextra/default.nix new file mode 100644 index 000000000000..4c2f739cd965 --- /dev/null +++ b/pkgs/development/libraries/gtkextra/default.nix @@ -0,0 +1,42 @@ +{ stdenv +, lib +, fetchurl +, pkg-config +, gobject-introspection +, file +, gtk2 +, glib +, cairo +, atk +, pango +, libtiff +, libpng +, libjpeg +}: + +stdenv.mkDerivation rec { + pname = "gtkextra"; + version = "3.3.4"; + + src = fetchurl { + url = "mirror://sourceforge/project/gtkextra/${lib.versions.majorMinor version}/${pname}-${version}.tar.gz"; + sha256 = "1mpihbyzhv3ymfim93l9xnxmzhwyqdba5xb4rdn5vggdg25766v5"; + }; + + postPatch = '' + substituteInPlace configure \ + --replace "/usr/bin/file" "${file}/bin/file" + ''; + + nativeBuildInputs = [ gobject-introspection pkg-config ]; + + buildInputs = [ gtk2 glib cairo atk pango libtiff libpng libjpeg ]; + + meta = with lib; { + homepage = "http://gtkextra.sourceforge.net/"; + description = "GtkExtra is a useful set of widgets for creating GUI's for GTK+."; + license = licenses.lgpl2Plus; + platforms = platforms.linux; + maintainers = with maintainers; [ tesq0 ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 542d52c7033f..f9170d8447df 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2994,6 +2994,8 @@ in lepton = callPackage ../tools/graphics/lepton { }; + lepton-eda = callPackage ../applications/science/electronics/lepton-eda { }; + lexicon = callPackage ../tools/admin/lexicon { }; lief = callPackage ../development/libraries/lief { @@ -15849,6 +15851,8 @@ in gdktarget = "x11"; }; + gtkextra = callPackage ../development/libraries/gtkextra { }; + gtk3 = callPackage ../development/libraries/gtk/3.x.nix { inherit (darwin.apple_sdk.frameworks) AppKit Cocoa; };