initial commit
This commit is contained in:
commit
e3b0136650
9 changed files with 245 additions and 0 deletions
44
flake.lock
generated
Normal file
44
flake.lock
generated
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1759036355,
|
||||||
|
"narHash": "sha256-0m27AKv6ka+q270dw48KflE0LwQYrO7Fm4/2//KCVWg=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "e9f00bd893984bc8ce46c895c3bf7cac95331127",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-24.11": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1751274312,
|
||||||
|
"narHash": "sha256-/bVBlRpECLVzjV19t5KMdMFWSwKLtb5RyXdjz3LJT+g=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "50ab793786d9de88ee30ec4e4c24fb4236fc2674",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-24.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nixpkgs-24.11": "nixpkgs-24.11"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
31
flake.nix
Normal file
31
flake.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
description = "Jetperch tools";
|
||||||
|
|
||||||
|
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
inputs."nixpkgs-24.11".url = "github:nixos/nixpkgs/nixos-24.11";
|
||||||
|
|
||||||
|
outputs = { self, nixpkgs, ... }@inputs: let
|
||||||
|
lib = nixpkgs.lib;
|
||||||
|
|
||||||
|
scan = root: pkg: let
|
||||||
|
path = ./. + "/${root}";
|
||||||
|
entries = lib.optionalAttrs (builtins.pathExists path) (builtins.readDir path);
|
||||||
|
in lib.attrsets.foldlAttrs (acc: name: value: acc // lib.optionalAttrs (builtins.pathExists ("${./.}/${root}/${name}/default.nix")) {
|
||||||
|
${name} = pkg name (import "${./.}/${root}/${name}/default.nix");
|
||||||
|
}) {} entries;
|
||||||
|
|
||||||
|
overlay = final: prev: let
|
||||||
|
all = packages final;
|
||||||
|
python3 = prev.python3.override {
|
||||||
|
self = python3;
|
||||||
|
packageOverrides = pself: psuper: {
|
||||||
|
watchdog = psuper.watchdog;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in { inherit python3; } // all;
|
||||||
|
|
||||||
|
packages = pkgs: scan "package" (name: pkg: (pkgs.extend overlay).callPackage pkg { jetperch = self; inherit name; });
|
||||||
|
in {
|
||||||
|
packages = builtins.mapAttrs (_: packages) nixpkgs.legacyPackages;
|
||||||
|
};
|
||||||
|
}
|
||||||
4
package/current.nix
Normal file
4
package/current.nix
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
versions,
|
||||||
|
}:
|
||||||
29
package/joulescope-driver/default.nix
Normal file
29
package/joulescope-driver/default.nix
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
let
|
||||||
|
v."1.10.0" = "sha256-deMxbLHnD1jDvQaAzhGiCF1vt11IpF6Ao2OF6zJuJ9A=";
|
||||||
|
in {
|
||||||
|
callPackage,
|
||||||
|
jetperch,
|
||||||
|
name ? "joulescope-driver",
|
||||||
|
version ? "1.10.0",
|
||||||
|
hash ? v.${version} or "",
|
||||||
|
stdenv,
|
||||||
|
#dependencies
|
||||||
|
cmake,
|
||||||
|
udev,
|
||||||
|
}: stdenv.mkDerivation {
|
||||||
|
pname = name;
|
||||||
|
version = version;
|
||||||
|
src = callPackage ../source.nix {
|
||||||
|
repo = "joulescope_driver";
|
||||||
|
inherit version;
|
||||||
|
inherit hash;
|
||||||
|
};
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
echo 'install(TARGETS jsdrv DESTINATION lib)' >>CMakeLists.txt
|
||||||
|
'';
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
hardeningDisable = [ "format" ];
|
||||||
|
buildInputs = [ udev.dev ];
|
||||||
|
}
|
||||||
18
package/pyjls/default.nix
Normal file
18
package/pyjls/default.nix
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
let
|
||||||
|
v."0.15.0" = "sha256-lr23f8YDF/7f/dAJIiZdy69lzcnO0HRkbYS/GkOYwfo=";
|
||||||
|
in {
|
||||||
|
callPackage,
|
||||||
|
jetperch,
|
||||||
|
name ? "pyjls",
|
||||||
|
version ? "0.15.0",
|
||||||
|
hash ? v.${version} or "",
|
||||||
|
}: callPackage ../python.nix {
|
||||||
|
inherit name;
|
||||||
|
inherit jetperch;
|
||||||
|
inherit version;
|
||||||
|
inherit hash;
|
||||||
|
repo = "jls";
|
||||||
|
pydeps = py: with py; [
|
||||||
|
numpy
|
||||||
|
];
|
||||||
|
}
|
||||||
33
package/pyjoulescope-driver/default.nix
Normal file
33
package/pyjoulescope-driver/default.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
let
|
||||||
|
v."1.10.0" = "sha256-deMxbLHnD1jDvQaAzhGiCF1vt11IpF6Ao2OF6zJuJ9A=";
|
||||||
|
in {
|
||||||
|
callPackage,
|
||||||
|
jetperch,
|
||||||
|
name ? "pyjoulescope-driver",
|
||||||
|
version ? "1.10.0",
|
||||||
|
hash ? v.${version} or "",
|
||||||
|
udev,
|
||||||
|
}: (callPackage ../python.nix {
|
||||||
|
inherit name;
|
||||||
|
inherit jetperch;
|
||||||
|
inherit version;
|
||||||
|
inherit hash;
|
||||||
|
repo = "joulescope_driver";
|
||||||
|
pydeps = py: with py; [
|
||||||
|
numpy
|
||||||
|
requests
|
||||||
|
psutil
|
||||||
|
];
|
||||||
|
}
|
||||||
|
).overrideAttrs (final: prev: {
|
||||||
|
nativeBuildInputs = (prev.nativeBuildInputs or []) ++ [
|
||||||
|
[ udev udev.dev ]
|
||||||
|
];
|
||||||
|
NIX_CFLAGS_COMPILE = (prev.NIX_CFLAGS_COMPILE or []) ++ [
|
||||||
|
"-I${udev.dev}/include"
|
||||||
|
];
|
||||||
|
NIX_LDFLAGS = (prev.NIX_LDFLAGS or []) ++ [
|
||||||
|
"-L${udev}/lib"
|
||||||
|
];
|
||||||
|
dontUseCmakeConfigure = true;
|
||||||
|
})
|
||||||
38
package/pyjoulescope-ui/default.nix
Normal file
38
package/pyjoulescope-ui/default.nix
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
let
|
||||||
|
v."1.3.9" = "sha256-9UDZxeuSsaWreoFq6hhRub+72IvDavN5Y2tfgpBUwTE=";
|
||||||
|
in {
|
||||||
|
callPackage,
|
||||||
|
jetperch,
|
||||||
|
name ? "pyjoulescope-ui",
|
||||||
|
version ? "1.3.9",
|
||||||
|
hash ? v.${version} or "",
|
||||||
|
|
||||||
|
# dependencies
|
||||||
|
pyjoulescope-driver,
|
||||||
|
pyjls,
|
||||||
|
...
|
||||||
|
}: callPackage ../python.nix {
|
||||||
|
inherit name;
|
||||||
|
inherit jetperch;
|
||||||
|
inherit version;
|
||||||
|
inherit hash;
|
||||||
|
repo = "pyjoulescope_ui";
|
||||||
|
pydeps = py: with py; [
|
||||||
|
numpy
|
||||||
|
polib
|
||||||
|
pyside6
|
||||||
|
psutil
|
||||||
|
pyjls
|
||||||
|
pyopengl
|
||||||
|
pyqtgraph
|
||||||
|
pyside6-qtads
|
||||||
|
python-dateutil
|
||||||
|
qtpy
|
||||||
|
requests
|
||||||
|
appnope
|
||||||
|
fs
|
||||||
|
markdown
|
||||||
|
watchdog
|
||||||
|
pyjoulescope-driver
|
||||||
|
];
|
||||||
|
}
|
||||||
36
package/python.nix
Normal file
36
package/python.nix
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
callPackage,
|
||||||
|
python3Packages,
|
||||||
|
|
||||||
|
name,
|
||||||
|
repo ? name,
|
||||||
|
version,
|
||||||
|
hash,
|
||||||
|
pydeps ? (_: []),
|
||||||
|
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
source = callPackage ./source.nix {
|
||||||
|
inherit repo;
|
||||||
|
inherit version;
|
||||||
|
inherit hash;
|
||||||
|
};
|
||||||
|
in python3Packages.buildPythonPackage {
|
||||||
|
pname = name;
|
||||||
|
inherit version;
|
||||||
|
|
||||||
|
src = callPackage ./source.nix {
|
||||||
|
inherit repo;
|
||||||
|
inherit version;
|
||||||
|
inherit hash;
|
||||||
|
};
|
||||||
|
|
||||||
|
build-system = [ python3Packages.setuptools ];
|
||||||
|
pyproject = true;
|
||||||
|
|
||||||
|
dependencies = let
|
||||||
|
common = with python3Packages; [
|
||||||
|
cython
|
||||||
|
];
|
||||||
|
in common ++ pydeps python3Packages;
|
||||||
|
}
|
||||||
12
package/source.nix
Normal file
12
package/source.nix
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
{
|
||||||
|
fetchFromGitHub,
|
||||||
|
repo,
|
||||||
|
version,
|
||||||
|
hash ? "",
|
||||||
|
owner ? "jetperch",
|
||||||
|
}: fetchFromGitHub {
|
||||||
|
owner = owner;
|
||||||
|
repo = repo;
|
||||||
|
tag = "v${version}";
|
||||||
|
inherit hash;
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue