From a3018c3b2611d8fd804b7d94f76b2528d4134f3b Mon Sep 17 00:00:00 2001 From: Patrick Hilhorst Date: Fri, 5 Apr 2024 15:03:14 +0000 Subject: [PATCH] Add adsDriver and autoparamDriver --- lib/maintainers/maintainer-list.nix | 6 ++++ pkgs/default.nix | 2 ++ pkgs/epnix/support/adsDriver/default.nix | 36 +++++++++++++++++++ .../epnix/support/autoparamDriver/default.nix | 31 ++++++++++++++++ 4 files changed, 75 insertions(+) create mode 100644 pkgs/epnix/support/adsDriver/default.nix create mode 100644 pkgs/epnix/support/autoparamDriver/default.nix diff --git a/lib/maintainers/maintainer-list.nix b/lib/maintainers/maintainer-list.nix index d7f1d86a..b875cc1e 100644 --- a/lib/maintainers/maintainer-list.nix +++ b/lib/maintainers/maintainer-list.nix @@ -66,4 +66,10 @@ See `` for an ex email = "stephane.tzvetkov@cea.fr"; name = "Stéphane Tzvetkov"; }; + synthetica = { + email = "philhorst@highvolteng.com"; + name = "Patrick Hilhorst"; + github = "Synthetica9"; + githubId = 7075751; + }; } diff --git a/pkgs/default.nix b/pkgs/default.nix index 547eed24..0c67a862 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -31,7 +31,9 @@ in support = recurseExtensible (_self: { asyn = callPackage ./epnix/support/asyn {}; + autoparamDriver = callPackage ./epnix/support/autoparamDriver {}; autosave = callPackage ./epnix/support/autosave {}; + adsDriver = callPackage ./epnix/support/adsDriver {}; calc = callPackage ./epnix/support/calc {}; devlib2 = callPackage ./epnix/support/devlib2 {}; epics-systemd = callPackage ./epnix/support/epics-systemd {}; diff --git a/pkgs/epnix/support/adsDriver/default.nix b/pkgs/epnix/support/adsDriver/default.nix new file mode 100644 index 00000000..cc4c469c --- /dev/null +++ b/pkgs/epnix/support/adsDriver/default.nix @@ -0,0 +1,36 @@ +{ + mkEpicsPackage, + fetchFromGitHub, + epnix, + boost, + epnixLib, + lib, +}: +mkEpicsPackage rec { + pname = "adsDriver"; + version = "3.1.0"; + + src = fetchFromGitHub { + owner = "Cosylab"; + repo = pname; + rev = "v${version}"; + fetchSubmodules = true; + hash = "sha256-Ruzi+H8MmIgv23pzFXZlvkk3HtbDzQ9LTTVzmeGWrSI=="; + }; + + buildInputs = [ boost ]; + propagatedBuildInputs = with epnix.support; [ + asyn + autoparamDriver + ]; + + # TODO: correct? + varname = "ADS"; + + meta = { + description = "EPICS support module for integrating Beckhoff PLC using the ADS protocol"; + homepage = "https://epics.cosylab.com/documentation/adsDriver/"; + license = lib.licenses.mit; + maintainers = with epnixLib.maintainers; [ synthetica ]; + }; +} diff --git a/pkgs/epnix/support/autoparamDriver/default.nix b/pkgs/epnix/support/autoparamDriver/default.nix new file mode 100644 index 00000000..f55dc406 --- /dev/null +++ b/pkgs/epnix/support/autoparamDriver/default.nix @@ -0,0 +1,31 @@ +{ + mkEpicsPackage, + fetchFromGitHub, + epnix, + lib, + epnixLib, +}: + +mkEpicsPackage rec { + pname = "autoparamDriver"; + version = "2.0.0"; + + src = fetchFromGitHub { + owner = "Cosylab"; + repo = pname; + rev = "v${version}"; + hash = "sha256-J2fy/pMwrbwVFULfANuJBl6iE3wju5bQkhkxxk8zRYs="; + }; + + propagatedBuildInputs = with epnix.support; [ asyn ]; + + # TODO: is this correct? + varname = "APD"; + + meta = { + description = "An asyn driver that creates parameters dynamically based on content of record links"; + homepage = "https://epics.cosylab.com/documentation/autoparamDriver/"; + license = lib.licenses.mit; + maintainers = with epnixLib.maintainers; [ synthetica ]; + }; +}