Compare commits

..

9 Commits

Author SHA1 Message Date
16bc49faa1 Fix ip path 2023-10-27 10:46:46 +03:00
f1c528d719 Update ethercat for FoE password support 2023-10-26 14:10:29 +03:00
c4482e8cf1 Add doc 2023-10-26 10:22:52 +03:00
a84e963fad Add flags for eoe and debug-if 2023-10-26 10:22:05 +03:00
88a3362b58 Fix typo 2023-09-28 10:28:27 +03:00
c449cc9902 Fix overlay 2023-09-28 10:13:27 +03:00
071b532666 Add overlay 2023-09-28 10:05:21 +03:00
ec418a9f2f Clean flake 2023-08-17 09:54:51 +03:00
441fabdc0b Add tty 2023-08-17 09:54:44 +03:00
2 changed files with 28 additions and 22 deletions

View File

@@ -4,6 +4,8 @@
stdenv, stdenv,
# interface name (eg. "eth0") or MAC address (eg. "e9:22:a4:62:74:23"). ff:ff:ff:ff:ff:ff means first available NIC # interface name (eg. "eth0") or MAC address (eg. "e9:22:a4:62:74:23"). ff:ff:ff:ff:ff:ff means first available NIC
master_device0 ? "ff:ff:ff:ff:ff:ff", master_device0 ? "ff:ff:ff:ff:ff:ff",
enable-debug-if ? "no", # create debug interface for each master
enable-eoe ? "yes", # eoe enable
kernel kernel
}: }:
@@ -11,7 +13,7 @@
with pkgs; with pkgs;
let let
version="1.5"; version="master-ba278192";
device_modules="generic"; device_modules="generic";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
@@ -21,8 +23,8 @@ stdenv.mkDerivation {
src = fetchGit { src = fetchGit {
url = "https://gitlab.com/etherlab.org/ethercat.git"; url = "https://gitlab.com/etherlab.org/ethercat.git";
ref = "stable-${version}"; ref = "master";
rev = "c8a512ac077f2ab51bb072bfbef1a687f9f1c090"; rev = "ba2781922162eca6c10c7cc72a7b4e52e3359f26";
#ref = "refs/tags/1.9"; #ref = "refs/tags/1.9";
#sha256 = lib.fakeSha256; #sha256 = lib.fakeSha256;
}; };
@@ -57,6 +59,10 @@ stdenv.mkDerivation {
"--disable-8139too" "--disable-8139too"
"--enable-tool" "--enable-tool"
"--enable-userlib" "--enable-userlib"
"--enable-tty"
"--enable-debug-if=${enable-debug-if}"
"--enable-eoe=${enable-eoe}"
"--enable-tty"
"--with-linux-dir=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" "--with-linux-dir=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
]; ];
#++ lib.optionals (!guiSupport) [ "--disable-gui" "--enable-systemd" ] # TODO add flags for nongeneric NICs like this #++ lib.optionals (!guiSupport) [ "--disable-gui" "--enable-systemd" ] # TODO add flags for nongeneric NICs like this
@@ -95,7 +101,7 @@ stdenv.mkDerivation {
substituteInPlace $out/bin/ethercatctl --replace 'MODPROBE=/sbin/modprobe' 'MODPROBE=modprobe' substituteInPlace $out/bin/ethercatctl --replace 'MODPROBE=/sbin/modprobe' 'MODPROBE=modprobe'
substituteInPlace $out/bin/ethercatctl --replace 'RMMOD=/sbin/rmmod' 'RMMOD=rmmod' substituteInPlace $out/bin/ethercatctl --replace 'RMMOD=/sbin/rmmod' 'RMMOD=rmmod'
substituteInPlace $out/bin/ethercatctl --replace 'MODINFO=/sbin/modinfo' 'MODINFO=modinfo' substituteInPlace $out/bin/ethercatctl --replace 'MODINFO=/sbin/modinfo' 'MODINFO=modinfo'
substituteInPlace $out/bin/ethercatctl --replace 'IP=/bin/ip' 'IP=ip' substituteInPlace $out/bin/ethercatctl --replace 'IP=/sbin/ip' 'IP=ip'
''; '';
meta = with lib; { meta = with lib; {

View File

@@ -10,24 +10,24 @@
let let
pkgs = nixpkgs.legacyPackages.${system}; pkgs = nixpkgs.legacyPackages.${system};
kernel = pkgs.linux_latest; kernel = pkgs.linux_latest;
ethercat = pkgs.callPackage ./ethercat.nix { inherit kernel; }; in rec {
testmanager = pkgs.libsForQt5.callPackage ./testmanager.nix {}; packages.default = pkgs.callPackage ./ethercat.nix { inherit kernel; };
dls = pkgs.libsForQt5.callPackage ./dls.nix {}; packages.ethercat = pkgs.callPackage ./ethercat.nix { inherit kernel; };
etherlab = pkgs.libsForQt5.callPackage ./etherlab.nix {}; packages.testmanager = pkgs.libsForQt5.callPackage ./testmanager.nix {};
qtpdwidgets = pkgs.libsForQt5.callPackage ./qtpdwidgets.nix {}; packages.dls = pkgs.libsForQt5.callPackage ./dls.nix {};
pdcom = pkgs.callPackage ./pdcom.nix {}; packages.etherlab = pkgs.libsForQt5.callPackage ./etherlab.nix {};
pdserv = pkgs.callPackage ./pdserv.nix {}; packages.qtpdwidgets = pkgs.libsForQt5.callPackage ./qtpdwidgets.nix {};
in packages.pdcom = pkgs.callPackage ./pdcom.nix {};
{ packages.pdserv = pkgs.callPackage ./pdserv.nix {};
packages.default = ethercat; overlay = final: prev: {
packages.ethercat = ethercat; ethercat = packages.ethercat;
packages.testmanager = testmanager; testmanager = packages.testmanager;
packages.dls = dls; dls = packages.dls;
packages.etherlab = etherlab; etherlab = packages.etherlab;
packages.qtpdwidgets = qtpdwidgets; qtpdwidgets = packages.qtpdwidgets;
packages.pdcom = pdcom; pdcom = packages.pdcom;
packages.pdserv = pdserv; pdserv = packages.pdserv;
#overlays.ethercat = final: prev: { ethercat }; };
} }
); );
} }