Skip to content

Commit

Permalink
dev-libs/xerces-c: Version bump to 3.1.4
Browse files Browse the repository at this point in the history
Gentoo-bug: 584506
* EAPI=6

Package-Manager: portage-2.3.2
  • Loading branch information
SoapGentoo committed Oct 15, 2016
1 parent e20fd05 commit 690c9df
Show file tree
Hide file tree
Showing 3 changed files with 185 additions and 0 deletions.
1 change: 1 addition & 0 deletions dev-libs/xerces-c/Manifest
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
DIST xerces-c-3.1.2.tar.gz 6959894 SHA256 743bd0a029bf8de56a587c270d97031e0099fe2b7142cef03e0da16e282655a0 SHA512 89b61c336b270e124f7773534606706787da02437cf0b9d0374481027eb235692990b99e8ead383cb2d6da52dab2ae5f14fafcf30aba748900e1a0c32957fdc8 WHIRLPOOL 768e6f653345ed30de2b3840f437bd22df381e8c341ddfdaedd08ed48d2331937e2431cdbc503c9d1a9180848cbc6a13f0a0fe359b6d8b7e846f0b49e9e2a43b
DIST xerces-c-3.1.3.tar.gz 9009575 SHA256 f3d4f73db7c981e16db2b16d9424b0c75d9fbd30ad81747cac047bc6170b5b49 SHA512 587f74360265d148fede240b04b75aaeb17d67d7da007084bcab95af893f6512503ea487766dbf318aaa750c8463bfe1b9b6593925b7181c341dd06ca0113183 WHIRLPOOL 4f0277052f9cc8428f8976ec0d1305439882f67ebc592946e7f8d0905a06e157801413d51d644afca1042d8341dab7261374a8c678c6f78a3d11dbfa96f9a4e2
DIST xerces-c-3.1.4.tar.gz 6992545 SHA256 c98eedac4cf8a73b09366ad349cb3ef30640e7a3089d360d40a3dde93f66ecf6 SHA512 8afd775bac0345a2714b77a1ae2cfb8ae67f0239ec7370de7d89612dec64d2e1df48612c875fe239ab6f2eb31914c2d3914617e6b34a1bae0bbb14e4dbc787b5 WHIRLPOOL 37e2b7662fc500c1dafe121eb8b3b94822f54dff144682f3a0729bc051609f1bb83a540f3e428fbda6f230b72a37a147edb3088000a9a408bb65fa4ec4126f07
70 changes: 70 additions & 0 deletions dev-libs/xerces-c/files/xerces-c-3.1.4-fix-build-system.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
* Fix build system when USE="-threads"
* Add DESTDIR in order to prevent sandbox failure
* Don't build samples

--- a/configure.ac
+++ b/configure.ac
@@ -124,6 +124,7 @@
AC_CXX_HAVE_LSTRING

ACX_PTHREAD
+AM_CONDITIONAL([THREADS], [test "x${acx_pthread_ok}" = "xyes"])

# Checks for library functions.
#AC_FUNC_ERROR_AT_LINE
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = src tests samples
+SUBDIRS = src tests

EXTRA_DIST = version.incl \
xerces-c.spec \
--- a/src/xercesc/util/MsgLoaders/MsgCatalog/Makefile.in
+++ b/src/xercesc/util/MsgLoaders/MsgCatalog/Makefile.in
@@ -5,7 +5,7 @@
prefix = @prefix@
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
-mkdir_p = @mkdir_p@
+mkdir_p = @MKDIR_P@

include $(top_srcdir)/version.incl

@@ -48,11 +48,11 @@
# for installing the library
# for installing the library
install: $(RESTARGET)
- $(mkdir_p) $(prefix)/msg
- $(INSTALL_PROGRAM) $(RESTARGET) $(prefix)/msg
+ $(mkdir_p) $(DESTDIR)/$(prefix)/share/xerces-c/msg
+ $(INSTALL_PROGRAM) $(RESTARGET) $(DESTDIR)/$(prefix)/share/xerces-c/msg

