2015-03-04 09:46:04 +01:00
|
|
|
|
;;; GNU Guix --- Functional package management for GNU
|
2020-01-10 22:43:45 +01:00
|
|
|
|
;;; Copyright © 2015, 2016, 2017, 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
|
2015-07-21 21:51:29 +02:00
|
|
|
|
;;; Copyright © 2015 Federico Beffa <beffa@fbengineering.ch>
|
2020-01-03 15:02:16 +01:00
|
|
|
|
;;; Copyright © 2016, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
|
2016-04-13 16:41:57 +02:00
|
|
|
|
;;; Copyright © 2016 David Thompson <davet@gnu.org>
|
2019-09-30 09:48:18 +02:00
|
|
|
|
;;; Copyright © 2016, 2017, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
|
2018-06-07 21:24:54 +02:00
|
|
|
|
;;; Copyright © 2016, 2017, 2018 Theodoros Foradis <theodoros@foradis.org>
|
2017-08-11 20:41:39 +02:00
|
|
|
|
;;; Copyright © 2017 Julien Lepiller <julien@lepiller.eu>
|
2020-01-01 23:52:21 +01:00
|
|
|
|
;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
|
2018-05-29 15:40:28 +02:00
|
|
|
|
;;; Copyright © 2018 Clément Lassieur <clement@lassieur.org>
|
2019-02-27 18:01:48 +01:00
|
|
|
|
;;; Copyright © 2018, 2019 Jonathan Brielmaier <jonathan.brielmaier@web.de>
|
2019-04-05 13:11:15 +02:00
|
|
|
|
;;; Copyright © 2018, 2019 Arun Isaac <arunisaac@systemreboot.net>
|
2019-02-07 22:33:08 +01:00
|
|
|
|
;;; Copyright © 2019 Tim Stahel <swedneck@swedneck.xyz>
|
2019-07-20 13:30:22 +02:00
|
|
|
|
;;; Copyright © 2019 Jovany Leandro G.C <bit4bit@riseup.net>
|
2019-08-24 00:23:00 +02:00
|
|
|
|
;;; Copyright © 2019 Steve Sprang <scs@stevesprang.com>
|
2019-07-07 04:05:37 +02:00
|
|
|
|
;;; Copyright © 2019 John Soo <jsoo1@asu.edu>
|
2020-02-16 22:28:29 +01:00
|
|
|
|
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
2020-04-05 13:48:28 +02:00
|
|
|
|
;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
|
2020-05-14 00:21:41 +02:00
|
|
|
|
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
|
2020-05-14 16:55:32 +02:00
|
|
|
|
;;; Copyright © 2020 Ekaitz Zarraga <ekaitz@elenq.tech>
|
2020-06-19 16:08:40 +02:00
|
|
|
|
;;; Copyright © 2020 B. Wilson <elaexuotee@wilsonb.com>
|
2015-03-04 09:46:04 +01:00
|
|
|
|
;;;
|
|
|
|
|
;;; This file is part of GNU Guix.
|
|
|
|
|
;;;
|
|
|
|
|
;;; GNU Guix is free software; you can redistribute it and/or modify it
|
|
|
|
|
;;; under the terms of the GNU General Public License as published by
|
|
|
|
|
;;; the Free Software Foundation; either version 3 of the License, or (at
|
|
|
|
|
;;; your option) any later version.
|
|
|
|
|
;;;
|
|
|
|
|
;;; GNU Guix is distributed in the hope that it will be useful, but
|
|
|
|
|
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
;;; GNU General Public License for more details.
|
|
|
|
|
;;;
|
|
|
|
|
;;; You should have received a copy of the GNU General Public License
|
|
|
|
|
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
2015-03-08 11:12:16 +01:00
|
|
|
|
(define-module (gnu packages engineering)
|
2015-03-04 09:46:04 +01:00
|
|
|
|
#:use-module (guix packages)
|
|
|
|
|
#:use-module (guix download)
|
2015-07-21 21:51:29 +02:00
|
|
|
|
#:use-module (guix gexp)
|
2015-03-04 09:46:04 +01:00
|
|
|
|
#:use-module (guix git-download)
|
2020-05-14 16:55:32 +02:00
|
|
|
|
#:use-module (guix svn-download)
|
2015-07-21 21:51:29 +02:00
|
|
|
|
#:use-module (guix monads)
|
|
|
|
|
#:use-module (guix store)
|
2015-03-05 08:38:46 +01:00
|
|
|
|
#:use-module (guix utils)
|
2017-09-09 19:57:49 +02:00
|
|
|
|
#:use-module ((srfi srfi-1) #:hide (zip))
|
2015-03-04 09:46:04 +01:00
|
|
|
|
#:use-module ((guix licenses) #:prefix license:)
|
2019-03-08 21:45:29 +01:00
|
|
|
|
#:use-module (guix build-system ant)
|
2016-11-15 21:53:23 +01:00
|
|
|
|
#:use-module (guix build-system cmake)
|
2015-03-04 09:46:04 +01:00
|
|
|
|
#:use-module (guix build-system gnu)
|
2017-08-11 20:49:04 +02:00
|
|
|
|
#:use-module (guix build-system python)
|
2020-02-22 06:15:38 +01:00
|
|
|
|
#:use-module (guix build-system qt)
|
2015-03-04 09:46:04 +01:00
|
|
|
|
#:use-module (gnu packages)
|
2016-10-19 10:39:59 +02:00
|
|
|
|
#:use-module (gnu packages algebra)
|
2015-08-31 08:47:09 +02:00
|
|
|
|
#:use-module (gnu packages autotools)
|
2015-03-08 11:13:57 +01:00
|
|
|
|
#:use-module (gnu packages base)
|
2020-06-19 16:08:40 +02:00
|
|
|
|
#:use-module (gnu packages bdw-gc)
|
2015-03-06 21:11:01 +01:00
|
|
|
|
#:use-module (gnu packages bison)
|
2015-03-04 09:46:04 +01:00
|
|
|
|
#:use-module (gnu packages boost)
|
2016-10-19 10:39:59 +02:00
|
|
|
|
#:use-module (gnu packages check)
|
2019-07-07 19:03:38 +02:00
|
|
|
|
#:use-module (gnu packages cmake)
|
2017-10-27 16:18:17 +02:00
|
|
|
|
#:use-module (gnu packages commencement)
|
2015-07-21 21:51:29 +02:00
|
|
|
|
#:use-module (gnu packages compression)
|
2016-11-15 21:53:23 +01:00
|
|
|
|
#:use-module (gnu packages curl)
|
2020-06-19 16:08:40 +02:00
|
|
|
|
#:use-module (gnu packages dejagnu)
|
2020-05-25 22:01:31 +02:00
|
|
|
|
#:use-module (gnu packages digest)
|
2019-07-07 19:32:10 +02:00
|
|
|
|
#:use-module (gnu packages documentation)
|
2015-03-06 21:11:01 +01:00
|
|
|
|
#:use-module (gnu packages flex)
|
2015-03-04 09:46:04 +01:00
|
|
|
|
#:use-module (gnu packages fontutils)
|
2017-10-27 16:18:18 +02:00
|
|
|
|
#:use-module (gnu packages fpga)
|
2017-06-05 21:22:01 +02:00
|
|
|
|
#:use-module (gnu packages freedesktop)
|
2017-06-22 21:09:54 +02:00
|
|
|
|
#:use-module (gnu packages gcc)
|
2015-03-06 21:11:01 +01:00
|
|
|
|
#:use-module (gnu packages gd)
|
2015-08-31 08:47:09 +02:00
|
|
|
|
#:use-module (gnu packages gettext)
|
2015-07-21 21:51:29 +02:00
|
|
|
|
#:use-module (gnu packages ghostscript)
|
2015-03-06 21:11:01 +01:00
|
|
|
|
#:use-module (gnu packages gl)
|
2015-03-05 08:38:46 +01:00
|
|
|
|
#:use-module (gnu packages glib)
|
|
|
|
|
#:use-module (gnu packages gnome)
|
2017-10-27 16:18:18 +02:00
|
|
|
|
#:use-module (gnu packages gperf)
|
2019-09-11 01:22:57 +02:00
|
|
|
|
#:use-module (gnu packages graphics)
|
2019-07-07 19:32:10 +02:00
|
|
|
|
#:use-module (gnu packages graphviz)
|
2018-08-26 19:29:25 +02:00
|
|
|
|
#:use-module (gnu packages groff)
|
2015-03-05 08:38:46 +01:00
|
|
|
|
#:use-module (gnu packages gtk)
|
|
|
|
|
#:use-module (gnu packages guile)
|
2016-10-19 10:39:59 +02:00
|
|
|
|
#:use-module (gnu packages image)
|
2019-07-07 19:32:10 +02:00
|
|
|
|
#:use-module (gnu packages image-processing)
|
2017-05-06 08:56:39 +02:00
|
|
|
|
#:use-module (gnu packages imagemagick)
|
2020-05-25 22:01:31 +02:00
|
|
|
|
#:use-module (gnu packages libevent)
|
2015-04-20 15:50:59 +02:00
|
|
|
|
#:use-module (gnu packages linux) ;FIXME: for pcb
|
2020-06-19 16:08:40 +02:00
|
|
|
|
#:use-module (gnu packages lisp)
|
2016-04-13 16:41:57 +02:00
|
|
|
|
#:use-module (gnu packages m4)
|
2015-03-04 09:46:04 +01:00
|
|
|
|
#:use-module (gnu packages maths)
|
2020-06-19 16:08:40 +02:00
|
|
|
|
#:use-module (gnu packages man)
|
2017-08-11 20:54:40 +02:00
|
|
|
|
#:use-module (gnu packages multiprecision)
|
2017-06-22 21:10:00 +02:00
|
|
|
|
#:use-module (gnu packages mpi)
|
2017-06-10 16:06:34 +02:00
|
|
|
|
#:use-module (gnu packages ncurses)
|
2015-03-05 08:38:46 +01:00
|
|
|
|
#:use-module (gnu packages perl)
|
2015-03-04 09:46:04 +01:00
|
|
|
|
#:use-module (gnu packages pkg-config)
|
2016-11-15 21:53:23 +01:00
|
|
|
|
#:use-module (gnu packages python)
|
gnu: Separate Python core packages from the rest.
* gnu/packages/python.scm: Move hundreds of package definitions from here...
* gnu/packages/python-xyz.scm: ...to this new module.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/ada.scm,
gnu/packages/admin.scm,
gnu/packages/android.scm,
gnu/packages/audio.scm,
gnu/packages/backup.scm,
gnu/packages/benchmark.scm,
gnu/packages/bioinformatics.scm,
gnu/packages/bittorrent.scm,
gnu/packages/calendar.scm,
gnu/packages/check.scm,
gnu/packages/chemistry.scm,
gnu/packages/cluster.scm,
gnu/packages/compression.scm,
gnu/packages/connman.scm,
gnu/packages/crypto.scm,
gnu/packages/cups.scm,
gnu/packages/databases.scm,
gnu/packages/dav.scm,
gnu/packages/direct-connect.scm,
gnu/packages/disk.scm,
gnu/packages/django.scm,
gnu/packages/dlang.scm,
gnu/packages/docker.scm,
gnu/packages/ebook.scm,
gnu/packages/elf.scm,
gnu/packages/emacs.scm,
gnu/packages/emulators.scm,
gnu/packages/engineering.scm,
gnu/packages/enlightenment.scm,
gnu/packages/finance.scm,
gnu/packages/fltk.scm,
gnu/packages/fontutils.scm,
gnu/packages/freedesktop.scm,
gnu/packages/game-development.scm,
gnu/packages/games.scm,
gnu/packages/geo.scm,
gnu/packages/gl.scm,
gnu/packages/glib.scm,
gnu/packages/gnome.scm,
gnu/packages/gnupg.scm,
gnu/packages/gnuzilla.scm,
gnu/packages/graph.scm,
gnu/packages/graphics.scm,
gnu/packages/graphviz.scm,
gnu/packages/gtk.scm,
gnu/packages/ham-radio.scm,
gnu/packages/image-processing.scm,
gnu/packages/image-viewers.scm,
gnu/packages/image.scm,
gnu/packages/irc.scm,
gnu/packages/jrnl.scm,
gnu/packages/julia.scm,
gnu/packages/kde-frameworks.scm,
gnu/packages/key-mon.scm,
gnu/packages/libffi.scm,
gnu/packages/libreoffice.scm,
gnu/packages/libusb.scm,
gnu/packages/lirc.scm,
gnu/packages/logging.scm,
gnu/packages/machine-learning.scm,
gnu/packages/mail.scm,
gnu/packages/mate.scm,
gnu/packages/maths.scm,
gnu/packages/medical.scm,
gnu/packages/messaging.scm,
gnu/packages/monitoring.scm,
gnu/packages/mp3.scm,
gnu/packages/mpd.scm,
gnu/packages/music.scm,
gnu/packages/networking.scm,
gnu/packages/nutrition.scm,
gnu/packages/openldap.scm,
gnu/packages/openstack.scm,
gnu/packages/package-management.scm,
gnu/packages/password-utils.scm,
gnu/packages/patchutils.scm,
gnu/packages/pdf.scm,
gnu/packages/photo.scm,
gnu/packages/polkit.scm,
gnu/packages/protobuf.scm,
gnu/packages/python-crypto.scm,
gnu/packages/python-web.scm,
gnu/packages/qt.scm,
gnu/packages/rdf.scm,
gnu/packages/ruby.scm,
gnu/packages/search.scm,
gnu/packages/selinux.scm,
gnu/packages/serialization.scm,
gnu/packages/shells.scm,
gnu/packages/simulation.scm,
gnu/packages/ssh.scm,
gnu/packages/statistics.scm,
gnu/packages/storage.scm,
gnu/packages/sync.scm,
gnu/packages/terminals.scm,
gnu/packages/textutils.scm,
gnu/packages/time.scm,
gnu/packages/tls.scm,
gnu/packages/tor.scm,
gnu/packages/tryton.scm,
gnu/packages/version-control.scm,
gnu/packages/video.scm,
gnu/packages/virtualization.scm,
gnu/packages/vpn.scm,
gnu/packages/web-browsers.scm,
gnu/packages/web.scm,
gnu/packages/wicd.scm,
gnu/packages/xdisorg.scm,
gnu/packages/xorg.scm: Update module references.
2019-01-15 14:21:30 +01:00
|
|
|
|
#:use-module (gnu packages python-xyz)
|
2015-03-04 09:46:04 +01:00
|
|
|
|
#:use-module (gnu packages qt)
|
2017-06-22 21:09:56 +02:00
|
|
|
|
#:use-module (gnu packages readline)
|
2016-11-15 21:53:23 +01:00
|
|
|
|
#:use-module (gnu packages swig)
|
2019-07-07 19:32:10 +02:00
|
|
|
|
#:use-module (gnu packages tbb)
|
2015-03-06 21:11:01 +01:00
|
|
|
|
#:use-module (gnu packages tcl)
|
2018-08-26 19:29:25 +02:00
|
|
|
|
#:use-module (gnu packages texinfo)
|
2016-11-15 21:53:23 +01:00
|
|
|
|
#:use-module (gnu packages tls)
|
2016-05-24 21:18:53 +02:00
|
|
|
|
#:use-module (gnu packages tex)
|
2019-03-26 23:58:33 +01:00
|
|
|
|
#:use-module (gnu packages version-control)
|
2020-06-19 16:08:40 +02:00
|
|
|
|
#:use-module (gnu packages web)
|
2016-11-15 21:53:23 +01:00
|
|
|
|
#:use-module (gnu packages wxwidgets)
|
2019-09-11 01:22:57 +02:00
|
|
|
|
#:use-module (gnu packages xml)
|
2020-06-12 23:41:18 +02:00
|
|
|
|
#:use-module (gnu packages openkinect)
|
2017-08-11 20:54:40 +02:00
|
|
|
|
#:use-module (gnu packages xorg))
|
2015-03-04 09:46:04 +01:00
|
|
|
|
|
|
|
|
|
(define-public librecad
|
|
|
|
|
(package
|
|
|
|
|
(name "librecad")
|
2016-10-31 23:09:45 +01:00
|
|
|
|
(version "2.1.3")
|
2015-03-04 09:46:04 +01:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"https://github.com/LibreCAD/LibreCAD/archive/"
|
|
|
|
|
version ".tar.gz"))
|
2016-02-16 07:52:50 +01:00
|
|
|
|
(file-name (string-append name "-" version ".tar.gz"))
|
2015-03-04 09:46:04 +01:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2016-10-31 23:09:45 +01:00
|
|
|
|
"01nvc1g3si05r5np1pzn62ah9w84p8nxa32wqrjh6gdi17jfvi3l"))))
|
2015-03-04 09:46:04 +01:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:phases
|
2016-02-16 08:30:40 +01:00
|
|
|
|
(modify-phases %standard-phases
|
2017-11-08 16:20:42 +01:00
|
|
|
|
;; Without this patch boost complains that "make_array" is not a
|
|
|
|
|
;; member of "boost::serialization".
|
|
|
|
|
(add-after 'unpack 'patch-boost-error
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "librecad/src/lib/math/lc_quadratic.h"
|
|
|
|
|
(("#include \"rs_vector.h\"" line)
|
|
|
|
|
(string-append line
|
|
|
|
|
"\n#include <boost/serialization/array_wrapper.hpp>")))
|
|
|
|
|
(substitute* "librecad/src/lib/math/rs_math.cpp"
|
|
|
|
|
(("#include <boost/numeric/ublas/matrix.hpp>" line)
|
|
|
|
|
(string-append "#include <boost/serialization/array_wrapper.hpp>\n"
|
|
|
|
|
line)))
|
|
|
|
|
#t))
|
2018-05-29 15:21:07 +02:00
|
|
|
|
;; Fix build against Qt 5.11.
|
|
|
|
|
(add-after 'unpack 'add-missing-headers
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "librecad/src/ui/generic/widgetcreator.cpp"
|
|
|
|
|
(("#include <QPushButton>") "#include <QPushButton>
|
|
|
|
|
#include <QActionGroup>"))
|
|
|
|
|
#t))
|
2017-11-08 16:20:42 +01:00
|
|
|
|
(add-after 'unpack 'patch-paths
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
|
(substitute* "librecad/src/lib/engine/rs_system.cpp"
|
|
|
|
|
(("/usr/share") (string-append out "/share"))))))
|
|
|
|
|
(replace 'configure
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(system* "qmake" (string-append "BOOST_DIR="
|
|
|
|
|
(assoc-ref inputs "boost")))))
|
|
|
|
|
(replace 'install
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(bin (string-append out "/bin"))
|
|
|
|
|
(share (string-append out "/share/librecad")))
|
|
|
|
|
(mkdir-p bin)
|
|
|
|
|
(install-file "unix/librecad" bin)
|
|
|
|
|
(mkdir-p share)
|
|
|
|
|
(copy-recursively "unix/resources" share))
|
2017-11-27 12:10:38 +01:00
|
|
|
|
#t))
|
|
|
|
|
;; Ensure that icons are found at runtime
|
|
|
|
|
(add-after 'install 'wrap-executable
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(qt '("qtbase" "qtsvg")))
|
|
|
|
|
(wrap-program (string-append out "/bin/librecad")
|
|
|
|
|
`("QT_PLUGIN_PATH" ":" prefix
|
|
|
|
|
,(map (lambda (label)
|
|
|
|
|
(string-append (assoc-ref inputs label)
|
|
|
|
|
"/lib/qt5/plugins/"))
|
|
|
|
|
qt)))
|
|
|
|
|
#t))))))
|
2015-03-04 09:46:04 +01:00
|
|
|
|
(inputs
|
|
|
|
|
`(("boost" ,boost)
|
|
|
|
|
("muparser" ,muparser)
|
|
|
|
|
("freetype" ,freetype)
|
2017-05-15 15:36:51 +02:00
|
|
|
|
("qtbase" ,qtbase)
|
|
|
|
|
("qtsvg" ,qtsvg)))
|
2015-03-04 09:46:04 +01:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)
|
|
|
|
|
("which" ,which)))
|
2020-01-18 22:10:47 +01:00
|
|
|
|
(home-page "https://librecad.org/")
|
2015-03-04 09:46:04 +01:00
|
|
|
|
(synopsis "Computer-aided design (CAD) application")
|
|
|
|
|
(description
|
|
|
|
|
"LibreCAD is a 2D Computer-aided design (CAD) application for creating
|
|
|
|
|
plans and designs.")
|
|
|
|
|
(license license:gpl2)))
|
2015-03-05 08:38:46 +01:00
|
|
|
|
|
|
|
|
|
(define-public geda-gaf
|
|
|
|
|
(package
|
|
|
|
|
(name "geda-gaf")
|
2019-12-20 22:01:19 +01:00
|
|
|
|
(version "1.10.0")
|
2015-03-05 08:38:46 +01:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
2019-12-20 22:01:19 +01:00
|
|
|
|
"http://ftp.geda-project.org/geda-gaf/stable/v"
|
2015-03-05 08:38:46 +01:00
|
|
|
|
(version-major+minor version) "/"
|
|
|
|
|
version "/geda-gaf-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-12-20 22:01:19 +01:00
|
|
|
|
"06ivgarvwbzjz2wigxzzkm8iszldi2p6x3a6jnlczjyrz4csddsy"))))
|
2015-03-05 08:38:46 +01:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
'(#:phases
|
2016-07-13 21:23:40 +02:00
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
;; tests require a writable HOME
|
|
|
|
|
(add-before 'check 'set-home
|
|
|
|
|
(lambda _
|
|
|
|
|
(setenv "HOME" (getenv "TMPDIR"))
|
2018-02-17 16:17:44 +01:00
|
|
|
|
#t))
|
|
|
|
|
(add-after 'unpack 'disable-failing-tests
|
|
|
|
|
(lambda _
|
2019-12-20 22:01:19 +01:00
|
|
|
|
(substitute* "xorn/tests/Makefile.in"
|
|
|
|
|
(("-Werror") ""))
|
|
|
|
|
;; This test returns its correct result in an unexpected order.
|
|
|
|
|
(substitute* "libgeda/scheme/unit-tests/t0402-config.scm"
|
|
|
|
|
(("\\(begin-config-test 'config-keys" m)
|
|
|
|
|
(string-append "#;" m)))
|
2016-07-13 21:23:40 +02:00
|
|
|
|
#t)))
|
2016-04-13 16:41:57 +02:00
|
|
|
|
#:configure-flags
|
|
|
|
|
(let ((pcb (assoc-ref %build-inputs "pcb")))
|
|
|
|
|
(list (string-append "--with-pcb-datadir=" pcb "/share")
|
|
|
|
|
(string-append "--with-pcb-lib-path="
|
|
|
|
|
pcb "/share/pcb/pcblib-newlib:"
|
|
|
|
|
pcb "/share/pcb/newlib")))))
|
2015-03-05 08:38:46 +01:00
|
|
|
|
(inputs
|
2019-12-20 22:01:19 +01:00
|
|
|
|
`(("gamin" ,gamin)
|
|
|
|
|
("glib" ,glib)
|
2015-03-05 08:38:46 +01:00
|
|
|
|
("gtk" ,gtk+-2)
|
|
|
|
|
("guile" ,guile-2.0)
|
2016-04-13 16:41:57 +02:00
|
|
|
|
("shared-mime-info" ,shared-mime-info)
|
|
|
|
|
("m4" ,m4)
|
2019-12-20 22:01:19 +01:00
|
|
|
|
("pcb" ,pcb)
|
|
|
|
|
("python" ,python-2))) ; for xorn
|
2015-03-05 08:38:46 +01:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)
|
2020-04-05 13:48:28 +02:00
|
|
|
|
("desktop-file-utils" ,desktop-file-utils)
|
2015-03-05 08:38:46 +01:00
|
|
|
|
("perl" ,perl))) ; for tests
|
|
|
|
|
(home-page "http://geda-project.org/")
|
|
|
|
|
(synopsis "Schematic capture, netlister, symbols, symbol checker, and utils")
|
|
|
|
|
(description
|
gnu: Adjust formatting as recommended by 'guix lint'.
* gnu/packages/aidc.scm (barcode, qrencode),
gnu/packages/bash.scm (bash, bash-completion),
gnu/packages/busybox.scm (busybox),
gnu/packages/cdrom.scm (cdparanoia),
gnu/packages/cmake.scm (cmake),
gnu/packages/conkeror.scm (conkeror),
gnu/packages/cook.scm (cook),
gnu/packages/curl.scm (curl),
gnu/packages/docbook.scm (docbook-xsl),
gnu/packages/enlightenment.scm (enlightenment),
gnu/packages/games.scm (abbaye),
gnu/packages/geeqie.scm (exiv2),
gnu/packages/gimp.scm (gegl),
gnu/packages/gl.scm (glu, freeglut, ftgl),
gnu/packages/glib.scm (glib),
gnu/packages/gnome.scm (orbit2, gconf, geocode-glib),
gnu/packages/gstreamer.scm (gstreamer, gst-plugins-base),
gnu/packages/linux.scm (util-linux),
gnu/packages/lisp.scm (gcl, ecl),
gnu/packages/maths.scm (gnuplot, hdf5),
gnu/packages/ssh.scm (dropbear),
gnu/packages/web.scm (json-c): Remove tabulations and trailing
white spaces or reformat to fit within 80 columns.
* gnu/packages/audio.scm (aubio),
gnu/packages/emacs.scm (emacs-s),
gnu/packages/engineering.scm (geda-gaf),
gnu/packages/games.scm (dosbox),
gnu/packages/gnome.scm (gusb),
gnu/packages/gtk.scm (gtk+),
gnu/packages/guile.scm (guile-wisp),
gnu/packages/hurd.scm (hurd-headers),
gnu/packages/wm.scm (i3-wm): Adjust synopsis or description.
2015-11-13 15:50:36 +01:00
|
|
|
|
"Gaf stands for “gschem and friends”. It is a subset of the entire tool
|
2015-03-05 08:38:46 +01:00
|
|
|
|
suite grouped together under the gEDA name. gEDA/gaf is a collection of tools
|
|
|
|
|
which currently includes: gschem, a schematic capture program; gnetlist, a
|
|
|
|
|
netlist generation program; gsymcheck, a syntax checker for schematic symbols;
|
|
|
|
|
gattrib, a spreadsheet programm that manipulates the properties of symbols of
|
|
|
|
|
a schematic; libgeda, libraries for gschem gnetlist and gsymcheck; gsch2pcb, a
|
|
|
|
|
tool to forward annotation from your schematic to layout using PCB; some minor
|
|
|
|
|
utilities.")
|
|
|
|
|
(license license:gpl2+)))
|
|
|
|
|
|
2018-08-26 19:29:25 +02:00
|
|
|
|
(define-public lepton-eda
|
|
|
|
|
;; This is a fork of gEDA/gaf started in late 2016. One of its goal is to
|
|
|
|
|
;; keep and to extend Guile support.
|
|
|
|
|
(package
|
|
|
|
|
(inherit geda-gaf)
|
|
|
|
|
(name "lepton-eda")
|
2019-12-20 09:27:49 +01:00
|
|
|
|
(version "1.9.9-20191003")
|
2018-08-26 19:29:25 +02:00
|
|
|
|
(home-page "https://github.com/lepton-eda/lepton-eda")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference (url home-page) (commit version)))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-12-20 09:27:49 +01:00
|
|
|
|
"08cc3zfk84qq9mrkc9pp4r9jlavvm01wwy0yd9frql68w2zw6mip"))
|
2018-08-26 19:29:25 +02:00
|
|
|
|
(file-name (git-file-name name version))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("autoconf" ,autoconf)
|
|
|
|
|
("automake" ,automake)
|
2020-04-05 13:48:30 +02:00
|
|
|
|
("desktop-file-utils" ,desktop-file-utils)
|
2018-08-26 19:29:25 +02:00
|
|
|
|
("libtool" ,libtool)
|
2020-04-04 15:48:44 +02:00
|
|
|
|
("gettext" ,gettext-minimal)
|
2018-08-26 19:29:25 +02:00
|
|
|
|
("texinfo" ,texinfo)
|
|
|
|
|
("groff" ,groff)
|
|
|
|
|
("which" ,which)
|
|
|
|
|
,@(package-native-inputs geda-gaf)))
|
2019-12-20 09:27:49 +01:00
|
|
|
|
(inputs
|
|
|
|
|
`(("glib" ,glib)
|
|
|
|
|
("gtk" ,gtk+-2)
|
|
|
|
|
("guile" ,guile-2.2)
|
|
|
|
|
("shared-mime-info" ,shared-mime-info)
|
|
|
|
|
("m4" ,m4)
|
|
|
|
|
("pcb" ,pcb)))
|
2018-08-26 19:29:25 +02:00
|
|
|
|
(arguments
|
|
|
|
|
(substitute-keyword-arguments (package-arguments geda-gaf)
|
|
|
|
|
((#:configure-flags flags ''())
|
|
|
|
|
;; When running "make", the POT files are built with the build time as
|
|
|
|
|
;; their "POT-Creation-Date". Later on, "make" notices that .pot
|
|
|
|
|
;; files were updated and goes on to run "msgmerge"; as a result, the
|
|
|
|
|
;; non-deterministic POT-Creation-Date finds its way into .po files,
|
|
|
|
|
;; and then in .gmo files. To avoid that, simply make sure 'msgmerge'
|
|
|
|
|
;; never runs. See <https://bugs.debian.org/792687>.
|
|
|
|
|
`(cons "ac_cv_path_MSGMERGE=true" ,flags))
|
|
|
|
|
((#:phases phases '%standard-phases)
|
2020-01-10 22:43:45 +01:00
|
|
|
|
`(modify-phases %standard-phases
|
2018-08-26 19:29:25 +02:00
|
|
|
|
(add-before 'bootstrap 'prepare
|
|
|
|
|
(lambda _
|
|
|
|
|
;; Some of the scripts there are invoked by autogen.sh.
|
|
|
|
|
(for-each patch-shebang (find-files "build-tools"))
|
|
|
|
|
|
|
|
|
|
;; Make sure 'msgmerge' can modify the PO files.
|
|
|
|
|
(for-each (lambda (po)
|
|
|
|
|
(chmod po #o666))
|
|
|
|
|
(find-files "." "\\.po$"))
|
|
|
|
|
|
|
|
|
|
;; This would normally be created by invoking 'git', but it
|
|
|
|
|
;; doesn't work here.
|
|
|
|
|
(call-with-output-file "version.h"
|
|
|
|
|
(lambda (port)
|
|
|
|
|
(format port "#define PACKAGE_DATE_VERSION \"~a\"~%"
|
|
|
|
|
,(string-drop version
|
|
|
|
|
(+ 1 (string-index version #\-))))
|
|
|
|
|
(format port "#define PACKAGE_DOTTED_VERSION \"~a\"~%"
|
|
|
|
|
,(string-take version
|
|
|
|
|
(string-index version #\-)))
|
|
|
|
|
(format port "#define PACKAGE_GIT_COMMIT \"cabbag3\"~%")))
|
2019-12-20 09:27:49 +01:00
|
|
|
|
#t))
|
|
|
|
|
(add-after 'install 'compile-scheme-files
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(invoke "make" "precompile")
|
|
|
|
|
(for-each (lambda (program)
|
|
|
|
|
(wrap-program program
|
|
|
|
|
`("GUILE_LOAD_COMPILED_PATH" ":" prefix
|
|
|
|
|
(,(string-append (assoc-ref outputs "out")
|
|
|
|
|
"/share/lepton-eda/ccache/")))))
|
|
|
|
|
(find-files (string-append (assoc-ref outputs "out") "/bin")
|
|
|
|
|
".*"))
|
2018-08-26 19:29:25 +02:00
|
|
|
|
#t))))))
|
|
|
|
|
(description
|
|
|
|
|
"Lepton EDA ia an @dfn{electronic design automation} (EDA) tool set
|
|
|
|
|
forked from gEDA/gaf in late 2016. EDA tools are used for electrical circuit
|
|
|
|
|
design, schematic capture, simulation, prototyping, and production. Lepton
|
|
|
|
|
EDA includes tools for schematic capture, attribute management, bill of
|
|
|
|
|
materials (BOM) generation, netlisting into over 20 netlist formats, analog
|
|
|
|
|
and digital simulation, and printed circuit board (PCB) layout, and many other
|
|
|
|
|
features.")))
|
|
|
|
|
|
2015-03-06 21:11:01 +01:00
|
|
|
|
(define-public pcb
|
|
|
|
|
(package
|
|
|
|
|
(name "pcb")
|
2017-11-08 15:15:20 +01:00
|
|
|
|
(version "4.0.2")
|
2015-03-06 21:11:01 +01:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
2017-05-06 08:56:39 +02:00
|
|
|
|
(uri (string-append "mirror://sourceforge/pcb/pcb/pcb-" version
|
|
|
|
|
"/pcb-" version ".tar.gz"))
|
2015-03-06 21:11:01 +01:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2017-11-08 15:15:20 +01:00
|
|
|
|
"1a7rilp75faidny0r4fdwdxkflyrqp6svxv9lbg7h868293962iz"))))
|
2015-03-06 21:11:01 +01:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
gnu: Use 'modify-phases' syntax.
* gnu/packages/admin.scm (mingetty, clusterssh, wpa-supplicant-minimal,
wpa-supplicant, wakelan, acpica, tree, direvent, dstat)[arguments]: Use
'modify-phases' syntax.
* gnu/packages/algebra.scm (arb)[arguments]: Likewise.
* gnu/packages/apr.scm (apr-util)[arguments]: Likewise.
* gnu/packages/audio.scm (clalsadrv, fluidsynth, faad2, lv2-mda-piano,
lv2-mda-epiano, timidity++, vamp, soundtouch, portaudio, rsound,
zita-convolver, zita-alsa-pcmi)[arguments]: Likewise.
* gnu/packages/backup.scm (rdup, btar)[arguments]: Likewise.
* gnu/packages/bioinformatics.scm (bedops, bwa, crossmap, express,
flexbar, grit, hisat, ngs-sdk, subread)[arguments]: Likewise.
* gnu/packages/bittorrent.scm (transmission)[arguments]: Likewise.
* gnu/packages/cdrom.scm (cd-discid)[arguments]: Likewise.
* gnu/packages/compression.scm (sharutils)[arguments]: Likewise.
* gnu/packages/conky.scm (conky)[arguments]: Likewise.
* gnu/packages/databases.scm (bdb, bdb-5.3)[arguments]: Likewise.
* gnu/packages/debug.scm (delta, c-reduce)[arguments]: Likewise.
* gnu/packages/display-managers.scm (slim)[arguments]: Likewise.
* gnu/packages/dns.scm (dnsmasq)[arguments]: Likewise.
* gnu/packages/emacs.scm (geiser, emacs-wget, bbdb)[arguments]: Likewise.
* gnu/packages/engineering.scm (pcb)[arguments]: Likewise.
* gnu/packages/firmware.scm (ath9k-htc-firmware)[arguments]: Likewise.
* gnu/packages/flashing-tools.scm (flashrom)[arguments]: Likewise.
* gnu/packages/fltk.scm (fltk)[arguments]: Likewise.
* gnu/packages/freedesktop.scm (python-pyxdg)[arguments]: Likewise.
* gnu/packages/gd.scm (perl-gd)[arguments]: Likewise.
* gnu/packages/gkrellm.scm (gkrellm)[arguments]: Likewise.
* gnu/packages/glib.scm (glibmm)[arguments]: Likewise.
* gnu/packages/gl.scm (glew)[arguments]: Likewise.
* gnu/packages/gnome.scm (icon-naming-utils, orbit2, libbonobo, gnome-vfs,
libgnome, libbonoboui, goffice-0.8, dconf)[arguments]: Likewise.
* gnu/packages/gprolog.scm (gprolog)[arguments]: Likewise.
* gnu/packages/gps.scm (gpscorrelate)[arguments]: Likewise.
* gnu/packages/graphics.scm (agg)[arguments]: Likewise.
* gnu/packages/gtk.scm (ganv, girara, gtksourceview-2, guile-present,
python2-pycairo)[arguments]: Likewise.
* gnu/packages/guile.scm (guile-1.8)[arguments]: Likewise.
* gnu/packages/guile-wm.scm (guile-wm)[arguments]: Likewise.
* gnu/packages/hugs.scm (hugs)[arguments]: Likewise.
* gnu/packages/hurd.scm (gnumach-headers, hurd-headers, hurd-minimal)
[arguments]: Likewise.
* gnu/packages/image-viewers.scm (feh, sxiv)[arguments]: Likewise.
* gnu/packages/libcanberra.scm (libcanberra)[arguments]: Likewise.
* gnu/packages/linux.scm (bridge-utils, iw, fuse, unionfs-fuse/static,
lm-sensors, i2c-tools, xsensors, perf, mdadm, libaio, module-init-tools)
[arguments]: Likewise.
* gnu/packages/lisp.scm (ccl)[arguments]: Likewise.
* gnu/packages/lout.scm (lout)[arguments]: Likewise.
* gnu/packages/lua.scm (luajit)[arguments]: Likewise.
* gnu/packages/machine-learning.scm (shogun)[arguments]: Likewise.
* gnu/packages/mail.scm (exim)[arguments]: Likewise.
* gnu/packages/man.scm (man-pages, txt2man)[arguments]: Likewise.
* gnu/packages/maths.scm (lapack, superlu-dist, openlibm, openspecfun)
[arguments]: Likewise.
* gnu/packages/messaging.scm (bitlbee)[arguments]: Likewise.
* gnu/packages/mp3.scm (libmad, id3lib, mp3info)[arguments]: Likewise.
* gnu/packages/music.scm (solfege)[arguments]: Likewise.
* gnu/packages/noweb.scm (noweb)[arguments]: Likewise.
* gnu/packages/patchutils.scm (patchutils, quilt, colordiff)[arguments]:
Likewise.
* gnu/packages/pdf.scm (xpdf, zathura-cb, zathura-ps, zathura-djvu,
zathura-pdf-poppler, zathura, podofo, fbida)[arguments]: Likewise.
* gnu/packages/perl.scm (perl-file-list, perl-test-harness)[arguments]:
Likewise.
* gnu/packages/photo.scm (gphoto2)[arguments]: Likewise.
* gnu/packages/popt.scm (popt)[arguments]: Likewise.
* gnu/packages/pretty-print.scm (source-highlight, astyle)[arguments]:
Likewise.
* gnu/packages/pumpio.scm (pumpa)[arguments]: Likewise.
* gnu/packages/python.scm (python-passlib, python-pycrypto, python2-empy,
python-sqlalchemy, python-docopt)[arguments]: Likewise.
* gnu/packages/rdf.scm (lrdf)[arguments]: Likewise.
* gnu/packages/regex.scm (tre)[arguments]: Likewise.
* gnu/packages/rrdtool.scm (rrdtool)[arguments]: Likewise.
* gnu/packages/ruby.scm (ruby-2.1, ruby-1.8)[arguments]: Likewise.
* gnu/packages/sawfish.scm (sawfish)[arguments]: Likewise.
* gnu/packages/scheme.scm (racket)[arguments]: Likewise.
* gnu/packages/sdl.scm (guile-sdl)[arguments]: Likewise.
* gnu/packages/serveez.scm (serveez)[arguments]: Likewise.
* gnu/packages/skribilo.scm (skribilo)[arguments]: Likewise.
* gnu/packages/smalltalk.scm (smalltalk)[arguments]: Likewise.
* gnu/packages/suckless.scm (dmenu, slock)[arguments]: Likewise.
* gnu/packages/tcl.scm (expect)[arguments]: Likewise.
* gnu/packages/telephony.scm (commoncpp)[arguments]: Likewise.
* gnu/packages/textutils.scm (recode, libgtextutils)[arguments]:
Likewise.
* gnu/packages/time.scm (time)[arguments]: Likewise.
* gnu/packages/tor.scm (privoxy)[arguments]: Likewise.
* gnu/packages/uucp.scm (uucp)[arguments]: Likewise.
* gnu/packages/video.scm (libdvdnav-4)[arguments]: Likewise.
* gnu/packages/web-browsers.scm (lynx)[arguments]: Likewise.
* gnu/packages/web.scm (tinyproxy)[arguments]: Likewise.
* gnu/packages/wicd.scm (wicd)[arguments]: Likewise.
* gnu/packages/wm.scm (bspwm)[arguments]: Likewise.
* gnu/packages/xdisorg.scm (sxhkd, xcape)[arguments]: Likewise.
* gnu/packages/xfce.scm (xfconf)[arguments]: Likewise.
* gnu/packages/xfig.scm (transfig)[arguments]: Likewise.
* gnu/packages/xorg.scm (imake)[arguments]: Likewise.
2017-07-29 17:28:42 +02:00
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'use-wish8.6
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "configure"
|
|
|
|
|
(("wish85") "wish8.6"))
|
|
|
|
|
#t))
|
2017-11-08 15:15:20 +01:00
|
|
|
|
;; It checks for "xhost", which we don't have. This shouldn't
|
|
|
|
|
;; matter, because the test is supposed to be skipped, but it causes
|
|
|
|
|
;; "run_tests.sh" (and thus the "check" phase) to fail.
|
|
|
|
|
(add-after 'unpack 'fix-check-for-display
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "tests/run_tests.sh"
|
|
|
|
|
(("have_display=no") "have_display=yes"))
|
|
|
|
|
#t))
|
gnu: Use 'modify-phases' syntax.
* gnu/packages/admin.scm (mingetty, clusterssh, wpa-supplicant-minimal,
wpa-supplicant, wakelan, acpica, tree, direvent, dstat)[arguments]: Use
'modify-phases' syntax.
* gnu/packages/algebra.scm (arb)[arguments]: Likewise.
* gnu/packages/apr.scm (apr-util)[arguments]: Likewise.
* gnu/packages/audio.scm (clalsadrv, fluidsynth, faad2, lv2-mda-piano,
lv2-mda-epiano, timidity++, vamp, soundtouch, portaudio, rsound,
zita-convolver, zita-alsa-pcmi)[arguments]: Likewise.
* gnu/packages/backup.scm (rdup, btar)[arguments]: Likewise.
* gnu/packages/bioinformatics.scm (bedops, bwa, crossmap, express,
flexbar, grit, hisat, ngs-sdk, subread)[arguments]: Likewise.
* gnu/packages/bittorrent.scm (transmission)[arguments]: Likewise.
* gnu/packages/cdrom.scm (cd-discid)[arguments]: Likewise.
* gnu/packages/compression.scm (sharutils)[arguments]: Likewise.
* gnu/packages/conky.scm (conky)[arguments]: Likewise.
* gnu/packages/databases.scm (bdb, bdb-5.3)[arguments]: Likewise.
* gnu/packages/debug.scm (delta, c-reduce)[arguments]: Likewise.
* gnu/packages/display-managers.scm (slim)[arguments]: Likewise.
* gnu/packages/dns.scm (dnsmasq)[arguments]: Likewise.
* gnu/packages/emacs.scm (geiser, emacs-wget, bbdb)[arguments]: Likewise.
* gnu/packages/engineering.scm (pcb)[arguments]: Likewise.
* gnu/packages/firmware.scm (ath9k-htc-firmware)[arguments]: Likewise.
* gnu/packages/flashing-tools.scm (flashrom)[arguments]: Likewise.
* gnu/packages/fltk.scm (fltk)[arguments]: Likewise.
* gnu/packages/freedesktop.scm (python-pyxdg)[arguments]: Likewise.
* gnu/packages/gd.scm (perl-gd)[arguments]: Likewise.
* gnu/packages/gkrellm.scm (gkrellm)[arguments]: Likewise.
* gnu/packages/glib.scm (glibmm)[arguments]: Likewise.
* gnu/packages/gl.scm (glew)[arguments]: Likewise.
* gnu/packages/gnome.scm (icon-naming-utils, orbit2, libbonobo, gnome-vfs,
libgnome, libbonoboui, goffice-0.8, dconf)[arguments]: Likewise.
* gnu/packages/gprolog.scm (gprolog)[arguments]: Likewise.
* gnu/packages/gps.scm (gpscorrelate)[arguments]: Likewise.
* gnu/packages/graphics.scm (agg)[arguments]: Likewise.
* gnu/packages/gtk.scm (ganv, girara, gtksourceview-2, guile-present,
python2-pycairo)[arguments]: Likewise.
* gnu/packages/guile.scm (guile-1.8)[arguments]: Likewise.
* gnu/packages/guile-wm.scm (guile-wm)[arguments]: Likewise.
* gnu/packages/hugs.scm (hugs)[arguments]: Likewise.
* gnu/packages/hurd.scm (gnumach-headers, hurd-headers, hurd-minimal)
[arguments]: Likewise.
* gnu/packages/image-viewers.scm (feh, sxiv)[arguments]: Likewise.
* gnu/packages/libcanberra.scm (libcanberra)[arguments]: Likewise.
* gnu/packages/linux.scm (bridge-utils, iw, fuse, unionfs-fuse/static,
lm-sensors, i2c-tools, xsensors, perf, mdadm, libaio, module-init-tools)
[arguments]: Likewise.
* gnu/packages/lisp.scm (ccl)[arguments]: Likewise.
* gnu/packages/lout.scm (lout)[arguments]: Likewise.
* gnu/packages/lua.scm (luajit)[arguments]: Likewise.
* gnu/packages/machine-learning.scm (shogun)[arguments]: Likewise.
* gnu/packages/mail.scm (exim)[arguments]: Likewise.
* gnu/packages/man.scm (man-pages, txt2man)[arguments]: Likewise.
* gnu/packages/maths.scm (lapack, superlu-dist, openlibm, openspecfun)
[arguments]: Likewise.
* gnu/packages/messaging.scm (bitlbee)[arguments]: Likewise.
* gnu/packages/mp3.scm (libmad, id3lib, mp3info)[arguments]: Likewise.
* gnu/packages/music.scm (solfege)[arguments]: Likewise.
* gnu/packages/noweb.scm (noweb)[arguments]: Likewise.
* gnu/packages/patchutils.scm (patchutils, quilt, colordiff)[arguments]:
Likewise.
* gnu/packages/pdf.scm (xpdf, zathura-cb, zathura-ps, zathura-djvu,
zathura-pdf-poppler, zathura, podofo, fbida)[arguments]: Likewise.
* gnu/packages/perl.scm (perl-file-list, perl-test-harness)[arguments]:
Likewise.
* gnu/packages/photo.scm (gphoto2)[arguments]: Likewise.
* gnu/packages/popt.scm (popt)[arguments]: Likewise.
* gnu/packages/pretty-print.scm (source-highlight, astyle)[arguments]:
Likewise.
* gnu/packages/pumpio.scm (pumpa)[arguments]: Likewise.
* gnu/packages/python.scm (python-passlib, python-pycrypto, python2-empy,
python-sqlalchemy, python-docopt)[arguments]: Likewise.
* gnu/packages/rdf.scm (lrdf)[arguments]: Likewise.
* gnu/packages/regex.scm (tre)[arguments]: Likewise.
* gnu/packages/rrdtool.scm (rrdtool)[arguments]: Likewise.
* gnu/packages/ruby.scm (ruby-2.1, ruby-1.8)[arguments]: Likewise.
* gnu/packages/sawfish.scm (sawfish)[arguments]: Likewise.
* gnu/packages/scheme.scm (racket)[arguments]: Likewise.
* gnu/packages/sdl.scm (guile-sdl)[arguments]: Likewise.
* gnu/packages/serveez.scm (serveez)[arguments]: Likewise.
* gnu/packages/skribilo.scm (skribilo)[arguments]: Likewise.
* gnu/packages/smalltalk.scm (smalltalk)[arguments]: Likewise.
* gnu/packages/suckless.scm (dmenu, slock)[arguments]: Likewise.
* gnu/packages/tcl.scm (expect)[arguments]: Likewise.
* gnu/packages/telephony.scm (commoncpp)[arguments]: Likewise.
* gnu/packages/textutils.scm (recode, libgtextutils)[arguments]:
Likewise.
* gnu/packages/time.scm (time)[arguments]: Likewise.
* gnu/packages/tor.scm (privoxy)[arguments]: Likewise.
* gnu/packages/uucp.scm (uucp)[arguments]: Likewise.
* gnu/packages/video.scm (libdvdnav-4)[arguments]: Likewise.
* gnu/packages/web-browsers.scm (lynx)[arguments]: Likewise.
* gnu/packages/web.scm (tinyproxy)[arguments]: Likewise.
* gnu/packages/wicd.scm (wicd)[arguments]: Likewise.
* gnu/packages/wm.scm (bspwm)[arguments]: Likewise.
* gnu/packages/xdisorg.scm (sxhkd, xcape)[arguments]: Likewise.
* gnu/packages/xfce.scm (xfconf)[arguments]: Likewise.
* gnu/packages/xfig.scm (transfig)[arguments]: Likewise.
* gnu/packages/xorg.scm (imake)[arguments]: Likewise.
2017-07-29 17:28:42 +02:00
|
|
|
|
(add-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))))
|
|
|
|
|
#t))
|
|
|
|
|
(add-before 'check 'pre-check
|
|
|
|
|
(lambda _
|
|
|
|
|
(system "Xvfb :1 &")
|
|
|
|
|
(setenv "DISPLAY" ":1")
|
|
|
|
|
#t)))))
|
2015-03-06 21:11:01 +01:00
|
|
|
|
(inputs
|
|
|
|
|
`(("dbus" ,dbus)
|
|
|
|
|
("mesa" ,mesa)
|
|
|
|
|
("udev" ,eudev) ;FIXME: required by mesa
|
|
|
|
|
("glu" ,glu)
|
|
|
|
|
("gd" ,gd)
|
|
|
|
|
("gtk" ,gtk+-2)
|
|
|
|
|
("gtkglext" ,gtkglext)
|
|
|
|
|
("shared-mime-info" ,shared-mime-info)
|
|
|
|
|
("tk" ,tk)))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)
|
|
|
|
|
("intltool" ,intltool)
|
|
|
|
|
("bison" ,bison)
|
2020-04-05 13:48:32 +02:00
|
|
|
|
("desktop-file-utils" ,desktop-file-utils)
|
2017-05-06 08:56:39 +02:00
|
|
|
|
("flex" ,flex)
|
|
|
|
|
;; For tests
|
|
|
|
|
("imagemagick" ,imagemagick)
|
|
|
|
|
("gerbv" ,gerbv)
|
|
|
|
|
("ghostscript" ,ghostscript)
|
gnu: Use the test-only Xorg variant for tests.
* gnu/packages/education.scm (gcompris-qt)[native-inputs]: Change XORG-SERVER
to XORG-SERVER-FOR-TESTS.
* gnu/packages/engineering.scm (pcb, qucs, openscad)[native-inputs]: Likewise.
* gnu/packages/gnome.scm (libbonoboui, d-feet, gspell, libdazzle, libhandy)[native-inputs]: Likewise.
* gnu/packages/gnupg.scm (parcimonie)[native-inputs]: Likewise.
* gnu/packages/graphics.scm (opensubdiv, rapicorn)[native-inputs]: Likewise.
* gnu/packages/gtk.scm (gtksourceview-2, gtksourceview)[native-inputs]: Likewise.
* gnu/packages/image-processing.scm (opencv)[native-inputs]: Likewise.
* gnu/packages/kde-frameworks.scm (kconfig, kcoreaddons, kwidgetsaddons,
kwindowsystem, kdeclarative)[native-inputs]: Likewise.
* gnu/packages/kde-plasma.scm (kscreenlocker)[native-inputs]: Likewise.
* gnu/packages/messaging.scm (gajim)[native-inputs]: Likewise.
* gnu/packages/python-xyz.scm (python-seaborn)[native-inputs]: Likewise.
2019-11-27 22:19:13 +01:00
|
|
|
|
("xvfb" ,xorg-server-for-tests)))
|
2015-03-06 21:11:01 +01:00
|
|
|
|
(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+)))
|
2015-07-21 21:51:29 +02:00
|
|
|
|
|
2016-11-14 23:20:19 +01:00
|
|
|
|
(define-public pcb-rnd
|
|
|
|
|
(package (inherit pcb)
|
|
|
|
|
(name "pcb-rnd")
|
|
|
|
|
(version "1.1.3")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "http://repo.hu/projects/pcb-rnd/releases/"
|
|
|
|
|
"pcb-rnd-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"0pycynla60b96jkb6fh6f4sx663pqbzjwnixhw5ym8sym2absm09"))))
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f ; no check target
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'cc-is-gcc
|
|
|
|
|
(lambda _ (setenv "CC" "gcc") #t))
|
|
|
|
|
(replace 'configure
|
|
|
|
|
;; The configure script doesn't tolerate most of our configure flags.
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
2019-01-25 14:29:03 +01:00
|
|
|
|
(invoke "sh" "configure"
|
|
|
|
|
(string-append "--prefix="
|
|
|
|
|
(assoc-ref outputs "out"))))))))
|
2016-11-14 23:20:19 +01:00
|
|
|
|
(home-page "http://repo.hu/projects/pcb-rnd/")
|
|
|
|
|
(description "PCB RND is a fork of the GNU PCB circuit board editing tool
|
|
|
|
|
featuring various improvements and bug fixes.")))
|
|
|
|
|
|
2015-07-21 21:51:29 +02:00
|
|
|
|
(define-public fastcap
|
|
|
|
|
(package
|
|
|
|
|
(name "fastcap")
|
|
|
|
|
(version "2.0-18Sep92")
|
|
|
|
|
(source (origin
|
2016-02-22 00:29:54 +01:00
|
|
|
|
(method url-fetch/tarbomb)
|
2015-07-21 21:51:29 +02:00
|
|
|
|
(uri (string-append "http://www.rle.mit.edu/cpg/codes/"
|
|
|
|
|
name "-" version ".tgz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"0x37vfp6k0d2z3gnig0hbicvi0jp8v267xjnn3z8jdllpiaa6p3k"))
|
2015-10-17 18:41:22 +02:00
|
|
|
|
(snippet
|
|
|
|
|
;; Remove a non-free file.
|
gnu: All snippets report errors using exceptions, else return #t.
* gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm,
gnu/packages/backup.scm, gnu/packages/base.scm,
gnu/packages/bioinformatics.scm, gnu/packages/cdrom.scm,
gnu/packages/chez.scm, gnu/packages/code.scm, gnu/packages/compression.scm,
gnu/packages/cross-base.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm,
gnu/packages/databases.scm, gnu/packages/dns.scm, gnu/packages/emacs.scm,
gnu/packages/emulators.scm, gnu/packages/engineering.scm,
gnu/packages/enlightenment.scm, gnu/packages/fpga.scm,
gnu/packages/freedesktop.scm, gnu/packages/ftp.scm, gnu/packages/games.scm,
gnu/packages/gcc.scm, gnu/packages/geo.scm, gnu/packages/ghostscript.scm,
gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm,
gnu/packages/gnuzilla.scm, gnu/packages/graphics.scm, gnu/packages/gtk.scm,
gnu/packages/guile.scm, gnu/packages/irc.scm, gnu/packages/java.scm,
gnu/packages/kerberos.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm,
gnu/packages/lxde.scm, gnu/packages/machine-learning.scm,
gnu/packages/mail.scm, gnu/packages/maths.scm, gnu/packages/messaging.scm,
gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/music.scm,
gnu/packages/netpbm.scm, gnu/packages/networking.scm, gnu/packages/node.scm,
gnu/packages/nvi.scm, gnu/packages/ocaml.scm, gnu/packages/pdf.scm,
gnu/packages/perl.scm, gnu/packages/php.scm, gnu/packages/plotutils.scm,
gnu/packages/pretty-print.scm, gnu/packages/profiling.scm,
gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm,
gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/robotics.scm,
gnu/packages/sawfish.scm, gnu/packages/scanner.scm, gnu/packages/scheme.scm,
gnu/packages/scribus.scm, gnu/packages/sdl.scm,
gnu/packages/serialization.scm, gnu/packages/shells.scm,
gnu/packages/slang.scm, gnu/packages/smalltalk.scm, gnu/packages/ssh.scm,
gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/tbb.scm,
gnu/packages/terminals.scm, gnu/packages/texinfo.scm,
gnu/packages/text-editors.scm, gnu/packages/textutils.scm,
gnu/packages/tls.scm, gnu/packages/unrtf.scm,
gnu/packages/version-control.scm, gnu/packages/video.scm,
gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wm.scm,
gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm:
In all snippets, report errors using exceptions, or else return #t.
2018-03-16 12:47:34 +01:00
|
|
|
|
'(begin
|
|
|
|
|
(delete-file "doc/psfig.sty")
|
|
|
|
|
#t))
|
2016-04-08 14:18:13 +02:00
|
|
|
|
(patches (search-patches "fastcap-mulSetup.patch"
|
|
|
|
|
"fastcap-mulGlobal.patch"))))
|
2015-07-21 21:51:29 +02:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(native-inputs
|
2017-11-08 17:15:24 +01:00
|
|
|
|
;; FIXME: with texlive-tiny citation references are rendered as question
|
|
|
|
|
;; marks. During the build warnings like these are printed:
|
|
|
|
|
;; LaTeX Warning: Citation `nabors91' on page 2 undefined on input line 3.
|
2019-01-28 20:30:20 +01:00
|
|
|
|
`(("texlive" ,(texlive-union (list texlive-fonts-amsfonts)))
|
2016-09-02 12:12:07 +02:00
|
|
|
|
("ghostscript" ,ghostscript)))
|
2015-07-21 21:51:29 +02:00
|
|
|
|
(arguments
|
|
|
|
|
`(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all")
|
|
|
|
|
#:parallel-build? #f
|
|
|
|
|
#:tests? #f ;; no tests-suite
|
|
|
|
|
#:modules ((srfi srfi-1)
|
|
|
|
|
,@%gnu-build-system-modules)
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'build 'make-doc
|
2017-11-08 17:15:24 +01:00
|
|
|
|
(lambda _
|
2019-01-28 20:30:20 +01:00
|
|
|
|
(invoke "make" "CC=gcc" "RM=rm" "SHELL=sh" "manual")))
|
2015-07-21 21:51:29 +02:00
|
|
|
|
(add-before 'make-doc 'fix-doc
|
2017-11-08 17:15:24 +01:00
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "doc/Makefile" (("/bin/rm") (which "rm")))
|
|
|
|
|
(substitute* (find-files "doc" "\\.tex")
|
|
|
|
|
(("\\\\special\\{psfile=([^,]*),.*scale=([#0-9.]*).*\\}"
|
|
|
|
|
all file scale)
|
|
|
|
|
(string-append "\\includegraphics[scale=" scale "]{"
|
|
|
|
|
file "}"))
|
|
|
|
|
(("\\\\psfig\\{figure=([^,]*),.*width=([#0-9.]*in).*\\}"
|
|
|
|
|
all file width)
|
|
|
|
|
(string-append "\\includegraphics[width=" width "]{"
|
|
|
|
|
file "}"))
|
|
|
|
|
(("\\\\psfig\\{figure=([^,]*),.*height=([#0-9.]*in).*\\}"
|
|
|
|
|
all file height)
|
|
|
|
|
(string-append "\\includegraphics[height=" height "]{"
|
|
|
|
|
file "}"))
|
|
|
|
|
(("\\\\psfig\\{figure=([^,]*)\\}" all file)
|
|
|
|
|
(string-append "\\includegraphics{" file "}")))
|
|
|
|
|
(substitute* '("doc/mtt.tex" "doc/tcad.tex" "doc/ug.tex")
|
|
|
|
|
(("^\\\\documentstyle\\[(.*)\\]\\{(.*)\\}"
|
|
|
|
|
all options class)
|
|
|
|
|
(string-append "\\documentclass[" options "]{"
|
|
|
|
|
class "}\n"
|
|
|
|
|
"\\usepackage{graphicx}\n"
|
|
|
|
|
"\\usepackage{robinspace}"))
|
|
|
|
|
(("\\\\setlength\\{\\\\footheight\\}\\{.*\\}" all)
|
|
|
|
|
(string-append "%" all))
|
|
|
|
|
(("\\\\setstretch\\{.*\\}" all)
|
|
|
|
|
(string-append "%" all)))
|
|
|
|
|
#t))
|
2015-07-21 21:51:29 +02:00
|
|
|
|
(delete 'configure)
|
|
|
|
|
(add-before 'install 'clean-bin
|
2017-11-08 17:15:24 +01:00
|
|
|
|
(lambda _
|
|
|
|
|
(delete-file (string-append (getcwd) "/bin/README"))
|
|
|
|
|
#t))
|
2015-07-21 21:51:29 +02:00
|
|
|
|
(add-before 'install 'make-pdf
|
2017-11-08 17:15:24 +01:00
|
|
|
|
(lambda _
|
|
|
|
|
(setenv "HOME" "/tmp") ; FIXME: for texlive font cache
|
|
|
|
|
(with-directory-excursion "doc"
|
|
|
|
|
(and
|
2019-01-28 20:30:20 +01:00
|
|
|
|
(for-each (lambda (file)
|
|
|
|
|
(invoke "dvips" file "-o"))
|
|
|
|
|
(find-files "." "\\.dvi"))
|
|
|
|
|
(for-each (lambda (file)
|
|
|
|
|
(invoke "ps2pdf" file))
|
|
|
|
|
'("mtt.ps" "ug.ps" "tcad.ps"))
|
|
|
|
|
(invoke "make" "clean")))))
|
2015-07-21 21:51:29 +02:00
|
|
|
|
(replace 'install
|
2017-11-08 17:15:24 +01:00
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(data (string-append out "/share"))
|
|
|
|
|
(bin (string-append out "/bin"))
|
|
|
|
|
(doc (string-append data "/doc/" ,name "-" ,version))
|
|
|
|
|
(examples (string-append doc "/examples")))
|
|
|
|
|
(with-directory-excursion "bin"
|
|
|
|
|
(for-each (lambda (f)
|
|
|
|
|
(install-file f bin))
|
|
|
|
|
(find-files "." ".*")))
|
|
|
|
|
(copy-recursively "doc" doc)
|
|
|
|
|
(copy-recursively "examples" examples)
|
|
|
|
|
#t))))))
|
2020-05-27 02:02:40 +02:00
|
|
|
|
(home-page "https://www.rle.mit.edu/cpg/research_codes.htm")
|
2015-07-21 21:51:29 +02:00
|
|
|
|
(synopsis "Multipole-accelerated capacitance extraction program")
|
|
|
|
|
(description
|
|
|
|
|
"Fastcap is a capacitance extraction program based on a
|
|
|
|
|
multipole-accelerated algorithm.")
|
|
|
|
|
(license (license:non-copyleft #f "See fastcap.c."))))
|
2015-07-22 14:18:27 +02:00
|
|
|
|
|
|
|
|
|
(define-public fasthenry
|
|
|
|
|
(package
|
|
|
|
|
(name "fasthenry")
|
|
|
|
|
(version "3.0-12Nov96")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(file-name (string-append name "-" version ".tar.gz"))
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"http://www.rle.mit.edu/cpg/codes/" name
|
|
|
|
|
"-" version ".tar.z"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1a06xyyd40zhknrkz17xppl2zd5ig4w9g1grc8qrs0zqqcl5hpzi"))
|
2016-04-08 14:18:13 +02:00
|
|
|
|
(patches (search-patches "fasthenry-spAllocate.patch"
|
|
|
|
|
"fasthenry-spBuild.patch"
|
|
|
|
|
"fasthenry-spUtils.patch"
|
|
|
|
|
"fasthenry-spSolve.patch"
|
|
|
|
|
"fasthenry-spFactor.patch"))))
|
2015-07-22 14:18:27 +02:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:make-flags '("CC=gcc" "RM=rm" "SHELL=sh" "all")
|
|
|
|
|
#:parallel-build? #f
|
|
|
|
|
#:tests? #f ;; no tests-suite
|
|
|
|
|
#:modules ((srfi srfi-1)
|
|
|
|
|
,@%gnu-build-system-modules)
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(delete 'configure)
|
|
|
|
|
(replace 'install
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(data (string-append out "/share"))
|
|
|
|
|
(bin (string-append out "/bin"))
|
|
|
|
|
(doc (string-append data "/doc/" ,name "-" ,version))
|
|
|
|
|
(examples (string-append doc "/examples")))
|
|
|
|
|
(with-directory-excursion "bin"
|
gnu: Use 'install-file' instead of 'mkdir-p' and 'copy-file' in obvious cases.
* gnu/packages/bioinformatics.scm (bedtools, bowtie, bwa, hisat, samtools,
plink, star): Use 'install-file' instead of 'mkdir-p' + 'copy-file'.
* gnu/packages/check.scm (catch-framework): Likewise.
* gnu/packages/code.scm (global): Likewise.
* gnu/packages/emacs.scm (magit-svn, haskell-mode, emacs-pdf-tools):
Likewise.
* gnu/packages/engineering.scm (fastcap, fasthenry): Likewise.
* gnu/packages/gnuzilla.scm (nss): Likewise.
* gnu/packages/guile.scm (guile-minikanren): Likewise.
* gnu/packages/java.scm (swt): Likewise.
* gnu/packages/make-bootstrap.scm (%static-binaries): Likewise.
* gnu/packages/maths.scm (lpsolve): Likewise.
* gnu/packages/mp3.scm (mpc123): Likewise.
* gnu/packages/ninja.scm (ninja): Likewise.
* gnu/packages/python.scm (python-numpy, python-pyparsing): Likewise.
* gnu/packages/screen.scm (dtach): Likewise.
* gnu/packages/synergy.scm (synergy): Likewise.
* gnu/packages/textutils.scm (utf8proc): Likewise.
* gnu/packages/version-control.scm (git-test-sequence): Likewise.
* gnu/packages/wicd.scm (wicd): Likewise.
2015-08-28 22:22:22 +02:00
|
|
|
|
(for-each (lambda (f)
|
|
|
|
|
(install-file f bin))
|
|
|
|
|
(find-files "." ".*")))
|
2015-07-22 14:18:27 +02:00
|
|
|
|
(copy-recursively "doc" doc)
|
|
|
|
|
(copy-recursively "examples" examples)
|
|
|
|
|
#t))))))
|
2020-05-27 02:03:23 +02:00
|
|
|
|
(home-page "https://www.rle.mit.edu/cpg/research_codes.htm")
|
2015-07-22 14:18:27 +02:00
|
|
|
|
(synopsis "Multipole-accelerated inductance analysis program")
|
|
|
|
|
(description
|
|
|
|
|
"Fasthenry is an inductance extraction program based on a
|
|
|
|
|
multipole-accelerated algorithm.")
|
|
|
|
|
(license (license:non-copyleft #f "See induct.c."))))
|
2015-08-31 08:47:09 +02:00
|
|
|
|
|
2015-12-26 11:30:43 +01:00
|
|
|
|
(define-public fritzing
|
|
|
|
|
(package
|
|
|
|
|
(name "fritzing")
|
2019-03-26 23:58:33 +01:00
|
|
|
|
(version "0.9.3b")
|
2015-12-26 11:30:43 +01:00
|
|
|
|
(source (origin
|
2019-03-26 23:58:33 +01:00
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/fritzing/fritzing-app.git")
|
|
|
|
|
(commit version)))
|
|
|
|
|
(file-name (git-file-name name version))
|
2015-12-26 11:30:43 +01:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-03-26 23:58:33 +01:00
|
|
|
|
"0hpyc550xfhr6gmnc85nq60w00rm0ljm0y744dp0z88ikl04f4s3"))))
|
2015-12-26 11:30:43 +01:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(replace 'configure
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
2019-03-26 23:58:33 +01:00
|
|
|
|
(copy-recursively (assoc-ref inputs "fritzing-parts-db")
|
|
|
|
|
"parts")
|
|
|
|
|
;; Make compatible with libgit2 > 0.24
|
|
|
|
|
(substitute* "src/version/partschecker.cpp"
|
|
|
|
|
(("error = git_remote_connect\\(remote, GIT_DIRECTION_FETCH, &callbacks\\)")
|
|
|
|
|
"error = git_remote_connect(remote, GIT_DIRECTION_FETCH, &callbacks, NULL, NULL)"))
|
|
|
|
|
|
|
|
|
|
;; Use system libgit2 and boost.
|
|
|
|
|
(substitute* "phoenix.pro"
|
|
|
|
|
(("^LIBGIT2INCLUDE =.*")
|
|
|
|
|
(string-append "LIBGIT2INCLUDE="
|
|
|
|
|
(assoc-ref inputs "libgit2") "/include\n"))
|
|
|
|
|
(("^ LIBGIT2LIB =.*")
|
|
|
|
|
(string-append " LIBGIT2LIB="
|
|
|
|
|
(assoc-ref inputs "libgit2") "/lib\n")))
|
|
|
|
|
;; This file checks for old versions of Boost, insisting on
|
|
|
|
|
;; having us download the boost sources and placing them in the
|
|
|
|
|
;; build directory.
|
|
|
|
|
(substitute* "pri/utils.pri"
|
|
|
|
|
(("error\\(") "message("))
|
|
|
|
|
|
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
|
(invoke "qmake"
|
|
|
|
|
(string-append "QMAKE_LFLAGS_RPATH=-Wl,-rpath," out "/lib")
|
|
|
|
|
(string-append "PREFIX=" out)
|
|
|
|
|
"phoenix.pro")))))))
|
2015-12-26 11:30:43 +01:00
|
|
|
|
(inputs
|
2016-08-15 20:34:16 +02:00
|
|
|
|
`(("qtbase" ,qtbase)
|
|
|
|
|
("qtserialport" ,qtserialport)
|
|
|
|
|
("qtsvg" ,qtsvg)
|
2019-03-26 23:58:33 +01:00
|
|
|
|
("libgit2" ,libgit2)
|
2015-12-26 11:30:43 +01:00
|
|
|
|
("boost" ,boost)
|
|
|
|
|
("zlib" ,zlib)
|
|
|
|
|
("fritzing-parts-db"
|
|
|
|
|
,(origin
|
2019-03-26 23:58:33 +01:00
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/fritzing/fritzing-parts.git")
|
|
|
|
|
(commit version)))
|
|
|
|
|
(file-name (git-file-name "fritzing-parts" version))
|
2015-12-26 11:30:43 +01:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-03-26 23:58:33 +01:00
|
|
|
|
"1d2v8k7p176j0lczx4vx9n9gbg3vw09n2c4b6w0wj5wqmifywhc1"))))))
|
2020-01-18 23:51:06 +01:00
|
|
|
|
(home-page "https://fritzing.org")
|
2015-12-26 11:30:43 +01:00
|
|
|
|
(synopsis "Electronic circuit design")
|
|
|
|
|
(description
|
|
|
|
|
"The Fritzing application is @dfn{Electronic Design Automation} (EDA)
|
|
|
|
|
software with a low entry barrier, suited for the needs of makers and
|
|
|
|
|
hobbyists. It offers a unique real-life \"breadboard\" view, and a parts
|
|
|
|
|
library with many commonly used high-level components. Fritzing makes it very
|
|
|
|
|
easy to communicate about circuits, as well as to turn them into PCB layouts
|
|
|
|
|
ready for production.")
|
|
|
|
|
;; Documentation and parts are released under CC-BY-SA 3.0; source code is
|
|
|
|
|
;; released under GPLv3+.
|
|
|
|
|
(license (list license:gpl3+ license:cc-by-sa3.0))))
|
|
|
|
|
|
2015-08-31 08:47:09 +02:00
|
|
|
|
(define-public gerbv
|
|
|
|
|
(package
|
|
|
|
|
(name "gerbv")
|
2019-02-18 22:40:40 +01:00
|
|
|
|
(version "2.7.0")
|
2015-08-31 08:47:09 +02:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://sourceforge/gerbv/gerbv/gerbv-"
|
|
|
|
|
version "/gerbv-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-02-18 22:40:40 +01:00
|
|
|
|
"1d2k43k7i4yvbpi4sw1263a8d0q98z2n7aqhmpinpkih8a681vn5"))))
|
2015-08-31 08:47:09 +02:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(native-inputs
|
2019-02-18 22:40:40 +01:00
|
|
|
|
`(("glib:bin" ,glib "bin") ; for glib-compile-schemas, etc.
|
2020-04-05 13:48:29 +02:00
|
|
|
|
("desktop-file-utils" ,desktop-file-utils)
|
2019-02-18 22:40:40 +01:00
|
|
|
|
("pkg-config" ,pkg-config)))
|
2015-08-31 08:47:09 +02:00
|
|
|
|
(inputs
|
|
|
|
|
`(("cairo" ,cairo)
|
2020-04-05 13:48:29 +02:00
|
|
|
|
("gtk" ,gtk+-2)))
|
2015-08-31 08:47:09 +02:00
|
|
|
|
(home-page "http://gerbv.geda-project.org/")
|
|
|
|
|
(synopsis "Gerber file viewer")
|
|
|
|
|
(description
|
|
|
|
|
"Gerbv is a viewer for files in the Gerber format (RS-274X only), which
|
|
|
|
|
is commonly used to represent printed circuit board (PCB) layouts. Gerbv lets
|
|
|
|
|
you load several files on top of each other, do measurements on the displayed
|
|
|
|
|
image, etc. Besides viewing Gerbers, you may also view Excellon drill files
|
|
|
|
|
as well as pick-place files.")
|
|
|
|
|
(license license:gpl2+)))
|
2016-10-19 10:39:59 +02:00
|
|
|
|
|
2019-03-08 21:45:29 +01:00
|
|
|
|
(define-public translate2geda
|
|
|
|
|
;; There has been no formal release yet.
|
|
|
|
|
(let ((commit "4c19e7eefa338cea8f1ee999ea8b37f8d0698169")
|
|
|
|
|
(revision "1"))
|
|
|
|
|
(package
|
|
|
|
|
(name "translate2geda")
|
|
|
|
|
(version (git-version "0" revision commit))
|
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/erichVK5/translate2geda.git")
|
|
|
|
|
(commit commit)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"1h062bbpw8nk0jamkya1k4lsgaia796jyviiz2gkdi6k1bxhwgpa"))))
|
|
|
|
|
(build-system ant-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f ; there are no tests
|
|
|
|
|
#:jar-name "translate2geda.jar"
|
|
|
|
|
#:source-dir "."
|
|
|
|
|
#:main-class "translate2geda"
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'install 'install-bin
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(bin (string-append out "/bin"))
|
|
|
|
|
(wrapper (string-append bin "/translate2geda")))
|
|
|
|
|
(mkdir-p bin)
|
|
|
|
|
(with-output-to-file wrapper
|
|
|
|
|
(lambda _
|
|
|
|
|
(format #t "#!/bin/sh~%exec ~a -jar ~a/share/java/translate2geda.jar"
|
|
|
|
|
(which "java") out)))
|
|
|
|
|
(chmod wrapper #o555))
|
|
|
|
|
#t)))))
|
|
|
|
|
(home-page "https://github.com/erichVK5/translate2geda")
|
|
|
|
|
(synopsis "Utility for converting symbol and footprint formats to gEDA")
|
|
|
|
|
(description
|
|
|
|
|
"This package provides a utility for converting Kicad (@file{.mod},
|
|
|
|
|
@file{.lib}), Eagle (@file{.lbr}), gerber (@file{.gbr}, etc..),
|
|
|
|
|
BXL (@file{.bxl}), IBIS (@file{.ibs}), symdef, LT-Spice (@file{.asc}),
|
|
|
|
|
QUCS (@file{.sch}), and BSDL (@file{.bsd}) symbols and footprints and EggBot
|
|
|
|
|
fonts to gEDA.")
|
|
|
|
|
(license license:gpl2+))))
|
|
|
|
|
|
2018-03-30 22:19:27 +02:00
|
|
|
|
(define-public libfive
|
2019-12-19 23:14:54 +01:00
|
|
|
|
(let ((commit "6e39254e57c179459bb929df49ae96a6017a0ed6")
|
|
|
|
|
(revision "3"))
|
2016-10-19 10:39:59 +02:00
|
|
|
|
(package
|
2018-03-30 22:19:27 +02:00
|
|
|
|
(name "libfive")
|
2017-12-15 00:03:58 +01:00
|
|
|
|
(version (git-version "0" revision commit))
|
2016-10-19 10:39:59 +02:00
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
2018-03-30 22:19:27 +02:00
|
|
|
|
(url "https://github.com/libfive/libfive")
|
2016-10-19 10:39:59 +02:00
|
|
|
|
(commit commit)))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-12-19 23:14:54 +01:00
|
|
|
|
"0ryv2hcbrwqc087w7rrs4a2irkcpmqync00g4dh8n7jn10w2jkim"))
|
2018-04-06 13:43:54 +02:00
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(snippet
|
|
|
|
|
;; Remove bundled catch since we provide our own.
|
2018-04-19 17:19:02 +02:00
|
|
|
|
'(begin
|
|
|
|
|
(delete-file "libfive/test/catch.hpp")
|
|
|
|
|
#t))))
|
2016-10-19 10:39:59 +02:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
2018-04-06 13:43:54 +02:00
|
|
|
|
`(#:test-target "libfive-test"
|
2016-10-19 10:39:59 +02:00
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
2017-12-15 00:03:58 +01:00
|
|
|
|
(add-after 'unpack 'remove-native-compilation
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "CMakeLists.txt" (("-march=native") ""))
|
2019-12-19 23:14:54 +01:00
|
|
|
|
#t))
|
|
|
|
|
(add-after 'unpack 'find-catch
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(setenv "CPLUS_INCLUDE_PATH"
|
|
|
|
|
(string-append (assoc-ref inputs "catch")
|
2020-04-03 19:07:22 +02:00
|
|
|
|
"/include/catch:"
|
|
|
|
|
(or (getenv "CPLUS_INCLUDE_PATH") "")))
|
2018-04-06 13:43:54 +02:00
|
|
|
|
#t)))))
|
2016-10-19 10:39:59 +02:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("boost" ,boost)
|
2019-12-19 23:14:54 +01:00
|
|
|
|
("catch" ,catch-framework2)
|
2016-10-19 10:39:59 +02:00
|
|
|
|
("libpng" ,libpng)
|
2018-03-30 22:19:27 +02:00
|
|
|
|
("qtbase" ,qtbase)
|
2016-10-19 10:39:59 +02:00
|
|
|
|
("eigen" ,eigen)
|
2018-03-30 22:19:27 +02:00
|
|
|
|
("guile" ,guile-2.2)))
|
|
|
|
|
(home-page "https://libfive.com")
|
2016-10-19 10:39:59 +02:00
|
|
|
|
(synopsis "Tool for programmatic computer-aided design")
|
|
|
|
|
(description
|
2018-03-30 22:19:27 +02:00
|
|
|
|
"Libfive is a tool for programmatic computer-aided design (CAD). In
|
|
|
|
|
libfive, solid models are defined as Scheme scripts, and there are no opaque
|
|
|
|
|
function calls into the geometry kernel: everything is visible to the user.
|
|
|
|
|
Even fundamental, primitive shapes are represented as code in the user-level
|
2016-10-19 10:39:59 +02:00
|
|
|
|
language.")
|
2019-12-19 23:14:54 +01:00
|
|
|
|
(license (list license:mpl2.0 ;library
|
2018-03-30 22:19:27 +02:00
|
|
|
|
license:gpl2+))))) ;Guile bindings and GUI
|
|
|
|
|
|
2020-02-16 22:28:34 +01:00
|
|
|
|
;; TODO Add doc https://gitlab.com/kicad/services/kicad-doc/-/tree/master
|
2016-11-15 21:53:23 +01:00
|
|
|
|
(define-public kicad
|
2020-02-16 22:28:34 +01:00
|
|
|
|
(package
|
|
|
|
|
(name "kicad")
|
2020-05-15 21:50:30 +02:00
|
|
|
|
(version "5.1.6")
|
2020-02-16 22:28:34 +01:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
2020-05-15 21:50:30 +02:00
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://gitlab.com/kicad/code/kicad.git")
|
|
|
|
|
(commit version)))
|
2020-02-16 22:28:34 +01:00
|
|
|
|
(sha256
|
2020-05-15 21:50:30 +02:00
|
|
|
|
(base32 "1pa3z0h0679jmgxlzc833h6q85b5paxdp69kf2h93vkaryj58622"))
|
|
|
|
|
(file-name (git-file-name name version))))
|
2020-02-16 22:28:34 +01:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:out-of-source? #t
|
|
|
|
|
#:tests? #f ; no tests
|
|
|
|
|
#:build-type "Release"
|
|
|
|
|
#:configure-flags
|
|
|
|
|
(list "-DKICAD_SCRIPTING_PYTHON3=ON"
|
|
|
|
|
"-DKICAD_SCRIPTING_WXPYTHON_PHOENIX=ON"
|
|
|
|
|
"-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE")
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'install 'install-translations
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
2020-05-15 19:11:47 +02:00
|
|
|
|
(copy-recursively (assoc-ref inputs "kicad-i18n")
|
2020-02-16 22:28:34 +01:00
|
|
|
|
(assoc-ref outputs "out"))
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'install 'wrap-program
|
|
|
|
|
;; Ensure correct Python at runtime.
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(python (assoc-ref inputs "python"))
|
|
|
|
|
(file (string-append out "/bin/kicad"))
|
|
|
|
|
(path (string-append
|
|
|
|
|
out
|
|
|
|
|
"/lib/python"
|
|
|
|
|
,(version-major+minor
|
|
|
|
|
(package-version python))
|
|
|
|
|
"/site-packages:"
|
|
|
|
|
(getenv "PYTHONPATH"))))
|
|
|
|
|
(wrap-program file
|
|
|
|
|
`("PYTHONPATH" ":" prefix (,path))
|
|
|
|
|
`("PATH" ":" prefix
|
|
|
|
|
(,(string-append python "/bin:")))))
|
|
|
|
|
#t)))))
|
|
|
|
|
(native-search-paths
|
|
|
|
|
(list (search-path-specification
|
|
|
|
|
(variable "KICAD_TEMPLATE_DIR")
|
|
|
|
|
(files '("share/kicad/template")))
|
|
|
|
|
(search-path-specification
|
|
|
|
|
(variable "KICAD_SYMBOL_DIR") ; symbol path
|
|
|
|
|
(files '("share/kicad/library")))
|
|
|
|
|
(search-path-specification
|
|
|
|
|
(variable "KISYSMOD") ; footprint path
|
|
|
|
|
(files '("share/kicad/modules")))
|
|
|
|
|
(search-path-specification
|
|
|
|
|
(variable "KISYS3DMOD") ; 3D model path
|
|
|
|
|
(files '("share/kicad/modules/packages3d")))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("boost" ,boost)
|
|
|
|
|
("desktop-file-utils" ,desktop-file-utils)
|
2020-04-04 15:48:44 +02:00
|
|
|
|
("gettext" ,gettext-minimal)
|
2020-05-15 19:11:47 +02:00
|
|
|
|
("kicad-i18n" ,kicad-i18n)
|
2020-02-16 22:28:34 +01:00
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
|
("swig" ,swig)
|
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("cairo" ,cairo)
|
|
|
|
|
("curl" ,curl)
|
|
|
|
|
("glew" ,glew)
|
|
|
|
|
("glm" ,glm)
|
|
|
|
|
("hicolor-icon-theme" ,hicolor-icon-theme)
|
|
|
|
|
("libngspice" ,libngspice)
|
|
|
|
|
("libsm" ,libsm)
|
|
|
|
|
("mesa" ,mesa)
|
|
|
|
|
("opencascade-oce" ,opencascade-oce)
|
|
|
|
|
("openssl" ,openssl)
|
|
|
|
|
("python" ,python-wrapper)
|
|
|
|
|
("wxwidgets" ,wxwidgets)
|
|
|
|
|
("wxpython" ,python-wxpython)))
|
|
|
|
|
(home-page "https://kicad-pcb.org/")
|
|
|
|
|
(synopsis "Electronics Design Automation Suite")
|
|
|
|
|
(description "Kicad is a program for the formation of printed circuit
|
2016-11-15 21:53:23 +01:00
|
|
|
|
boards and electrical circuits. The software has a number of programs that
|
|
|
|
|
perform specific functions, for example, pcbnew (Editing PCB), eeschema (editing
|
|
|
|
|
electrical diagrams), gerbview (viewing Gerber files) and others.")
|
2020-02-16 22:28:34 +01:00
|
|
|
|
(license license:gpl3+)))
|
2016-11-15 21:53:24 +01:00
|
|
|
|
|
2020-05-15 19:11:47 +02:00
|
|
|
|
(define kicad-i18n
|
2020-02-16 22:28:34 +01:00
|
|
|
|
(package
|
2020-05-15 19:11:47 +02:00
|
|
|
|
(name "kicad-i18n")
|
2020-05-15 22:22:09 +02:00
|
|
|
|
(version (package-version kicad))
|
2020-02-16 22:28:34 +01:00
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://gitlab.com/kicad/code/kicad-i18n.git")
|
|
|
|
|
(commit version)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2020-05-15 21:50:43 +02:00
|
|
|
|
"0qryi8xjm23ka363zfl7bbga0v5c31fr3d4nyxp3m168vkv9zhha"))))
|
2020-02-16 22:28:34 +01:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(delete 'build)
|
|
|
|
|
(delete 'check))))
|
|
|
|
|
(native-inputs
|
2020-04-04 15:48:44 +02:00
|
|
|
|
`(("gettext" ,gettext-minimal)))
|
2020-05-15 22:22:09 +02:00
|
|
|
|
(home-page (package-home-page kicad))
|
2020-02-16 22:28:34 +01:00
|
|
|
|
(synopsis "KiCad GUI translations")
|
|
|
|
|
(description "This package contains the po files that are used for the GUI
|
|
|
|
|
translations for KiCad.")
|
|
|
|
|
(license license:gpl3+)))
|
2017-02-28 21:26:37 +01:00
|
|
|
|
|
2020-05-15 19:11:47 +02:00
|
|
|
|
(define-public kicad-i18l
|
|
|
|
|
(deprecated-package "kicad-i18l" kicad-i18n))
|
|
|
|
|
|
2018-10-10 12:16:51 +02:00
|
|
|
|
(define-public kicad-symbols
|
|
|
|
|
(package
|
|
|
|
|
(name "kicad-symbols")
|
2020-05-15 22:22:09 +02:00
|
|
|
|
(version (package-version kicad))
|
2018-10-10 12:16:51 +02:00
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/KiCad/kicad-symbols.git")
|
|
|
|
|
(commit version)))
|
2019-03-11 22:47:21 +01:00
|
|
|
|
(file-name (git-file-name name version))
|
2018-10-10 12:16:51 +02:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2020-05-15 21:50:49 +02:00
|
|
|
|
"12w3rdy085drlikkpb27n9ni7cyg9l0pqy7hnr86cxjcw3l5wcx6"))))
|
2018-10-10 12:16:51 +02:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
2020-01-01 23:52:27 +01:00
|
|
|
|
`(#:tests? #f)) ; no tests exist
|
2020-05-15 22:22:09 +02:00
|
|
|
|
(home-page (package-home-page kicad))
|
2020-02-16 22:28:33 +01:00
|
|
|
|
(synopsis "Official KiCad schematic symbol libraries")
|
2018-10-10 12:16:51 +02:00
|
|
|
|
(description "This package contains the official KiCad schematic symbol
|
2020-02-16 22:28:33 +01:00
|
|
|
|
libraries.")
|
2020-01-01 23:52:27 +01:00
|
|
|
|
;; TODO: Exception: "To the extent that the creation of electronic designs
|
|
|
|
|
;; that use 'Licensed Material' can be considered to be 'Adapted Material',
|
|
|
|
|
;; then the copyright holder waives article 3 of the license with respect to
|
|
|
|
|
;; these designs and any generated files which use data provided as part of
|
|
|
|
|
;; the 'Licensed Material'."
|
2018-10-10 12:16:51 +02:00
|
|
|
|
;; See <https://github.com/KiCad/kicad-symbols/blob/master/LICENSE.md>.
|
|
|
|
|
(license license:cc-by-sa4.0)))
|
|
|
|
|
|
2020-02-16 22:28:29 +01:00
|
|
|
|
(define-public kicad-footprints
|
|
|
|
|
(package
|
|
|
|
|
(inherit kicad-symbols)
|
|
|
|
|
(name "kicad-footprints")
|
2020-05-15 22:22:09 +02:00
|
|
|
|
(version (package-version kicad))
|
2020-02-16 22:28:29 +01:00
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/KiCad/kicad-footprints.git")
|
|
|
|
|
(commit version)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2020-05-15 21:54:35 +02:00
|
|
|
|
"1kmf91a5mmvj9izrv40mkaw1w36yjgn8daczd9rq2wlmd0rdp1zx"))))
|
2020-02-16 22:28:29 +01:00
|
|
|
|
(synopsis "Official KiCad footprint libraries")
|
|
|
|
|
(description "This package contains the official KiCad footprint libraries.")))
|
|
|
|
|
|
2020-02-16 22:28:30 +01:00
|
|
|
|
(define-public kicad-packages3d
|
|
|
|
|
(package
|
|
|
|
|
(inherit kicad-symbols)
|
|
|
|
|
(name "kicad-packages3d")
|
2020-05-15 22:22:09 +02:00
|
|
|
|
(version (package-version kicad))
|
2020-02-16 22:28:30 +01:00
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/KiCad/kicad-packages3d.git")
|
|
|
|
|
(commit version)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2020-05-15 21:54:43 +02:00
|
|
|
|
"0b9jglf77fy0n0r8xs4yqkv6zvipyfvp0z5dnqlzp32csy5aqpi1"))))
|
2020-02-16 22:28:30 +01:00
|
|
|
|
(synopsis "Official KiCad 3D model libraries")
|
|
|
|
|
(description "This package contains the official KiCad 3D model libraries.")))
|
|
|
|
|
|
2020-02-16 22:28:31 +01:00
|
|
|
|
(define-public kicad-templates
|
|
|
|
|
(package
|
|
|
|
|
(inherit kicad-symbols)
|
|
|
|
|
(name "kicad-templates")
|
2020-05-15 22:22:09 +02:00
|
|
|
|
(version (package-version kicad))
|
2020-02-16 22:28:31 +01:00
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/KiCad/kicad-templates.git")
|
|
|
|
|
(commit version)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2020-05-15 21:54:48 +02:00
|
|
|
|
"1hppcsrkn4dk6ggby6ckh0q65qxkywrbyxa4lwpaf7pxjyv498xg"))))
|
2020-02-16 22:28:31 +01:00
|
|
|
|
(synopsis "Official KiCad project and worksheet templates")
|
|
|
|
|
(description "This package contains the official KiCad project and
|
|
|
|
|
worksheet templates.")))
|
|
|
|
|
|
2017-02-28 21:26:37 +01:00
|
|
|
|
(define-public linsmith
|
|
|
|
|
(package
|
|
|
|
|
(name "linsmith")
|
2018-06-06 05:17:12 +02:00
|
|
|
|
(version "0.99.31")
|
2017-02-28 21:26:37 +01:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"mirror://sourceforge/linsmith/linsmith/linsmith-"
|
|
|
|
|
version "/linsmith-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2018-06-06 05:17:12 +02:00
|
|
|
|
"13qj7n9826qc9shkkgd1p6vcpj78v4h9d67wbg45prg7rbnzkzds"))))
|
2017-02-28 21:26:37 +01:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)
|
|
|
|
|
("gtk" ,gtk+-2)
|
|
|
|
|
("libgnome" ,libgnomeui)))
|
2018-06-06 05:17:02 +02:00
|
|
|
|
(home-page "https://jcoppens.com/soft/linsmith/index.en.php")
|
2017-02-28 21:26:37 +01:00
|
|
|
|
(synopsis "Smith Charting program")
|
|
|
|
|
(description "LinSmith is a Smith Charting program, mainly designed for
|
|
|
|
|
educational use. As such, there is an emphasis on capabilities that improve
|
|
|
|
|
the 'showing the effect of'-style of operation.")
|
|
|
|
|
(license license:gpl2+)))
|
2017-04-22 23:35:47 +02:00
|
|
|
|
|
|
|
|
|
(define-public volk
|
|
|
|
|
(package
|
|
|
|
|
(name "volk")
|
2020-06-15 13:30:27 +02:00
|
|
|
|
(version "2.3.0")
|
2017-04-22 23:35:47 +02:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
2020-04-14 09:24:25 +02:00
|
|
|
|
(uri (string-append "https://www.libvolk.org/releases/volk-"
|
2017-04-22 23:35:47 +02:00
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
2020-06-15 13:30:27 +02:00
|
|
|
|
(base32 "1pjxz3piwy49njj5y2zk437prwkv9lfs5g48577jj3kcsg766vi3"))))
|
2017-04-22 23:35:47 +02:00
|
|
|
|
(build-system cmake-build-system)
|
2020-04-14 09:24:25 +02:00
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'install 'wrap-pythonpath
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(python (assoc-ref inputs "python"))
|
|
|
|
|
(file (string-append out "/bin/volk_modtool"))
|
|
|
|
|
(path (string-append
|
|
|
|
|
out
|
|
|
|
|
"/lib/python"
|
|
|
|
|
,(version-major+minor
|
|
|
|
|
(package-version python))
|
|
|
|
|
"/site-packages:"
|
|
|
|
|
(getenv "PYTHONPATH"))))
|
|
|
|
|
(wrap-program file
|
|
|
|
|
`("PYTHONPATH" ":" prefix (,path))
|
|
|
|
|
`("PATH" ":" prefix
|
|
|
|
|
(,(string-append python "/bin:")))))
|
|
|
|
|
#t)))))
|
2017-04-22 23:35:47 +02:00
|
|
|
|
(inputs
|
2020-06-15 13:40:20 +02:00
|
|
|
|
`(("boost" ,boost)
|
|
|
|
|
("python" ,python-wrapper)
|
2020-04-14 09:24:25 +02:00
|
|
|
|
("python-mako" ,python-mako)))
|
|
|
|
|
(home-page "https://www.libvolk.org/")
|
2017-04-22 23:35:47 +02:00
|
|
|
|
(synopsis "Vector-Optimized Library of Kernels")
|
|
|
|
|
(description
|
2020-06-15 14:35:22 +02:00
|
|
|
|
"@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.")
|
2017-04-22 23:35:47 +02:00
|
|
|
|
(license license:gpl3+)))
|
2017-06-10 16:06:34 +02:00
|
|
|
|
|
|
|
|
|
(define-public minicom
|
|
|
|
|
(package
|
|
|
|
|
(name "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"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"1wa1l36fa4npd21xa9nz60yrqwkk5cq713fa3p5v0zk7g9mq6bsk"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:configure-flags '("--enable-lock-dir=/var/lock")
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'patch-lock-check
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "configure"
|
|
|
|
|
(("test -d [$]UUCPLOCK") "true"))
|
|
|
|
|
#t)))))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("ncurses" ,ncurses)))
|
|
|
|
|
(home-page "https://alioth.debian.org/projects/minicom/")
|
|
|
|
|
(synopsis "Serial terminal emulator")
|
|
|
|
|
(description "@code{minicom} is a serial terminal emulator.")
|
|
|
|
|
(license license:gpl2+)))
|
2017-06-22 21:09:54 +02:00
|
|
|
|
|
|
|
|
|
(define-public harminv
|
|
|
|
|
(package
|
|
|
|
|
(name "harminv")
|
2018-01-12 13:49:46 +01:00
|
|
|
|
(version "1.4.1")
|
2017-06-22 21:09:54 +02:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri
|
2018-01-12 13:49:46 +01:00
|
|
|
|
(string-append "https://github.com/stevengj/harminv/"
|
|
|
|
|
"releases/download/v" version "/"
|
|
|
|
|
name "-" version ".tar.gz"))
|
2017-06-22 21:09:54 +02:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2018-01-12 13:49:46 +01:00
|
|
|
|
"0w1n4d249vlpda0hi6z1v13qp21vlbp3ykn0m8qg4rd5132j7fg1"))))
|
2017-06-22 21:09:54 +02:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
2019-02-27 18:01:48 +01:00
|
|
|
|
`(#:configure-flags '("--enable-shared")
|
|
|
|
|
#:phases
|
2017-06-22 21:09:54 +02:00
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-before 'configure 'fix-tests
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "./sines-test.sh"
|
|
|
|
|
; change test frequency range - default fails
|
|
|
|
|
(("0\\.15") "0.16"))
|
|
|
|
|
#t)))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("fortran" ,gfortran)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("lapack" ,lapack)))
|
2018-01-12 13:49:46 +01:00
|
|
|
|
(home-page "https://github.com/stevengj/harminv")
|
2017-06-22 21:09:54 +02:00
|
|
|
|
(synopsis "Harmonic inversion solver")
|
|
|
|
|
(description
|
|
|
|
|
"Harminv is a free program (and accompanying library) to solve the problem of
|
|
|
|
|
harmonic inversion — given a discrete-time, finite-length signal that consists of a sum
|
|
|
|
|
of finitely-many sinusoids (possibly exponentially decaying) in a given bandwidth, it
|
|
|
|
|
determines the frequencies, decay constants, amplitudes, and phases of those sinusoids.")
|
|
|
|
|
(license license:gpl2+)))
|
2017-06-22 21:09:55 +02:00
|
|
|
|
|
|
|
|
|
(define-public guile-libctl
|
|
|
|
|
(package
|
|
|
|
|
(name "guile-libctl")
|
2019-02-27 18:01:49 +01:00
|
|
|
|
(version "4.2.0")
|
2017-06-22 21:09:55 +02:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri
|
|
|
|
|
(string-append
|
2019-02-27 18:01:49 +01:00
|
|
|
|
"https://github.com/NanoComp/libctl/releases/download/v"
|
|
|
|
|
version "/libctl-" version ".tar.gz"))
|
2017-06-22 21:09:55 +02:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-02-27 18:01:49 +01:00
|
|
|
|
"0x8r56lpfq83kfbq28vr25icl19xpfd6fjrxzcpdmv30l9pash83"))))
|
2017-06-22 21:09:55 +02:00
|
|
|
|
(build-system gnu-build-system)
|
2019-02-27 18:01:49 +01:00
|
|
|
|
(arguments
|
|
|
|
|
`(#:configure-flags '("--enable-shared")))
|
2017-06-22 21:09:55 +02:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("fortran" ,gfortran)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("guile" ,guile-2.2)))
|
|
|
|
|
(home-page "http://ab-initio.mit.edu/wiki/index.php/Libctl")
|
|
|
|
|
(synopsis "Flexible control files implementation for scientific simulations")
|
|
|
|
|
(description
|
|
|
|
|
"Libctl is a Guile-based library implementing flexible control files
|
|
|
|
|
for scientific simulations.")
|
|
|
|
|
(license license:gpl2+)))
|
2017-06-22 21:09:56 +02:00
|
|
|
|
|
|
|
|
|
(define-public mpb
|
|
|
|
|
(package
|
|
|
|
|
(name "mpb")
|
2019-02-27 18:01:50 +01:00
|
|
|
|
(version "1.8.0")
|
2017-06-22 21:09:56 +02:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri
|
|
|
|
|
(string-append
|
2019-02-27 18:01:50 +01:00
|
|
|
|
"https://github.com/NanoComp/mpb/releases/download/v"
|
|
|
|
|
version "/mpb-" version ".tar.gz"))
|
2017-06-22 21:09:56 +02:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-02-27 18:01:50 +01:00
|
|
|
|
"1jgrb7dd6qs6j6y1gnxmdgrh79l2bvqa6nk60a4pw1annsks4brd"))))
|
2017-06-22 21:09:56 +02:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:configure-flags
|
|
|
|
|
(list (string-append "--with-libctl="
|
|
|
|
|
(assoc-ref %build-inputs "libctl")
|
2019-02-27 18:01:50 +01:00
|
|
|
|
"/share/libctl")
|
|
|
|
|
"--enable-shared")))
|
2017-06-22 21:09:56 +02:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("fortran" ,gfortran)
|
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
|
("swig" ,swig)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("fftw" ,fftw)
|
|
|
|
|
("gsl" ,gsl)
|
|
|
|
|
("guile" ,guile-2.2)
|
|
|
|
|
("hdf5" ,hdf5)
|
|
|
|
|
("lapack" ,lapack)
|
|
|
|
|
("libctl" ,guile-libctl)
|
|
|
|
|
("readline" ,readline)
|
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
|
(home-page "http://ab-initio.mit.edu/wiki/index.php/MIT_Photonic_Bands")
|
|
|
|
|
(synopsis "Computes band structures and electromagnetic modes of dielectric
|
|
|
|
|
structures")
|
|
|
|
|
(description
|
|
|
|
|
"MIT Photonic-Bands (MPB) computes definite-frequency eigenstates (harmonic modes)
|
|
|
|
|
of Maxwell's equations in periodic dielectric structures for arbitrary wavevectors, using
|
|
|
|
|
fully-vectorial and three-dimensional methods.")
|
|
|
|
|
(license license:gpl2+)))
|
2017-06-22 21:09:57 +02:00
|
|
|
|
|
|
|
|
|
(define-public meep
|
|
|
|
|
(package
|
|
|
|
|
(name "meep")
|
2019-02-27 18:01:51 +01:00
|
|
|
|
(version "1.8.0")
|
2017-06-22 21:09:57 +02:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri
|
|
|
|
|
(string-append
|
2019-02-27 18:01:51 +01:00
|
|
|
|
"https://github.com/NanoComp/meep/releases/download/v"
|
|
|
|
|
version "/meep-" version ".tar.gz"))
|
2017-06-22 21:09:57 +02:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-02-27 18:01:51 +01:00
|
|
|
|
"14zyxmm3p80j5fz5b89sl7hgkgcisqjny5hjh4pi274ziqjqz8bm"))))
|
2017-06-22 21:09:57 +02:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:configure-flags
|
|
|
|
|
(list (string-append "--with-libctl="
|
|
|
|
|
(assoc-ref %build-inputs "libctl")
|
|
|
|
|
"/share/libctl"))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("fortran" ,gfortran)
|
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
|
("swig" ,swig)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("fftw" ,fftw)
|
|
|
|
|
("gsl" ,gsl)
|
2019-02-27 18:01:51 +01:00
|
|
|
|
("guile" ,guile-2.2)
|
2017-06-22 21:09:57 +02:00
|
|
|
|
("harminv" ,harminv)
|
|
|
|
|
("hdf5" ,hdf5)
|
|
|
|
|
("lapack" ,lapack)
|
|
|
|
|
("libctl" ,guile-libctl)
|
|
|
|
|
("mpb" ,mpb)
|
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
|
(home-page "http://ab-initio.mit.edu/wiki/index.php/Meep")
|
|
|
|
|
(synopsis "Finite-difference time-domain (FDTD) simulation software")
|
|
|
|
|
(description
|
|
|
|
|
"Meep is a finite-difference time-domain (FDTD) simulation software package
|
|
|
|
|
developed at MIT to model electromagnetic systems.")
|
|
|
|
|
(license license:gpl2+)))
|
2017-06-24 08:52:57 +02:00
|
|
|
|
|
|
|
|
|
(define-public adms
|
|
|
|
|
(package
|
|
|
|
|
(name "adms")
|
|
|
|
|
(version "2.3.6")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri
|
|
|
|
|
(string-append
|
|
|
|
|
"mirror://sourceforge/mot-adms/adms-source/"
|
|
|
|
|
(version-major+minor version) "/adms-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"1rn98l6jxcjhi6ai5f7p588khra9z80m0m0lql4n4sb7773fh1vk"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("flex" ,flex)
|
|
|
|
|
("bison" ,bison)))
|
|
|
|
|
(home-page "https://sourceforge.net/projects/mot-adms")
|
|
|
|
|
(synopsis "Automatic device model synthesizer")
|
|
|
|
|
(description
|
|
|
|
|
"ADMS is a code generator that converts electrical compact device models
|
|
|
|
|
specified in high-level description language into ready-to-compile C code for
|
|
|
|
|
the API of spice simulators. Based on transformations specified in XML
|
|
|
|
|
language, ADMS transforms Verilog-AMS code into other target languages.")
|
|
|
|
|
(license license:gpl3)))
|
2017-08-11 20:41:39 +02:00
|
|
|
|
|
|
|
|
|
(define-public capstone
|
|
|
|
|
(package
|
|
|
|
|
(name "capstone")
|
2018-08-24 02:58:23 +02:00
|
|
|
|
(version "3.0.5")
|
2017-08-11 20:41:39 +02:00
|
|
|
|
(source (origin
|
2020-01-03 15:02:16 +01:00
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/aquynh/capstone")
|
|
|
|
|
(commit version)))
|
|
|
|
|
(file-name (git-file-name name version))
|
2017-08-11 20:41:39 +02:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2020-01-03 15:02:16 +01:00
|
|
|
|
"0dgf82kxj4rs45d6s8sr984c38sll1n5scpypjlyh21gh2yl4qfw"))))
|
2017-08-11 20:41:39 +02:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f
|
2018-08-24 02:58:23 +02:00
|
|
|
|
#:make-flags (list (string-append "PREFIX=" (assoc-ref %outputs "out"))
|
2017-08-11 20:41:39 +02:00
|
|
|
|
"CC=gcc")
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
2018-08-24 02:58:23 +02:00
|
|
|
|
(delete 'configure) ; no configure script
|
|
|
|
|
;; cstool's Makefile ‘+=’s LDFLAGS, so we cannot pass it as a make flag.
|
2017-08-11 20:41:39 +02:00
|
|
|
|
(add-before 'build 'fix-cstool-ldflags
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
2018-08-24 02:58:23 +02:00
|
|
|
|
(setenv "LDFLAGS" (string-append "-Wl,-rpath="
|
|
|
|
|
(assoc-ref outputs "out") "/lib"))
|
2017-08-11 20:41:39 +02:00
|
|
|
|
#t)))))
|
2018-08-24 02:59:02 +02:00
|
|
|
|
(home-page "https://www.capstone-engine.org")
|
2017-08-11 20:41:39 +02:00
|
|
|
|
(synopsis "Lightweight multi-platform, multi-architecture disassembly framework")
|
|
|
|
|
(description
|
|
|
|
|
"Capstone is a lightweight multi-platform, multi-architecture disassembly
|
|
|
|
|
framework. Capstone can disassemble machine code for many supported architectures
|
|
|
|
|
such as x86, x86_64, arm, arm64, mips, ppc, sparc, sysz and xcore. It provides
|
|
|
|
|
bindings for Python, Java, OCaml and more.")
|
|
|
|
|
(license license:bsd-3)))
|
2017-08-11 20:49:04 +02:00
|
|
|
|
|
|
|
|
|
;; FIXME: This package has a timestamp embedded in
|
|
|
|
|
;; lib/python3.5/site-packages/capstone/__pycache__/__iti__.cpython-35.pyc
|
|
|
|
|
(define-public python-capstone
|
|
|
|
|
(package
|
|
|
|
|
(inherit capstone)
|
|
|
|
|
(name "python-capstone")
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
`(("capstone" ,capstone)))
|
|
|
|
|
(build-system python-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'chdir-and-fix-setup-py
|
|
|
|
|
(lambda _
|
|
|
|
|
(chdir "bindings/python")
|
|
|
|
|
;; Do not build the library again, because we already have it.
|
|
|
|
|
(substitute* "setup.py" ((".* build_libraries.*") ""))
|
|
|
|
|
;; This substitution tells python-capstone where to find the
|
|
|
|
|
;; library.
|
|
|
|
|
(substitute* "capstone/__init__.py"
|
|
|
|
|
(("pkg_resources.resource_filename.*")
|
|
|
|
|
(string-append "'" (assoc-ref %build-inputs "capstone") "/lib',\n")))
|
|
|
|
|
#t)))))))
|
|
|
|
|
|
|
|
|
|
(define-public python2-capstone
|
|
|
|
|
(package-with-python2 python-capstone))
|
2017-08-11 20:54:40 +02:00
|
|
|
|
|
|
|
|
|
(define-public radare2
|
|
|
|
|
(package
|
|
|
|
|
(name "radare2")
|
2020-05-25 21:16:29 +02:00
|
|
|
|
(version "4.4.0")
|
2017-08-11 20:54:40 +02:00
|
|
|
|
(source (origin
|
2020-03-21 09:57:21 +01:00
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/radareorg/radare2")
|
|
|
|
|
(commit version)))
|
2017-08-11 20:54:40 +02:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2020-05-25 21:16:29 +02:00
|
|
|
|
"0gwdnrnk7wdgkajp2qwg4fyplh7nsbmf01bzx07px6xmiscd9z2s"))
|
2020-05-25 21:16:11 +02:00
|
|
|
|
(file-name (git-file-name name version))))
|
2017-08-11 20:54:40 +02:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
2019-06-17 04:51:14 +02:00
|
|
|
|
'(#:tests? #f ; tests require git and network access
|
2017-08-11 20:54:40 +02:00
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-before 'configure 'mklibdir
|
2020-05-25 20:52:39 +02:00
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(mkdir-p (string-append (assoc-ref outputs "out") "/lib"))
|
2017-08-11 20:54:40 +02:00
|
|
|
|
#t)))
|
|
|
|
|
#:configure-flags
|
2020-05-25 22:01:31 +02:00
|
|
|
|
(list "--with-openssl"
|
|
|
|
|
"--with-rpath"
|
|
|
|
|
"--with-syscapstone"
|
|
|
|
|
"--with-sysmagic"
|
|
|
|
|
"--with-syszip"
|
|
|
|
|
"--with-sysxxhash")
|
2017-08-11 20:54:40 +02:00
|
|
|
|
#:make-flags
|
|
|
|
|
(list "CC=gcc")))
|
2020-05-25 21:59:26 +02:00
|
|
|
|
;; TODO: Add gmp and libzip and make the build system actually find them.
|
2017-08-11 20:54:40 +02:00
|
|
|
|
(inputs
|
2020-05-25 21:59:26 +02:00
|
|
|
|
`(("capstone" ,capstone)
|
2020-05-25 22:01:31 +02:00
|
|
|
|
("libuv" ,libuv)
|
2020-05-25 21:59:26 +02:00
|
|
|
|
("openssl" ,openssl)
|
|
|
|
|
("zip" ,zip)))
|
2017-08-11 20:54:40 +02:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
2020-05-25 22:01:31 +02:00
|
|
|
|
(propagated-inputs
|
|
|
|
|
;; In the Libs: section of r_hash.pc.
|
|
|
|
|
`(("xxhash" ,xxhash)))
|
2017-08-11 20:54:40 +02:00
|
|
|
|
(home-page "https://radare.org/")
|
2020-02-15 14:00:33 +01:00
|
|
|
|
(synopsis "Reverse engineering framework")
|
2017-08-11 20:54:40 +02:00
|
|
|
|
(description
|
2020-02-15 14:00:33 +01:00
|
|
|
|
"Radare2 is a complete framework for reverse-engineering, debugging, and
|
|
|
|
|
analyzing binaries. It is composed of a set of small utilities that can be
|
|
|
|
|
used together or independently from the command line.
|
|
|
|
|
|
|
|
|
|
Radare2 is built around a scriptable disassembler and hexadecimal editor that
|
|
|
|
|
support a variety of executable formats for different processors and operating
|
|
|
|
|
systems, through multiple back ends for local and remote files and disk
|
|
|
|
|
images.
|
|
|
|
|
|
|
|
|
|
It can also compare (@dfn{diff}) binaries with graphs and extract information
|
|
|
|
|
like relocation symbols. It is able to deal with malformed binaries, making
|
|
|
|
|
it suitable for security research and analysis.")
|
2017-08-11 20:54:40 +02:00
|
|
|
|
(license license:lgpl3)))
|
2017-06-22 21:10:00 +02:00
|
|
|
|
|
|
|
|
|
(define-public asco
|
|
|
|
|
(package
|
|
|
|
|
(name "asco")
|
|
|
|
|
(version "0.4.10")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://sourceforge/asco/asco/" version "/ASCO-"
|
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"119rbc2dc8xzwxvykgji0v0nrzvymjmlizr1bc2mihspj686kxsl"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f ; no tests
|
|
|
|
|
#:make-flags '("all" "asco-mpi")
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(delete 'configure)
|
|
|
|
|
(add-before 'build 'fix-paths
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(let ((coreutils (assoc-ref inputs "coreutils-minimal")))
|
|
|
|
|
(substitute* '("errfunc.c" "asco.c")
|
|
|
|
|
(("cp ")
|
|
|
|
|
(string-append coreutils "/bin/cp "))
|
|
|
|
|
(("nice")
|
|
|
|
|
(string-append coreutils "/bin/nice")))
|
|
|
|
|
(substitute* "Makefile"
|
|
|
|
|
(("<FULL_PATH_TO_MPICH>/bin/mpicc") (which "mpicc")))
|
|
|
|
|
#t)))
|
|
|
|
|
(replace 'install ; no install target
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(for-each (lambda (file)
|
|
|
|
|
(install-file file (string-append
|
|
|
|
|
(assoc-ref outputs "out")
|
|
|
|
|
"/bin")))
|
|
|
|
|
'("asco" "asco-mpi" "asco-test"
|
|
|
|
|
"tools/alter/alter" "tools/log/log"))
|
|
|
|
|
#t)))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("mpi" ,openmpi)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("coreutils-minimal" ,coreutils-minimal)))
|
|
|
|
|
(home-page "http://asco.sourceforge.net/")
|
|
|
|
|
(synopsis "SPICE circuit optimizer")
|
|
|
|
|
(description
|
|
|
|
|
"ASCO brings circuit optimization capabilities to existing SPICE simulators using a
|
|
|
|
|
high-performance parallel differential evolution (DE) optimization algorithm.")
|
|
|
|
|
(license license:gpl2+)))
|
2017-09-09 19:57:46 +02:00
|
|
|
|
|
|
|
|
|
(define-public libngspice
|
|
|
|
|
;; Note: The ngspice's build system does not allow us to build both the
|
|
|
|
|
;; library and the executables in one go. Thus, we have two packages.
|
|
|
|
|
;; See <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27344#236>.
|
|
|
|
|
(package
|
|
|
|
|
(name "libngspice")
|
2018-06-06 06:22:28 +02:00
|
|
|
|
(version "28")
|
2017-09-09 19:57:46 +02:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "mirror://sourceforge/ngspice/ng-spice-rework/"
|
|
|
|
|
version "/ngspice-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2018-06-06 06:22:28 +02:00
|
|
|
|
"0rnz2rdgyav16w7wfn3sfrk2lwvvgz1fh0l9107zkcldijklz04l"))
|
2017-09-09 19:57:46 +02:00
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
|
;; We remove the non-free cider and build without it.
|
|
|
|
|
(snippet
|
|
|
|
|
'(begin
|
|
|
|
|
(delete-file-recursively "src/ciderlib")
|
|
|
|
|
(delete-file "src/ciderinit")
|
|
|
|
|
(substitute* "configure"
|
|
|
|
|
(("src/ciderlib/Makefile") "")
|
|
|
|
|
(("src/ciderlib/input/Makefile") "")
|
|
|
|
|
(("src/ciderlib/support/Makefile") "")
|
|
|
|
|
(("src/ciderlib/oned/Makefile") "")
|
gnu: All snippets report errors using exceptions, else return #t.
* gnu/packages/admin.scm, gnu/packages/algebra.scm, gnu/packages/audio.scm,
gnu/packages/backup.scm, gnu/packages/base.scm,
gnu/packages/bioinformatics.scm, gnu/packages/cdrom.scm,
gnu/packages/chez.scm, gnu/packages/code.scm, gnu/packages/compression.scm,
gnu/packages/cross-base.scm, gnu/packages/crypto.scm, gnu/packages/cups.scm,
gnu/packages/databases.scm, gnu/packages/dns.scm, gnu/packages/emacs.scm,
gnu/packages/emulators.scm, gnu/packages/engineering.scm,
gnu/packages/enlightenment.scm, gnu/packages/fpga.scm,
gnu/packages/freedesktop.scm, gnu/packages/ftp.scm, gnu/packages/games.scm,
gnu/packages/gcc.scm, gnu/packages/geo.scm, gnu/packages/ghostscript.scm,
gnu/packages/gl.scm, gnu/packages/glib.scm, gnu/packages/gnome.scm,
gnu/packages/gnuzilla.scm, gnu/packages/graphics.scm, gnu/packages/gtk.scm,
gnu/packages/guile.scm, gnu/packages/irc.scm, gnu/packages/java.scm,
gnu/packages/kerberos.scm, gnu/packages/linux.scm, gnu/packages/lisp.scm,
gnu/packages/lxde.scm, gnu/packages/machine-learning.scm,
gnu/packages/mail.scm, gnu/packages/maths.scm, gnu/packages/messaging.scm,
gnu/packages/monitoring.scm, gnu/packages/mp3.scm, gnu/packages/music.scm,
gnu/packages/netpbm.scm, gnu/packages/networking.scm, gnu/packages/node.scm,
gnu/packages/nvi.scm, gnu/packages/ocaml.scm, gnu/packages/pdf.scm,
gnu/packages/perl.scm, gnu/packages/php.scm, gnu/packages/plotutils.scm,
gnu/packages/pretty-print.scm, gnu/packages/profiling.scm,
gnu/packages/pulseaudio.scm, gnu/packages/python-crypto.scm,
gnu/packages/python.scm, gnu/packages/qt.scm, gnu/packages/robotics.scm,
gnu/packages/sawfish.scm, gnu/packages/scanner.scm, gnu/packages/scheme.scm,
gnu/packages/scribus.scm, gnu/packages/sdl.scm,
gnu/packages/serialization.scm, gnu/packages/shells.scm,
gnu/packages/slang.scm, gnu/packages/smalltalk.scm, gnu/packages/ssh.scm,
gnu/packages/sync.scm, gnu/packages/syncthing.scm, gnu/packages/tbb.scm,
gnu/packages/terminals.scm, gnu/packages/texinfo.scm,
gnu/packages/text-editors.scm, gnu/packages/textutils.scm,
gnu/packages/tls.scm, gnu/packages/unrtf.scm,
gnu/packages/version-control.scm, gnu/packages/video.scm,
gnu/packages/vpn.scm, gnu/packages/web.scm, gnu/packages/wm.scm,
gnu/packages/wxwidgets.scm, gnu/packages/xdisorg.scm, gnu/packages/xorg.scm:
In all snippets, report errors using exceptions, or else return #t.
2018-03-16 12:47:34 +01:00
|
|
|
|
(("src/ciderlib/twod/Makefile") ""))
|
|
|
|
|
#t))))
|
2017-09-09 19:57:46 +02:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(;; No tests for libngspice exist.
|
|
|
|
|
;; The transient tests for ngspice fail.
|
|
|
|
|
#:tests? #f
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'patch-timestamps
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "configure"
|
2018-06-06 06:23:38 +02:00
|
|
|
|
(("`date`") "Thu Jan 1 00:00:01 UTC 1970"))
|
2017-09-09 19:57:46 +02:00
|
|
|
|
#t))
|
|
|
|
|
(add-after 'unpack 'delete-program-manuals
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "man/man1/Makefile.in"
|
|
|
|
|
(("^man_MANS = ngspice\\.1 ngnutmeg\\.1 ngsconvert\\.1 ngmultidec\\.1")
|
|
|
|
|
"man_MANS = "))
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'install 'delete-script-files
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(delete-file-recursively
|
|
|
|
|
(string-append (assoc-ref outputs "out")
|
|
|
|
|
"/share/ngspice/scripts")))))
|
|
|
|
|
#:configure-flags
|
|
|
|
|
(list "--enable-openmp"
|
|
|
|
|
"--enable-xspice"
|
|
|
|
|
"--with-ngshared"
|
|
|
|
|
"--with-readline=yes")))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("bison" ,bison)
|
|
|
|
|
("flex" ,flex)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("libxaw" ,libxaw)
|
|
|
|
|
("mpi" ,openmpi)
|
|
|
|
|
("readline" ,readline)))
|
|
|
|
|
(home-page "http://ngspice.sourceforge.net/")
|
|
|
|
|
(synopsis "Mixed-level/mixed-signal circuit simulator")
|
|
|
|
|
(description
|
|
|
|
|
"Ngspice is a mixed-level/mixed-signal circuit simulator. It includes
|
|
|
|
|
@code{Spice3f5}, a circuit simulator, and @code{Xspice}, an extension that
|
|
|
|
|
provides code modeling support and simulation of digital components through
|
|
|
|
|
an embedded event driven algorithm.")
|
|
|
|
|
(license (list license:lgpl2.0+ ; code in frontend/numparam
|
|
|
|
|
(license:non-copyleft "file:///COPYING") ; spice3 bsd-style
|
|
|
|
|
license:public-domain)))) ; xspice
|
|
|
|
|
|
|
|
|
|
(define-public ngspice
|
|
|
|
|
;; The ngspice executables (see libngpsice above.)
|
|
|
|
|
(package (inherit libngspice)
|
|
|
|
|
(name "ngspice")
|
|
|
|
|
(arguments
|
|
|
|
|
(substitute-keyword-arguments (package-arguments libngspice)
|
|
|
|
|
((#:configure-flags flags)
|
|
|
|
|
`(delete "--with-ngshared" ,flags))
|
|
|
|
|
((#:phases phases)
|
|
|
|
|
`(modify-phases ,phases
|
|
|
|
|
(add-after 'unpack 'delete-include-files
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "src/Makefile.in"
|
|
|
|
|
(("^SUBDIRS = misc maths frontend spicelib include/ngspice")
|
|
|
|
|
"SUBDIRS = misc maths frontend spicelib"))
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'install 'delete-cmpp-dlmain
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(for-each (lambda (file)
|
|
|
|
|
(delete-file
|
|
|
|
|
(string-append (assoc-ref outputs "out")
|
|
|
|
|
file)))
|
|
|
|
|
'("/bin/cmpp" "/share/ngspice/dlmain.c"))
|
|
|
|
|
#t))
|
|
|
|
|
(delete 'delete-program-manuals)
|
|
|
|
|
(delete 'delete-script-files)))))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("libngspice" ,libngspice)
|
|
|
|
|
("readline" ,readline)))))
|
2017-09-09 19:57:48 +02:00
|
|
|
|
|
|
|
|
|
(define trilinos-serial-xyce
|
|
|
|
|
;; Note: This is a Trilinos containing only the packages Xyce needs, so we
|
|
|
|
|
;; keep it private. See
|
|
|
|
|
;; <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27344#248>.
|
|
|
|
|
;; TODO: Remove when we have modular Trilinos packages?
|
|
|
|
|
(package
|
|
|
|
|
(name "trilinos-serial-xyce")
|
2018-05-19 20:46:24 +02:00
|
|
|
|
(version "12.12.1")
|
2017-09-09 19:57:48 +02:00
|
|
|
|
(source
|
|
|
|
|
(origin (method url-fetch)
|
|
|
|
|
(uri (string-append "https://trilinos.org/oldsite/download/files/trilinos-"
|
|
|
|
|
version "-Source.tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2018-05-19 20:46:24 +02:00
|
|
|
|
"1zgrcksrcbmyy79mbdv0j4j4sh0chpigxk8vcrrwgaxyxwxxhrvw"))))
|
2017-09-09 19:57:48 +02:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:out-of-source? #t
|
2018-05-19 20:46:24 +02:00
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
;; Delete unneeded tribits(build system) directory which makes validate-runpath
|
|
|
|
|
;; phase to fail.
|
|
|
|
|
(add-before 'validate-runpath 'delete-tribits
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(delete-file-recursively
|
|
|
|
|
(string-append (assoc-ref outputs "out")
|
|
|
|
|
"/lib/cmake/tribits"))
|
|
|
|
|
#t)))
|
2017-09-09 19:57:48 +02:00
|
|
|
|
#:configure-flags
|
|
|
|
|
(list "-DCMAKE_CXX_FLAGS=-O3 -fPIC"
|
|
|
|
|
"-DCMAKE_C_FLAGS=-O3 -fPIC"
|
|
|
|
|
"-DCMAKE_Fortran_FLAGS=-O3 -fPIC"
|
|
|
|
|
"-DTrilinos_ENABLE_NOX=ON"
|
|
|
|
|
"-DNOX_ENABLE_LOCA=ON"
|
|
|
|
|
"-DTrilinos_ENABLE_EpetraExt=ON"
|
|
|
|
|
"-DEpetraExt_BUILD_BTF=ON"
|
|
|
|
|
"-DEpetraExt_BUILD_EXPERIMENTAL=ON"
|
|
|
|
|
"-DEpetraExt_BUILD_GRAPH_REORDERINGS=ON"
|
|
|
|
|
"-DTrilinos_ENABLE_TrilinosCouplings=ON"
|
|
|
|
|
"-DTrilinos_ENABLE_Ifpack=ON"
|
|
|
|
|
"-DTrilinos_ENABLE_Isorropia=ON"
|
|
|
|
|
"-DTrilinos_ENABLE_AztecOO=ON"
|
|
|
|
|
"-DTrilinos_ENABLE_Belos=ON"
|
|
|
|
|
"-DTrilinos_ENABLE_Teuchos=ON"
|
|
|
|
|
"-DTeuchos_ENABLE_COMPLEX=ON"
|
|
|
|
|
"-DTrilinos_ENABLE_Amesos=ON"
|
|
|
|
|
"-DAmesos_ENABLE_KLU=ON"
|
|
|
|
|
"-DAmesos_ENABLE_UMFPACK=ON"
|
|
|
|
|
"-DTrilinos_ENABLE_Sacado=ON"
|
|
|
|
|
"-DTrilinos_ENABLE_Kokkos=OFF"
|
|
|
|
|
"-DTrilinos_ENABLE_ALL_OPTIONAL_PACKAGES=OFF"
|
|
|
|
|
"-DTPL_ENABLE_AMD=ON"
|
|
|
|
|
"-DTPL_ENABLE_UMFPACK=ON"
|
|
|
|
|
"-DTPL_ENABLE_BLAS=ON"
|
|
|
|
|
"-DTPL_ENABLE_LAPACK=ON")))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("fortran" ,gfortran)
|
|
|
|
|
("swig" ,swig)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("boost" ,boost)
|
2018-05-19 20:46:24 +02:00
|
|
|
|
("lapack" ,lapack)
|
2017-09-09 19:57:48 +02:00
|
|
|
|
("suitesparse" ,suitesparse)))
|
|
|
|
|
(home-page "https://trilinos.org")
|
|
|
|
|
(synopsis "Engineering and scientific problems algorithms")
|
|
|
|
|
(description
|
|
|
|
|
"The Trilinos Project is an effort to develop algorithms and enabling
|
|
|
|
|
technologies within an object-oriented software framework for the solution of
|
|
|
|
|
large-scale, complex multi-physics engineering and scientific problems. A
|
|
|
|
|
unique design feature of Trilinos is its focus on packages.")
|
|
|
|
|
(license (list license:lgpl2.1+
|
|
|
|
|
license:bsd-3))))
|
|
|
|
|
|
|
|
|
|
(define-public xyce-serial
|
|
|
|
|
(package
|
|
|
|
|
(name "xyce-serial")
|
2018-05-19 20:46:25 +02:00
|
|
|
|
(version "6.8")
|
2017-09-09 19:57:48 +02:00
|
|
|
|
(source
|
|
|
|
|
(origin (method url-fetch)
|
|
|
|
|
(uri (string-append "https://archive.org/download/Xyce-"
|
|
|
|
|
version "/Xyce-" version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2018-05-19 20:46:25 +02:00
|
|
|
|
"09flp1xywbb2laayd9rg8vd0fjsh115y6k1p71jacy0nrbdvvlcg"))))
|
2017-09-09 19:57:48 +02:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f
|
|
|
|
|
#:configure-flags
|
|
|
|
|
(list
|
gnu: Remove more GCC < 7 workarounds.
* gnu/packages/abiword.scm (abiword)[arguments]: Do not pass "-std=c++11" to
the GCC command line.
* gnu/packages/aidc.scm (zbar)[arguments]: Likewise.
* gnu/packages/android.scm (android-libbase, android-libcutils,
android-libziparchive, fastboot)[arguments]: Likewise.
* gnu/packages/audio.scm (azr3, guitarix, suil)[arguments]: Likewise.
* gnu/packages/bioinformatics.scm (bless)[arguments]: Likewise.
* gnu/packages/bittorrent.scm (libtorrent-rasterbar)[arguments]: Likewise.
* gnu/packages/code.scm (rtags)[arguments]: Likewise.
* gnu/packages/coq.scm (coq-gappa)[arguments]: Likewise.
* gnu/packages/emulators.scm (dolphin-emu)[arguments]: Likewise.
* gnu/packages/engineering.scm (xyce-serial, xyce-parallel)[arguments]: Likewise.
* gnu/packages/gnupg.scm (pinentry-qt)[arguments]: Likewise.
* gnu/packages/gobby.scm (libnet6, obby)[arguments]: Likewise.
* gnu/packages/graph.scm (python-faiss)[arguments]: Likewise.
* gnu/packages/graphics.scm (povray)[arguments]: Likewise.
* gnu/packages/image-processing.scm (opencv, itk-snap)[arguments]: Likewise.
* gnu/packages/image.scm (freeimage)[arguments]: Likewise.
* gnu/packages/kodi.scm (crossguid)[arguments]: Likewise.
* gnu/packages/music.scm (amsynth, qmidiarp, qmidiroute, seq24)[arguments]: Likewise.
* gnu/packages/pdf.scm (python-poppler-qt5)[arguments]: Likewise.
* gnu/packages/sagemath.scm (lcalc)[arguments]: Likewise.
* gnu/packages/video.scm (vlc, mlt, v4l-utils)[arguments]: Likewise.
2019-10-20 13:31:19 +02:00
|
|
|
|
"CXXFLAGS=-O3"
|
2017-09-09 19:57:48 +02:00
|
|
|
|
(string-append "ARCHDIR="
|
|
|
|
|
(assoc-ref %build-inputs "trilinos")))))
|
|
|
|
|
(native-inputs
|
2019-09-30 09:48:18 +02:00
|
|
|
|
`(("bison" ,bison-3.0) ;'configure' fails with Bison 3.4
|
2017-09-09 19:57:48 +02:00
|
|
|
|
("flex" ,flex)
|
|
|
|
|
("fortran" ,gfortran)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("fftw" ,fftw)
|
|
|
|
|
("suitesparse" ,suitesparse)
|
2018-05-19 20:46:25 +02:00
|
|
|
|
("lapack" ,lapack)
|
2017-09-09 19:57:48 +02:00
|
|
|
|
("trilinos" ,trilinos-serial-xyce)))
|
|
|
|
|
(home-page "https://xyce.sandia.gov/")
|
|
|
|
|
(synopsis "High-performance analog circuit simulator")
|
|
|
|
|
(description
|
|
|
|
|
"Xyce is a SPICE-compatible, high-performance analog circuit simulator,
|
|
|
|
|
capable of solving extremely large circuit problems by supporting large-scale
|
|
|
|
|
parallel computing platforms. It also supports serial execution.")
|
|
|
|
|
(license license:gpl3+)))
|
2017-09-09 19:57:49 +02:00
|
|
|
|
|
|
|
|
|
(define trilinos-parallel-xyce
|
|
|
|
|
(package (inherit trilinos-serial-xyce)
|
|
|
|
|
(name "trilinos-parallel-xyce")
|
|
|
|
|
(arguments
|
|
|
|
|
`(,@(substitute-keyword-arguments (package-arguments trilinos-serial-xyce)
|
|
|
|
|
((#:configure-flags flags)
|
|
|
|
|
`(append (list "-DTrilinos_ENABLE_ShyLU=ON"
|
|
|
|
|
"-DTrilinos_ENABLE_Zoltan=ON"
|
|
|
|
|
"-DTPL_ENABLE_MPI=ON")
|
|
|
|
|
,flags)))))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("mpi" ,openmpi)
|
|
|
|
|
,@(package-inputs trilinos-serial-xyce)))))
|
|
|
|
|
|
|
|
|
|
(define-public xyce-parallel
|
|
|
|
|
(package (inherit xyce-serial)
|
|
|
|
|
(name "xyce-parallel")
|
|
|
|
|
(arguments
|
|
|
|
|
`(,@(substitute-keyword-arguments (package-arguments xyce-serial)
|
|
|
|
|
((#:configure-flags flags)
|
gnu: Remove more GCC < 7 workarounds.
* gnu/packages/abiword.scm (abiword)[arguments]: Do not pass "-std=c++11" to
the GCC command line.
* gnu/packages/aidc.scm (zbar)[arguments]: Likewise.
* gnu/packages/android.scm (android-libbase, android-libcutils,
android-libziparchive, fastboot)[arguments]: Likewise.
* gnu/packages/audio.scm (azr3, guitarix, suil)[arguments]: Likewise.
* gnu/packages/bioinformatics.scm (bless)[arguments]: Likewise.
* gnu/packages/bittorrent.scm (libtorrent-rasterbar)[arguments]: Likewise.
* gnu/packages/code.scm (rtags)[arguments]: Likewise.
* gnu/packages/coq.scm (coq-gappa)[arguments]: Likewise.
* gnu/packages/emulators.scm (dolphin-emu)[arguments]: Likewise.
* gnu/packages/engineering.scm (xyce-serial, xyce-parallel)[arguments]: Likewise.
* gnu/packages/gnupg.scm (pinentry-qt)[arguments]: Likewise.
* gnu/packages/gobby.scm (libnet6, obby)[arguments]: Likewise.
* gnu/packages/graph.scm (python-faiss)[arguments]: Likewise.
* gnu/packages/graphics.scm (povray)[arguments]: Likewise.
* gnu/packages/image-processing.scm (opencv, itk-snap)[arguments]: Likewise.
* gnu/packages/image.scm (freeimage)[arguments]: Likewise.
* gnu/packages/kodi.scm (crossguid)[arguments]: Likewise.
* gnu/packages/music.scm (amsynth, qmidiarp, qmidiroute, seq24)[arguments]: Likewise.
* gnu/packages/pdf.scm (python-poppler-qt5)[arguments]: Likewise.
* gnu/packages/sagemath.scm (lcalc)[arguments]: Likewise.
* gnu/packages/video.scm (vlc, mlt, v4l-utils)[arguments]: Likewise.
2019-10-20 13:31:19 +02:00
|
|
|
|
`(list "CXXFLAGS=-O3"
|
2017-09-09 19:57:49 +02:00
|
|
|
|
"CXX=mpiCC"
|
|
|
|
|
"CC=mpicc"
|
|
|
|
|
"F77=mpif77"
|
|
|
|
|
"--enable-mpi"
|
|
|
|
|
(string-append
|
|
|
|
|
"ARCHDIR="
|
|
|
|
|
(assoc-ref %build-inputs "trilinos")))))))
|
|
|
|
|
(propagated-inputs
|
|
|
|
|
`(("mpi" ,openmpi)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("trilinos" ,trilinos-parallel-xyce)
|
|
|
|
|
,@(alist-delete "trilinos"
|
|
|
|
|
(package-inputs xyce-serial))))))
|
2017-09-09 19:57:50 +02:00
|
|
|
|
|
|
|
|
|
(define-public freehdl
|
|
|
|
|
(package
|
|
|
|
|
(name "freehdl")
|
|
|
|
|
(version "0.0.8")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "http://downloads.sourceforge.net/qucs/freehdl-"
|
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2020-05-14 00:21:41 +02:00
|
|
|
|
"117dqs0d4pcgbzvr3jn5ppra7n7x2m6c161ywh6laa934pw7h2bz"))
|
|
|
|
|
(patches
|
|
|
|
|
(list (origin
|
|
|
|
|
;; Fix build with GCC 7. Patch taken from Arch Linux:
|
|
|
|
|
;; https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/freehdl
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri "https://git.archlinux.org/svntogit/community.git\
|
|
|
|
|
/plain/trunk/build-fix.patch?h=packages/freehdl\
|
|
|
|
|
&id=3bb90d64dfe6883e26083cd1fa96226d0d59175a")
|
|
|
|
|
(file-name "freehdl-c++-namespace.patch")
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"09df3c70rx81rnhlhry1wpdhji274nx9jb74rfprk06l4739zm08")))))))
|
2017-09-09 19:57:50 +02:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-before 'configure 'patch-pkg-config
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(substitute* "freehdl/freehdl-config"
|
|
|
|
|
(("pkg-config")
|
|
|
|
|
(string-append (assoc-ref inputs "pkg-config")
|
|
|
|
|
"/bin/pkg-config"))
|
|
|
|
|
(("cat")
|
|
|
|
|
(string-append (assoc-ref inputs "coreutils")
|
|
|
|
|
"/bin/cat")))
|
|
|
|
|
#t))
|
2017-10-27 16:18:17 +02:00
|
|
|
|
(add-after 'patch-pkg-config 'setenv
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(setenv "CXX" (string-append (assoc-ref inputs "gcc")
|
|
|
|
|
"/bin/g++"))
|
|
|
|
|
(setenv "SYSTEM_LIBTOOL" (string-append (assoc-ref inputs "libtool")
|
|
|
|
|
"/bin/libtool"))
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'setenv 'patch-gvhdl
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "v2cc/gvhdl.in"
|
|
|
|
|
(("--mode=link") "--mode=link --tag=CXX")
|
|
|
|
|
(("-lm") "-lm FREEHDL/lib/freehdl/libieee.la"))
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'patch-gvhdl 'patch-freehdl-gennodes
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(substitute* "freehdl/freehdl-gennodes.in"
|
|
|
|
|
(("guile")
|
|
|
|
|
(string-append (assoc-ref inputs "guile") "/bin/guile"))
|
|
|
|
|
(("\\(debug") ";(debug")
|
|
|
|
|
(("\\(@ ") "(apply-emit")
|
|
|
|
|
(("\\(@@ ") "(apply-mini-format"))
|
|
|
|
|
#t))
|
2017-09-09 19:57:50 +02:00
|
|
|
|
(add-after 'configure 'patch-freehdl-pc
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(substitute* "freehdl.pc"
|
|
|
|
|
(("=g\\+\\+")
|
2017-10-27 16:18:17 +02:00
|
|
|
|
(string-append "=" (assoc-ref inputs "gcc-toolchain")
|
2017-09-09 19:57:50 +02:00
|
|
|
|
"/bin/g++"))
|
|
|
|
|
(("=libtool")
|
|
|
|
|
(string-append "=" (assoc-ref inputs "libtool")
|
|
|
|
|
"/bin/libtool")))
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'install-scripts 'make-wrapper
|
2017-10-27 16:18:17 +02:00
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
2017-09-09 19:57:50 +02:00
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
2017-10-27 16:18:17 +02:00
|
|
|
|
;; 'gvhdl' invokes the C compiler directly, so hard-code its
|
|
|
|
|
;; file name.
|
|
|
|
|
(wrap-program (string-append out "/bin/gvhdl")
|
|
|
|
|
`("CPLUS_INCLUDE_PATH" ":" prefix
|
|
|
|
|
(,(string-append (assoc-ref inputs "gcc-toolchain")
|
|
|
|
|
"/include")))
|
|
|
|
|
`("LIBRARY_PATH" ":" prefix
|
|
|
|
|
(,(string-append (assoc-ref inputs "gcc-toolchain")
|
|
|
|
|
"/lib")))
|
|
|
|
|
`("PATH" ":" prefix
|
|
|
|
|
(,(string-append (assoc-ref inputs "gcc-toolchain")
|
|
|
|
|
"/bin")
|
|
|
|
|
,(string-append (assoc-ref inputs "coreutils")
|
|
|
|
|
"/bin"))))
|
2017-09-09 19:57:50 +02:00
|
|
|
|
(wrap-program (string-append out "/bin/freehdl-config")
|
|
|
|
|
`("PKG_CONFIG_PATH" ":" prefix (,(string-append out "/lib/pkgconfig")))))
|
|
|
|
|
#t)))))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("coreutils" ,coreutils)
|
2017-10-27 21:37:38 +02:00
|
|
|
|
("gcc-toolchain" ,gcc-toolchain)
|
2017-10-27 16:18:17 +02:00
|
|
|
|
("guile" ,guile-2.2)
|
2017-09-09 19:57:50 +02:00
|
|
|
|
("perl" ,perl)
|
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
|
("libtool" ,libtool)))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config-native" ,pkg-config)
|
|
|
|
|
("libtool-native" ,libtool)))
|
|
|
|
|
(home-page "http://www.freehdl.seul.org/")
|
|
|
|
|
(synopsis "VHDL simulator")
|
|
|
|
|
(description
|
|
|
|
|
"FreeHDL is a compiler/simulator suite for the hardware description language VHDL.
|
|
|
|
|
VHDL'93 as well as VHDL'87 standards are supported.")
|
|
|
|
|
(license (list license:gpl2+
|
|
|
|
|
license:lgpl2.0+)))) ; freehdl's libraries
|
|
|
|
|
|
2017-10-27 16:18:18 +02:00
|
|
|
|
(define-public qucs
|
2018-06-07 21:24:54 +02:00
|
|
|
|
;; Qucs 0.0.19 segfaults when using glibc-2.26. Temporarily build from git.
|
|
|
|
|
;; TODO: When qucs-0.0.20 is released, revert the commit that introduced this
|
|
|
|
|
;; comment and update the package.
|
|
|
|
|
(let ((commit "b4f27d9222568066cd59e4c387c51a35056c99d8")
|
|
|
|
|
(revision "0"))
|
|
|
|
|
(package
|
|
|
|
|
(name "qucs")
|
|
|
|
|
(version (git-version "0.0.19" revision commit))
|
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/Qucs/qucs")
|
|
|
|
|
(commit commit)))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "10bclay9xhkffmsh4j4l28kj1qpxx0pnxja5vx6305cllnq4r3gb"))
|
|
|
|
|
(file-name (string-append name "-" version "-checkout"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
2018-06-07 21:38:37 +02:00
|
|
|
|
(add-before 'bootstrap 'patch-bootstrap
|
|
|
|
|
(lambda _
|
|
|
|
|
(for-each patch-shebang
|
|
|
|
|
'("bootstrap"
|
|
|
|
|
"qucs/bootstrap"
|
|
|
|
|
"qucs-doc/bootstrap"
|
|
|
|
|
"qucs-core/bootstrap"))
|
|
|
|
|
#t))
|
2018-06-07 21:24:54 +02:00
|
|
|
|
(add-before 'configure 'patch-configure
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(substitute* "qucs/configure"
|
|
|
|
|
(("\\$QTDIR") (assoc-ref inputs "qt4")))
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'patch-configure 'patch-scripts
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(substitute* '("qucs/qucs/qucsdigi"
|
|
|
|
|
"qucs/qucs/qucsdigilib"
|
|
|
|
|
"qucs/qucs/qucsveri")
|
|
|
|
|
(("\\$BINDIR")
|
|
|
|
|
(string-append (assoc-ref outputs "out") "/bin"))
|
|
|
|
|
(("freehdl-config")
|
|
|
|
|
(string-append (assoc-ref inputs "freehdl") "/bin/freehdl-config"))
|
|
|
|
|
(("freehdl-v2cc")
|
|
|
|
|
(string-append (assoc-ref inputs "freehdl") "/bin/freehdl-v2cc"))
|
|
|
|
|
(("cp ")
|
|
|
|
|
(string-append (assoc-ref inputs "coreutils") "/bin/cp "))
|
|
|
|
|
(("glibtool")
|
|
|
|
|
(string-append (assoc-ref inputs "libtool") "/bin/libtool"))
|
|
|
|
|
(("sed")
|
|
|
|
|
(string-append (assoc-ref inputs "sed") "/bin/sed"))
|
|
|
|
|
(("iverilog")
|
|
|
|
|
(string-append (assoc-ref inputs "iverilog") "/bin/iverilog"))
|
|
|
|
|
(("vvp")
|
|
|
|
|
(string-append (assoc-ref inputs "iverilog") "/bin/vvp")))
|
|
|
|
|
#t))
|
|
|
|
|
(add-before 'check 'pre-check
|
|
|
|
|
(lambda _
|
|
|
|
|
;; The test suite requires a running X server.
|
|
|
|
|
(system "Xvfb :1 &")
|
|
|
|
|
(setenv "DISPLAY" ":1")
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'install 'make-wrapper
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
|
;; 'qucs' directly invokes gcc, hence this wrapping.
|
|
|
|
|
(wrap-program (string-append out "/bin/qucs")
|
|
|
|
|
`("CPLUS_INCLUDE_PATH" ":" prefix
|
|
|
|
|
(,(string-append (assoc-ref inputs "gcc-toolchain")
|
|
|
|
|
"/include")))
|
|
|
|
|
`("PATH" ":" prefix
|
|
|
|
|
(,(string-append (assoc-ref inputs "gcc-toolchain")
|
|
|
|
|
"/bin")))
|
|
|
|
|
`("LIBRARY_PATH" ":" prefix
|
|
|
|
|
(,(string-append (assoc-ref inputs "gcc-toolchain")
|
|
|
|
|
"/lib")))
|
|
|
|
|
`("ADMSXMLBINDIR" ":" prefix
|
|
|
|
|
(,(string-append (assoc-ref inputs "adms") "/bin")))
|
|
|
|
|
`("ASCOBINDIR" ":" prefix
|
|
|
|
|
(,(string-append (assoc-ref inputs "asco") "/bin")))
|
|
|
|
|
`("QUCS_OCTAVE" ":" prefix
|
|
|
|
|
(,(string-append (assoc-ref inputs "octave") "/bin/octave")))))
|
|
|
|
|
#t)))
|
|
|
|
|
#:parallel-build? #f ; race condition
|
|
|
|
|
#:configure-flags '("--disable-doc"))) ; we need octave-epstk
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("autoconf" ,autoconf)
|
|
|
|
|
("automake" ,automake)
|
|
|
|
|
("bison" ,bison)
|
|
|
|
|
("flex" ,flex)
|
|
|
|
|
("gperf" ,gperf)
|
|
|
|
|
("libtool-native" ,libtool)
|
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
|
("python" ,python-2) ; for tests
|
|
|
|
|
("matplotlib" ,python2-matplotlib) ; for tests
|
|
|
|
|
("numpy" ,python2-numpy) ; for tests
|
gnu: Use the test-only Xorg variant for tests.
* gnu/packages/education.scm (gcompris-qt)[native-inputs]: Change XORG-SERVER
to XORG-SERVER-FOR-TESTS.
* gnu/packages/engineering.scm (pcb, qucs, openscad)[native-inputs]: Likewise.
* gnu/packages/gnome.scm (libbonoboui, d-feet, gspell, libdazzle, libhandy)[native-inputs]: Likewise.
* gnu/packages/gnupg.scm (parcimonie)[native-inputs]: Likewise.
* gnu/packages/graphics.scm (opensubdiv, rapicorn)[native-inputs]: Likewise.
* gnu/packages/gtk.scm (gtksourceview-2, gtksourceview)[native-inputs]: Likewise.
* gnu/packages/image-processing.scm (opencv)[native-inputs]: Likewise.
* gnu/packages/kde-frameworks.scm (kconfig, kcoreaddons, kwidgetsaddons,
kwindowsystem, kdeclarative)[native-inputs]: Likewise.
* gnu/packages/kde-plasma.scm (kscreenlocker)[native-inputs]: Likewise.
* gnu/packages/messaging.scm (gajim)[native-inputs]: Likewise.
* gnu/packages/python-xyz.scm (python-seaborn)[native-inputs]: Likewise.
2019-11-27 22:19:13 +01:00
|
|
|
|
("xorg-server" ,xorg-server-for-tests))) ; for tests
|
2018-06-07 21:24:54 +02:00
|
|
|
|
(inputs
|
|
|
|
|
`(("adms" ,adms)
|
|
|
|
|
("asco" ,asco)
|
|
|
|
|
("coreutils" ,coreutils)
|
|
|
|
|
("freehdl" ,freehdl)
|
|
|
|
|
("gcc-toolchain" ,gcc-toolchain)
|
|
|
|
|
("iverilog" ,iverilog)
|
|
|
|
|
("libtool" ,libtool)
|
2018-12-02 05:15:14 +01:00
|
|
|
|
("octave" ,octave-cli)
|
2018-06-07 21:24:54 +02:00
|
|
|
|
("qt4" ,qt-4)
|
|
|
|
|
("sed" ,sed)))
|
|
|
|
|
(home-page "http://qucs.sourceforge.net/")
|
|
|
|
|
(synopsis "Circuit simulator with graphical user interface")
|
|
|
|
|
(description
|
|
|
|
|
"Qucs is a circuit simulator with graphical user interface. The software
|
2017-10-27 16:18:18 +02:00
|
|
|
|
aims to support all kinds of circuit simulation types---e.g. DC, AC,
|
|
|
|
|
S-parameter, transient, noise and harmonic balance analysis. Pure digital
|
|
|
|
|
simulations are also supported.")
|
2018-06-07 21:24:54 +02:00
|
|
|
|
(license license:gpl2+))))
|
2017-10-27 16:18:19 +02:00
|
|
|
|
|
|
|
|
|
(define-public qucs-s
|
|
|
|
|
(package
|
|
|
|
|
(name "qucs-s")
|
2019-10-07 10:30:08 +02:00
|
|
|
|
(version "0.0.21")
|
2017-10-27 16:18:19 +02:00
|
|
|
|
(source (origin
|
|
|
|
|
(method url-fetch)
|
2018-05-19 20:46:27 +02:00
|
|
|
|
(uri (string-append "https://github.com/ra3xdh/qucs_s/archive/"
|
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(file-name (string-append name "-" version ".tar.gz"))
|
2017-10-27 16:18:19 +02:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-10-07 10:30:08 +02:00
|
|
|
|
"12m1jwhb9qwvb141qzyskbxnw3wn1x22d02z4b4862p7xvccl5h7"))))
|
2017-10-27 16:18:19 +02:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f ; no tests
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-before 'configure 'patch-scripts
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(substitute* '("qucs/qucsdigi"
|
|
|
|
|
"qucs/qucsdigilib"
|
|
|
|
|
"qucs/qucsveri")
|
|
|
|
|
(("\\$BINDIR")
|
|
|
|
|
(string-append (assoc-ref inputs "qucs") "/bin"))
|
|
|
|
|
(("freehdl-config")
|
|
|
|
|
(string-append (assoc-ref inputs "freehdl") "/bin/freehdl-config"))
|
|
|
|
|
(("freehdl-v2cc")
|
|
|
|
|
(string-append (assoc-ref inputs "freehdl") "/bin/freehdl-v2cc"))
|
|
|
|
|
(("cp ")
|
|
|
|
|
(string-append (assoc-ref inputs "coreutils") "/bin/cp "))
|
|
|
|
|
(("glibtool")
|
|
|
|
|
(string-append (assoc-ref inputs "libtool") "/bin/libtool"))
|
|
|
|
|
(("sed")
|
|
|
|
|
(string-append (assoc-ref inputs "sed") "/bin/sed"))
|
|
|
|
|
(("iverilog")
|
|
|
|
|
(string-append (assoc-ref inputs "iverilog") "/bin/iverilog"))
|
|
|
|
|
(("vvp")
|
|
|
|
|
(string-append (assoc-ref inputs "iverilog") "/bin/vvp")))
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'patch-scripts 'patch-paths
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(substitute* "qucs/main.cpp"
|
|
|
|
|
(((string-append "QucsSettings\\.Qucsator = QucsSettings\\.BinDir "
|
|
|
|
|
"\\+ \"qucsator\" \\+ executableSuffix"))
|
|
|
|
|
(string-append "}{ QucsSettings.Qucsator = \""
|
|
|
|
|
(assoc-ref inputs "qucs") "/bin/qucsator\""))
|
2018-05-19 20:46:27 +02:00
|
|
|
|
(((string-append "QucsSettings\\.XyceExecutable = "
|
|
|
|
|
"\"/usr/local/Xyce-Release-6.8.0-OPENSOURCE/bin/Xyce"))
|
|
|
|
|
(string-append "}{ QucsSettings.XyceExecutable = \""
|
2017-10-27 16:18:19 +02:00
|
|
|
|
(assoc-ref inputs "xyce-serial") "/bin/Xyce"))
|
2018-05-19 20:46:27 +02:00
|
|
|
|
(((string-append "else QucsSettings\\.XyceParExecutable = "
|
|
|
|
|
"\"mpirun -np %p /usr/local"
|
|
|
|
|
"/Xyce-Release-6.8.0-OPENMPI-OPENSOURCE/bin/Xyce"))
|
2017-10-27 16:18:19 +02:00
|
|
|
|
(string-append "QucsSettings.XyceParExecutable = \""
|
2018-05-19 20:46:27 +02:00
|
|
|
|
(assoc-ref inputs "mpi") "/bin/mpirun -np %p "
|
|
|
|
|
(assoc-ref inputs "xyce-parallel") "/bin/Xyce"))
|
2017-10-27 16:18:19 +02:00
|
|
|
|
(("else QucsSettings\\.NgspiceExecutable = \"ngspice\"")
|
|
|
|
|
(string-append "QucsSettings.NgspiceExecutable = " "\""
|
|
|
|
|
(assoc-ref inputs "ngspice") "/bin/ngspice\"")))
|
2018-05-19 20:46:27 +02:00
|
|
|
|
(substitute* "qucs/extsimkernels/ngspice.cpp"
|
|
|
|
|
(("share/qucs/xspice_cmlib") "share/qucs-s/xspice_cmlib"))
|
2017-10-27 16:18:19 +02:00
|
|
|
|
(substitute* "qucs/qucs_actions.cpp"
|
|
|
|
|
(("qucstrans")
|
|
|
|
|
(string-append (assoc-ref inputs "qucs") "/bin/qucstrans"))
|
|
|
|
|
(("qucsattenuator")
|
|
|
|
|
(string-append (assoc-ref inputs "qucs") "/bin/qucsattenuator"))
|
|
|
|
|
(("qucsrescodes")
|
|
|
|
|
(string-append (assoc-ref inputs "qucs") "/bin/qucsrescodes")))
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'install 'install-scripts
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(for-each
|
|
|
|
|
(lambda (script)
|
2018-05-19 20:46:27 +02:00
|
|
|
|
(let ((file (string-append "../qucs_s-" ,version
|
2017-10-27 16:18:19 +02:00
|
|
|
|
"/qucs/" script))
|
|
|
|
|
(out (assoc-ref outputs "out")))
|
|
|
|
|
(install-file file (string-append out "/bin"))
|
|
|
|
|
(chmod (string-append out "/bin/" script) #o555)))
|
|
|
|
|
'("qucsdigi" "qucsdigilib" "qucsveri"))
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'install-scripts 'make-wrapper
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(let* ((out (assoc-ref outputs "out"))
|
|
|
|
|
(file (string-append out "/bin/qucs-s"))
|
|
|
|
|
(qucs (assoc-ref inputs "qucs"))
|
|
|
|
|
(qucsator (string-append qucs "/bin/qucsator")))
|
|
|
|
|
(wrap-program file
|
|
|
|
|
`("CPLUS_INCLUDE_PATH" ":" prefix
|
|
|
|
|
(,(string-append (assoc-ref inputs "gcc-toolchain")
|
|
|
|
|
"/include")))
|
|
|
|
|
`("PATH" ":" prefix
|
|
|
|
|
(,(string-append (assoc-ref inputs "gcc-toolchain")
|
|
|
|
|
"/bin")))
|
|
|
|
|
`("LIBRARY_PATH" ":" prefix
|
|
|
|
|
(,(string-append (assoc-ref inputs "gcc-toolchain")
|
|
|
|
|
"/lib")))
|
|
|
|
|
`("QUCSATOR" ":" prefix (,qucsator))
|
|
|
|
|
`("QUCSCONV" ":" prefix (,(string-append qucsator "/bin/qucsconv")))
|
|
|
|
|
`("ADMSXMLBINDIR" ":" prefix (,(string-append (assoc-ref inputs "adms")
|
|
|
|
|
"/bin")))
|
|
|
|
|
`("ASCOBINDIR" ":" prefix (,(string-append (assoc-ref inputs "asco")
|
|
|
|
|
"/bin")))
|
|
|
|
|
`("QUCS_OCTAVE" ":" prefix (,(string-append (assoc-ref inputs "octave")
|
|
|
|
|
"/bin/octave"))))
|
|
|
|
|
(symlink qucsator (string-append out "/bin/qucsator"))
|
|
|
|
|
#t))))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("libtool-native" ,libtool)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("adms" ,adms)
|
|
|
|
|
("asco" ,asco)
|
|
|
|
|
("coreutils" ,coreutils)
|
|
|
|
|
("freehdl" ,freehdl)
|
|
|
|
|
("gcc-toolchain" ,gcc-toolchain)
|
|
|
|
|
("iverilog" ,iverilog)
|
|
|
|
|
("libtool" ,libtool)
|
|
|
|
|
("mpi" ,openmpi)
|
|
|
|
|
("ngspice" ,ngspice)
|
2018-12-02 05:15:14 +01:00
|
|
|
|
("octave" ,octave-cli)
|
2017-10-27 16:18:19 +02:00
|
|
|
|
("qt4" ,qt-4)
|
|
|
|
|
("qucs" ,qucs)
|
|
|
|
|
("sed" ,sed)
|
|
|
|
|
("xyce-serial" ,xyce-serial)
|
|
|
|
|
("xyce-parallel" ,xyce-parallel)))
|
|
|
|
|
(home-page "https://ra3xdh.github.io/")
|
|
|
|
|
(synopsis "Circuit simulator with graphical user interface")
|
|
|
|
|
(description
|
|
|
|
|
"Qucs-S is a spin-off of the Qucs cross-platform circuit simulator.
|
|
|
|
|
The S letter indicates SPICE. The purpose of the Qucs-S subproject is to use
|
|
|
|
|
free SPICE circuit simulation kernels with the Qucs GUI. It provides the
|
|
|
|
|
simulator backends @code{Qucsator}, @code{ngspice} and @code{Xyce}.")
|
|
|
|
|
(license license:gpl2+)))
|
2018-12-01 14:22:42 +01:00
|
|
|
|
|
|
|
|
|
(define-public librepcb
|
|
|
|
|
(package
|
|
|
|
|
(name "librepcb")
|
2020-05-19 21:06:54 +02:00
|
|
|
|
(version "0.1.4")
|
2018-12-01 14:22:42 +01:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
2019-04-25 22:20:21 +02:00
|
|
|
|
(uri (string-append "https://download.librepcb.org/releases/"
|
|
|
|
|
version "/librepcb-" version "-source.zip"))
|
2018-12-01 14:22:42 +01:00
|
|
|
|
(sha256
|
2020-05-19 21:06:54 +02:00
|
|
|
|
(base32 "1b5dkanz3q0y5ag80w0l85hn7axrachb5m9zvyv4zvzrfy09wa88"))))
|
2018-12-01 14:22:42 +01:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(inputs
|
|
|
|
|
`(("qtbase" ,qtbase)
|
2020-05-19 21:06:54 +02:00
|
|
|
|
("qtsvg" ,qtsvg)
|
2018-12-01 14:22:42 +01:00
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
|
(native-inputs
|
2020-01-22 03:05:54 +01:00
|
|
|
|
`(("qttools" ,qttools) ; for lrelease
|
2018-12-01 14:22:42 +01:00
|
|
|
|
("unzip" ,unzip)))
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(replace 'configure
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(mkdir-p "build")
|
|
|
|
|
(chdir "build")
|
|
|
|
|
(let ((lrelease (string-append (assoc-ref inputs "qttools")
|
|
|
|
|
"/bin/lrelease"))
|
|
|
|
|
(out (assoc-ref outputs "out")))
|
|
|
|
|
(invoke "qmake"
|
|
|
|
|
(string-append "QMAKE_LRELEASE=" lrelease)
|
|
|
|
|
(string-append "PREFIX=" out)
|
|
|
|
|
"../librepcb.pro")))))))
|
|
|
|
|
(home-page "https://librepcb.org/")
|
|
|
|
|
(synopsis "Electronic Design Automation tool")
|
|
|
|
|
(description "LibrePCB is @dfn{Electronic Design Automation} (EDA)
|
|
|
|
|
software to develop printed circuit boards. It features human readable file
|
|
|
|
|
formats and complete project management with library, schematic and board
|
|
|
|
|
editors.")
|
|
|
|
|
(license (list license:gpl3+
|
|
|
|
|
license:boost1.0 ; libs/clipper,
|
|
|
|
|
; libs/optional/tests/catch.hpp,
|
|
|
|
|
; libs/sexpresso/tests/catch.hpp
|
|
|
|
|
license:expat ; libs/delaunay-triangulation,
|
|
|
|
|
; libs/parseagle, libs/type_safe
|
|
|
|
|
license:asl2.0 ; libs/fontobene, libs/googletest,
|
|
|
|
|
; libs/parseagle
|
|
|
|
|
license:isc ; libs/hoedown
|
|
|
|
|
license:cc0 ; libs/optional, libs/sexpresso
|
|
|
|
|
license:bsd-2 ; libs/optional/tests/catch.hpp
|
|
|
|
|
license:lgpl2.1+)))) ; libs/quazip
|
2019-02-07 22:33:08 +01:00
|
|
|
|
|
|
|
|
|
(define-public gpx
|
|
|
|
|
(package
|
|
|
|
|
(name "gpx")
|
|
|
|
|
(version "2.5.2")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/markwal/GPX.git")
|
|
|
|
|
(commit version)))
|
gnu: Add 'file-name' where appropriate.
* gnu/packages/admin.scm (detox, neofetch),
gnu/packages/algebra.scm (python-fpylll),
gnu/packages/bioinformatics.scm (tbsp, genrich),
gnu/packages/crypto.scm (hpenc),
gnu/packages/digest.scm (xxhash),
gnu/packages/emacs-xyz.scm (emacs-tiny, emacs-ergoemacs-mode,
emacs-make-it-so, emacs-poet-theme, emacs-deft, emacs-scribble-mode,
emacs-helm-mu, emacs-unidecode, emacs-diff-hl, emacs-helm-exwm,
emacs-gif-screencast, emacs-exec-path-from-shell),
gnu/packages/engineering.scm (gpx),
gnu/packages/freedesktop.scm (waylandpp),
gnu/packages/golang.scm (go-github-com-sirupsen-logrus,
go-github-com-shirou-gopsutil),
gnu/packages/guile-xyz.scm (guile-studio, guile-picture-language,
jupyter-guile-kernel),
gnu/packages/image-viewers.scm (qview),
gnu/packages/java-maths.scm (java-jblas),
gnu/packages/llvm.scm (libclc),
gnu/packages/logging.scm (spdlog),
gnu/packages/ocaml.scm (ocaml-cstruct, ocaml-zarith),
gnu/packages/terminals.scm (libtsm),
gnu/packages/tigervnc.scm (tigervnc-client),
gnu/packages/xdisorg.scm (xcalib, xbanish) [source]: Add file-name.
2019-11-10 11:03:51 +01:00
|
|
|
|
(file-name (git-file-name name version))
|
2019-02-07 22:33:08 +01:00
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"1yab269x8qyf7rd04vaxyqyjv4pzz9lp4sc4dwh927k23avr3rw5"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(home-page "https://github.com/markwal/GPX")
|
|
|
|
|
(synopsis "Converting gcode to x3g files for 3D printing")
|
|
|
|
|
(description
|
|
|
|
|
"GPX is a post processing utility for converting gcode output from 3D
|
|
|
|
|
slicing software to x3g files for standalone 3D printing on common 3D
|
|
|
|
|
printers.")
|
|
|
|
|
(license license:gpl2+)))
|
2019-04-05 13:11:15 +02:00
|
|
|
|
|
|
|
|
|
(define-public gnucap
|
|
|
|
|
(package
|
|
|
|
|
(name "gnucap")
|
|
|
|
|
(version "20171003")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://git.savannah.gnu.org/cgit/gnucap.git/snapshot/gnucap-"
|
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"16m09xa685qhj5fqq3bcgakrwnb74xhf5f7rpqkkf9fg8plzbb1g"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(inputs
|
|
|
|
|
`(("readline" ,readline)))
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(replace 'configure
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
|
;; Set correct rpath so that gnucap finds libgnucap.so.
|
|
|
|
|
(substitute* (list "apps/configure" "lib/configure"
|
|
|
|
|
"main/configure" "modelgen/configure")
|
|
|
|
|
(("LDFLAGS =")
|
|
|
|
|
(string-append "LDFLAGS = -Wl,-rpath=" out "/lib")))
|
|
|
|
|
;; gnucap uses a hand-written configure script that expects the
|
|
|
|
|
;; --prefix argument to be the first argument passed to it.
|
|
|
|
|
(invoke "./configure" (string-append "--prefix=" out)))))
|
|
|
|
|
(replace 'check
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let ((out (assoc-ref outputs "out"))
|
|
|
|
|
(libpath "../lib/O:../apps/O"))
|
|
|
|
|
(with-directory-excursion "tests"
|
|
|
|
|
;; Make test return non-zero exit code when a test fails.
|
|
|
|
|
(substitute* "test"
|
|
|
|
|
(("/bin/sh") "/bin/sh -e")
|
|
|
|
|
(("\\|\\| echo \"\\*\\*\\*\\* \\$ii fails \\*\\*\\*\\*\"") ""))
|
|
|
|
|
;; Fix expected plugin search path for test c_attach.1.gc
|
|
|
|
|
(substitute* "==out/c_attach.1.gc.out"
|
|
|
|
|
(("/usr/local/lib/gnucap")
|
|
|
|
|
(string-append libpath ":" out "/lib/gnucap")))
|
|
|
|
|
;; Set library path so that gnucap can find libgnucap.so
|
|
|
|
|
;; while running the tests.
|
|
|
|
|
(setenv "LD_LIBRARY_PATH" libpath)
|
|
|
|
|
(invoke "./test" "../main/O/gnucap" "" "test-output" "==out"))))))))
|
|
|
|
|
(home-page "https://www.gnu.org/software/gnucap/")
|
|
|
|
|
(synopsis "Mixed analog and digital circuit simulator")
|
|
|
|
|
(description "GNUcap is a circuit analysis package. It offers a general
|
|
|
|
|
purpose circuit simulator and can perform DC and transient analyses, fourier
|
|
|
|
|
analysis and AC analysis. The engine is designed to do true mixed-mode
|
|
|
|
|
simulation.")
|
|
|
|
|
(license license:gpl3+)))
|
2019-07-20 13:30:22 +02:00
|
|
|
|
|
|
|
|
|
(define-public cutter
|
|
|
|
|
(package
|
|
|
|
|
(name "cutter")
|
2020-05-25 22:46:46 +02:00
|
|
|
|
(version "1.10.3")
|
2019-07-20 13:30:22 +02:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/radareorg/cutter")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
2020-05-25 22:46:46 +02:00
|
|
|
|
(base32 "0qj8jyij02nif4jpirl09ygwnv8a9zi3vkb5sf5s8mg7qwlpnvyk"))))
|
2019-07-20 13:30:22 +02:00
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(replace 'configure
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(let ((out (assoc-ref outputs "out"))
|
|
|
|
|
(radare2 (assoc-ref inputs "radare2")))
|
2020-05-25 22:46:46 +02:00
|
|
|
|
;; Fix pkg-config detection ./src/lib_radare2.pri:PREFIX=/usr/lib
|
|
|
|
|
;; override `qmake PREFIX=`.
|
2019-07-20 13:30:22 +02:00
|
|
|
|
(substitute* "./src/lib_radare2.pri"
|
|
|
|
|
(("PREFIX") "R2PREFIX")
|
|
|
|
|
(("R2PREFIX=/usr") (string-append "R2PREFIX=" radare2)))
|
|
|
|
|
(invoke "qmake"
|
|
|
|
|
(string-append "PREFIX=" out)
|
|
|
|
|
"./src/Cutter.pro")))))))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("qtbase" ,qtbase)
|
|
|
|
|
("qtsvg" ,qtsvg)
|
|
|
|
|
("openssl" ,openssl)
|
|
|
|
|
("radare2" ,radare2)))
|
|
|
|
|
(home-page "https://github.com/radareorg/cutter")
|
|
|
|
|
(synopsis "GUI for radare2 reverse engineering framework")
|
|
|
|
|
(description "Cutter is a GUI for radare2 reverse engineering framework.
|
|
|
|
|
Its goal is making an advanced andcustomizable reverse-engineering platform
|
|
|
|
|
while keeping the user experience at mind. Cutter is created by reverse
|
|
|
|
|
engineers for reverse engineers.")
|
|
|
|
|
(license (list license:cc-by-sa3.0 ;the "Iconic" icon set
|
|
|
|
|
license:gpl3+)))) ;everything else
|
2019-08-24 00:23:00 +02:00
|
|
|
|
|
|
|
|
|
(define-public lib3mf
|
|
|
|
|
(package
|
|
|
|
|
(name "lib3mf")
|
|
|
|
|
(version "1.8.1")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference (url "https://github.com/3MFConsortium/lib3mf.git")
|
|
|
|
|
(commit (string-append "v" version))))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"11wpk6n9ga2p57h1dcrp37w77mii0r7r6mlrgmykf7rvii1rzgqd"))))
|
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("googletest-source" ,(package-source googletest))))
|
|
|
|
|
(inputs
|
gnu: util-linux: Move libraries to separate output.
Fixes <https://bugs.gnu.org/37732>.
Reported by Diego Nicola Barbato <dnbarbato@posteo.de>.
* gnu/packages/linux.scm (util-linux)[outputs]: Add "lib".
[arguments]: Update #:configure-flags and the "move-static-libraries" phase
accordingly. Add phases "patch-build-scripts" and "adjust-pkg-config-files".
(e2fsprogs, psm, mtd-utils, f2fs-tools, f2fs-tools-1.7, eudev,
xfsprogs)[inputs]: Change to the "lib" output of UTIL-LINUX.
(btrfs-progs)[inputs]: Remove duplicate UTIL-LINUX inputs and change to use
the "lib" output.
* gnu/packages/admin.scm (pam-mount)[inputs]: Add UTIL-LINUX:LIB.
(testdisk)[inputs]: Change to the "lib" output of UTIL-LINUX.
* gnu/packages/android.scm (abootimg)[inputs]: Likewise.
* gnu/packages/audio.scm (jack-1)[propagated-inputs]: Likewise.
* gnu/packages/bootloaders.scm (syslinux, vboot-utils)[inputs]: Likewise.
* gnu/packages/chez.scm (chez-scheme)[inputs]: Likewise.
* gnu/packages/cryptsetup.scm (cryptsetup, cryptsetup-static)[inputs]: Likewise.
* gnu/packages/databases.scm (postgresql, 4store)[inputs]: Likewise.
* gnu/packages/disk.scm (ndctl, gptfdisk, fdisk, gparted, rmlint,
volume-key)[inputs]: Likewise.
(parted)[inputs]: Likewise.
[native-inputs]: Add UTIL-LINUX.
* gnu/packages/efi.scm (sbsigntools)[inputs]: Add UTIL-LINUX:LIB.
* gnu/packages/engineering.scm (lib3mf)[inputs]: Change to the "lib" output of
UTIL-LINUX.
* gnu/packages/enlightenment.scm (efl)[propagated-inputs]: Likewise.
* gnu/packages/file-systems.scm (glusterfs, jfsutils, zfs)[inputs]: Likewise.
* gnu/packages/firmware.scm (ovmf)[inputs]: Likewise.
* gnu/packages/fontutils.scm (fontconfig)[propagated-inputs]: Likewise.
* gnu/packages/freedesktop.scm (localed)[inputs]: Likewise.
* gnu/packages/glib.scm (glib, appstream-glib)[propagated-inputs]: Likewise.
* gnu/packages/gnome.scm (tracker, gnome-terminal)[inputs]: Likewise.
* gnu/packages/jupyter.scm (xeus)[inputs]: Likewise.
* gnu/packages/kde.scm (kpmcore)[inputs]: Likewise.
* gnu/packages/kodi.scm (crossguid)[inputs]: Likewise.
* gnu/packages/lighting.scm (ola)[inputs]: Likewise.
* gnu/packages/music.scm (libgig)[inputs]: Likewise.
* gnu/packages/nfs.scm (nfs-utils)[inputs]: Likewise.
* gnu/packages/opencog.scm (opencog)[inputs]: Likewise.
* gnu/packages/package-management.scm (msitools)[inputs]: Change to the "lib"
output of UTIL-LINUX.
* gnu/packages/password-utils.scm (pwsafe)[inputs]: Likewise.
* gnu/packages/telephony.scm (pjproject)[propagated-inputs]: Likewise.
* gnu/packages/rdf.scm (rasqal)[inputs]: Likewise.
* gnu/packages/search.scm (xapian)[inputs]: Likewise.
* gnu/packages/sssd.scm (sssd)[native-inputs]: Likewise.
* gnu/packages/storage.scm (ceph)[inputs]: Add UTIL-LINUX:LIB.
* gnu/packages/task-management.scm (taskwarrior)[inputs]: Change to the "lib"
output of UTIL-LINUX.
* gnu/packages/virtualization.scm (libvirt, xen)[inputs]: Likewise.
* gnu/packages/xorg.scm (libsm)[inputs]: Likewise.
2020-01-15 00:24:28 +01:00
|
|
|
|
`(("libuuid" ,util-linux "lib")))
|
2019-08-24 00:23:00 +02:00
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'unpack-googletest
|
|
|
|
|
(lambda* (#:key inputs #:allow-other-keys)
|
|
|
|
|
(copy-recursively (assoc-ref inputs "googletest-source")
|
|
|
|
|
"UnitTests/googletest")
|
|
|
|
|
#t)))))
|
|
|
|
|
(synopsis "Implementation of the 3D Manufacturing Format (3MF) file standard")
|
|
|
|
|
(description
|
|
|
|
|
"Lib3MF is a C++ implementation of the 3D Manufacturing Format (3MF) file
|
|
|
|
|
standard. It offers a way to integrate 3MF reading and writing capabilities, as
|
|
|
|
|
well as conversion and validation tools for input and output data. The
|
|
|
|
|
specification can be downloaded at @url{http://3mf.io/specification/}.")
|
|
|
|
|
(home-page "https://3mf.io/")
|
|
|
|
|
(license license:bsd-2)))
|
2019-09-11 01:22:57 +02:00
|
|
|
|
|
|
|
|
|
(define-public openscad
|
|
|
|
|
(package
|
|
|
|
|
(name "openscad")
|
|
|
|
|
(version "2019.05")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append "https://files.openscad.org/openscad-" version
|
|
|
|
|
".src.tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2020-06-05 20:05:06 +02:00
|
|
|
|
"0nbgk5q5pgnw53la0kccdcpz2f4xf6d6076rkn0q08z57hkc85ha"))
|
|
|
|
|
(patches (search-patches
|
|
|
|
|
"openscad-parser-boost-1.72.patch"))))
|
2019-09-11 01:22:57 +02:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(inputs
|
|
|
|
|
`(("boost" ,boost)
|
|
|
|
|
("cgal" ,cgal)
|
|
|
|
|
("double-conversion" ,double-conversion)
|
|
|
|
|
("eigen" ,eigen)
|
|
|
|
|
("fontconfig" ,fontconfig)
|
|
|
|
|
("glew" ,glew)
|
|
|
|
|
("gmp" ,gmp)
|
|
|
|
|
("harfbuzz" ,harfbuzz)
|
|
|
|
|
("lib3mf" ,lib3mf)
|
|
|
|
|
("libxml2" ,libxml2)
|
|
|
|
|
("libzip" ,libzip)
|
|
|
|
|
("mpfr" ,mpfr)
|
|
|
|
|
("opencsg" ,opencsg)
|
|
|
|
|
("qscintilla" ,qscintilla)
|
|
|
|
|
("qtbase" ,qtbase)
|
|
|
|
|
("qtmultimedia" ,qtmultimedia)))
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("bison" ,bison)
|
|
|
|
|
("flex" ,flex)
|
|
|
|
|
("gettext" ,gettext-minimal)
|
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
|
("which" ,which)
|
|
|
|
|
;; the following are only needed for tests
|
|
|
|
|
("imagemagick" ,imagemagick)
|
|
|
|
|
("ps" ,procps)
|
|
|
|
|
("python" ,python)
|
gnu: Use the test-only Xorg variant for tests.
* gnu/packages/education.scm (gcompris-qt)[native-inputs]: Change XORG-SERVER
to XORG-SERVER-FOR-TESTS.
* gnu/packages/engineering.scm (pcb, qucs, openscad)[native-inputs]: Likewise.
* gnu/packages/gnome.scm (libbonoboui, d-feet, gspell, libdazzle, libhandy)[native-inputs]: Likewise.
* gnu/packages/gnupg.scm (parcimonie)[native-inputs]: Likewise.
* gnu/packages/graphics.scm (opensubdiv, rapicorn)[native-inputs]: Likewise.
* gnu/packages/gtk.scm (gtksourceview-2, gtksourceview)[native-inputs]: Likewise.
* gnu/packages/image-processing.scm (opencv)[native-inputs]: Likewise.
* gnu/packages/kde-frameworks.scm (kconfig, kcoreaddons, kwidgetsaddons,
kwindowsystem, kdeclarative)[native-inputs]: Likewise.
* gnu/packages/kde-plasma.scm (kscreenlocker)[native-inputs]: Likewise.
* gnu/packages/messaging.scm (gajim)[native-inputs]: Likewise.
* gnu/packages/python-xyz.scm (python-seaborn)[native-inputs]: Likewise.
2019-11-27 22:19:13 +01:00
|
|
|
|
("xvfb" ,xorg-server-for-tests)))
|
2019-09-11 01:22:57 +02:00
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(replace 'configure
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(invoke "qmake"
|
|
|
|
|
(string-append "PREFIX=" (assoc-ref outputs "out")))
|
|
|
|
|
#t))
|
|
|
|
|
(replace 'check
|
|
|
|
|
(lambda _
|
|
|
|
|
(with-directory-excursion "tests"
|
|
|
|
|
(invoke "cmake" ".")
|
|
|
|
|
(invoke "make")
|
|
|
|
|
(invoke "ctest"))
|
|
|
|
|
;; strip python test files since lib dir ends up in out/share
|
|
|
|
|
(for-each delete-file
|
|
|
|
|
(find-files "libraries/MCAD" ".*\\.py"))
|
|
|
|
|
#t)))))
|
|
|
|
|
(synopsis "Script-based 3D modeling application")
|
|
|
|
|
(description
|
|
|
|
|
"OpenSCAD is a 3D Computer-aided Design (CAD) application. Unlike an
|
|
|
|
|
interactive modeler, OpenSCAD generates 3D models from a script, giving you
|
|
|
|
|
full programmatic control over your models.")
|
|
|
|
|
(home-page "https://www.openscad.org/")
|
|
|
|
|
(license license:gpl2+)))
|
2019-07-07 04:05:37 +02:00
|
|
|
|
|
2019-07-07 19:32:10 +02:00
|
|
|
|
(define-public freecad
|
|
|
|
|
(package
|
|
|
|
|
(name "freecad")
|
2019-11-14 08:37:31 +01:00
|
|
|
|
(version "0.18.4")
|
2019-07-07 19:32:10 +02:00
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/FreeCAD/FreeCAD.git")
|
|
|
|
|
(commit version)))
|
2020-05-10 12:23:18 +02:00
|
|
|
|
(modules '((guix build utils)))
|
|
|
|
|
(snippet
|
|
|
|
|
'(begin
|
|
|
|
|
;; Fix build with Python 3.8, see
|
|
|
|
|
;; <https://tracker.freecadweb.org/view.php?id=4143>.
|
|
|
|
|
(substitute* "src/Base/swigpyrun.inl"
|
|
|
|
|
(("PyObject \\*modules = interp->modules;")
|
|
|
|
|
"PyObject *modules = PyEval_GetBuiltins();"))
|
|
|
|
|
#t))
|
2019-07-07 19:32:10 +02:00
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
2019-11-14 08:37:31 +01:00
|
|
|
|
"170hk1kgrvsddrwykp24wyj0cha78zzmzbf50gn98x7ngqqs395s"))))
|
2020-02-22 06:15:38 +01:00
|
|
|
|
(build-system qt-build-system)
|
2019-07-07 19:32:10 +02:00
|
|
|
|
(native-inputs
|
|
|
|
|
`(("doxygen" ,doxygen)
|
|
|
|
|
("graphviz" ,graphviz)
|
|
|
|
|
("qttools" ,qttools)
|
|
|
|
|
("pkg-config" ,pkg-config)
|
|
|
|
|
("swig" ,swig)))
|
|
|
|
|
(inputs
|
|
|
|
|
`(("boost" ,boost)
|
|
|
|
|
("coin3D" ,coin3D)
|
|
|
|
|
("eigen" ,eigen)
|
|
|
|
|
("freetype" ,freetype)
|
|
|
|
|
("glew" ,glew)
|
|
|
|
|
("hdf5" ,hdf5-1.10)
|
|
|
|
|
("libarea" ,libarea)
|
|
|
|
|
("libmedfile" ,libmedfile)
|
|
|
|
|
("libspnav" ,libspnav)
|
|
|
|
|
("libxi" ,libxi)
|
|
|
|
|
("libxmu" ,libxmu)
|
|
|
|
|
("openmpi" ,openmpi)
|
|
|
|
|
("opencascade-occt" ,opencascade-occt)
|
|
|
|
|
("python-matplotlib" ,python-matplotlib)
|
|
|
|
|
("python-pyside-2" ,python-pyside-2)
|
|
|
|
|
("python-pyside-2-tools" ,python-pyside-2-tools)
|
|
|
|
|
("python-shiboken-2" ,python-shiboken-2)
|
|
|
|
|
("python-wrapper" ,python-wrapper)
|
2020-02-24 19:39:17 +01:00
|
|
|
|
("qtbase" ,qtbase)
|
2019-07-07 19:32:10 +02:00
|
|
|
|
("qtsvg" ,qtsvg)
|
|
|
|
|
("qtx11extras" ,qtx11extras)
|
|
|
|
|
("qtxmlpatterns" ,qtxmlpatterns)
|
|
|
|
|
;; qtwebkit is optional. We remove it currently, because it takes
|
|
|
|
|
;; much time to compile and substitutes are often unavailable
|
|
|
|
|
;;("qtwebkit" ,qtwebkit)
|
|
|
|
|
("tbb" ,tbb)
|
|
|
|
|
("vtk" ,vtk)
|
|
|
|
|
("xerces-c" ,xerces-c)
|
|
|
|
|
("zlib" ,zlib)))
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f
|
|
|
|
|
#:configure-flags
|
|
|
|
|
(list
|
|
|
|
|
"-DBUILD_QT5=ON"
|
|
|
|
|
(string-append "-DCMAKE_INSTALL_LIBDIR="
|
|
|
|
|
(assoc-ref %outputs "out") "/lib"))
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-before 'configure 'restore-pythonpath
|
|
|
|
|
(lambda _
|
|
|
|
|
(substitute* "src/Main/MainGui.cpp"
|
|
|
|
|
(("_?putenv\\(\"PYTHONPATH=\"\\);") ""))
|
|
|
|
|
#t))
|
|
|
|
|
(add-after 'install 'wrap-pythonpath
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
|
(wrap-program (string-append out "/bin/FreeCAD")
|
|
|
|
|
(list "PYTHONPATH"
|
|
|
|
|
'prefix (list (getenv "PYTHONPATH")))))
|
|
|
|
|
#t)))))
|
|
|
|
|
(home-page "https://www.freecadweb.org/")
|
|
|
|
|
(synopsis "Your Own 3D Parametric Modeler")
|
|
|
|
|
(description
|
|
|
|
|
"FreeCAD is a general purpose feature-based, parametric 3D modeler for
|
|
|
|
|
CAD, MCAD, CAx, CAE and PLM, aimed directly at mechanical engineering and
|
|
|
|
|
product design but also fits a wider range of uses in engineering, such as
|
|
|
|
|
architecture or other engineering specialties. It is 100% Open Source (LGPL2+
|
|
|
|
|
license) and extremely modular, allowing for very advanced extension and
|
|
|
|
|
customization.")
|
|
|
|
|
(license
|
|
|
|
|
(list
|
|
|
|
|
license:lgpl2.1+
|
|
|
|
|
license:lgpl2.0+
|
|
|
|
|
license:gpl3+
|
|
|
|
|
license:bsd-3))))
|
|
|
|
|
|
2019-07-07 19:13:17 +02:00
|
|
|
|
(define-public libmedfile
|
|
|
|
|
(package
|
|
|
|
|
(name "libmedfile")
|
|
|
|
|
(version "4.0.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"https://files.salome-platform.org/Salome/other/med-"
|
|
|
|
|
version ".tar.gz"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"017h9p0x533fm4gn6pwc8kmp72rvqmcn6vznx72nkkl2b05yjx54"))))
|
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(inputs `(("hdf5" ,hdf5-1.10)))
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'install 'remove-test-output
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
|
(delete-file-recursively
|
|
|
|
|
(string-append out "/bin/testc"))
|
|
|
|
|
#t))))))
|
|
|
|
|
(home-page "https://www.salome-platform.org")
|
|
|
|
|
(synopsis "Library to read and write MED files")
|
|
|
|
|
(description
|
|
|
|
|
"The purpose of the MED module is to provide a standard for storing and
|
|
|
|
|
recovering computer data associated to numerical meshes and fields, and to
|
|
|
|
|
facilitate the exchange between codes and solvers.
|
|
|
|
|
|
|
|
|
|
The persistent data storage is based upon HDF format (like CGNS, a standard
|
|
|
|
|
developed by Boeing and NASA in the area of Computational Fluid Dynamic).
|
|
|
|
|
|
|
|
|
|
MED also provides structures to hold data on meshes and fields. These
|
|
|
|
|
structures are exchanged between solvers, hide the communication level (CORBA
|
|
|
|
|
or MPI), and offer persistence (read/write in .med files).
|
|
|
|
|
|
|
|
|
|
The main benefit of a common exchange format is reduced complexity of code
|
|
|
|
|
coupling. It also allows sharing such high level functionalities as
|
|
|
|
|
computation of nodal connectivity of sub-elements (faces and edges),
|
|
|
|
|
arithmetic operations on fields, entity location functionalities, and
|
|
|
|
|
interpolation toolkit.")
|
|
|
|
|
(license license:gpl3+)))
|
|
|
|
|
|
2019-07-07 19:03:38 +02:00
|
|
|
|
(define-public libarea
|
|
|
|
|
(let ((revision "1")
|
|
|
|
|
(commit "8f8bac811c10f1f01fda0d742a18591f61dd76ee"))
|
|
|
|
|
(package
|
|
|
|
|
(name "libarea")
|
|
|
|
|
(version (git-version "0" revision commit))
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference (url "https://github.com/Heeks/libarea.git")
|
|
|
|
|
(commit commit)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "0pvqz6cabxqdz5y26wnj6alkn8v5d7gkx0d3h8xmg4lvy9r3kh3g"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(inputs `(("boost" ,boost)
|
|
|
|
|
("python-wrapper" ,python-wrapper)))
|
|
|
|
|
(native-inputs
|
2020-03-15 13:28:27 +01:00
|
|
|
|
`(("cmake" ,cmake-minimal)))
|
2019-07-07 19:03:38 +02:00
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'configure 'cmake-configure
|
|
|
|
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
|
|
|
|
(let ((out (assoc-ref outputs "out"))
|
|
|
|
|
(cmake (assoc-ref inputs "cmake")))
|
|
|
|
|
(mkdir-p "build")
|
|
|
|
|
(invoke "cmake"
|
|
|
|
|
(string-append "-DCMAKE_INSTALL_PREFIX=" out)))))
|
|
|
|
|
(delete 'configure))))
|
|
|
|
|
(home-page "https://github.com/Heeks/libarea")
|
|
|
|
|
(synopsis
|
|
|
|
|
"Library and python module for pocketing and profiling operations")
|
|
|
|
|
(description
|
|
|
|
|
"Area is a CAM-related software for pocketing operation.
|
|
|
|
|
|
|
|
|
|
This project provides library and associated python-module to compute pocket
|
|
|
|
|
operations.")
|
|
|
|
|
(license (list
|
|
|
|
|
license:bsd-3
|
|
|
|
|
license:gpl3+)))))
|
|
|
|
|
|
2019-07-07 04:05:37 +02:00
|
|
|
|
(define-public libspnav
|
|
|
|
|
(package
|
|
|
|
|
(name "libspnav")
|
|
|
|
|
(version "0.2.3")
|
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/FreeSpacenav/libspnav.git")
|
|
|
|
|
(commit (string-append "libspnav-" version))))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32
|
|
|
|
|
"098h1jhlj87axpza5zgy58prp0zn94wyrbch6x0s7q4mzh7dc8ba"))
|
|
|
|
|
(file-name (git-file-name name version))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(inputs
|
|
|
|
|
`(("libx11" ,libx11)))
|
|
|
|
|
(arguments `(#:tests? #f))
|
|
|
|
|
(home-page "http://spacenav.sourceforge.net/")
|
|
|
|
|
(synopsis
|
|
|
|
|
"Library for communicating with spacenavd or 3dxsrv")
|
|
|
|
|
(description
|
|
|
|
|
"The libspnav library is provided as a replacement of the magellan
|
|
|
|
|
library. It provides a cleaner, and more orthogonal interface. libspnav
|
|
|
|
|
supports both the original X11 protocol for communicating with the driver, and
|
|
|
|
|
the new alternative non-X protocol. Programs that choose to use the X11
|
|
|
|
|
protocol, are automatically compatible with either the free spacenavd driver
|
|
|
|
|
or the official 3dxserv, as if they were using the magellan SDK.
|
|
|
|
|
|
|
|
|
|
Also, libspnav provides a magellan API wrapper on top of the new API. So, any
|
|
|
|
|
applications that were using the magellan library, can switch to libspnav
|
2019-11-12 04:17:55 +01:00
|
|
|
|
without any changes. And programmers that are familiar with the magellan API
|
2019-07-07 04:05:37 +02:00
|
|
|
|
can continue using it with a free library without the restrictions of the
|
|
|
|
|
official SDK.")
|
|
|
|
|
(license license:bsd-3)))
|
2020-05-14 16:55:32 +02:00
|
|
|
|
|
|
|
|
|
(define-public openctm
|
|
|
|
|
(let ((revision 603))
|
|
|
|
|
;; Previous versions don't compile, they need to link libGL and libGLU.
|
|
|
|
|
;; Fixed in this revision.
|
|
|
|
|
(package
|
|
|
|
|
(name "openctm")
|
|
|
|
|
(version (string-append "1.0.3." (number->string revision)))
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method svn-fetch)
|
|
|
|
|
(uri (svn-reference
|
|
|
|
|
(url "https://svn.code.sf.net/p/openctm/code/trunk")
|
|
|
|
|
(revision revision)))
|
|
|
|
|
(file-name (string-append name "-" version "-checkout"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "01wb70m48xh5gwhv60a5brv4sxl0i0rh038w32cgnlxn5x86s9f1"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(native-inputs
|
2020-05-16 12:24:47 +02:00
|
|
|
|
`(("pkg-config" ,pkg-config)))
|
|
|
|
|
(inputs
|
2020-05-14 16:55:32 +02:00
|
|
|
|
`(("mesa" ,mesa)
|
|
|
|
|
("glu" ,glu)
|
|
|
|
|
("glut" ,freeglut)
|
2020-05-16 12:24:47 +02:00
|
|
|
|
("gtk" ,gtk+-2)))
|
2020-05-14 16:55:32 +02:00
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f ;no tests
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(replace 'configure
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(rename-file "Makefile.linux" "Makefile")
|
|
|
|
|
(let ((out (assoc-ref outputs "out")))
|
|
|
|
|
;; Create output directories.
|
|
|
|
|
(mkdir-p (string-append out "/lib"))
|
|
|
|
|
(mkdir-p (string-append out "/include"))
|
|
|
|
|
(mkdir-p (string-append out "/bin"))
|
|
|
|
|
;; Fix rpath.
|
|
|
|
|
(substitute* "tools/Makefile.linux"
|
|
|
|
|
(("-rpath,\\.")
|
|
|
|
|
(string-append "-rpath," out "/lib/"))
|
|
|
|
|
(("/usr/local")
|
|
|
|
|
out))
|
|
|
|
|
;; Set right output.
|
|
|
|
|
(substitute* "Makefile"
|
|
|
|
|
(("/usr/lib")
|
|
|
|
|
(string-append out "/lib"))
|
|
|
|
|
(("\\/usr\\/local")
|
|
|
|
|
out))
|
|
|
|
|
#t))))))
|
|
|
|
|
(synopsis "3D triangle mesh format and related tools and libraries")
|
|
|
|
|
(description "OpenCTM is a file format, a software library and a tool set
|
|
|
|
|
for compression of 3D triangle meshes. The geometry is compressed to a
|
|
|
|
|
fraction of comparable file formats (3DS, STL, COLLADA...), and the format is
|
|
|
|
|
accessible through a simple API")
|
|
|
|
|
(license license:zlib)
|
|
|
|
|
(home-page "http://openctm.sourceforge.net/"))))
|
2020-05-15 16:05:11 +02:00
|
|
|
|
|
|
|
|
|
(define-public lib3ds
|
|
|
|
|
(package
|
|
|
|
|
(name "lib3ds")
|
|
|
|
|
(version "1.3.0")
|
|
|
|
|
(source
|
|
|
|
|
(origin
|
|
|
|
|
(method url-fetch)
|
|
|
|
|
(uri (string-append
|
|
|
|
|
"https://storage.googleapis.com/google-code-archive-downloads"
|
|
|
|
|
"/v2/code.google.com/lib3ds/lib3ds-" version ".zip"))
|
|
|
|
|
(sha256
|
|
|
|
|
(base32 "1qr9arfdkjf7q11xhvxwzmhxqz3nhcjkyb8zzfjpz9jm54q0rc7m"))))
|
|
|
|
|
(build-system gnu-build-system)
|
|
|
|
|
(native-inputs
|
|
|
|
|
`(("unzip" ,unzip)))
|
|
|
|
|
(home-page "https://code.google.com/archive/p/lib3ds")
|
|
|
|
|
(synopsis "3DS format file toolkit")
|
|
|
|
|
(description "Lib3ds is a toolkit for handling the 3DS format for 3D
|
|
|
|
|
model files. Its main goal is to simplify the creation of 3DS import and
|
|
|
|
|
export filters.")
|
|
|
|
|
(license license:lgpl2.1+)))
|
2020-06-12 23:41:18 +02:00
|
|
|
|
|
|
|
|
|
(define-public meshlab
|
|
|
|
|
(package
|
|
|
|
|
(name "meshlab")
|
2020-06-18 01:41:30 +02:00
|
|
|
|
(version "2020.06")
|
2020-06-12 23:41:18 +02:00
|
|
|
|
(source (origin
|
|
|
|
|
(method git-fetch)
|
|
|
|
|
(uri (git-reference
|
|
|
|
|
(url "https://github.com/cnr-isti-vclab/meshlab")
|
|
|
|
|
(commit (string-append "Meshlab-" version))
|
|
|
|
|
(recursive? #t)))
|
|
|
|
|
(file-name (git-file-name name version))
|
|
|
|
|
(sha256
|
2020-06-18 01:41:30 +02:00
|
|
|
|
(base32 "1cgx24wxh2ah5pff51rcrk6x8qcdjpkxcdak7s4cfzmxvjlshydd"))))
|
2020-06-12 23:41:18 +02:00
|
|
|
|
(build-system cmake-build-system)
|
|
|
|
|
(inputs
|
|
|
|
|
`(("qtbase" ,qtbase)
|
|
|
|
|
("qtscript" ,qtscript)
|
|
|
|
|
("qtxmlpatterns" ,qtxmlpatterns)
|
|
|
|
|
("mesa" ,mesa)
|
|
|
|
|
("glu" ,glu)
|
|
|
|
|
("glew" ,glew)
|
|
|
|
|
("muparser" ,muparser)
|
|
|
|
|
("gmp" ,gmp)
|
|
|
|
|
("eigen" ,eigen)
|
|
|
|
|
("libfreenect" ,libfreenect)
|
|
|
|
|
("lib3ds" ,lib3ds)
|
|
|
|
|
("openctm" ,openctm)
|
|
|
|
|
;; FIXME: Compilation fails with system qhull:
|
|
|
|
|
;; https://github.com/cnr-isti-vclab/meshlab/issues/678
|
|
|
|
|
;; ("qhull" ,qhull)
|
|
|
|
|
))
|
|
|
|
|
(arguments
|
|
|
|
|
`(#:tests? #f ; Has no tests
|
|
|
|
|
#:phases
|
|
|
|
|
(modify-phases %standard-phases
|
|
|
|
|
(add-after 'unpack 'go-to-source-dir
|
|
|
|
|
(lambda _ (chdir "src") #t))
|
|
|
|
|
(add-after 'install 'move-files
|
|
|
|
|
(lambda* (#:key outputs #:allow-other-keys)
|
|
|
|
|
(let ((lib (string-append (assoc-ref outputs "out")
|
|
|
|
|
"/lib")))
|
|
|
|
|
(rename-file
|
|
|
|
|
(string-append lib "/meshlab/libmeshlab-common.so")
|
|
|
|
|
(string-append lib "/libmeshlab-common.so"))
|
|
|
|
|
#t))))))
|
|
|
|
|
(synopsis "3D triangular mesh processing and editing software")
|
|
|
|
|
(home-page "https://www.meshlab.net/")
|
|
|
|
|
(description "MeshLab is a system for the processing and
|
|
|
|
|
editing of unstructured large 3D triangular meshes. It is aimed to help the
|
|
|
|
|
processing of the typical not-so-small unstructured models arising in 3D
|
|
|
|
|
scanning, providing a set of tools for editing, cleaning, healing, inspecting,
|
|
|
|
|
rendering and converting this kind of meshes. These tools include MeshLab
|
|
|
|
|
proper, a versatile program with a graphical user interface, and meshlabserver,
|
|
|
|
|
a program that can perform mesh processing tasks in batch mode, without a
|
|
|
|
|
GUI.")
|
|
|
|
|
(license license:gpl3+)))
|
2020-06-19 16:08:40 +02:00
|
|
|
|
|
|
|
|
|
(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+))))
|