;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
+;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
+;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bdw-gc)
#:use-module (gnu packages bison)
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages commencement)
#:use-module (gnu packages compression)
#:use-module (gnu packages curl)
+ #:use-module (gnu packages dejagnu)
#:use-module (gnu packages digest)
#:use-module (gnu packages documentation)
#:use-module (gnu packages flex)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages libevent)
#:use-module (gnu packages linux) ;FIXME: for pcb
+ #:use-module (gnu packages lisp)
#:use-module (gnu packages m4)
#:use-module (gnu packages maths)
+ #:use-module (gnu packages man)
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages mpi)
#:use-module (gnu packages ncurses)
+ #:use-module (gnu packages parallel)
+ #:use-module (gnu packages pcre)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages tls)
#:use-module (gnu packages tex)
#:use-module (gnu packages version-control)
+ #:use-module (gnu packages web)
#:use-module (gnu packages wxwidgets)
#:use-module (gnu packages xml)
#:use-module (gnu packages openkinect)
(package
(inherit geda-gaf)
(name "lepton-eda")
- (version "1.9.9-20191003")
+ (version "1.9.11-20200604")
(home-page "https://github.com/lepton-eda/lepton-eda")
(source (origin
(method git-fetch)
(uri (git-reference (url home-page) (commit version)))
(sha256
(base32
- "08cc3zfk84qq9mrkc9pp4r9jlavvm01wwy0yd9frql68w2zw6mip"))
+ "091y8h7wcr9smwhb1wf12sj27n5jrannbj3y6qq3q2gwiifiz8sd"))
(file-name (git-file-name name version))))
(native-inputs
`(("autoconf" ,autoconf)
(define-public pcb-rnd
(package (inherit pcb)
(name "pcb-rnd")
- (version "1.1.3")
+ (version "2.2.3")
(source (origin
(method url-fetch)
(uri (string-append "http://repo.hu/projects/pcb-rnd/releases/"
"pcb-rnd-" version ".tar.gz"))
(sha256
(base32
- "0pycynla60b96jkb6fh6f4sx663pqbzjwnixhw5ym8sym2absm09"))))
+ "0j650498d87b4xsggzc0xlk73k0hhj43wfy45qz2lcn0xc3bks1m"))))
(arguments
`(#:tests? #f ; no check target
#:phases
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/fritzing/fritzing-app.git")
+ (url "https://github.com/fritzing/fritzing-app")
(commit version)))
(file-name (git-file-name name version))
(sha256
,(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/fritzing/fritzing-parts.git")
+ (url "https://github.com/fritzing/fritzing-parts")
(commit version)))
(file-name (git-file-name "fritzing-parts" version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/erichVK5/translate2geda.git")
+ (url "https://github.com/erichVK5/translate2geda")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(sha256
(base32
"0ryv2hcbrwqc087w7rrs4a2irkcpmqync00g4dh8n7jn10w2jkim"))
- (file-name (git-file-name name version))
- (snippet
- ;; Remove bundled catch since we provide our own.
- '(begin
- (delete-file "libfive/test/catch.hpp")
- #t))))
+ (file-name (git-file-name name version))))
(build-system cmake-build-system)
(arguments
`(#:test-target "libfive-test"
(add-after 'unpack 'remove-native-compilation
(lambda _
(substitute* "CMakeLists.txt" (("-march=native") ""))
- #t))
- (add-after 'unpack 'find-catch
- (lambda* (#:key inputs #:allow-other-keys)
- (setenv "CPLUS_INCLUDE_PATH"
- (string-append (assoc-ref inputs "catch")
- "/include/catch:"
- (or (getenv "CPLUS_INCLUDE_PATH") "")))
#t)))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("boost" ,boost)
- ("catch" ,catch-framework2)
("libpng" ,libpng)
("qtbase" ,qtbase)
("eigen" ,eigen)
(license (list license:mpl2.0 ;library
license:gpl2+))))) ;Guile bindings and GUI
+(define-public inspekt3d
+ (let ((commit "703f52ccbfedad2bf5240bf8183d1b573c9d54ef")
+ (revision "0"))
+ (package
+ (name "inspekt3d")
+ (version (git-version "0" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/kavalogic-inc/inspekt3d.git")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0lan6930g5a9z4ack9jj0zdd0mb2s6q2xzpiwcjdc3pvl9b1nbw4"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'patch-libfive-guile-location
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute* "inspekt3d/library.scm"
+ (("\"libfive-guile")
+ (string-append "\""
+ (assoc-ref inputs "libfive")
+ "/lib/libfive-guile")))
+ #t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("mesa" ,mesa)
+ ("guile" ,guile-2.2)))
+ (propagated-inputs
+ `(("libfive" ,libfive)
+ ("guile-opengl" ,guile-opengl)))
+ (home-page "https://gitlab.com/kavalogic-inc/inspekt3d/")
+ (synopsis "Lightweight 3D viewer for Libfive written in Guile Scheme")
+ (description
+ "Inspekt3d is a lightweight 3D viewer for Libfive written in Guile Scheme.
+The viewer can be used interactively with a REPL (for example Geiser in
+Emacs).")
+ (license license:gpl3+))))
+
;; TODO Add doc https://gitlab.com/kicad/services/kicad-doc/-/tree/master
(define-public kicad
(package
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/KiCad/kicad-symbols.git")
+ (url "https://github.com/KiCad/kicad-symbols")
(commit version)))
(file-name (git-file-name name version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/KiCad/kicad-footprints.git")
+ (url "https://github.com/KiCad/kicad-footprints")
(commit version)))
(file-name (git-file-name name version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/KiCad/kicad-packages3d.git")
+ (url "https://github.com/KiCad/kicad-packages3d")
(commit version)))
(file-name (git-file-name name version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/KiCad/kicad-templates.git")
+ (url "https://github.com/KiCad/kicad-templates")
(commit version)))
(file-name (git-file-name name version))
(sha256
(home-page "https://www.libvolk.org/")
(synopsis "Vector-Optimized Library of Kernels")
(description
- "@code{volk} contains procedures with machine-specific optimizations
-for mathematical functions. It also provides a machine-independent
-interface to select the best such procedures to use on a given system.")
+ "@acronym{VOLK, Vector-Optimized Library of Kernels} contains procedures
+with machine-specific optimizations for mathematical functions. It also
+provides a machine-independent interface to select the best such procedures to
+use on a given system.")
+ (license license:gpl3+)))
+
+(define-public libredwg
+ (package
+ (name "libredwg")
+ (version "0.11")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://gnu/libredwg/libredwg-"
+ version ".tar.xz"))
+ (sha256
+ (base32 "1vd7ii32k5447z7k4w9s005hv1ffpj6dyf1w40x6c53qksrblny2"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:configure-flags '("--disable-bindings")))
+ (native-inputs
+ `(("libxml2" ,libxml2)
+ ("parallel" ,parallel)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python)
+ ("python-libxml2" ,python-libxml2)))
+ (inputs
+ `(("pcre2" ,pcre2)))
+ (home-page "https://www.gnu.org/software/libredwg/")
+ (synopsis "C library to handle DWG (CAD-related) files")
+ (description
+ "GNU LibreDWG is a C library to handle DWG files. It aims to be a free
+replacement for the OpenDWG libraries.")
(license license:gpl3+)))
(define-public minicom
(version "2.7.1")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://alioth.debian.org/frs/download.php/"
- "file/4215/" name "-" version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://salsa.debian.org/minicom-team/minicom.git")
+ (commit (string-append "v" version))))
(sha256
- (base32
- "1wa1l36fa4npd21xa9nz60yrqwkk5cq713fa3p5v0zk7g9mq6bsk"))))
+ (base32 "0f36wv015zpz1x895qv0z6marlynzyh0d5mfkyd7lfyy2xd1i2w0"))
+ (file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
`(#:configure-flags '("--enable-lock-dir=/var/lock")
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'patch-lock-check
+ (replace 'bootstrap
+ ;; autogen.sh needlessly hard-codes aclocal-1.14.
+ (lambda _
+ (invoke "autoreconf" "-vif")
+ #t))
+ (add-before 'configure 'patch-lock-check
(lambda _
(substitute* "configure"
(("test -d [$]UUCPLOCK") "true"))
#t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)))
(inputs
`(("ncurses" ,ncurses)))
- (home-page "https://alioth.debian.org/projects/minicom/")
+ (home-page "https://salsa.debian.org/minicom-team/minicom")
(synopsis "Serial terminal emulator")
(description "@code{minicom} is a serial terminal emulator.")
(license license:gpl2+)))
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/markwal/GPX.git")
+ (url "https://github.com/markwal/GPX")
(commit version)))
(file-name (git-file-name name version))
(sha256
(source
(origin
(method git-fetch)
- (uri (git-reference (url "https://github.com/3MFConsortium/lib3mf.git")
+ (uri (git-reference (url "https://github.com/3MFConsortium/lib3mf")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/FreeCAD/FreeCAD.git")
+ (url "https://github.com/FreeCAD/FreeCAD")
(commit version)))
(modules '((guix build utils)))
(snippet
(source
(origin
(method git-fetch)
- (uri (git-reference (url "https://github.com/Heeks/libarea.git")
+ (uri (git-reference (url "https://github.com/Heeks/libarea")
(commit commit)))
(file-name (git-file-name name version))
(sha256
(source (origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/FreeSpacenav/libspnav.git")
+ (url "https://github.com/FreeSpacenav/libspnav")
(commit (string-append "libspnav-" version))))
(sha256
(base32
(define-public meshlab
(package
(name "meshlab")
- (version "2020.05")
+ (version "2020.06")
(source (origin
(method git-fetch)
(uri (git-reference
(recursive? #t)))
(file-name (git-file-name name version))
(sha256
- (base32 "00sim20ka9vjwljixdj4cqd285j21mpaq05ari7nqq2w8yyglp5m"))))
+ (base32 "1cgx24wxh2ah5pff51rcrk6x8qcdjpkxcdak7s4cfzmxvjlshydd"))))
(build-system cmake-build-system)
(inputs
`(("qtbase" ,qtbase)
a program that can perform mesh processing tasks in batch mode, without a
GUI.")
(license license:gpl3+)))
+
+(define-public poke
+ ;; Upstream has yet to tag any releases.
+ (let ((commit "d33317a46e3b7c48130a471a48cbfea1abab70d8")
+ (revision "0"))
+ (package
+ (name "poke")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://git.savannah.gnu.org/poke.git")
+ (commit commit)
+ (recursive? #t)))
+ (sha256
+ (base32 "1dd0r1x123bqi78lrsk58rvg9c9wka0kywdyzn7g3i4hkh54xb7d"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ ;; The GUI, which we elide, requires tcl and tk.
+ (native-inputs `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ;; Requires bison 3.6+ but we currently only have 3.5.
+ ;; Bison 3.6 will be available in the next core update.
+ ("bison-3.6" ,bison-3.6)
+ ("clisp" ,clisp)
+ ("dejagnu" ,dejagnu)
+ ("flex" ,flex)
+ ("gettext" ,gettext-minimal)
+ ("help2man" ,help2man)
+ ("libtool" ,libtool)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python-2" ,python-2)
+ ("python-3" ,python-3)
+ ("texinfo" ,texinfo)))
+ ;; FIXME: Enable NBD support by adding `libnbd' (currently unpackaged).
+ ;; FIXME: A "hyperlinks-capable" `libtexststyle' needed for the hserver.
+ (inputs `(("json-c" ,json-c)
+ ("libgc" ,libgc)
+ ("readline" ,readline)))
+ (arguments
+ ;; To build the GUI, add the `--enable-gui' configure flag.
+ ;; To enable the "hyperlink server", add the `--enable-hserver' flag.
+ `(#:configure-flags '("--enable-mi")
+ #:phases (modify-phases %standard-phases
+ ;; This is a non-trivial bootstrap that needs many of the
+ ;; native-inputs and thus must run after `patch-shebangs'.
+ (delete 'bootstrap)
+ (add-after 'patch-source-shebangs 'bootstrap
+ (lambda _
+ (invoke "./bootstrap" "--no-git"
+ "--no-bootstrap-sync"
+ "--gnulib-srcdir=gnulib")
+ #t)))))
+ (home-page "http://jemarch.net/poke.html")
+ (synopsis "Interactive, extensible editor for binary data")
+ (description "GNU poke is an interactive, extensible editor for binary
+ data. Not limited to editing basic entities such as bits and bytes, it
+ provides a full-fledged procedural, interactive programming language designed
+ to describe data structures and to operate on them.")
+ (license license:gpl3+))))