forked from mirrors/nixpkgs
62 lines
1.7 KiB
Nix
62 lines
1.7 KiB
Nix
{ lib
|
|
, fetchFromGitHub
|
|
, buildPythonPackage
|
|
, pythonOlder
|
|
, smbus-cffi
|
|
, urwid
|
|
}:
|
|
|
|
buildPythonPackage rec {
|
|
pname = "pijuice";
|
|
version = "1.7";
|
|
disabled = pythonOlder "3.6";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "PiSupply";
|
|
repo = "PiJuice";
|
|
# rev hash retrieved from the latest modification on file Software/Source/VERSION, as this project
|
|
# does not use Github tags facility
|
|
rev = "3ba6719ab614a3dc7495d5d9c900dd4ea977c7e3";
|
|
sha256 = "GoNN07YgVaktpeY5iYDbfpy5fxkU1x0V3Sb1hgGAQt4=";
|
|
};
|
|
|
|
patches = [
|
|
# The pijuice_cli.cli file doesn't have a shebang as the first line of the
|
|
# script. Without it, the pythonWrapPrograms hook will not wrap the program.
|
|
# Add a python shebang here so that the the hook is triggered.
|
|
./patch-shebang.diff
|
|
];
|
|
|
|
PIJUICE_BUILD_BASE = 1;
|
|
|
|
preBuild = ''
|
|
cd Software/Source
|
|
'';
|
|
|
|
propagatedBuildInputs = [ smbus-cffi urwid ];
|
|
|
|
# Remove the following files from the package:
|
|
#
|
|
# pijuice_cli - A precompiled ELF binary that is a setuid wrapper for calling
|
|
# pijuice_cli.py
|
|
#
|
|
# pijuiceboot - a precompiled ELF binary for flashing firmware. Not needed for
|
|
# the python library.
|
|
#
|
|
# pijuice_sys.py - A program that acts as a system daemon for monitoring the
|
|
# pijuice.
|
|
preFixup = ''
|
|
rm $out/bin/pijuice_cli
|
|
rm $out/bin/pijuice_sys.py
|
|
rm $out/bin/pijuiceboot
|
|
mv $out/bin/pijuice_cli.py $out/bin/pijuice_cli
|
|
'';
|
|
|
|
meta = with lib; {
|
|
description = "Library and resources for PiJuice HAT for Raspberry Pi";
|
|
homepage = "https://github.com/PiSupply/PiJuice";
|
|
license = licenses.gpl3Plus;
|
|
maintainers = with maintainers; [ hexagonal-sun ];
|
|
};
|
|
}
|