at master 1.3 kB view raw
1{ 2 stdenv, 3 lib, 4 fetchFromGitHub, 5 autoreconfHook, 6 pkg-config, 7 boost, 8 glibmm, 9 gtkmm2, 10 gerbv, 11 librsvg, 12}: 13 14stdenv.mkDerivation rec { 15 pname = "pcb2gcode"; 16 version = "2.5.0"; 17 18 src = fetchFromGitHub { 19 owner = "pcb2gcode"; 20 repo = "pcb2gcode"; 21 rev = "v${version}"; 22 hash = "sha256-c5YabBqZn6ilIkF3lifTsYyLZMsZN21jDj1hNu0PRAc="; 23 }; 24 25 configureFlags = [ 26 (lib.withFeatureAs true "boost" boost.dev) 27 ]; 28 29 nativeBuildInputs = [ 30 autoreconfHook 31 pkg-config 32 ]; 33 34 buildInputs = [ 35 boost 36 glibmm 37 gtkmm2 38 gerbv 39 librsvg 40 ]; 41 42 postPatch = '' 43 substituteInPlace ./Makefile.am \ 44 --replace '`git describe --dirty --always --tags`' '${version}' 45 ''; 46 47 meta = with lib; { 48 description = "Command-line tool for isolation, routing and drilling of PCBs"; 49 longDescription = '' 50 pcb2gcode is a command-line software for the isolation, routing and drilling of PCBs. 51 It takes Gerber files as input and it outputs gcode files, suitable for the milling of PCBs. 52 It also includes an Autoleveller, useful for the automatic dynamic calibration of the milling depth. 53 ''; 54 homepage = "https://github.com/pcb2gcode/pcb2gcode"; 55 license = licenses.gpl3Only; 56 maintainers = with maintainers; [ kritnich ]; 57 platforms = platforms.unix; 58 }; 59}