diff --git a/app-emulation/free42/Manifest b/app-emulation/free42/Manifest new file mode 100644 index 0000000..0b5aaff --- /dev/null +++ b/app-emulation/free42/Manifest @@ -0,0 +1,4 @@ +AUX free42-2.0.10-fix-build-intel-lib.patch 618 BLAKE2B 9039cdf8c78ff198ea9a4927621f7e23f362fffbd537a0a988030713fe061398d2b7b2fc6120cda280249807d9aee448095b1f5cdfb824909d7d381650daafbd SHA512 192eb5e78c50ce52449c5b859369ab7258a98162c5d924ab8b8f3566f52be7a3c4aba95c3cafd60af82d5dcf1b1ad784cf3fe6bf432839baa1b4ca994ddf416b +AUX free42-2.0.10-fix-makefile.patch 1670 BLAKE2B 6170b3a2a1f397ab10f1d36fe26f55e2c430066fbf7f292240ee359d38b670b68b9f17696f466e4f913af314662de8cffb13b211adbd0977cfa20b331fe52f8a SHA512 8b234cd643dd760b290c3d6054afa799371d249dc23eba889a168eed413037b6463e5f2b1219b9dd4c350d3338aff5adf27b2ea413d229b961ed40d8388c6617 +DIST free42-nologo-2.0.21.tgz 7390516 BLAKE2B da1e25c14915b5798ef29054edbb0eccc5823f5490178d92ea3b4952c5a2edc1f6572741ea11db82c8c650304b0faca081c08ab77bfbf47b329e7770c15647e1 SHA512 2f8afd9d51c9e1f45073708df2ef5655921174a87afb7a38b9fea859db42ba27ec9fe3de9141176a4913ab83e6617a484e3e409fbbdc4baefa8b6146344d4eec +EBUILD free42-2.0.21.ebuild 948 BLAKE2B 59ada24ef7746d402bfc2e9cb8ea80c23a68e3ffcd1a3da035281d7544422b21ee3c41fe005721672a180f97a850a7066f3a8087f4aa377fb4c0b4e6233fe49f SHA512 3c117630b0266091dff0b540c1975f6e5c69ec46d8a1f8ad55d7757147df9fc2a6bc9bd3bcfead241cfa8dde29deed727bc1bf39e1f833aab686f2c98504a123 diff --git a/app-emulation/free42/files/free42-2.0.10-fix-build-intel-lib.patch b/app-emulation/free42/files/free42-2.0.10-fix-build-intel-lib.patch new file mode 100644 index 0000000..543595c --- /dev/null +++ b/app-emulation/free42/files/free42-2.0.10-fix-build-intel-lib.patch @@ -0,0 +1,12 @@ +diff -Nuar a/gtk/build-intel-lib.sh b/gtk/build-intel-lib.sh +--- a/gtk/build-intel-lib.sh ++++ b/gtk/build-intel-lib.sh +@@ -4,7 +4,7 @@ + cd IntelRDFPMathLib20U1 + patch -p0 <../intel-lib-linux.patch + cd LIBRARY +-make CC=gcc CALL_BY_REF=1 GLOBAL_RND=1 GLOBAL_FLAGS=1 UNCHANGED_BINARY_FLAGS=0 ++make A=a CC=gcc CALL_BY_REF=1 GLOBAL_RND=1 GLOBAL_FLAGS=1 UNCHANGED_BINARY_FLAGS=0 + 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.0.10-fix-makefile.patch b/app-emulation/free42/files/free42-2.0.10-fix-makefile.patch new file mode 100644 index 0000000..c033bbc --- /dev/null +++ b/app-emulation/free42/files/free42-2.0.10-fix-makefile.patch @@ -0,0 +1,58 @@ +diff -Nuar a/gtk/Makefile b/gtk/Makefile +--- a/gtk/Makefile ++++ b/gtk/Makefile +@@ -15,11 +15,11 @@ + # along with this program; if not, see http://www.gnu.org/licenses/. + ############################################################################### + +-CFLAGS = -MMD \ ++CFLAGS := -MMD \ + -Wall \ + -Wno-parentheses \ + -Wno-write-strings \ +- -g \ ++ -Wno-error=narrowing \ + -I/usr/X11R6/include \ + $(shell pkg-config --cflags gtk+-2.0) \ + -DVERSION="\"$(shell cat ../VERSION)\"" \ +@@ -27,21 +27,25 @@ + -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 -lXmu $(shell pkg-config --libs gtk+-2.0) ++MYLDFLAGS = -L/usr/X11R6/lib ++LIBS = gcc111libbid.a -lX11 -ldl -lXmu $(shell pkg-config --libs gtk+-2.0) + + ifeq "$(shell uname -s)" "Linux" +-LDFLAGS += -Wl,--hash-style=both ++MYLDFLAGS += -Wl,--hash-style=both + LIBS += -lpthread + 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 \ +@@ -83,7 +87,7 @@ + endif + + $(EXE): $(OBJS) +- $(CXX) -o $(EXE) $(LDFLAGS) $(OBJS) $(LIBS) ++ $(CXX) -o $(EXE) $(MYLDFLAGS) $(OBJS) $(LIBS) + + $(SRCS) skin2cc.cc keymap2cc.cc skin2cc.conf: symlinks + diff --git a/app-emulation/free42/free42-2.0.21.ebuild b/app-emulation/free42/free42-2.0.21.ebuild new file mode 100644 index 0000000..d9b18f9 --- /dev/null +++ b/app-emulation/free42/free42-2.0.21.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2018 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit eutils 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" + +S="${WORKDIR}/${MY_PV}" + +PATCHES=( + "${FILESDIR}/${PN}-2.0.10-fix-makefile.patch" + "${FILESDIR}/${PN}-2.0.10-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)" BCD_MATH=1 ${myconf} -C "${S}/gtk" +} + +src_install() { + dodoc CREDITS HISTORY README + dobin gtk/free42dec +}