summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/free42')
-rw-r--r--app-emulation/free42/Manifest1
-rw-r--r--app-emulation/free42/files/free42-2.5.3-fix-build-intel-lib.patch12
-rw-r--r--app-emulation/free42/files/free42-2.5.3-fix-makefile.patch62
-rw-r--r--app-emulation/free42/free42-2.5.3.ebuild53
4 files changed, 128 insertions, 0 deletions
diff --git a/app-emulation/free42/Manifest b/app-emulation/free42/Manifest
index 908e2b67ee42..6c9718655ca4 100644
--- a/app-emulation/free42/Manifest
+++ b/app-emulation/free42/Manifest
@@ -2,3 +2,4 @@ DIST free42-nologo-2.0.20.tgz 7390214 BLAKE2B 306f3378bcbb44fa7982c5d9c29bfbea62
DIST free42-nologo-2.2.1.tgz 7398286 BLAKE2B 041c9672305b712efab8e7d5eb73bc0bd159b5fd61e9ecf39d5ce691aff045be4a6a4c635c0948e610e51832db64b388bdd001eb57aad41724e27dff4cf95a0a SHA512 2ed735ff161ea14ca5be97131b69065410faa699ed05d3eb94abbb9653c694d83fc4e45ea2bcf0c2a7894f89e731ee7839105dc1d58d6a6326047c9bd55da5d7
DIST free42-nologo-2.4.2.tgz 7403471 BLAKE2B a2dba75bbdb8ceaee2f11dbc053ce50d71e0b5f46165fb61c6d3441326dc43b2afcdc2b99cbb638bbc59e19c5da948ce748b76ff4c612d5ed44e706583b159fb SHA512 046a42aebf1b4220acb9227dc365c26349b7a69c39d765b5ab59c83d9fc644055324c6288aaf87e6f9265310b5969335bc8be7035a84935fd7dda29bd9caf5a7
DIST free42-nologo-2.4.tgz 7402688 BLAKE2B 5e1a46977a3e385fc44f09b5e0088cf73f4a67c3657110311e95795a5b7beb2583dc56bee14e0f578f6ee3517acc78b311b2da0e1671c38d7a5bb150c1e30197 SHA512 a74efd40a952892f346bb4c4096b6e0c00c337e782696de1064d626ea1bbc8aa5a9b557ad233ac92bd27ce8fe4202837e72eddf8f0b31c9320e8c150c6c0b408
+DIST free42-nologo-2.5.3.tgz 7406566 BLAKE2B a8fcad4738b46e5725e323eb7c16929c32fe0c72eccadf2f692950a3ee952f3b8f7e1e46d6e4eee4e822ca5a3b2c42adb09e2b43f0480c954aef87dc81b1edd3 SHA512 9a96bc5453f938ba806117ac3162db4f87d3584662c8a1aae370f17a06c1e92167adb2c2bb9bbd17b91473f272f8c031c7ffc1944247962571a94cb7063f0904
diff --git a/app-emulation/free42/files/free42-2.5.3-fix-build-intel-lib.patch b/app-emulation/free42/files/free42-2.5.3-fix-build-intel-lib.patch
new file mode 100644
index 000000000000..e1e2ea89897a
--- /dev/null
+++ b/app-emulation/free42/files/free42-2.5.3-fix-build-intel-lib.patch
@@ -0,0 +1,12 @@
+diff -Naur free42-nologo-2.5.3.orig/gtk/build-intel-lib.sh free42-nologo-2.5.3/gtk/build-intel-lib.sh
+--- free42-nologo-2.5.3.orig/gtk/build-intel-lib.sh 2019-09-01 17:44:47.000000000 +0200
++++ free42-nologo-2.5.3/gtk/build-intel-lib.sh 2019-09-03 23:58:30.604579443 +0200
+@@ -65,7 +65,7 @@
+ esac
+
+ cd LIBRARY
+-$MK $OS_ARG CC=$CC CALL_BY_REF=1 GLOBAL_RND=1 GLOBAL_FLAGS=1 UNCHANGED_BINARY_FLAGS=0 $ENDIAN_ARG
++$MK $OS_ARG A=a CC=$CC CALL_BY_REF=1 GLOBAL_RND=1 GLOBAL_FLAGS=1 UNCHANGED_BINARY_FLAGS=0 $ENDIAN_ARG
+ mv libbid.a ../../gcc111libbid.a
+ cd ../..
+ ( echo '#ifdef FREE42_FPTEST'; echo 'const char *readtest_lines[] = {'; tr -d '\r' < IntelRDFPMathLib20U1/TESTS/readtest.in | sed 's/^\(.*\)$/"\1",/'; echo '0 };'; echo '#endif' ) > readtest_lines.cc
diff --git a/app-emulation/free42/files/free42-2.5.3-fix-makefile.patch b/app-emulation/free42/files/free42-2.5.3-fix-makefile.patch
new file mode 100644
index 000000000000..fc5abc33bfd0
--- /dev/null
+++ b/app-emulation/free42/files/free42-2.5.3-fix-makefile.patch
@@ -0,0 +1,62 @@
+diff -Naur free42-nologo-2.5.3.orig/gtk/Makefile free42-nologo-2.5.3/gtk/Makefile
+--- free42-nologo-2.5.3.orig/gtk/Makefile 2019-09-01 17:44:47.000000000 +0200
++++ free42-nologo-2.5.3/gtk/Makefile 2019-09-04 00:27:16.761482125 +0200
+@@ -15,7 +15,7 @@
+ # along with this program; if not, see http://www.gnu.org/licenses/.
+ ###############################################################################
+
+-CFLAGS = -MMD \
++CFLAGS := -MMD \
+ -Wall \
+ -Wno-parentheses \
+ -Wno-write-strings \
+@@ -34,15 +34,17 @@
+ -DDECIMAL_GLOBAL_ROUNDING=1 \
+ -DDECIMAL_GLOBAL_ROUNDING_ACCESS_FUNCTIONS=1 \
+ -DDECIMAL_GLOBAL_EXCEPTION_FLAGS=1 \
+- -DDECIMAL_GLOBAL_EXCEPTION_FLAGS_ACCESS_FUNCTIONS=1
++ -DDECIMAL_GLOBAL_EXCEPTION_FLAGS_ACCESS_FUNCTIONS=1 \
++ ${CFLAGS}
+
+-CXXFLAGS = $(CFLAGS) \
++CXXFLAGS := $(CFLAGS) \
+ -fno-exceptions \
+ -fno-rtti \
+- -D_WCHAR_T_DEFINED
++ -D_WCHAR_T_DEFINED \
++ ${CXXFLAGS}
+
+-LDFLAGS = -L/usr/X11R6/lib
+-LIBS = gcc111libbid.a $(shell pkg-config --libs gtk+-2.0) -lXmu -lX11
++MYLDFLAGS = -L/usr/X11R6/lib
++LIBS = gcc111libbid.a -ldl -lpthread -lX11 -lXmu $(shell pkg-config --libs gtk+-2.0)
+
+ ifeq "$(shell uname -s)" "FreeBSD"
+ ifdef AUDIO_ALSA
+@@ -54,6 +56,8 @@
+ CFLAGS += -DF42_BIG_ENDIAN -DBID_BIG_ENDIAN
+ endif
+
++MYLDFLAGS += ${LDFLAGS}
++
+ SRCS = shell_main.cc shell_skin.cc skins.cc keymap.cc shell_loadimage.cc \
+ shell_spool.cc core_main.cc core_commands1.cc core_commands2.cc \
+ core_commands3.cc core_commands4.cc core_commands5.cc \
+@@ -95,7 +99,7 @@
+ endif
+
+ $(EXE): $(OBJS)
+- $(CXX) -o $(EXE) $(LDFLAGS) $(OBJS) $(LIBS)
++ $(CXX) -o $(EXE) $(MYLDFLAGS) $(OBJS) $(LIBS)
+
+ $(SRCS) skin2cc.cc keymap2cc.cc skin2cc.conf: symlinks
+
+@@ -119,7 +123,7 @@
+
+ symlinks:
+ for fn in `cd ../common; /bin/ls`; do ln -s ../common/$$fn; done
+- sh ./build-intel-lib.sh
++ +sh ./build-intel-lib.sh
+ ln -s IntelRDFPMathLib20U1/TESTS/readtest.c
+ touch symlinks
+
diff --git a/app-emulation/free42/free42-2.5.3.ebuild b/app-emulation/free42/free42-2.5.3.ebuild
new file mode 100644
index 000000000000..67e64a2dd933
--- /dev/null
+++ b/app-emulation/free42/free42-2.5.3.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+MY_PV="${PN}-nologo-${PV}"
+
+DESCRIPTION="An HP-42S Calculator Simulator"
+HOMEPAGE="http://thomasokken.com/free42/"
+SRC_URI="http://thomasokken.com/free42/upstream/${MY_PV}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+alsa"
+
+DEPEND="dev-libs/atk
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf
+ x11-libs/gtk+:2
+ x11-libs/pango
+ alsa? ( media-libs/alsa-lib )"
+
+RDEPEND="${DEPEND}
+ x11-libs/libX11
+ x11-libs/libXmu"
+
+DOCS=( CREDITS HISTORY README )
+S="${WORKDIR}/${MY_PV}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.5.3-fix-makefile.patch"
+ "${FILESDIR}/${PN}-2.5.3-fix-build-intel-lib.patch"
+)
+
+src_prepare() {
+ default
+}
+
+src_compile() {
+ local myconf
+ use alsa && myconf="AUDIO_ALSA=yes"
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" ${myconf} -C gtk
+ emake -C gtk clean
+ emake CC="$(tc-getCC)" CXX="$(tc-getCXX)" BCD_MATH=1 ${myconf} -C gtk
+}
+
+src_install() {
+ default
+ dobin gtk/free42bin gtk/free42dec
+}