summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/cygwin')
-rw-r--r--dev-libs/cygwin/Manifest3
-rw-r--r--dev-libs/cygwin/cygwin-1.5.25.15.ebuild92
-rw-r--r--dev-libs/cygwin/metadata.xml5
3 files changed, 100 insertions, 0 deletions
diff --git a/dev-libs/cygwin/Manifest b/dev-libs/cygwin/Manifest
new file mode 100644
index 000000000000..a4d0772bf297
--- /dev/null
+++ b/dev-libs/cygwin/Manifest
@@ -0,0 +1,3 @@
+DIST cygwin-1.5.25-15-src.tar.bz2 11486150 SHA256 d10b2b08ad1fccfbf220855f5df673f972581c76408b85f07e4a2b72ae8ecafc SHA512 464553b06f74ffad464361b0bddb2eacc581abfb68f2154bba8f70334274ec63901b1f46f73cf930b05256467196e1b1ab8003215bb12ea6a42ad73fd9ac229a WHIRLPOOL 36e43e1bb0db72601ed0f3835c29f52fb95cec85c4e06bba43b088b9d077e6de13c1d0b5b743e2123243d75fe32dd6ff0b0ab95a855b03c3dadc181b5d377d1f
+DIST cygwin-1.5.25-15.tar.bz2 1427096 SHA256 f21bc33798038f97c47f0d1962eb032707985146d98197257b963ffaf4a92bfc SHA512 72f677cd9140d4f61808203a56234e47b8e3a6e18438ff2c8d47d45472d6cc671e4dc42603967e62a1b2293d4bd9d4e1d95652746f939a6d5e1f1ec2f6c96105 WHIRLPOOL 2189e74137d8c40444212528c1215d92c99d51bd6cad5c7de8bb38b7aab05c6db4972f2936c241739f2b6933f93cf2b2df35d75500c2f56ada2be5411753ec7d
+DIST w32api-3.12-1.tar.bz2 1229076 SHA256 dc7ae451b6dac6e52a9a4b28123fa099602f35172fd5920770ea8957929d2bf4 SHA512 739f1f71163cac83ed892dda157f25bb30e70f2c1b134df069a6ece5fb5784e4394d597b078a8a913b8b66fb0f617495aeb94ceab2f1e5a25dab712a010f3f29 WHIRLPOOL 7f220a1ba2bccf78261020e8e5e497888725d7193517dbec0805ea636176d95ea7341a6ab208ee452f76c9839dce6f892d1f43c0b159d3019f85904ecb0ce3b6
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
+}
diff --git a/dev-libs/cygwin/metadata.xml b/dev-libs/cygwin/metadata.xml
new file mode 100644
index 000000000000..fb4199eb7afe
--- /dev/null
+++ b/dev-libs/cygwin/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>toolchain</herd>
+</pkgmetadata>