|
Line 0
Link Here
|
|
|
1 |
# Copyright 1999-2018 Gentoo Foundation |
| 2 |
# Distributed under the terms of the GNU General Public License v2 |
| 3 |
|
| 4 |
EAPI=7 |
| 5 |
|
| 6 |
inherit toolchain-funcs flag-o-matic |
| 7 |
|
| 8 |
SNAPSHOTDATE="${P##*.}" |
| 9 |
MY_PV="${PN}-${SNAPSHOTDATE:0:4}-${SNAPSHOTDATE:4:2}-${SNAPSHOTDATE:6:2}" |
| 10 |
|
| 11 |
DESCRIPTION="The GNU Circuit Analysis Package" |
| 12 |
HOMEPAGE="http://www.gnucap.org/" |
| 13 |
SRC_URI="http://www.gnucap.org/devel/${MY_PV}.tar.gz |
| 14 |
http://www.gnucap.org/devel/${MY_PV}-models-bsim.tar.gz |
| 15 |
http://www.gnucap.org/devel/${MY_PV}-models-jspice3-2.5.tar.gz |
| 16 |
http://www.gnucap.org/devel/${MY_PV}-models-ngspice17.tar.gz |
| 17 |
http://www.gnucap.org/devel/${MY_PV}-models-spice3f5.tar.gz" |
| 18 |
|
| 19 |
IUSE="examples" |
| 20 |
SLOT="0" |
| 21 |
LICENSE="GPL-2" |
| 22 |
KEYWORDS="~amd64 ~ppc ~x86" |
| 23 |
|
| 24 |
S="${WORKDIR}/${MY_PV}" |
| 25 |
|
| 26 |
src_prepare() { |
| 27 |
default |
| 28 |
# No need to install COPYING and INSTALL |
| 29 |
sed -i \ |
| 30 |
-e 's: COPYING INSTALL::' \ |
| 31 |
-e 's:COPYING history INSTALL:history:' \ |
| 32 |
doc/Makefile.in || die "sed failed" |
| 33 |
|
| 34 |
if ! use examples ; then |
| 35 |
sed -i \ |
| 36 |
-e 's:examples modelgen:modelgen:' \ |
| 37 |
Makefile.in || die "sed failed" |
| 38 |
fi |
| 39 |
|
| 40 |
sed -i -e 's:CFLAGS = -O2 -g:CPPFLAGS +=:' \ |
| 41 |
-e '/CCFLAGS =/i\CFLAGS += $(CPPFLAGS)' \ |
| 42 |
-e 's:CCFLAGS = $(CFLAGS):CXXFLAGS += $(CPPFLAGS):' \ |
| 43 |
-e 's:LDFLAGS = :LDFLAGS += :' \ |
| 44 |
-e 's:CCFLAGS:CXXFLAGS:' \ |
| 45 |
-e "s:../Gnucap:${S}/src:" \ |
| 46 |
models-*/Make2 || die "sed failed" |
| 47 |
|
| 48 |
sed -i -e "s:strchr(str2, '|'):const_cast<char*>(strchr(str2, '|')):" \ |
| 49 |
{src,modelgen}/ap_match.cc || die "sed failed" |
| 50 |
|
| 51 |
tc-export CC CXX |
| 52 |
append-cxxflags -std=gnu++98 |
| 53 |
} |
| 54 |
|
| 55 |
src_compile () { |
| 56 |
emake |
| 57 |
for PLUGIN_DIR in models-* ; do |
| 58 |
cd "${S}/${PLUGIN_DIR}" || die |
| 59 |
emake CC=$(tc-getCC) CCC=$(tc-getCXX) |
| 60 |
done |
| 61 |
} |
| 62 |
|
| 63 |
src_install () { |
| 64 |
default |
| 65 |
|
| 66 |
insopts -m0755 |
| 67 |
for PLUGIN_DIR in models-* ; do |
| 68 |
insinto /usr/$(get_libdir)/gnucap/${PLUGIN_DIR} |
| 69 |
cd "${S}/${PLUGIN_DIR}" || die |
| 70 |
for PLUGIN in */*.so ; do |
| 71 |
newins ${PLUGIN} ${PLUGIN##*/} |
| 72 |
done |
| 73 |
done |
| 74 |
} |
| 75 |
|
| 76 |
pkg_postinst() { |
| 77 |
elog "Documentation for development releases is now available at :" |
| 78 |
elog " http://wiki.gnucap.org/dokuwiki/doku.php?id=gnucap:manual" |
| 79 |
} |