summaryrefslogtreecommitdiff
path: root/sci-electronics/gspiceui
diff options
context:
space:
mode:
Diffstat (limited to 'sci-electronics/gspiceui')
-rw-r--r--sci-electronics/gspiceui/Manifest3
-rw-r--r--sci-electronics/gspiceui/files/gspiceui-1.2.87-respect-users-flags.patch56
-rw-r--r--sci-electronics/gspiceui/gspiceui-1.2.87.ebuild82
3 files changed, 141 insertions, 0 deletions
diff --git a/sci-electronics/gspiceui/Manifest b/sci-electronics/gspiceui/Manifest
index fcc690eb03e9..e9ae3d3717c8 100644
--- a/sci-electronics/gspiceui/Manifest
+++ b/sci-electronics/gspiceui/Manifest
@@ -1,4 +1,7 @@
AUX gspiceui-1.1.0-flags.patch 1017 BLAKE2B c240c7d48a50b508b1f4426ab636909856946ce1159c535f0d682994b929faea2be254a39d4ce8f7bedcdc92ff39a8e7af2e29bba11dc8a95e6e71177c47e5e5 SHA512 bdca1e2bbbabf15f02002aab284cf44368e5bb86f9a479ea1194522c5a3e2fa02950795f0dcbc69dd943ec5ade34f134913d643ad13aac6eeb3330e1502e8ab4
+AUX gspiceui-1.2.87-respect-users-flags.patch 2257 BLAKE2B 54d18a89166b45fc121fc6f62cb346ef7cb8a6ae7ff5b5835a10aa2de4134ccb872c2cfc988a45636d54622912af9a1b9762b6964f2daf3730592b982cdff9a5 SHA512 a03dd8f0f150fca14f8fe26155920fc3da535c8313b12b5ff8746cc61a1fed765f86ce012e9e6639eb77b1a854acc76c4b0f80fe224cefbd9e3df97c72143412
DIST gspiceui-v1.1.00.tar.gz 1048236 BLAKE2B cc3d14137517cd26687dabac7e001e7518fee91aedc74f1995ac763873345f2965c3edb4e037ecb6ac8ca874289b2e658fe3185d95b3eeaf2b349efab151f37b SHA512 46ccf3dd7a5dd9ec1cac1eb742187ecab15a6c0033467d52a44c916e239696faf7b8797e1a155191cf0ed37b04619b0666cff51e78912a06ecd2c63d377cba93
+DIST gspiceui-v1.2.87.tar.gz 1089733 BLAKE2B c1801bfebd5d42fe9c1ab26e6fd0cb06b56cac53bbad272522896325e5fd979e6fcc63d6f99262b152180f249b5b2d4aa119aa83254a2fc07256574c9ebaef10 SHA512 081d04c39f4fb96139f12fa063dfb888e036948a00a6b55de3b04a49b2b4af01b45fd9b7f903855d798a71957452550dfa8c8505c167c239e27ada29cb6fa747
EBUILD gspiceui-1.1.0.ebuild 1892 BLAKE2B 21d35e599d7187a7580cd96fc9fdeb00edb48dc8a0eaffdf4230f1a309e3dde514f78391c6926917e95126d320c7dadcf00f905373c0a495b0e1208d9c6e08d2 SHA512 523ca58e4db3a28529f7820c1322cfe27b88457412374b8c57502a9182f23004e3ffd659545958a67f9734261f30e0b3a740545098923478ce227263bab1a044
+EBUILD gspiceui-1.2.87.ebuild 1838 BLAKE2B 1c933f1a2502d50b23a07531ec035d1fc36a161868184f8956c4e243da280a5fbe20dff10da89770d480f377aff52a536b5f57c590474115526d7795226be749 SHA512 09ed1215672d1926b7ede1990ed7746cf9c7752be3c8168481f0943d5c5d1f636f724d242fa54d7b6e84b4dc27260c8d277ae032c61283591f12a8ae190acd8f
MISC metadata.xml 560 BLAKE2B 7bf55c85b52ee2e7b7627cddf9fed3aef875057b32348cc770ae4f1765e415f24184769ddf4c308b107f2d3d87a53f0bec0aa0e7b67932536a669a6e1e447f0d SHA512 6700697e40e911690b27fdf068d3cb15c0b03c59e8af0258459109d27a6e709911f60fd555d59ce8b02143f36d1d462e1e6f336a8573e45537c6a6a6c3d4b67d
diff --git a/sci-electronics/gspiceui/files/gspiceui-1.2.87-respect-users-flags.patch b/sci-electronics/gspiceui/files/gspiceui-1.2.87-respect-users-flags.patch
new file mode 100644
index 000000000000..c39b6a329aba
--- /dev/null
+++ b/sci-electronics/gspiceui/files/gspiceui-1.2.87-respect-users-flags.patch
@@ -0,0 +1,56 @@
+diff --git a/src/Makefile b/src/Makefile
+index 50736fd..8dbfcfa 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -39,8 +39,8 @@ DESTDIR = /usr/local/bin
+ #***************************************************************************************************
+
+ # Which compiler and linker (eg. g++ or clang++)
+-CXX = g++
+-LD = g++
++CXX ?= g++
++LD ?= g++
+ ifneq ($(GSPICEUI_MSWIN),0)
+ LD += -static-libstdc++ -static-libgcc
+ WINDRES = windres
+@@ -91,13 +91,7 @@ BINDIR = $(ROOT)/bin
+ # -Os Optimize for size
+ # -Og Optimize debugging experience but don't break debugging
+ # -std=[C++NO] The C++ standard to use where C++NO is eg. c++98, c++03, c++11, c++14, c++17, etc.
+-ifeq ($(GSPICEUI_DEBUG),0)
+- # Options for release (not using -Wall since it's GCC specific)
+- CXXFLAGS := -O3 -std=c++17 -pipe $(shell $(WXCFG) --cxxflags)
+-else
+- # Options for development
+- CXXFLAGS := -g -Og -std=c++17 -Wall -Wextra -Wpedantic -pipe $(shell $(WXCFG) --cxxflags)
+-endif
++CXXFLAGS += $(shell $(WXCFG) --cxxflags)
+
+ # I like to compile using the option "-Wall" etc., tests that break wxWidgets are turned off below
+ ifeq ($(GSPICEUI_DEBUG),1)
+@@ -117,6 +111,7 @@ INCLUDES = -I.
+
+ # Libraries
+ LIBS := $(shell $(WXCFG) --libs core,base,html)
++LIBS += -lm -lstdc++
+ # (The pkg-config stuff was requested by a user, somehow pangox was missing) 2019-08-07 ???
+ #ifeq ($(GSPICEUI_MSWIN),0)
+ #LIBS := $(shell $(WXCFG) --libs core,base,html) # $(shell pkg-config --libs-only-l pangox)
+@@ -181,7 +176,7 @@ $(OBJDIR)/%.o : %.cpp
+ # -o specify the output file name
+
+ $(BINDIR)/$(PROG) : $(OBJS)
+- $(LD) -pipe -o $(BINDIR)/$(PROG) obj/*.o $(LIBS)
++ $(CXX) -o $(BINDIR)/$(PROG) obj/*.o $(LDFLAGS) $(LIBS)
+ ifeq ($(ROOT)/GSpiceUI.app,$(wildcard $(ROOT)/GSpiceUI.app))
+ cp $(BINDIR)/$(PROG) $(ROOT)/GSpiceUI.app/Contents/MacOS/gspiceui
+ endif
+@@ -223,7 +218,7 @@ tests : test_Component test_NetList test_CnvtType test_CmdNgSpiceOPT test_CmdNgS
+
+ # Compiler options
+
+-test_% : CXXFLAGS = -Wall -g -pipe $(shell $(WXCFG) --cxxflags)
++test_% : CXXFLAGS += $(shell $(WXCFG) --cxxflags)
+ ifeq ($(GSPICEUI_WXLIB),2.8) # This suppresses spurious warnings from gcc with wxWidgets v2.8.12
+ test_% : CXXFLAGS += -Wno-unused-local-typedefs
+ endif
diff --git a/sci-electronics/gspiceui/gspiceui-1.2.87.ebuild b/sci-electronics/gspiceui/gspiceui-1.2.87.ebuild
new file mode 100644
index 000000000000..d5377a288285
--- /dev/null
+++ b/sci-electronics/gspiceui/gspiceui-1.2.87.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.0-gtk3"
+inherit desktop optfeature wxwidgets xdg
+
+MY_P="${PN}-v${PV}"
+
+DESCRIPTION="GUI frontend for Ngspice and Gnucap"
+HOMEPAGE="https://sourceforge.net/projects/gspiceui/"
+SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+DEPEND="
+ x11-libs/wxGTK:${WX_GTK_VER}[X]
+ sci-electronics/electronics-menu
+"
+RDEPEND="
+ ${DEPEND}
+ || (
+ sci-electronics/ngspice
+ sci-electronics/gnucap
+ )
+"
+
+PATCHES=(
+ # Use Gentoo LDFLAGS and CXXFLAGS
+ "${FILESDIR}"/${P}-respect-users-flags.patch
+)
+
+src_prepare() {
+ default
+
+ # Adjusting the doc path at src/main/FrmHtmlVwr.cpp
+ sed -i -e \
+ "s:/share/gspiceui/html/User-Manual.html:/share/doc/${PF}/html/User-Manual.html:g" \
+ src/main/FrmHtmlVwr.cpp || die
+}
+
+src_configure() {
+ setup-wxwidgets
+ default
+}
+
+src_compile() {
+ emake
+}
+
+src_install() {
+ dobin bin/gspiceui
+
+ einstalldocs
+ dodoc html/*.html html/*.jpg html/*.png
+ dodoc ChangeLog ReadMe ToDo release-notes-v${PV}.txt
+ doman gspiceui.1
+
+ # installing examples and according model and symbol files
+ use examples && dodoc -r lib sch
+
+ newicon -s 32 src/icons/gspiceui-32x32.xpm gspiceui.xpm
+ newicon -s 48 src/icons/gspiceui-48x48.xpm gspiceui.xpm
+ make_desktop_entry gspiceui "GNU Spice GUI" gspiceui "Electronics"
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ if use examples ; then
+ elog "If you want to use the examples, copy and extract from"
+ elog "${EROOT}/usr/share/doc/${PF} the sch and lib directory"
+ elog "side by side to your home directory to be able"
+ elog "to generate the netlists as normal user."
+ fi
+ optfeature "schematics editing" sci-electronics/geda
+ optfeature "waveform display" sci-electronics/gwave
+}