dilfridge    15/02/07 17:47:06

  Modified:             ChangeLog
  Added:                icu-54.1-r1.ebuild icu-53.1-r3.ebuild
  Removed:              icu-53.1-r1.ebuild
  Log:
  Backport patch for CVE-2014-9654, bug 539108. Unfortunately this does bad 
things to a header file, so forcing a rebuild by mangling subslots...
  
  (Portage version: 2.2.15/cvs/Linux x86_64, signed Manifest commit with key 
84AD142F)

Revision  Changes    Path
1.293                dev-libs/icu/ChangeLog

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/icu/ChangeLog?rev=1.293&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/icu/ChangeLog?rev=1.293&content-type=text/plain
diff : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/icu/ChangeLog?r1=1.292&r2=1.293

Index: ChangeLog
===================================================================
RCS file: /var/cvsroot/gentoo-x86/dev-libs/icu/ChangeLog,v
retrieving revision 1.292
retrieving revision 1.293
diff -u -r1.292 -r1.293
--- ChangeLog   1 Feb 2015 17:00:52 -0000       1.292
+++ ChangeLog   7 Feb 2015 17:47:06 -0000       1.293
@@ -1,6 +1,15 @@
 # ChangeLog for dev-libs/icu
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/ChangeLog,v 1.292 2015/02/01 
17:00:52 mgorny Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/ChangeLog,v 1.293 2015/02/07 
17:47:06 dilfridge Exp $
+
+*icu-54.1-r1 (07 Feb 2015)
+*icu-53.1-r3 (07 Feb 2015)
+
+  07 Feb 2015; Andreas K. Huettel <[email protected]> -icu-53.1-r1.ebuild,
+  +icu-53.1-r3.ebuild, +icu-54.1-r1.ebuild,
+  +files/icu-54.1-CVE-2014-9654.patch:
+  Backport patch for CVE-2014-9654, bug 539108. Unfortunately this does bad
+  things to a header file, so forcing a rebuild by mangling subslots...
 
 *icu-54.1 (01 Feb 2015)
 



1.1                  dev-libs/icu/icu-54.1-r1.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/icu/icu-54.1-r1.ebuild?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/icu/icu-54.1-r1.ebuild?rev=1.1&content-type=text/plain

Index: icu-54.1-r1.ebuild
===================================================================
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/icu-54.1-r1.ebuild,v 1.1 
2015/02/07 17:47:06 dilfridge Exp $

EAPI=5

inherit eutils flag-o-matic toolchain-funcs autotools multilib-minimal

DESCRIPTION="International Components for Unicode"
HOMEPAGE="http://www.icu-project.org/";
SRC_URI="http://download.icu-project.org/files/icu4c/${PV/_/}/icu4c-${PV//./_}-src.tgz";

LICENSE="BSD"

SLOT="0/54a"

KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
IUSE="debug doc examples static-libs"

DEPEND="
        doc? (
                app-doc/doxygen[dot]
        )
"

S="${WORKDIR}/${PN}/source"

MULTILIB_CHOST_TOOLS=(
        /usr/bin/icu-config
)

src_prepare() {
        local variable

        epatch "${FILESDIR}/${PN}-remove-bashisms.patch"
        epatch "${FILESDIR}/${P}-CVE-2014-9654.patch"
        epatch_user

        # Disable renaming as it is stupind thing to do
        sed -i \
                -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 
1/" \
                common/unicode/uconfig.h || die

        # Fix linking of icudata
        sed -i \
                -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
                config/mh-linux || die

        # Append doxygen configuration to configure
        sed -i \
                -e 's:icudefs.mk:icudefs.mk Doxyfile:' \
                configure.ac || die

        eautoreconf
}

src_configure() {
        # Do _not_ use C++11 yet, make sure to force GNU C++ 98 standard.
        append-cxxflags -std=gnu++98

        if tc-is-cross-compiler; then
                mkdir "${WORKDIR}"/host || die
                pushd "${WORKDIR}"/host >/dev/null || die

                CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
                CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" 
AR="$(tc-getBUILD_AR)" \
                RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
                "${S}"/configure --disable-renaming --disable-debug \
                        --disable-samples --enable-static || die
                emake

                popd >/dev/null || die
        fi

        multilib-minimal_src_configure
}

multilib_src_configure() {
        local myeconfargs=(
                --disable-renaming
                --disable-samples
                $(use_enable debug)
                $(use_enable static-libs static)
        )

        multilib_is_native_abi && myeconfargs+=(
                $(use_enable examples samples)
        )
        tc-is-cross-compiler && myeconfargs+=(
                --with-cross-build="${WORKDIR}"/host
        )

        # icu tries to use clang by default
        tc-export CC CXX

        ECONF_SOURCE=${S} \
        econf "${myeconfargs[@]}"
}

multilib_src_compile() {
        default

        if multilib_is_native_abi && use doc; then
                doxygen -u Doxyfile || die
                doxygen Doxyfile || die
        fi
}

