forked from mirrors/nixpkgs
openopc: new package
"OPC (OLE for Process Control) toolkit designed for use with Python" This package contains a python module (OpenOPC) and a command line client (opc). The OpenOPC Gateway Service for Windows is also copied to $out, for reference. It only works with python2.7 (not python3.x), so I'm not adding it to python-packages.nix. Also add needed dependency, python-pyro3, a distributed object middleware for Python (IPC/RPC). http://openopc.sourceforge.net/
This commit is contained in:
parent
5cde295b1d
commit
f8778ed82c
46
pkgs/tools/misc/openopc/default.nix
Normal file
46
pkgs/tools/misc/openopc/default.nix
Normal file
|
@ -0,0 +1,46 @@
|
|||
{ stdenv, fetchurl, pythonFull }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "openopc-${version}";
|
||||
version = "1.2.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/project/openopc/openopc/${version}/OpenOPC-${version}.source.tar.bz2";
|
||||
sha256 = "0mm77fiipz5zy82l6pr3wk18bfril81milv2rdxr954c4gw5smyd";
|
||||
};
|
||||
|
||||
# There is no setup.py or any other "build system" file in the source archive.
|
||||
installPhase = ''
|
||||
mkdir -p "$out/bin"
|
||||
mkdir -p "$out/share/doc/openopc"
|
||||
mkdir -p "$out/${pythonFull.python.sitePackages}"
|
||||
mkdir -p "$out/libexec/opc"
|
||||
|
||||
cp src/OpenOPC.py "$out/${pythonFull.python.sitePackages}"
|
||||
cp src/opc.py "$out/libexec/opc/"
|
||||
|
||||
cat > "$out/bin/opc" << __EOF__
|
||||
#!${stdenv.shell}
|
||||
export PYTHONPATH="$out/${pythonFull.python.sitePackages}"
|
||||
exec ${pythonFull}/bin/${pythonFull.python.executable} "$out/libexec/opc/opc.py" "\$@"
|
||||
__EOF__
|
||||
chmod a+x "$out/bin/opc"
|
||||
|
||||
cp -R *.txt doc/* "$out/share/doc/openopc/"
|
||||
|
||||
# Copy these MS Windows tools, for reference.
|
||||
cp src/OpenOPCService.py src/SystemHealth.py "$out/libexec/opc/"
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "OPC (OLE for Process Control) toolkit designed for use with Python";
|
||||
homepage = http://openopc.sourceforge.net/;
|
||||
# """OpenOPC for Python is freely available under the terms of the GNU GPL.
|
||||
# However, the OpenOPC library module is licensed under the "GPL + linking
|
||||
# exception" license, which generally means that programs written using the
|
||||
# OpenOPC library may be licensed under any terms."""
|
||||
license = licenses.gpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = [ maintainers.bjornfor ];
|
||||
};
|
||||
}
|
|
@ -1694,6 +1694,12 @@ let
|
|||
|
||||
openobex = callPackage ../tools/bluetooth/openobex { };
|
||||
|
||||
openopc = callPackage ../tools/misc/openopc {
|
||||
pythonFull = python27Full.override {
|
||||
extraLibs = [ python27Packages.pyro3 ];
|
||||
};
|
||||
};
|
||||
|
||||
openresolv = callPackage ../tools/networking/openresolv { };
|
||||
|
||||
opensc = callPackage ../tools/security/opensc { };
|
||||
|
|
|
@ -5984,6 +5984,23 @@ rec {
|
|||
};
|
||||
});
|
||||
|
||||
pyro3 = buildPythonPackage (rec {
|
||||
name = "Pyro-3.16";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://pypi.python.org/packages/source/P/Pyro/${name}.tar.gz";
|
||||
md5 = "59d4d3f4a8786776c9d7f9051b8f1a69";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Distributed object middleware for Python (IPC/RPC)";
|
||||
homepage = http://pythonhosted.org/Pyro/;
|
||||
license = licenses.mit;
|
||||
platforms = platforms.unix;
|
||||
maintainers = [ maintainers.bjornfor ];
|
||||
};
|
||||
});
|
||||
|
||||
pyrss2gen = buildPythonPackage (rec {
|
||||
name = "PyRSS2Gen-1.0.0";
|
||||
|
||||
|
|
Loading…
Reference in a new issue