gnu: Add PCB.
* gnu/packages/engineering.scm (pcb): New variable.
This commit is contained in:
		
							parent
							
								
									e62be58fc3
								
							
						
					
					
						commit
						205006624e
					
				
					 1 changed files with 61 additions and 0 deletions
				
			
		|  | @ -25,16 +25,22 @@ | ||||||
|   #:use-module (guix build-system gnu) |   #:use-module (guix build-system gnu) | ||||||
|   #:use-module (gnu packages) |   #:use-module (gnu packages) | ||||||
|   #:use-module (gnu packages base) |   #:use-module (gnu packages base) | ||||||
|  |   #:use-module (gnu packages bison) | ||||||
|   #:use-module (gnu packages boost) |   #:use-module (gnu packages boost) | ||||||
|  |   #:use-module (gnu packages flex) | ||||||
|   #:use-module (gnu packages fontutils) |   #:use-module (gnu packages fontutils) | ||||||
|  |   #:use-module (gnu packages gd) | ||||||
|  |   #:use-module (gnu packages gl) | ||||||
|   #:use-module (gnu packages glib) |   #:use-module (gnu packages glib) | ||||||
|   #:use-module (gnu packages gnome) |   #:use-module (gnu packages gnome) | ||||||
|   #:use-module (gnu packages gtk) |   #:use-module (gnu packages gtk) | ||||||
|   #:use-module (gnu packages guile) |   #:use-module (gnu packages guile) | ||||||
|  |   #:use-module ((gnu packages linux) #:select (eudev)) ; FIXME: for pcb | ||||||
|   #:use-module (gnu packages maths) |   #:use-module (gnu packages maths) | ||||||
|   #:use-module (gnu packages perl) |   #:use-module (gnu packages perl) | ||||||
|   #:use-module (gnu packages pkg-config) |   #:use-module (gnu packages pkg-config) | ||||||
|   #:use-module (gnu packages qt) |   #:use-module (gnu packages qt) | ||||||
|  |   #:use-module (gnu packages tcl) | ||||||
|   #:use-module (srfi srfi-1)) |   #:use-module (srfi srfi-1)) | ||||||
| 
 | 
 | ||||||
| (define-public librecad | (define-public librecad | ||||||
|  | @ -135,3 +141,58 @@ tool to forward annotation from your schematic to layout using PCB; some minor | ||||||
| utilities.") | utilities.") | ||||||
|     (license license:gpl2+))) |     (license license:gpl2+))) | ||||||
| 
 | 
 | ||||||
|  | (define-public pcb | ||||||
|  |   (package | ||||||
|  |     (name "pcb") | ||||||
|  |     (version "20140316") | ||||||
|  |     (source (origin | ||||||
|  |               (method url-fetch) | ||||||
|  |               (uri (string-append | ||||||
|  |                     "http://ftp.geda-project.org/pcb/pcb-" version "/pcb-" | ||||||
|  |                     version ".tar.gz")) | ||||||
|  |               (sha256 | ||||||
|  |                (base32 | ||||||
|  |                 "0l6944hq79qsyp60i5ai02xwyp8l47q7xdm3js0jfkpf72ag7i42")))) | ||||||
|  |     (build-system gnu-build-system) | ||||||
|  |     (arguments | ||||||
|  |      `(#:phases | ||||||
|  |        (alist-cons-after | ||||||
|  |         'unpack 'use-wish8.6 | ||||||
|  |         (lambda _ | ||||||
|  |           (substitute* "configure" | ||||||
|  |             (("wish85") "wish8.6"))) | ||||||
|  |         (alist-cons-after | ||||||
|  |          'install 'wrap | ||||||
|  |          (lambda* (#:key inputs outputs #:allow-other-keys) | ||||||
|  |            ;; FIXME: Mesa tries to dlopen libudev.so.0 and fails.  Pending a | ||||||
|  |            ;; fix of the mesa package we wrap the pcb executable such that | ||||||
|  |            ;; Mesa can find libudev.so.0 through LD_LIBRARY_PATH. | ||||||
|  |            (let* ((out (assoc-ref outputs "out")) | ||||||
|  |                   (path (string-append (assoc-ref inputs "udev") "/lib"))) | ||||||
|  |              (wrap-program (string-append out "/bin/pcb") | ||||||
|  |                `("LD_LIBRARY_PATH" ":" prefix (,path))))) | ||||||
|  |          %standard-phases)))) | ||||||
|  |     (inputs | ||||||
|  |      `(("dbus" ,dbus) | ||||||
|  |        ("mesa" ,mesa) | ||||||
|  |        ("udev" ,eudev) ;FIXME: required by mesa | ||||||
|  |        ("glu" ,glu) | ||||||
|  |        ("gd" ,gd) | ||||||
|  |        ("gtk" ,gtk+-2) | ||||||
|  |        ("gtkglext" ,gtkglext) | ||||||
|  |        ("desktop-file-utils" ,desktop-file-utils) | ||||||
|  |        ("shared-mime-info" ,shared-mime-info) | ||||||
|  |        ("tk" ,tk))) | ||||||
|  |     (native-inputs | ||||||
|  |      `(("pkg-config" ,pkg-config) | ||||||
|  |        ("intltool" ,intltool) | ||||||
|  |        ("bison" ,bison) | ||||||
|  |        ("flex" ,flex))) | ||||||
|  |     (home-page "http://pcb.geda-project.org/") | ||||||
|  |     (synopsis "Design printed circuit board layouts") | ||||||
|  |     (description | ||||||
|  |      "GNU PCB is an interactive tool for editing printed circuit board | ||||||
|  | layouts.  It features a rats-nest implementation, schematic/netlist import, | ||||||
|  | and design rule checking.  It also includes an autorouter and a trace | ||||||
|  | optimizer; and it can produce photorealistic and design review images.") | ||||||
|  |     (license license:gpl2+))) | ||||||
|  |  | ||||||
		Reference in a new issue