diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index e9e112fa528..20596519e01 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -4943,6 +4943,12 @@ githubId = 4032; name = "Kristoffer Thømt Ravneberg"; }; + kritnich = { + email = "kritnich@kritni.ch"; + github = "Kritnich"; + githubId = 22116767; + name = "Kritnich"; + }; kroell = { email = "nixosmainter@makroell.de"; github = "rokk4"; diff --git a/pkgs/tools/misc/pcb2gcode/default.nix b/pkgs/tools/misc/pcb2gcode/default.nix new file mode 100644 index 00000000000..b5675f8287d --- /dev/null +++ b/pkgs/tools/misc/pcb2gcode/default.nix @@ -0,0 +1,46 @@ +{ stdenv +, lib +, fetchFromGitHub +, autoreconfHook +, pkg-config +, boost +, glibmm +, gtkmm2 +, gerbv +, librsvg +, bash +}: + +stdenv.mkDerivation rec { + pname = "pcb2gcode"; + version = "2.1.0"; + + src = fetchFromGitHub { + owner = "pcb2gcode"; + repo = "pcb2gcode"; + rev = "v${version}"; + sha256 = "0nzglcyh6ban27cc73j4l7w7r9k38qivq0jz8iwnci02pfalw4ry"; + }; + + nativeBuildInputs = [ autoreconfHook pkg-config ]; + + buildInputs = [ boost glibmm gtkmm2 gerbv librsvg ]; + + postPatch = '' + substituteInPlace ./Makefile.am \ + --replace '`git describe --dirty --always --tags`' '${version}' + ''; + + meta = with lib; { + description = "Command-line tool for isolation, routing and drilling of PCBs "; + longDescription = '' + pcb2gcode is a command-line software for the isolation, routing and drilling of PCBs. + It takes Gerber files as input and it outputs gcode files, suitable for the milling of PCBs. + It also includes an Autoleveller, useful for the automatic dynamic calibration of the milling depth. + ''; + homepage = "https://github.com/pcb2gcode/pcb2gcode"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ kritnich ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 65399f19365..7e4796063ff 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2640,6 +2640,8 @@ in pbzx = callPackage ../tools/compression/pbzx { }; + pcb2gcode = callPackage ../tools/misc/pcb2gcode { }; + persepolis = python3Packages.callPackage ../tools/networking/persepolis { wrapQtAppsHook = qt5.wrapQtAppsHook; };