summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lang/gprolog/Manifest1
-rw-r--r--dev-lang/gprolog/files/gprolog-1.4.4-ldflags.patch40
-rw-r--r--dev-lang/gprolog/files/gprolog-1.4.4-links.patch16
-rw-r--r--dev-lang/gprolog/files/gprolog-1.4.4-nodocs.patch30
-rw-r--r--dev-lang/gprolog/files/gprolog-1.4.4-pic-code.patch12
-rw-r--r--dev-lang/gprolog/files/gprolog-1.4.4-txt-file.patch11
-rw-r--r--dev-lang/gprolog/gprolog-1.4.4.ebuild63
-rw-r--r--eclass/multilib-build.eclass14
-rw-r--r--eclass/multilib.eclass30
9 files changed, 38 insertions, 179 deletions
diff --git a/dev-lang/gprolog/Manifest b/dev-lang/gprolog/Manifest
index 0f280a843b7a..a0bddf84cdf4 100644
--- a/dev-lang/gprolog/Manifest
+++ b/dev-lang/gprolog/Manifest
@@ -1,2 +1 @@
-DIST gprolog-1.4.4.tar.gz 3538152 BLAKE2B 159cf58e6d7f33662a6bd11f284abd9e52be0f82cafe180263148d13002e66987253e9dcd7db232b33470ddb685570efe3615c7029af96be44bb556bd9c2d261 SHA512 b6227a06794d31162f2c790a025f7372a6676c1891a76e880d2152aeab6322d3341aeab85e11d9be6d97ff1c69801bee73fa3ea6b0659af61f55990a455dc212
DIST gprolog-1.4.5.tar.gz 3587361 BLAKE2B c0c73ce249d7c26b914a3f831c6ac93aeb884bded6c5ebbe51223f0685de0be2e746533aade1633a953b93e88a30796fa52ecd5e609d05bc051363cbf34e0477 SHA512 425103bc9e5bdbdb4ae331f5be0cf49524fbdb4f5e2809fb973360de9e7ad9935c1b28f3603e0be696a647153d9f0d3dacdc87251098ac99faf7d0b3c652fc60
diff --git a/dev-lang/gprolog/files/gprolog-1.4.4-ldflags.patch b/dev-lang/gprolog/files/gprolog-1.4.4-ldflags.patch
deleted file mode 100644
index 21f256bf71cb..000000000000
--- a/dev-lang/gprolog/files/gprolog-1.4.4-ldflags.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-diff -ur gprolog-1.4.4.orig/src/Ma2Asm/Makefile.in gprolog-1.4.4/src/Ma2Asm/Makefile.in
---- gprolog-1.4.4.orig/src/Ma2Asm/Makefile.in 2013-04-15 09:24:11.000000000 +0200
-+++ gprolog-1.4.4/src/Ma2Asm/Makefile.in 2013-05-15 16:59:59.000000000 +0200
-@@ -19,7 +19,7 @@
-
- ma2asm@EXE_SUFFIX@: ma2asm@OBJ_SUFFIX@ ma_parser@OBJ_SUFFIX@ \
- ma2asm_inst@OBJ_SUFFIX@ ma2asm_inst.c
-- $(CC) $(CFLAGS) @CC_EXE_NAME_OPT@ma2asm@EXE_SUFFIX@ ma2asm@OBJ_SUFFIX@ ma2asm_inst@OBJ_SUFFIX@ ma_parser@OBJ_SUFFIX@
-+ $(CC) $(LDFLAGS) @CC_EXE_NAME_OPT@ma2asm@EXE_SUFFIX@ ma2asm@OBJ_SUFFIX@ ma2asm_inst@OBJ_SUFFIX@ ma_parser@OBJ_SUFFIX@
-
-
- clean:
-diff -ur gprolog-1.4.4.orig/src/TopComp/Makefile.in gprolog-1.4.4/src/TopComp/Makefile.in
---- gprolog-1.4.4.orig/src/TopComp/Makefile.in 2013-04-15 09:24:12.000000000 +0200
-+++ gprolog-1.4.4/src/TopComp/Makefile.in 2013-05-15 16:59:59.000000000 +0200
-@@ -15,10 +15,10 @@
-
- $(GPLC)@EXE_SUFFIX@: top_comp.c copying.c ../EnginePl/wam_regs.h \
- ../EnginePl/gp_config.h ../EnginePl/machine1.c decode_hexa.c copying.c prolog_path.c
-- $(CC) $(CFLAGS) @CC_EXE_NAME_OPT@$(GPLC)@EXE_SUFFIX@ top_comp.c $(LDLIBS)
-+ $(CC) $(LDFLAGS) $(CFLAGS) @CC_EXE_NAME_OPT@$(GPLC)@EXE_SUFFIX@ top_comp.c $(LDLIBS)
-
- $(HEXGPLC)@EXE_SUFFIX@: hexfilter.c decode_hexa.c
-- $(CC) $(CFLAGS) @CC_EXE_NAME_OPT@$(HEXGPLC)@EXE_SUFFIX@ hexfilter.c
-+ $(CC) $(LDFLAGS) $(CFLAGS) @CC_EXE_NAME_OPT@$(HEXGPLC)@EXE_SUFFIX@ hexfilter.c
-
-
-
-diff -ur gprolog-1.4.4.orig/src/Wam2Ma/Makefile.in gprolog-1.4.4/src/Wam2Ma/Makefile.in
---- gprolog-1.4.4.orig/src/Wam2Ma/Makefile.in 2013-04-15 09:24:11.000000000 +0200
-+++ gprolog-1.4.4/src/Wam2Ma/Makefile.in 2013-05-15 16:59:59.000000000 +0200
-@@ -12,7 +12,7 @@
- $(CC) $(CFLAGS) -c wam2ma.c
-
- wam2ma@EXE_SUFFIX@: wam2ma@OBJ_SUFFIX@ wam_parser@OBJ_SUFFIX@
-- $(CC) $(CFLAGS) @CC_EXE_NAME_OPT@wam2ma@EXE_SUFFIX@ wam2ma@OBJ_SUFFIX@ wam_parser@OBJ_SUFFIX@
-+ $(CC) $(LDFLAGS) @CC_EXE_NAME_OPT@wam2ma@EXE_SUFFIX@ wam2ma@OBJ_SUFFIX@ wam_parser@OBJ_SUFFIX@
-
-
- clean:
diff --git a/dev-lang/gprolog/files/gprolog-1.4.4-links.patch b/dev-lang/gprolog/files/gprolog-1.4.4-links.patch
deleted file mode 100644
index 25044ac9fc36..000000000000
--- a/dev-lang/gprolog/files/gprolog-1.4.4-links.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -ur gprolog-1.4.4.orig/src/Makefile.in gprolog-1.4.4/src/Makefile.in
---- gprolog-1.4.4.orig/src/Makefile.in 2013-04-23 16:56:44.000000000 +0200
-+++ gprolog-1.4.4/src/Makefile.in 2013-05-15 17:00:58.000000000 +0200
-@@ -81,10 +81,10 @@
-
- # --- Links --- #
-
--install-links: uninstall-links
-+install-links:
- if test $(LINKS_DIR) != none; then \
- ./mkinstalldirs $(LINKS_DIR); \
-- (cd $(LINKS_DIR) ; $(LN_S) $(INSTALL_DIR)/bin/* .); \
-+ (cd $(LINKS_DIR); for i in $(BIN_FILES); do $(LN_S) $(INSTALL_DIR)/bin/$$i .; done); \
- fi
-
- uninstall-links:
diff --git a/dev-lang/gprolog/files/gprolog-1.4.4-nodocs.patch b/dev-lang/gprolog/files/gprolog-1.4.4-nodocs.patch
deleted file mode 100644
index f5246e0302ad..000000000000
--- a/dev-lang/gprolog/files/gprolog-1.4.4-nodocs.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -ur gprolog-1.4.4.orig/src/Makefile.in gprolog-1.4.4/src/Makefile.in
---- gprolog-1.4.4.orig/src/Makefile.in 2013-04-23 16:56:44.000000000 +0200
-+++ gprolog-1.4.4/src/Makefile.in 2013-05-15 17:01:25.000000000 +0200
-@@ -97,7 +97,7 @@
- # --- Documentation --- #
-
- install-doc:
-- if test $(DOC_DIR) != none; then \
-+ if test $(DOC_DIR) != $(DESTDIR)none; then \
- ./mkinstalldirs $(DOC_DIR); \
- (F=`cd ../doc; echo $(DOC_FILES)`; \
- for i in $$F; do $(INSTALL_DATA) ../doc/$$i $(DOC_DIR); done); \
-@@ -113,7 +113,7 @@
- # --- HTML --- #
-
- install-html:
-- if test $(HTML_DIR) != none; then \
-+ if test $(HTML_DIR) != $(DESTDIR)none; then \
- ./mkinstalldirs $(HTML_DIR); \
- (F=`cd ../doc/html_node; echo $(HTML_FILES)`; \
- for i in $$F; do $(INSTALL_DATA) ../doc/html_node/$$i $(HTML_DIR); done); \
-@@ -129,7 +129,7 @@
- # --- Examples --- #
-
- install-examples:
-- if test $(EXAMPLES_DIR) != none; then \
-+ if test $(EXAMPLES_DIR) != $(DESTDIR)none; then \
- ./mkinstalldirs $(EXAMPLES_DIR)/ExamplesPl; \
- (F=`cd ../examples/ExamplesPl; echo $(EXPL_FILES)`; \
- for i in $$F; do $(INSTALL_DATA) ../examples/ExamplesPl/$$i $(EXAMPLES_DIR)/ExamplesPl; done); \
diff --git a/dev-lang/gprolog/files/gprolog-1.4.4-pic-code.patch b/dev-lang/gprolog/files/gprolog-1.4.4-pic-code.patch
deleted file mode 100644
index a85aea0746eb..000000000000
--- a/dev-lang/gprolog/files/gprolog-1.4.4-pic-code.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur gprolog-1.4.4.orig/src/Ma2Asm/x86_64_any.c gprolog-1.4.4/src/Ma2Asm/x86_64_any.c
---- gprolog-1.4.4.orig/src/Ma2Asm/x86_64_any.c 2013-04-22 13:52:16.000000000 +0200
-+++ gprolog-1.4.4/src/Ma2Asm/x86_64_any.c 2017-07-19 17:27:37.057124771 +0200
-@@ -204,7 +204,7 @@
- strcpy(asm_reg_cp, Off_Reg_Bank(MAP_OFFSET_CP));
- #endif
-
--#ifdef M_x86_64_darwin
-+#if defined(M_x86_64_darwin) || defined(M_x86_64_linux)
- pic_code = 1; /* NB: on darwin everything is PIC code */
- #elif defined(_WIN32)
- pic_code = 0; /* NB: on MinGW nothing is needed for PIC code */
diff --git a/dev-lang/gprolog/files/gprolog-1.4.4-txt-file.patch b/dev-lang/gprolog/files/gprolog-1.4.4-txt-file.patch
deleted file mode 100644
index adeb4428b582..000000000000
--- a/dev-lang/gprolog/files/gprolog-1.4.4-txt-file.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -ur gprolog-1.4.4.orig/src/Makefile.in gprolog-1.4.4/src/Makefile.in
---- gprolog-1.4.4.orig/src/Makefile.in 2013-04-23 16:56:44.000000000 +0200
-+++ gprolog-1.4.4/src/Makefile.in 2013-05-15 17:01:48.000000000 +0200
-@@ -60,7 +60,6 @@
- install-system:
- ./mkinstalldirs $(INSTALL_DIR) $(INSTALL_DIR)/bin \
- $(INSTALL_DIR)/include $(INSTALL_DIR)/lib
-- for i in $(TXT_FILES); do $(INSTALL_DATA) ../$$i $(INSTALL_DIR); done
- for i in $(BIN_FILES); do $(INSTALL_PROGRAM) */$$i $(INSTALL_DIR)/bin; done
- for i in $(OBJ_FILES); do $(INSTALL_DATA) */$$i $(INSTALL_DIR)/lib; done
- for i in $(LIB_FILES); do $(INSTALL_DATA) */$$i $(INSTALL_DIR)/lib; done
diff --git a/dev-lang/gprolog/gprolog-1.4.4.ebuild b/dev-lang/gprolog/gprolog-1.4.4.ebuild
deleted file mode 100644
index 4d915c78666d..000000000000
--- a/dev-lang/gprolog/gprolog-1.4.4.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=4
-
-inherit eutils flag-o-matic multilib
-
-DESCRIPTION="A native Prolog compiler with constraint solving over finite domains (FD)"
-HOMEPAGE="http://www.gprolog.org/"
-SRC_URI="mirror://gnu/gprolog/${P}.tar.gz"
-S="${WORKDIR}"/${P}
-
-LICENSE="GPL-2 LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ppc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
-IUSE="debug doc examples"
-
-DEPEND=""
-RDEPEND=""
-
-src_prepare() {
- epatch "${FILESDIR}"/${P}-ldflags.patch
- epatch "${FILESDIR}"/${P}-pic-code.patch
- epatch "${FILESDIR}"/${P}-links.patch
- epatch "${FILESDIR}"/${P}-nodocs.patch
- epatch "${FILESDIR}"/${P}-txt-file.patch
-}
-
-src_configure() {
- CFLAGS_MACHINE="`get-flag -march` `get-flag -mcpu` `get-flag -mtune`"
-
- append-flags -fno-strict-aliasing
- use debug && append-flags -DDEBUG
-
- cd "${S}"/src
- econf \
- CFLAGS_MACHINE="${CFLAGS_MACHINE}" \
- --with-c-flags="${CFLAGS}" \
- --with-install-dir="${EPREFIX}"/usr/$(get_libdir)/${P} \
- --with-links-dir="${EPREFIX}"/usr/bin \
- $(use_with doc doc-dir ${EPREFIX}/usr/share/doc/${PF}) \
- $(use_with doc html-dir ${EPREFIX}/usr/share/doc/${PF}/html) \
- $(use_with examples examples-dir ${EPREFIX}/usr/share/doc/${PF}/examples)
-}
-
-src_compile() {
- cd "${S}"/src
- # gprolog is compiled using gplc which cannot be run in parallel
- emake -j1
-}
-
-src_test() {
- cd "${S}"/src
- emake -j1 check
-}
-
-src_install() {
- cd "${S}"/src
- emake DESTDIR="${D}" install
-
- cd "${S}"
- dodoc ChangeLog NEWS PROBLEMS README VERSION
-}
diff --git a/eclass/multilib-build.eclass b/eclass/multilib-build.eclass
index 620bdcedce58..dc4f8a2bd159 100644
--- a/eclass/multilib-build.eclass
+++ b/eclass/multilib-build.eclass
@@ -49,6 +49,8 @@ _MULTILIB_FLAGS=(
# abi_ppc_64:ppc64
abi_riscv_lp64d:lp64d
abi_riscv_lp64:lp64
+ abi_riscv_ilp32d:ilp32d
+ abi_riscv_ilp32:ilp32
abi_s390_32:s390
abi_s390_64:s390x
)
@@ -492,12 +494,18 @@ multilib_prepare_wrappers() {
# error "abi_mips_o32 not supported by the package."
# endif
#elif defined(__riscv)
-# if defined(__riscv_float_abi_double)
+# if (__WORDSIZE == 64) && defined(__riscv_float_abi_double)
# error "abi_riscv_lp64d not supported by the package."
-# elif defined(__riscv_float_abi_single)
+# elif (__WORDSIZE == 64) && defined(__riscv_float_abi_single)
# error "abi_riscv_lp64f not supported by the package."
-# else
+# elif (__WORDSIZE == 64)
# error "abi_riscv_lp64 not supported by the package."
+# elif (__WORDSIZE == 32) && defined(__riscv_float_abi_double)
+# error "abi_riscv_ilp32d not supported by the package."
+# elif (__WORDSIZE == 32) && defined(__riscv_float_abi_single)
+# error "abi_riscv_ilp32f not supported by the package."
+# else
+# error "abi_riscv_ilp32 not supported by the package."
# endif
#elif defined(__sparc__)
# if defined(__arch64__)
diff --git a/eclass/multilib.eclass b/eclass/multilib.eclass
index 342d21a2e1c3..9c7042fcd299 100644
--- a/eclass/multilib.eclass
+++ b/eclass/multilib.eclass
@@ -397,19 +397,43 @@ multilib_env() {
: ${DEFAULT_ABI=ppc64}
;;
riscv64*)
- export CFLAGS_lp64d=${CFLAGS_lp64d--mabi=lp64d}
+ export CFLAGS_lp64d=${CFLAGS_lp64d--mabi=lp64d -march=rv64imafdc}
export CHOST_lp64d=${CTARGET}
export CTARGET_lp64d=${CTARGET}
export LIBDIR_lp64d="lib64/lp64d"
- export CFLAGS_lp64=${CFLAGS_lp64--mabi=lp64}
+ export CFLAGS_lp64=${CFLAGS_lp64--mabi=lp64 -march=rv64imac}
export CHOST_lp64=${CTARGET}
export CTARGET_lp64=${CTARGET}
export LIBDIR_lp64="lib64/lp64"
- : ${MULTILIB_ABIS=lp64d lp64}
+ export CFLAGS_ilp32d=${CFLAGS_ilp32d--mabi=ilp32d -march=rv32imafdc}
+ export CHOST_ilp32d=${CTARGET/riscv64/riscv32}
+ export CTARGET_ilp32d=${CTARGET/riscv64/riscv32}
+ export LIBDIR_ilp32d="lib32/ilp32d"
+
+ export CFLAGS_ilp32=${CFLAGS_ilp32--mabi=ilp32 -march=rv32imac}
+ export CHOST_ilp32=${CTARGET/riscv64/riscv32}
+ export CTARGET_ilp32=${CTARGET/riscv64/riscv32}
+ export LIBDIR_ilp32="lib32/ilp32"
+
+ : ${MULTILIB_ABIS=lp64d lp64 ilp32d ilp32}
: ${DEFAULT_ABI=lp64d}
;;
+ riscv32*)
+ export CFLAGS_ilp32d=${CFLAGS_ilp32d--mabi=ilp32d}
+ export CHOST_ilp32d=${CTARGET}
+ export CTARGET_ilp32d=${CTARGET}
+ export LIBDIR_ilp32d="lib32/ilp32d"
+
+ export CFLAGS_ilp32=${CFLAGS_ilp32--mabi=ilp32 -march=rv32imac}
+ export CHOST_ilp32=${CTARGET}
+ export CTARGET_ilp32=${CTARGET}
+ export LIBDIR_ilp32="lib32/ilp32"
+
+ : ${MULTILIB_ABIS=ilp32d ilp32}
+ : ${DEFAULT_ABI=ilp32d}
+ ;;
s390x*)
export CFLAGS_s390=${CFLAGS_s390--m31} # the 31 is not a typo
export CHOST_s390=${CTARGET/s390x/s390}