summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dev-lang/path64/ChangeLog11
-rw-r--r--dev-lang/path64/metadata.xml21
-rw-r--r--dev-lang/path64/path64-1.0.0_pre20110729.ebuild95
3 files changed, 127 insertions, 0 deletions
diff --git a/dev-lang/path64/ChangeLog b/dev-lang/path64/ChangeLog
new file mode 100644
index 000000000000..314597559534
--- /dev/null
+++ b/dev-lang/path64/ChangeLog
@@ -0,0 +1,11 @@
+# ChangeLog for dev-lang/path64
+# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/path64/ChangeLog,v 1.1 2011/07/29 17:40:49 xarthisius Exp $
+
+*path64-1.0.0_pre20110729 (29 Jul 2011)
+
+ 29 Jul 2011; Kacper Kowalik <xarthisius@gentoo.org>
+ +path64-1.0.0_pre20110729.ebuild, +metadata.xml:
+ Initial import, fixes bug 374739. Thanks to DaggyStyle
+ <stompdagger1@yahoo.com> for his work.
+
diff --git a/dev-lang/path64/metadata.xml b/dev-lang/path64/metadata.xml
new file mode 100644
index 000000000000..cdd5f24e0bc8
--- /dev/null
+++ b/dev-lang/path64/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>sci</herd>
+ <maintainer>
+ <email>xarthisius@gentoo.org</email>
+ <name>Kacper Kowalik</name>
+ </maintainer>
+ <longdescription>
+ The PathScale EKOPath Compiler Suite offers programmers a rich set of tools and
+ one of the world's most sophisticated optimization infrastructures to maximize
+ program performance on any Intel 64 or AMD64 platform supporting Intel MMX,
+ SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AMD SSE4A and AVX.
+ </longdescription>
+ <use>
+ <flag name='assembler'>Build PathAS</flag>
+ <flag name='debugger'>Build PathDB</flag>
+ <flag name='native'>Use EKOPath/Path64 for bootstraping</flag>
+ <flag name='valgrind'>Use <pkg>dev-util/valgrind</pkg> for memory debbuging</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-lang/path64/path64-1.0.0_pre20110729.ebuild b/dev-lang/path64/path64-1.0.0_pre20110729.ebuild
new file mode 100644
index 000000000000..86ac6d0813c2
--- /dev/null
+++ b/dev-lang/path64/path64-1.0.0_pre20110729.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/path64/path64-1.0.0_pre20110729.ebuild,v 1.1 2011/07/29 17:40:49 xarthisius Exp $
+
+EAPI=4
+CMAKE_VERBOSE=1
+MY_MIRROR=http://dev.gentoo.org/~xarthisius/distfiles
+
+inherit cmake-utils multilib toolchain-funcs
+
+DESCRIPTION="Path64 Compiler Suite Community Edition"
+HOMEPAGE="http://www.pathscale.com/ekopath-compiler-suite"
+SRC_URI="${MY_MIRROR}/${PN}-suite-${PV}.tbz2
+ ${MY_MIRROR}/${PN}-compiler-${PV}.tbz2
+ assembler? ( ${MY_MIRROR}/${PN}-assembler-${PV}.tbz2 )
+ debugger? ( ${MY_MIRROR}/${PN}-debugger-${PV}.tbz2 )"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="assembler custom-cflags debugger fortran +native +openmp valgrind"
+
+DEPEND="!native? ( sys-devel/gcc[vanilla] )
+ native? ( || ( dev-lang/ekopath dev-lang/path64 ) )
+ valgrind? ( dev-util/valgrind )"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${PN}
+
+pkg_setup() {
+ if use custom-cflags ; then
+ ewarn "You are trying to build ${PN} with custom-cflags"
+ ewarn "There is a high chance that you will utterly fail!"
+ ewarn "Unless you know what you are doing you'd better stop now"
+ ewarn "Should you decide to proceed, you are on your own..."
+ epause
+ fi
+}
+
+src_prepare() {
+ local ver=$(grep 'SET(PSC_FULL_VERSION' CMakeLists.txt | cut -d'"' -f2)
+ cat > "98${PN}" <<-EOF
+ PATH=/usr/$(get_libdir)/${PN}/bin
+ ROOTPATH=/usr/$(get_libdir)/${PN}/bin
+ LDPATH=/usr/$(get_libdir)/${PN}/lib:/usr/$(get_libdir)/${PN}/lib/${ver}/x8664/64
+ EOF
+ sed -i -e "s/-Wl,-s //" CMakeLists.txt || die #strip
+}
+
+src_configure() {
+ local linker=$($(tc-getCC) --help -v 2>&1 >/dev/null | grep '\-dynamic\-linker' | cut -f7 -d' ')
+ local libgcc=$($(tc-getCC) -print-libgcc-file-name)
+ local crt=$($(tc-getCC) -print-file-name=crt1.o)
+ use custom-cflags && flags=(
+ -DCMAKE_C_FLAGS="${CFLAGS}"
+ -DCMAKE_CXX_FLAGS="${CXXFLAGS}"
+ )
+
+ # Yup, I know how bad it is, but I'd rather have a working compiler
+ unset FC F90 F77 FCFLAGS F90FLAGS FFLAGS CFLAGS CXXFLAGS
+
+ if use native ; then
+ export CMAKE_BUILD_TYPE=Release
+ export CC=pathcc
+ export CXX=pathCC
+ export MYCMAKEARGS="-UCMAKE_USER_MAKE_RULES_OVERRIDE"
+ else
+ export CMAKE_BUILD_TYPE=Debug
+ fi
+ mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN}
+ -DPATH64_ENABLE_TARGETS="x86_64"
+ -DPATH64_ENABLE_PROFILING=ON
+ -DPATH64_ENABLE_MATHLIBS=ON
+ -DPATH64_ENABLE_PATHOPT2=OFF
+ $(cmake-utils_use assembler PATH64_ENABLE_PATHAS)
+ $(cmake-utils_use assembler PATH64_ENABLE_DEFAULT_PATHAS)
+ $(cmake-utils_use fortran PATH64_ENABLE_FORTRAN)
+ $(cmake-utils_use openmp PATH64_ENABLE_OPENMP)
+ $(cmake-utils_use debugger PATH64_ENABLE_PATHDB)
+ $(cmake-utils_use valgrind PATH64_ENABLE_VALGRIND)
+ -DPSC_CRT_PATH_x86_64=$(dirname ${crt})
+ -DPSC_CRTBEGIN_PATH=$(dirname ${libgcc})
+ -DPSC_DYNAMIC_LINKER_x86_64=${linker}
+ -DCMAKE_C_COMPILER="$(tc-getCC)"
+ -DCMAKE_CXX_COMPILER="$(tc-getCXX)"
+ "${flags[@]}"
+ )
+ cmake-utils_src_configure
+}
+
+src_install() {
+ cmake-utils_src_install
+ doenvd "98${PN}"
+}