summaryrefslogtreecommitdiff
path: root/sci-electronics/balsa
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sci-electronics/balsa
reinit the tree, so we can have metadata
Diffstat (limited to 'sci-electronics/balsa')
-rw-r--r--sci-electronics/balsa/Manifest12
-rw-r--r--sci-electronics/balsa/balsa-4.0-r1.ebuild154
-rw-r--r--sci-electronics/balsa/files/4.0-datadir.patch73
-rw-r--r--sci-electronics/balsa/files/4.0-ldflags.patch11
-rw-r--r--sci-electronics/balsa/files/4.0-libdir.patch36
-rw-r--r--sci-electronics/balsa/metadata.xml16
6 files changed, 302 insertions, 0 deletions
diff --git a/sci-electronics/balsa/Manifest b/sci-electronics/balsa/Manifest
new file mode 100644
index 000000000000..eb61f62f1b65
--- /dev/null
+++ b/sci-electronics/balsa/Manifest
@@ -0,0 +1,12 @@
+AUX 4.0-datadir.patch 2318 SHA256 3c77aa00d2a5e50ca736842f5540de9e276df752e02e0498837fe0da2ed8a0ff SHA512 afaefd4df693da6e512956c0a261e0af915a4acc5397ce01f55042ca46a4d6504fe85d747c056ccc98705de862e99ccbd865de0aa3f60a3579bfd6ff5b31fd20 WHIRLPOOL 39bde8052a7f7fd521a274666e86d896851c6599d86f4d7236b4fca48cb2f8f6ce286126b3295c13fffe6695d8e1d0f7812a1f699af22f9ac3596f550d821023
+AUX 4.0-ldflags.patch 556 SHA256 1c8050e8f78d871980f8ec5247aaedcd0328ddec7350f697bf976c91f52b4ad0 SHA512 545f861c4a73cee5cc029f57863dc025d00888382106a23f7db40ac00c39bfd51a05475366b9e574f877aff33200b15f2295a217cf9d45bf702248b776cb48e1 WHIRLPOOL 1909c6bac3a6447b24592662e2fe998cddf77ebf304e89bb1fe22e64006c1a7700c2432530a930da9c3551e00266e988f43ccd69e044a4b8e60a976c164ae9b1
+AUX 4.0-libdir.patch 1383 SHA256 35cadc286414b4ce10f2b4c8dcf153dab1eaf08243b999b5ac09bf6ddf429b1e SHA512 5d253a9e2cccb4517c6a96452c4df89852d062a3b6d49e9b10edb99ac45acbe714a54cbda3d118259af6d39440ae1d7d1792ef31cf546ae0da94a68c54d92d52 WHIRLPOOL e3b5d5494472b75f65ac22c094a841cdceed60a2178ec94f821d989ba28f67ab369dc81d5ad18a86b6f79516dc2588d5512bc2857cdc250023681980b43fc5c1
+DIST balsa-4.0.tar.gz 2828800 SHA256 ae69842dd698e4b97fe3d78c125c40ebda8ba1879a086b5beb135103d3ee3d34 SHA512 b1eab622d9d256970257e512b130deff4a69c996c178d7158fbe6c8bd3e27e4212176c328f92e943564fc92c9b210387fad12c6034d3878db18e95c715300355 WHIRLPOOL b7e09ae89e62f7feb99a6f48a7b11087913359d60eb6dcf7953eee5b1a77d17d8f6a140962d12d500d13ca06181e3281a87a0422eb46ad773f88b8e86771b969
+DIST balsa-sim-verilog-4.0.tar.gz 301397 SHA256 972f3151b2e37e56bd4c5210de263d006dcf8913e3e757ad0623cedc0c821fef SHA512 48b17a0c8f11264726b50cdcf5431794a05feabac238af1270402131787aae6a5316d918a96caaee6d173de9d37c59356c55e1cd4d0c8e31b997922c82a65e20 WHIRLPOOL d11b0b51b6d0613bc5b23c9efd16933c343fdb3c5658e59f816144f8b8936b31ba52c8c38c9819c1a4beeef43ce92402ba0f5827292e0c4d0b3c85b3aea2b9e6
+DIST balsa-tech-example-4.0.tar.gz 137704 SHA256 495cb6adb6759e8c5eb2b87ac4ea530f3b5598d19985ed673e4ba180fb18f78a SHA512 99124da0d937f4683fcf7f0ab5c7811af739044f93657120e5494d8ac0a1f12a0ef32742bbd8469428f34ee1d5271f1e36476541d533950f2940e363e4eb5d4d WHIRLPOOL 97917e2d752378fc577b1b4779d6257117f1b83aa70c805025680734e44a9a7f9cd12dd477778113bd1c40c33eaa571b0b245b506d769731f768f667155474a2
+DIST balsa-tech-minimal-4.0.tar.gz 67628 SHA256 70b83163d75e4bc5876d9f74442e1ed89b4b88fa5436166ee68d85be086c242f SHA512 fd1a76be3cb84bd5885f7b5f6831dc65e7cf08b77c38c0f2092a9edaf9d6b1121c43e5654e4cdff059e2c2bdbf9e6b1dfd9b159034758b4e3d1f8b54de9945bb WHIRLPOOL 198e4e7e7f6de982ff3406a99e257c032c153a70bce44f028305ef66a0194687782c6e87b265975a6d5afc8bfbaec4e1e21bb74f1a6d1ddc815cfa89c6205ba9
+DIST balsa-tech-xilinx-4.0.tar.gz 159683 SHA256 2ca6cc877bef0406a4d219e2ca1c66932d3c725b23b19eef7123b124ad673e5f SHA512 dc0c343d8810fd115338ab6cf3c465da059e16105237d0edb657700b35f3836e2fa5e932c1e8ca2b8b34955a257a9e48539cf532c0582f089fc5973d797f4f5c WHIRLPOOL 9f3ad1a5fb4bdb5398613f1120491f8195ef92059dce8c156a4011ff14ccc104d9cb3245a7f9e781966356323d363cf0f6620d9ad6aff623bc832ef6a56483b8
+EBUILD balsa-4.0-r1.ebuild 4031 SHA256 bf8e220773b3cc78f5bfe4e89c8e7bab3ee9d356559c58c1be0deb83cd4d740f SHA512 76ae9d63c7906400c950e3a2c3e1fb63aa85389dbced053ea75a5b0bfd7805d8664dbbbe95ae63eb23fccab4b0ee8a1242f7f622167a9f24e6293eee92df5c4b WHIRLPOOL 12e5de92cd7596b8ae1c73ab163a26f7a15fa5e3d100c12c234a92acee0f8709fc67e25e7070c0c26d2eeb5834aaf26a9f75c2254b062eb386c1cafbd5a9da5c
+MISC ChangeLog 2509 SHA256 00b6c6c1af4ac7a8111181a64c2b1d452c9a1ab7b8c0db5dee690bb7e13d486d SHA512 2b9bbdb323b68056ce6a5f2ee5e3f556b2ef027de4ec758f63eed94ead58b8b1eff7ec093060ec21bd6afac5638c7c8097541165391add3ea86b80d61b20574f WHIRLPOOL 920d6a1b4144eaa3b84a1475ca7a3ff3923ee3c814087445cc30e4a48af84687e9c6a9349b0602a2040f61668282a2cd8ecb543dd2891be1d51f36a2f73c1480
+MISC ChangeLog-2015 5181 SHA256 81ce842f78a342cb0ecf036876c878cb61c16087494b05b2661de9d152cec2aa SHA512 d78a15369d30d35affc2221e770e4eeae218d365a71e829834ffd259f3ff905f2e789ac6a6d977117c0d9c8ed1c011c36a52c595f0b2d6875acfdca79513ab85 WHIRLPOOL 3bb76448cd7b9abd5a52a10dc627b3ebc562a0149eec8f2428b93267a964914c07bd6d4d52f60b93a0a301c8d1a7a2acae86aff4a4e0a68c943ef4969cce298e
+MISC metadata.xml 709 SHA256 55482d55d93801fdee304535bd4130db0edb74f1cacc86f74d769cd5be6538d9 SHA512 c33b093fe89a824018b3cd73aa3e93046b68b197c25ec146517ef533ad71770ef8af70331bf0ee99c7ecf5192d71977650099fd3d4bb29a6fc274966899f3b0b WHIRLPOOL e02c20df1dbfd3115bc3527ff8274d571af03a2813c2d4cceae334f758160099bbff70c8099f9f0c867aa80af4a77301eca0baa397e9f49e4cd80878a901f446
diff --git a/sci-electronics/balsa/balsa-4.0-r1.ebuild b/sci-electronics/balsa/balsa-4.0-r1.ebuild
new file mode 100644
index 000000000000..da5a37db4de2
--- /dev/null
+++ b/sci-electronics/balsa/balsa-4.0-r1.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="5"
+
+inherit autotools eutils multilib toolchain-funcs
+
+DESCRIPTION="The Balsa asynchronous synthesis system"
+HOMEPAGE="http://apt.cs.manchester.ac.uk/projects/tools/balsa/"
+SRC_URI="
+ http://apt.cs.manchester.ac.uk/ftp/pub/apt/balsa/${PV}/${P}.tar.gz
+ http://apt.cs.manchester.ac.uk/ftp/pub/apt/balsa/${PV}/${PN}-sim-verilog-${PV}.tar.gz
+ http://apt.cs.manchester.ac.uk/ftp/pub/apt/balsa/${PV}/${PN}-tech-minimal-${PV}.tar.gz
+ http://apt.cs.manchester.ac.uk/ftp/pub/apt/balsa/${PV}/${PN}-tech-example-${PV}.tar.gz
+ http://apt.cs.manchester.ac.uk/ftp/pub/apt/balsa/${PV}/${PN}-tech-xilinx-${PV}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE=""
+
+DEPEND="
+ dev-lang/perl
+ dev-libs/gmp:0
+ sci-electronics/gplcver
+ sci-electronics/iverilog
+ x11-libs/gtk+:2"
+RDEPEND="${DEPEND}
+ dev-scheme/guile
+ media-gfx/graphviz
+ sci-electronics/espresso-ab
+ sci-electronics/gtkwave "
+
+BALSA_TECH_AMS="balsa-tech-ams-20030506.tar.gz"
+
+if [ -f "${DISTDIR}"/${BALSA_TECH_AMS} ]; then
+ TECH_AMS=1
+fi
+
+src_unpack() {
+ unpack ${A}
+ if [ $TECH_AMS ]; then
+ unpack ${BALSA_TECH_AMS}
+ fi
+}
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PV}-libdir.patch
+ epatch "${FILESDIR}"/${PV}-datadir.patch
+ epatch "${FILESDIR}"/${PV}-ldflags.patch
+ eautoreconf
+ sed -i -e "s:\(DEFAULT_INCLUDES = \)\(.*\):\1-I"${S}"/src/libs/ \2/:" "${WORKDIR}"/balsa-sim-verilog-${PV}/libs/Makefile.in || die
+ sed -i -e 's/ $(bindir)/ $(DESTDIR)$(bindir)/' "${S}"/bin/Makefile.in || die
+ sed -i -e 's/ $(balsatypesdir)/ $(DESTDIR)$(balsatypesdir)/' "${S}"/share/balsa/types/Makefile.in || die
+ sed -i -e 's/ $(balsasimdir)/ $(DESTDIR)$(balsasimdir)/' "${S}"/share/balsa/sim/Makefile.in || die
+}
+
+src_configure() {
+ tc-export CXX
+ econf
+}
+
+src_compile() {
+ # compile balsa
+ einfo "Compiling balsa"
+ chmod +x bin/balsa-config
+ PATH="$PATH:"${S}"/bin"
+ emake -j1
+
+ # the additional packages have to be configured after compiling
+ # balsa binaries
+
+ # configure AMS035 tech
+ if [ $TECH_AMS ]; then
+ einfo "Compiling AMS035 tech"
+ cd "${WORKDIR}"/balsa-tech-ams-20030506
+ econf
+ fi
+
+ # config Xilinx FPGA backend
+ einfo "Compiling Xilinx FPGA backend"
+ cd "${WORKDIR}"/balsa-tech-xilinx-${PV}
+ econf
+
+ # config example tech
+ einfo "Compiling tech example"
+ cd "${WORKDIR}"/balsa-tech-example-${PV}
+ econf
+
+ # config minimal tech
+ einfo "Compiling tech example"
+ cd "${WORKDIR}"/balsa-tech-minimal-${PV}
+ econf
+
+ # config verilog simulator wrappers
+ einfo "Compiling verilog simulator wrappers"
+ cd "${WORKDIR}"/balsa-sim-verilog-${PV}
+ econf \
+ --includedir="${S}"/src/libs/balsasim \
+ --with-icarus-includes=/usr/include \
+ --with-icarus-libs=/usr/$(get_libdir) \
+ --with-cver-includes=/usr/include/cver_pli_incs
+}
+
+src_install() {
+ # install balsa
+ emake DESTDIR="${D}" install
+
+ if [ $TECH_AMS ]; then
+ einfo "Installing AMS035 tech"
+ cd "${WORKDIR}"/balsa-tech-ams-20030506
+ emake DESTDIR="${D}" install
+ fi
+
+ einfo "Installing Xilinx FPGA tech"
+ cd "${WORKDIR}"/balsa-tech-xilinx-${PV}
+ emake DESTDIR="${D}" install
+
+ einfo "Installing example tech"
+ cd "${WORKDIR}"/balsa-tech-example-${PV}
+ emake DESTDIR="${D}" install
+
+ einfo "Installing minimal tech"
+ cd "${WORKDIR}"/balsa-tech-minimal-${PV}
+ emake DESTDIR="${D}" install
+
+ einfo "Installing verilog simulator wrappers"
+ cd "${WORKDIR}"/balsa-sim-verilog-${PV}
+ DESTDIR="${D}" emake install
+
+ # fix paths
+ cd "${D}"
+ einfo "Fixing paths"
+ find . -type f -exec sed -i -e "s:${D}::" {} \;
+ find . -name "sed*" -exec rm -f {} \;
+
+ # add some docs
+ cd "${S}"
+ dodoc AUTHORS NEWS README TODO
+
+ # fix collisions
+ rm -f "${D}"/usr/bin/libtool
+}
+
+pkg_postinst() {
+ if [ ! $TECH_AMS ]; then
+ elog "The AMS035 tech library was not installed."
+ elog "If you have the appropriate licenses request"
+ elog "the tech support files directly from balsa@cs.man.ac.uk"
+ elog "and add them to /usr/portage/distfiles before emerging."
+ else
+ elog "The AMS035 tech library was found and installed."
+ fi
+}
diff --git a/sci-electronics/balsa/files/4.0-datadir.patch b/sci-electronics/balsa/files/4.0-datadir.patch
new file mode 100644
index 000000000000..2693508d4ad3
--- /dev/null
+++ b/sci-electronics/balsa/files/4.0-datadir.patch
@@ -0,0 +1,73 @@
+diff --git a/share/scheme/Makefile.am b/share/scheme/Makefile.am
+index 37f9332..e3d81d0 100644
+--- a/share/scheme/Makefile.am
++++ b/share/scheme/Makefile.am
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to produce Makefile.in
+
+-schemedir = $(datadir)/scheme
++schemedir = $(datadir)/balsa/scheme
+
+ scheme_DATA = \
+ balsa-list-builtins.scm \
+diff --git a/share/style/dual_b/Makefile.am b/share/style/dual_b/Makefile.am
+index 478910d..d41a873 100644
+--- a/share/style/dual_b/Makefile.am
++++ b/share/style/dual_b/Makefile.am
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to produce Makefile.in
+
+-styledual_bdir = $(datadir)/style/dual_b
++styledual_bdir = $(datadir)/balsa/style/dual_b
+
+ styledual_b_DATA = \
+ startup.scm \
+diff --git a/share/style/four_b_rb/Makefile.am b/share/style/four_b_rb/Makefile.am
+index 9eeac84..b167939 100644
+--- a/share/style/four_b_rb/Makefile.am
++++ b/share/style/four_b_rb/Makefile.am
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to produce Makefile.in
+
+-stylefour_b_rbdir = $(datadir)/style/four_b_rb
++stylefour_b_rbdir = $(datadir)/balsa/style/four_b_rb
+
+ stylefour_b_rb_DATA = \
+ startup.scm \
+diff --git a/share/style/four_e_e/Makefile.am b/share/style/four_e_e/Makefile.am
+index d374125..f3d9db6 100644
+--- a/share/style/four_e_e/Makefile.am
++++ b/share/style/four_e_e/Makefile.am
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to produce Makefile.in
+
+-stylefour_e_edir = $(datadir)/style/four_e_e
++stylefour_e_edir = $(datadir)/balsa/style/four_e_e
+
+ stylefour_e_e_DATA = \
+ startup.scm \
+diff --git a/share/style/one_of_2_4/Makefile.am b/share/style/one_of_2_4/Makefile.am
+index ed02904..18d9201 100644
+--- a/share/style/one_of_2_4/Makefile.am
++++ b/share/style/one_of_2_4/Makefile.am
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to produce Makefile.in
+
+-styleone_of_2_4dir = $(datadir)/style/one_of_2_4
++styleone_of_2_4dir = $(datadir)/balsa/style/one_of_2_4
+
+ styleone_of_2_4_DATA = \
+ startup.scm \
+diff --git a/share/tech/common/Makefile.am b/share/tech/common/Makefile.am
+index 8a34646..0190b73 100644
+--- a/share/tech/common/Makefile.am
++++ b/share/tech/common/Makefile.am
+@@ -2,7 +2,7 @@
+
+ SUBDIRS =
+
+-techcommondir = $(datadir)/tech/common
++techcommondir = $(datadir)/balsa/tech/common
+
+ techcommon_DATA = \
+ components.abs \
diff --git a/sci-electronics/balsa/files/4.0-ldflags.patch b/sci-electronics/balsa/files/4.0-ldflags.patch
new file mode 100644
index 000000000000..74df6c075c29
--- /dev/null
+++ b/sci-electronics/balsa/files/4.0-ldflags.patch
@@ -0,0 +1,11 @@
+--- bin/balsa-make-builtin-lib.in.orig 2010-08-27 11:14:54.000000000 +0200
++++ bin/balsa-make-builtin-lib.in 2010-08-27 11:15:09.000000000 +0200
+@@ -89,7 +89,7 @@
+ # Test compilation
+ if [ -n "${DOCOMPILE}" ]; then
+ if ${LIBTOOL} --mode=compile @CC@ @CFLAGS@ -c ${INCLUDES} -o ${LIBNAME}.o $* &&
+- ${LIBTOOL} --mode=link @CC@ @CFLAGS@ -o ${LIBNAME}.la -c ${INCLUDES} ${LIBNAME}.lo -rpath ${INSTALLDIR} -module
++ ${LIBTOOL} --mode=link @CC@ @CFLAGS@ @LDFLAGS@ -o ${LIBNAME}.la -c ${INCLUDES} ${LIBNAME}.lo -rpath ${INSTALLDIR} -module
+ then
+ :
+ else
diff --git a/sci-electronics/balsa/files/4.0-libdir.patch b/sci-electronics/balsa/files/4.0-libdir.patch
new file mode 100644
index 000000000000..9ba9739dc29f
--- /dev/null
+++ b/sci-electronics/balsa/files/4.0-libdir.patch
@@ -0,0 +1,36 @@
+diff --git a/share/balsa/parts/Makefile.am b/share/balsa/parts/Makefile.am
+index 6873e26..e168d70 100644
+--- a/share/balsa/parts/Makefile.am
++++ b/share/balsa/parts/Makefile.am
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to produce Makefile.in
+
+-balsapartsdir = $(datadir)/balsa/parts
++balsapartsdir = $(libdir)/balsa/parts
+
+ balsa_files = buffers.balsa counters.balsa
+ breeze_files = buffers.breeze counters.breeze
+diff --git a/share/balsa/sim/Makefile.am b/share/balsa/sim/Makefile.am
+index 2cd2932..233d2ec 100644
+--- a/share/balsa/sim/Makefile.am
++++ b/share/balsa/sim/Makefile.am
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to produce Makefile.in
+
+-balsasimdir = $(datadir)/balsa/sim
++balsasimdir = $(libdir)/balsa/sim
+
+ breeze_files = fileio.breeze string.breeze memory.breeze sim.breeze portio.breeze
+ balsa_files = fileio.balsa string.balsa memory.balsa sim.balsa portio.balsa
+diff --git a/share/balsa/types/Makefile.am b/share/balsa/types/Makefile.am
+index 475058a..317176f 100644
+--- a/share/balsa/types/Makefile.am
++++ b/share/balsa/types/Makefile.am
+@@ -1,6 +1,6 @@
+ ## Process this file with automake to produce Makefile.in
+
+-balsatypesdir = $(datadir)/balsa/types
++balsatypesdir = $(libdir)/balsa/types
+
+ balsa_files = basic.balsa builtin.balsa synthesis.balsa types.balsa
+ breeze_files = basic.breeze builtin.breeze synthesis.breeze types.breeze
diff --git a/sci-electronics/balsa/metadata.xml b/sci-electronics/balsa/metadata.xml
new file mode 100644
index 000000000000..d547549944cb
--- /dev/null
+++ b/sci-electronics/balsa/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-electronics@gentoo.org</email>
+ <name>Gentoo Electronics Project</name>
+ </maintainer>
+ <longdescription>
+ Balsa is an asynchronous circuit synthesis system developed over a number of
+ years at the APT group of the School Of Computer Science, The University of
+ Manchester. Balsa is built around the Handshake Circuits methology and can
+ generate gate level netlists from high-level descriptions in the Balsa
+ language. Both dual-rail (QDI) and single-rail (bundled data) circuits can be
+ generated.
+ </longdescription>
+</pkgmetadata>