nixpkgs/pkgs/by-name/pc/pcb2gcode/package.nix
aleksana 571c71e6f7 treewide: migrate packages to pkgs/by-name, take 1
We are migrating packages that meet below requirements:

1. using `callPackage`
2. called path is a directory
3. overriding set is empty (`{ }`)
4. not containing path expressions other than relative path (to
makenixpkgs-vet happy)
5. not referenced by nix files outside of the directory, other
than`pkgs/top-level/all-packages.nix`
6. not referencing nix files outside of the directory
7. not referencing `default.nix` (since it's changed to `package.nix`)
8. `outPath` doesn't change after migration

The tool is here: https://github.com/Aleksanaa/by-name-migrate.
2024-11-09 20:04:51 +08:00

46 lines
1.2 KiB
Nix

{ stdenv
, lib
, fetchFromGitHub
, autoreconfHook
, pkg-config
, boost
, glibmm
, gtkmm2
, gerbv
, librsvg
}:
stdenv.mkDerivation rec {
pname = "pcb2gcode";
version = "2.5.0";
src = fetchFromGitHub {
owner = "pcb2gcode";
repo = "pcb2gcode";
rev = "v${version}";
hash = "sha256-c5YabBqZn6ilIkF3lifTsYyLZMsZN21jDj1hNu0PRAc=";
};
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.unix;
};
}