commit:     5306100a4e38cf250329ccbcbfaf94502c39913a
Author:     Michael Haubenwallner <michael.haubenwallner <AT> ssi-schaefer 
<DOT> com>
AuthorDate: Thu Apr 28 15:05:31 2016 +0000
Commit:     Michael Haubenwallner <haubi <AT> gentoo <DOT> org>
CommitDate: Thu Apr 28 15:05:43 2016 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=5306100a

bzip2-1.0.6-r7: Cygwin port

 app-arch/bzip2/bzip2-1.0.6-r7.ebuild | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/app-arch/bzip2/bzip2-1.0.6-r7.ebuild 
b/app-arch/bzip2/bzip2-1.0.6-r7.ebuild
index d07ed3d..23a6674 100644
--- a/app-arch/bzip2/bzip2-1.0.6-r7.ebuild
+++ b/app-arch/bzip2/bzip2-1.0.6-r7.ebuild
@@ -55,6 +55,12 @@ src_prepare() {
                        sed -i -e '/^SONAME/s,=,=${EPREFIX}/lib/,' 
Makefile-libbz2_so || die "cannt set soname"
                fi
        fi
+       if [[ ${CHOST} == *-cygwin* ]] ; then
+               sed -i -e "s/-o 
libbz2\.so\.${PV}/-Wl,--out-implib=libbz2$(get_libname ${PV})/" \
+                          -e "s/-Wl,-soname -Wl,libbz2\.so\.1/-o 
cygbz2-${PV%%.*}.dll/" \
+                          -e "s/libbz2\.so/libbz2$(get_libname)/g" \
+                       Makefile-libbz2_so
+       fi
 }
 
 bemake() {
@@ -81,7 +87,8 @@ multilib_src_compile() {
                *)
                        bemake -f "${S}"/Makefile-libbz2_so all
                        # Make sure we link against the shared lib #504648
-                       ln -sf libbz2.so.${PV} libbz2.so
+                       [[ $(get_libname) != $(get_libname ${PV}) ]] &&
+                       ln -sf libbz2$(get_libname ${PV}) libbz2$(get_libname)
                ;;
        esac
        bemake -f "${S}"/Makefile all LDFLAGS="${LDFLAGS} $(usex static -static 
'')"
@@ -97,7 +104,9 @@ multilib_src_install() {
        #  .x.x   - SONAME some distros use #338321
        #  .x     - SONAME Gentoo uses
        dolib.so libbz2$(get_libname ${PV})
+       [[ ${CHOST} == *-cygwin* ]] && dobin cygbz2-${PV%%.*}.dll
        local v
+       [[ $(get_libname) != $(get_libname ${PV}) ]] &&
        for v in libbz2$(get_libname) libbz2$(get_libname ${PV%%.*}) 
libbz2$(get_libname ${PV%.*}) ; do
                dosym libbz2$(get_libname ${PV}) /usr/$(get_libdir)/${v}
        done

Reply via email to