summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/cygwin/cygwin-1.5.25.15.ebuild')
-rw-r--r--dev-libs/cygwin/cygwin-1.5.25.15.ebuild92
1 files changed, 92 insertions, 0 deletions
diff --git a/dev-libs/cygwin/cygwin-1.5.25.15.ebuild b/dev-libs/cygwin/cygwin-1.5.25.15.ebuild
new file mode 100644
index 000000000000..88d78ad1649e
--- /dev/null
+++ b/dev-libs/cygwin/cygwin-1.5.25.15.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit flag-o-matic toolchain-funcs
+
+export CBUILD=${CBUILD:-${CHOST}}
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} ]] ; then
+ if [[ ${CATEGORY/cross-} != ${CATEGORY} ]] ; then
+ export CTARGET=${CATEGORY/cross-}
+ fi
+fi
+
+W32API_BIN="3.12-1"
+MY_P="${PN}-${PV%.*}-${PV##*.}"
+DESCRIPTION="Linux-like environment for Windows"
+HOMEPAGE="http://cygwin.com/"
+SRC_URI="!crosscompile_opts_headers-only? ( ftp://sourceware.org/pub/cygwin/release/cygwin/${MY_P}-src.tar.bz2 )
+ crosscompile_opts_headers-only? (
+ ftp://sourceware.org/pub/cygwin/release/w32api/w32api-${W32API_BIN}.tar.bz2
+ ftp://sourceware.org/pub/cygwin/release/cygwin/${MY_P}.tar.bz2
+ )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="crosscompile_opts_headers-only"
+RESTRICT="strip"
+
+DEPEND=""
+
+S=${WORKDIR}
+
+just_headers() {
+ use crosscompile_opts_headers-only && [[ ${CHOST} != ${CTARGET} ]]
+}
+
+pkg_setup() {
+ if [[ ${CBUILD} == ${CHOST} ]] && [[ ${CHOST} == ${CTARGET} ]] ; then
+ die "Invalid configuration; do not emerge this directly"
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ if just_headers ; then
+ mv usr/lib/w32api/* usr/lib/ || die
+ else
+ rm -rf ${MY_P}/etc # scrub garbage
+ fi
+}
+
+src_compile() {
+ if just_headers ; then
+ return 0
+
+ # steps to install via src pkg
+ cd winsup/cygwin
+ econf || die
+ else
+ CHOST=${CTARGET} strip-unsupported-flags
+ mkdir "${WORKDIR}"/build
+ cd "${WORKDIR}"/build
+ ECONF_SOURCE=${S} \
+ econf --prefix=/usr/${CTARGET}/usr || die
+ emake || die
+ fi
+}
+
+src_install() {
+ if just_headers ; then
+ # cygwin guys do not support bootstrapping. thus the cygwin src pkg
+ # blows and cannot be bootstrapped. use the binaries -- the only
+ # thing upstream supports.
+ insinto /usr/${CTARGET}
+ doins -r * || die
+ return 0
+
+ # steps to install via src pkg
+ insinto /usr/${CTARGET}/usr/include
+ doins -r winsup/w32api/include/* || die
+ doins -r newlib/libc/include/* || die
+ dosym usr/include /usr/${CTARGET}/sys-include
+ cd winsup/cygwin
+ emake install-headers tooldir="${D}"/usr/${CTARGET}/usr || die
+ else
+ cd "${WORKDIR}"/build
+ emake install DESTDIR="${D}" || die
+ env -uRESTRICT CHOST=${CTARGET} prepallstrip
+ fi
+}