multilib_src_test() {
        # INTLTEST_OPTS: intltest options
        #   -e: Exhaustive testing
        #   -l: Reporting of memory leaks
        #   -v: Increased verbosity
        # IOTEST_OPTS: iotest options
        #   -e: Exhaustive testing
        #   -v: Increased verbosity
        # CINTLTST_OPTS: cintltst options
        #   -e: Exhaustive testing
        #   -v: Increased verbosity
        emake -j1 VERBOSE="1" check
}

multilib_src_install() {
        default

        if multilib_is_native_abi && use doc; then
                dohtml -p api -r doc/html/
        fi
}

multilib_src_install_all() {
        einstalldocs
        dohtml ../readme.html
}



1.1                  dev-libs/icu/icu-53.1-r3.ebuild

file : 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/icu/icu-53.1-r3.ebuild?rev=1.1&view=markup
plain: 
http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-libs/icu/icu-53.1-r3.ebuild?rev=1.1&content-type=text/plain

Index: icu-53.1-r3.ebuild
===================================================================
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/icu/icu-53.1-r3.ebuild,v 1.1 
2015/02/07 17:47:06 dilfridge Exp $

EAPI=5

inherit eutils toolchain-funcs autotools multilib-minimal

DESCRIPTION="International Components for Unicode"
HOMEPAGE="http://www.icu-project.org/";
SRC_URI="http://download.icu-project.org/files/icu4c/${PV/_/}/icu4c-${PV//./_}-src.tgz";

LICENSE="BSD"

SLOT="0/53a"

KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 
~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
IUSE="debug doc examples static-libs"

DEPEND="
        doc? (
                app-doc/doxygen[dot]
        )
"

S="${WORKDIR}/${PN}/source"

src_prepare() {
        local variable

        epatch "${FILESDIR}/icu-fix-tests-depending-on-date.patch"
        epatch "${FILESDIR}/${PN}-remove-bashisms.patch"
        epatch "${FILESDIR}/${PN}-54.1-CVE-2014-9654.patch"

        epatch_user

        # Do not hardcode flags in icu-config and icu-*.pc files.
        # https://ssl.icu-project.org/trac/ticket/6102
        for variable in CFLAGS CPPFLAGS CXXFLAGS FFLAGS LDFLAGS; do
                sed \
                        -e "/^${variable} =.*/s: *@${variable}@\( *$\)\?::" \
                        -i config/icu.pc.in \
                        -i config/Makefile.inc.in \
                        || die
        done

        # Disable renaming as it is stupind thing to do
        sed -i \
                -e "s/#define U_DISABLE_RENAMING 0/#define U_DISABLE_RENAMING 
1/" \
                common/unicode/uconfig.h || die

        # Fix linking of icudata
        sed -i \
                -e "s:LDFLAGSICUDT=-nodefaultlibs -nostdlib:LDFLAGSICUDT=:" \
                config/mh-linux || die

        # Append doxygen configuration to configure
        sed -i \
                -e 's:icudefs.mk:icudefs.mk Doxyfile:' \
                configure.ac || die
        eautoreconf
}

src_configure() {
        if tc-is-cross-compiler; then
                mkdir "${WORKDIR}"/host || die
                pushd "${WORKDIR}"/host >/dev/null || die

                CFLAGS="" CXXFLAGS="" ASFLAGS="" LDFLAGS="" \
                CC="$(tc-getBUILD_CC)" CXX="$(tc-getBUILD_CXX)" 
AR="$(tc-getBUILD_AR)" \
                RANLIB="$(tc-getBUILD_RANLIB)" LD="$(tc-getBUILD_LD)" \
                "${S}"/configure --disable-renaming --disable-debug \
                        --disable-samples --enable-static || die
                emake

                popd >/dev/null || die
        fi

        multilib-minimal_src_configure
}

multilib_src_configure() {
        local myeconfargs=(
                --disable-renaming
                --disable-samples
                $(use_enable debug)
                $(use_enable static-libs static)
        )

        multilib_is_native_abi && myeconfargs+=(
                $(use_enable examples samples)
        )
        tc-is-cross-compiler && myeconfargs+=(
                --with-cross-build="${WORKDIR}"/host
        )

        # icu tries to use clang by default
        tc-export CC CXX

        ECONF_SOURCE=${S} \
        econf "${myeconfargs[@]}"
}

multilib_src_compile() {
        default

        if multilib_is_native_abi && use doc; then
                doxygen -u Doxyfile || die
                doxygen Doxyfile || die
        fi
}

multilib_src_test() {
        # INTLTEST_OPTS: intltest options
        #   -e: Exhaustive testing
        #   -l: Reporting of memory leaks
        #   -v: Increased verbosity
        # IOTEST_OPTS: iotest options
        #   -e: Exhaustive testing
        #   -v: Increased verbosity
        # CINTLTST_OPTS: cintltst options
        #   -e: Exhaustive testing
        #   -v: Increased verbosity
        emake -j1 VERBOSE="1" check
}

multilib_src_install() {
        default

        if multilib_is_native_abi && use doc; then
                dohtml -p api -r doc/html/
        fi
}

multilib_src_install_all() {
        einstalldocs
        dohtml ../readme.html
}




Reply via email to