uninstall:
- -rm -f $(prefix)/msg/$(RESFILES)
+ -rm -f $(DESTDIR)/$(prefix)/share/xerces-c/msg/$(RESFILES)


# Needed to support "make dist"
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -21,7 +21,7 @@

check_PROGRAMS = ${testprogs}

-LDADD = ${top_builddir}/src/libxerces-c.la
+LDADD = $(top_builddir)/src/libxerces-c.la $(PTHREAD_LIBS)
# the -I${top_builddir}/src is needed to pick the xercesc/util/Xerces_autoconf_config.hpp
# header file when doing out-of-tree builds
AM_CPPFLAGS = -I${top_builddir}/src -I${top_srcdir}/src
@@ -86,8 +86,10 @@
# src/ParserTest/ParserTest_Parser.cpp \
# src/ParserTest/ParserTest_Parser.hpp

+if THREADS
testprogs += ThreadTest
ThreadTest_SOURCES = src/ThreadTest/ThreadTest.cpp
+endif

# Fails to compile under gcc 4 (ambiguous calls to NullPointerException)
# dcargill says this is obsolete and we can delete it.
114 changes: 114 additions & 0 deletions dev-libs/xerces-c/xerces-c-3.1.4.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

EAPI=6

inherit autotools

DESCRIPTION="A validating XML parser written in a portable subset of C++"
HOMEPAGE="http://xerces.apache.org/xerces-c/"
SRC_URI="mirror://apache/xerces/c/3/sources/${P}.tar.gz"

LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux"

IUSE="cpu_flags_x86_sse2 curl doc elibc_Darwin elibc_FreeBSD examples iconv icu static-libs test threads"

RDEPEND="icu? ( dev-libs/icu:0= )
curl? ( net-misc/curl )
virtual/libiconv"
DEPEND="${RDEPEND}
doc? ( app-doc/doxygen )
test? ( dev-lang/perl )"

DOCS=( CREDITS KEYS NOTICE README version.incl )
PATCHES=( "${FILESDIR}/${PN}-3.1.4-fix-build-system.patch" )

pkg_setup() {
export ICUROOT="/usr"

if use iconv && use icu; then
ewarn "This package can use iconv or icu for loading messages"
ewarn "and transcoding, but not both. ICU takes precedence."
fi
}

src_prepare() {
default
eautoreconf
}

src_configure() {
local msgloader
if use icu; then
msgloader="icu"
elif use iconv; then
msgloader="iconv"
else
msgloader="inmemory"
fi

local transcoder
if use icu; then
transcoder="icu"
elif use elibc_Darwin; then
transcoder="macosunicodeconverter"
elif use elibc_FreeBSD; then
transcoder="iconv"
else
transcoder="gnuiconv"
fi
# for interix maybe: transcoder="windows"

# 'cfurl' is only available on OSX and 'socket' isn't supposed to work.
# But the docs aren't clear about it, so we would need some testing...
local netaccessor
if use curl; then
netaccessor="curl"
elif use elibc_Darwin; then
netaccessor="cfurl"
else
netaccessor="socket"
fi

econf \
--disable-pretty-make \
--enable-msgloader-${msgloader} \
--enable-transcoder-${transcoder} \
--enable-netaccessor-${netaccessor} \
$(use_enable cpu_flags_x86_sse2 sse2) \
$(use_enable threads) \
$(use_enable static-libs static)
}

src_compile() {
default

if use doc; then
cd doc || die
doxygen || die "making docs failed"
HTML_DOCS=( doc/html/. )
fi
}

src_install () {
default

# package provides .pc files
find "${D}" -name '*.la' -delete || die

if use examples; then
rm -f samples/Makefile* || die
docinto examples
dodoc -r samples/.
docompress -x /usr/share/doc/${PF}/examples
fi

# To make sure an appropriate NLS msg file is around when using
# the iconv msgloader ICU has the messages compiled in.
if use iconv && ! use icu; then
doenvd "${FILESDIR}/50xerces-c"
fi
}

0 comments on commit 690c9df

Please sign in to comment.