summaryrefslogtreecommitdiff
path: root/pkgs/oregano
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/oregano')
-rw-r--r--pkgs/oregano/check-cfg-gio-unix.patch12
-rw-r--r--pkgs/oregano/default.nix75
2 files changed, 87 insertions, 0 deletions
diff --git a/pkgs/oregano/check-cfg-gio-unix.patch b/pkgs/oregano/check-cfg-gio-unix.patch
new file mode 100644
index 0000000..a20bf0d
--- /dev/null
+++ b/pkgs/oregano/check-cfg-gio-unix.patch
@@ -0,0 +1,12 @@
+diff --git a/wscript b/wscript
+index 03de4b3..f64ccc4 100644
+--- a/wscript
++++ b/wscript
+@@ -68,6 +68,7 @@ def configure(conf):
+
+ conf.check_cfg(atleast_pkgconfig_version='0.26')
+ conf.check_cfg(package='glib-2.0', uselib_store='GLIB', args=['glib-2.0 >= 2.44', '--cflags', '--libs'], mandatory=True)
++ conf.check_cfg(package='gio-unix-2.0', uselib_store='GLIB', args=['--cflags', '--libs'], mandatory=True)
+ conf.check_cfg(package='gobject-2.0', uselib_store='GOBJECT', args=['--cflags', '--libs'], mandatory=True)
+ conf.check_cfg(package='gtk+-3.0', uselib_store='GTK3', args=['gtk+-3.0 >= 3.12', '--cflags', '--libs'], mandatory=True)
+ conf.check_cfg(package='libxml-2.0', uselib_store='XML', args=['--cflags', '--libs'], mandatory=True)
diff --git a/pkgs/oregano/default.nix b/pkgs/oregano/default.nix
new file mode 100644
index 0000000..14108d5
--- /dev/null
+++ b/pkgs/oregano/default.nix
@@ -0,0 +1,75 @@
+{
+ fetchFromGitHub,
+ glib,
+ goocanvas2,
+ gnucap,
+ groff,
+ gtk3,
+ gtksourceview,
+ intltool,
+ libxml2,
+ lib,
+ makeWrapper,
+ ngspice,
+ perl,
+ pkg-config,
+ python3,
+ stdenv,
+ wafHook,
+ wrapGAppsHook,
+ useNgspice ? false,
+}: let
+ version = "0.84.43";
+in
+ stdenv.mkDerivation {
+ pname = "oregano";
+ inherit version;
+
+ src = fetchFromGitHub {
+ owner = "drahnr";
+ repo = "oregano";
+ rev = "v${version}";
+ hash = "sha256-1GsL0N3O0clqdgkXoPKMhvW+y4Rzg4QSeOA54nH4kz4=";
+ };
+
+ nativeBuildInputs = [makeWrapper wafHook wrapGAppsHook];
+ patches = [./check-cfg-gio-unix.patch];
+
+ buildInputs = [
+ glib
+ goocanvas2
+ groff
+ gtk3
+ gtksourceview
+ intltool
+ libxml2
+ perl
+ pkg-config
+ python3
+ ];
+
+ postFixup = ''
+ wrapProgram $out/bin/oregano \
+ --suffix PATH : ${lib.makeBinPath [
+ (
+ if useNgspice
+ then ngspice
+ else gnucap
+ )
+ ]}
+ '';
+
+ meta = with lib; {
+ description = "Schematic capture and circuit simulator";
+ longDescription = ''
+ Oregano is an application for schematic capture and simulation of
+ electronic circuits. The actual simulation is performed by Berkeley
+ Spice, GNUcap or the new generation ngspice.
+ '';
+
+ homepage = "https://github.com/drahnr/oregano/";
+ license = licenses.gpl2;
+ platforms = lib.platforms.linux;
+ maintainers = with maintainers; [_3442];
+ };
+ }