diff options
Diffstat (limited to 'dev-libs')
-rw-r--r-- | dev-libs/expat/expat-2.2.7.ebuild | 96 | ||||
-rw-r--r-- | dev-libs/libfilezilla/libfilezilla-0.17.0.ebuild | 29 | ||||
-rw-r--r-- | dev-libs/libgdata/files/libgdata-0.17.9-ax2019-compat.patch | 20 | ||||
-rw-r--r-- | dev-libs/protobuf/files/protobuf-3.8.0-disable_no-warning-test.patch | 19 | ||||
-rw-r--r-- | dev-libs/protobuf/files/protobuf-3.8.0-system_libraries.patch | 121 | ||||
-rw-r--r-- | dev-libs/protobuf/protobuf-3.8.0.ebuild | 126 | ||||
-rw-r--r-- | dev-libs/skalibs/skalibs-2.8.1.0.ebuild | 38 |
7 files changed, 449 insertions, 0 deletions
diff --git a/dev-libs/expat/expat-2.2.7.ebuild b/dev-libs/expat/expat-2.2.7.ebuild new file mode 100644 index 000000000000..47730ae142da --- /dev/null +++ b/dev-libs/expat/expat-2.2.7.ebuild @@ -0,0 +1,96 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit autotools eutils libtool multilib toolchain-funcs multilib-minimal + +DESCRIPTION="Stream-oriented XML parser library" +HOMEPAGE="https://libexpat.github.io/" +SRC_URI="https://github.com/libexpat/libexpat/releases/download/R_${PV//\./_}/expat-${PV}.tar.xz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sh ~sparc ~x86 ~ppc-aix ~x64-cygwin ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" +IUSE="elibc_FreeBSD examples static-libs unicode" +DEPEND="unicode? ( ${AUTOTOOLS_DEPEND} )" +RDEPEND="" + +DOCS=( README.md ) + +src_prepare() { + default + + # fix interpreter to be a recent/good shell + sed -i -e "1s:/bin/sh:${BASH}:" conftools/get-version.sh || die + if use unicode; then + cp -R "${S}" "${S}"w || die + pushd "${S}"w >/dev/null + find -name Makefile.am \ + -exec sed \ + -e 's,libexpat\.la,libexpatw.la,' \ + -e 's,libexpat_la,libexpatw_la,' \ + -i {} + || die + eautoreconf + popd >/dev/null + fi +} + +multilib_src_configure() { + local myconf="$(use_enable static-libs static) --without-docbook" + + mkdir -p "${BUILD_DIR}"w || die + + if use unicode; then + pushd "${BUILD_DIR}"w >/dev/null + CPPFLAGS="${CPPFLAGS} -DXML_UNICODE" ECONF_SOURCE="${S}"w econf ${myconf} + popd >/dev/null + fi + + ECONF_SOURCE="${S}" econf ${myconf} +} + +multilib_src_compile() { + emake + + if use unicode; then + pushd "${BUILD_DIR}"w >/dev/null + emake -C lib + popd >/dev/null + fi +} + +multilib_src_install() { + emake install DESTDIR="${D}" + + if use unicode; then + pushd "${BUILD_DIR}"w >/dev/null + emake -C lib install DESTDIR="${D}" + popd >/dev/null + + pushd "${ED}"/usr/$(get_libdir)/pkgconfig >/dev/null + cp expat.pc expatw.pc + sed -i -e '/^Libs/s:-lexpat:&w:' expatw.pc || die + popd >/dev/null + fi + + if multilib_is_native_abi ; then + # libgeom in /lib and ifconfig in /sbin require libexpat on FreeBSD since + # we stripped the libbsdxml copy starting from freebsd-lib-8.2-r1 + use elibc_FreeBSD && gen_usr_ldscript -a expat + fi +} + +multilib_src_install_all() { + einstalldocs + + # Note: Use of HTML_DOCS would add unwanted "doc" subfolder + docinto html + dodoc doc/*.{css,html,png} + + if use examples; then + insinto /usr/share/doc/${PF}/examples + doins examples/*.c + fi + + find "${D}" -name '*.la' -type f -delete || die +} diff --git a/dev-libs/libfilezilla/libfilezilla-0.17.0.ebuild b/dev-libs/libfilezilla/libfilezilla-0.17.0.ebuild new file mode 100644 index 000000000000..18821af9ca46 --- /dev/null +++ b/dev-libs/libfilezilla/libfilezilla-0.17.0.ebuild @@ -0,0 +1,29 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +inherit flag-o-matic + +DESCRIPTION="C++ library offering some basic functionality for platform-independent programs" +HOMEPAGE="https://lib.filezilla-project.org/" +SRC_URI="https://download.filezilla-project.org/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64 ~arm ~ia64 ~ppc ~x86" +IUSE="test" + +RDEPEND="dev-libs/nettle:0=" +DEPEND="${RDEPEND} + test? ( dev-util/cppunit )" + +pkg_pretend() { + if [[ ${MERGE_TYPE} != binary ]]; then + if ! test-flag-CXX -std=c++14; then + eerror "${P} requires C++14-capable C++ compiler. Your current compiler" + eerror "does not seem to support -std=c++14 option. Please upgrade your compiler" + eerror "to gcc-4.9 or an equivalent version supporting C++14." + die "Currently active compiler does not support -std=c++14" + fi + fi +} diff --git a/dev-libs/libgdata/files/libgdata-0.17.9-ax2019-compat.patch b/dev-libs/libgdata/files/libgdata-0.17.9-ax2019-compat.patch new file mode 100644 index 000000000000..c73e3f9eaee2 --- /dev/null +++ b/dev-libs/libgdata/files/libgdata-0.17.9-ax2019-compat.patch @@ -0,0 +1,20 @@ +autoconf-archive-2019.01.06 breaks AX_CODE_COVERAGE usage by requiring +a different integration inside Makefile.am. This would be fine if the +local m4/ax_code_coverage.m4 would get used, but eaclocal parses out +the install from ACLOCAL_AMFLAGS, and calls aclocal with that, which +overwrites ax_code_coverage.m4 with the newer version, obviously +breaking the usage of all that in Makefile.am. +Workaround it by patching out the --install argument, thus using the +tarball copy of it (older version), which works with Makefile.am +without further patching. + +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,6 +1,6 @@ + SUBDIRS = . po docs gdata/tests + +-ACLOCAL_AMFLAGS = --install -I m4 ${ACLOCAL_FLAGS} ++ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS} + + DISTCHECK_CONFIGURE_FLAGS = + MAINTAINERCLEANFILES = diff --git a/dev-libs/protobuf/files/protobuf-3.8.0-disable_no-warning-test.patch b/dev-libs/protobuf/files/protobuf-3.8.0-disable_no-warning-test.patch new file mode 100644 index 000000000000..a09edb9ef368 --- /dev/null +++ b/dev-libs/protobuf/files/protobuf-3.8.0-disable_no-warning-test.patch @@ -0,0 +1,19 @@ +Disable no-warning-test which is compiled with -Werror option and whose only purpose is checking if compilation results in any warnings. + +--- /src/Makefile.am ++++ /src/Makefile.am +@@ -715,7 +715,7 @@ + GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock + check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \ + protobuf-lite-test test_plugin protobuf-lite-arena-test \ +- no-warning-test $(GZCHECKPROGRAMS) ++ $(GZCHECKPROGRAMS) + protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ + $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ + $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ +@@ -899,4 +899,4 @@ + + TESTS = protobuf-test protobuf-lazy-descriptor-test protobuf-lite-test \ + google/protobuf/compiler/zip_output_unittest.sh $(GZTESTS) \ +- protobuf-lite-arena-test no-warning-test ++ protobuf-lite-arena-test diff --git a/dev-libs/protobuf/files/protobuf-3.8.0-system_libraries.patch b/dev-libs/protobuf/files/protobuf-3.8.0-system_libraries.patch new file mode 100644 index 000000000000..020b0cc74aaa --- /dev/null +++ b/dev-libs/protobuf/files/protobuf-3.8.0-system_libraries.patch @@ -0,0 +1,121 @@ +--- /Makefile.am ++++ /Makefile.am +@@ -11,28 +11,10 @@ + # Always include third_party directories in distributions. + DIST_SUBDIRS = src conformance benchmarks third_party/googletest + +-# Build gmock before we build protobuf tests. We don't add gmock to SUBDIRS +-# because then "make check" would also build and run all of gmock's own tests, +-# which takes a lot of time and is generally not useful to us. Also, we don't +-# want "make install" to recurse into gmock since we don't want to overwrite +-# the installed version of gmock if there is one. + check-local: +- @echo "Making lib/libgmock.a lib/libgmock_main.a in gmock" +- @cd third_party/googletest/googletest && $(MAKE) $(AM_MAKEFLAGS) lib/libgtest.la lib/libgtest_main.la +- @cd third_party/googletest/googlemock && $(MAKE) $(AM_MAKEFLAGS) lib/libgmock.la lib/libgmock_main.la + +-# We would like to clean gmock when "make clean" is invoked. But we have to +-# be careful because clean-local is also invoked during "make distclean", but +-# "make distclean" already recurses into gmock because it's listed among the +-# DIST_SUBDIRS. distclean will delete gmock/Makefile, so if we then try to +-# cd to the directory again and "make clean" it will fail. So, check that the +-# Makefile exists before recursing. + clean-local: +- @if test -e third_party/googletest/Makefile; then \ +- echo "Making clean in googletest"; \ +- cd third_party/googletest && $(MAKE) $(AM_MAKEFLAGS) clean; \ +- fi; \ +- if test -e conformance/Makefile; then \ ++ @if test -e conformance/Makefile; then \ + echo "Making clean in conformance"; \ + cd conformance && $(MAKE) $(AM_MAKEFLAGS) clean; \ + fi; \ +--- /configure.ac ++++ /configure.ac +@@ -218,12 +218,5 @@ + esac + AM_CONDITIONAL([OBJC_CONFORMANCE_TEST], [test $OBJC_CONFORMANCE_TEST = 1]) + +-# HACK: Make gmock's configure script pick up our copy of CFLAGS and CXXFLAGS, +-# since the flags added by ACX_CHECK_SUNCC must be used when compiling gmock +-# too. +-export CFLAGS +-export CXXFLAGS +-AC_CONFIG_SUBDIRS([third_party/googletest]) +- + AC_CONFIG_FILES([Makefile src/Makefile benchmarks/Makefile conformance/Makefile protobuf.pc protobuf-lite.pc]) + AC_OUTPUT +--- /src/Makefile.am ++++ /src/Makefile.am +@@ -709,19 +709,11 @@ + google/protobuf/testing/file.cc \ + google/protobuf/testing/file.h + +-GOOGLETEST_BUILD_DIR=../third_party/googletest/googletest +-GOOGLEMOCK_BUILD_DIR=../third_party/googletest/googlemock +-GOOGLETEST_SRC_DIR=$(srcdir)/../third_party/googletest/googletest +-GOOGLEMOCK_SRC_DIR=$(srcdir)/../third_party/googletest/googlemock + check_PROGRAMS = protoc protobuf-test protobuf-lazy-descriptor-test \ + protobuf-lite-test test_plugin protobuf-lite-arena-test \ + $(GZCHECKPROGRAMS) + protobuf_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ +- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la +-protobuf_test_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include \ +- -I$(GOOGLEMOCK_SRC_DIR)/include ++ -lgtest -lgmock -lgmock_main + # Disable optimization for tests unless the user explicitly asked for it, + # since test_util.cc takes forever to compile with optimization (with GCC). + # See configure.ac for more info. +@@ -810,12 +802,8 @@ + # Run cpp_unittest again with PROTOBUF_TEST_NO_DESCRIPTORS defined. + protobuf_lazy_descriptor_test_LDADD = $(PTHREAD_LIBS) libprotobuf.la \ + libprotoc.la \ +- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la +-protobuf_lazy_descriptor_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \ +- -I$(GOOGLETEST_SRC_DIR)/include \ +- -DPROTOBUF_TEST_NO_DESCRIPTORS ++ -lgtest -lgmock -lgmock_main ++protobuf_lazy_descriptor_test_CPPFLAGS = -DPROTOBUF_TEST_NO_DESCRIPTORS + protobuf_lazy_descriptor_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) + protobuf_lazy_descriptor_test_SOURCES = \ + google/protobuf/compiler/cpp/cpp_unittest.cc \ +@@ -836,11 +824,7 @@ + # full runtime and we want to make sure this test builds without full + # runtime. + protobuf_lite_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ +- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la +-protobuf_lite_test_CPPFLAGS= -I$(GOOGLEMOCK_SRC_DIR)/include \ +- -I$(GOOGLETEST_SRC_DIR)/include ++ -lgtest -lgmock -lgmock_main + protobuf_lite_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) + protobuf_lite_test_SOURCES = \ + google/protobuf/lite_unittest.cc \ +@@ -852,11 +836,7 @@ + # gtest when building the test internally our memory sanitizer doesn't detect + # memory leaks (don't know why). + protobuf_lite_arena_test_LDADD = $(PTHREAD_LIBS) libprotobuf-lite.la \ +- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock.la \ +- $(GOOGLEMOCK_BUILD_DIR)/lib/libgmock_main.la +-protobuf_lite_arena_test_CPPFLAGS = -I$(GOOGLEMOCK_SRC_DIR)/include \ +- -I$(GOOGLETEST_SRC_DIR)/include ++ -lgtest -lgmock -lgmock_main + protobuf_lite_arena_test_CXXFLAGS = $(NO_OPT_CXXFLAGS) + protobuf_lite_arena_test_SOURCES = \ + google/protobuf/lite_arena_unittest.cc \ +@@ -866,8 +846,7 @@ + + # Test plugin binary. + test_plugin_LDADD = $(PTHREAD_LIBS) libprotobuf.la libprotoc.la \ +- $(GOOGLETEST_BUILD_DIR)/lib/libgtest.la +-test_plugin_CPPFLAGS = -I$(GOOGLETEST_SRC_DIR)/include ++ -lgtest + test_plugin_SOURCES = \ + google/protobuf/compiler/mock_code_generator.cc \ + google/protobuf/testing/file.cc \ diff --git a/dev-libs/protobuf/protobuf-3.8.0.ebuild b/dev-libs/protobuf/protobuf-3.8.0.ebuild new file mode 100644 index 000000000000..345fbe9a3df1 --- /dev/null +++ b/dev-libs/protobuf/protobuf-3.8.0.ebuild @@ -0,0 +1,126 @@ +# Copyright 2008-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +# True Authors: Arfrever Frehtes Taifersar Arahesis and others + +EAPI="7" + +inherit autotools elisp-common flag-o-matic multilib-minimal toolchain-funcs + +if [[ "${PV}" == "9999" ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf" + EGIT_SUBMODULES=() +fi + +DESCRIPTION="Google's Protocol Buffers - Extensible mechanism for serializing structured data" +HOMEPAGE="https://developers.google.com/protocol-buffers/ https://github.com/protocolbuffers/protobuf" +if [[ "${PV}" == "9999" ]]; then + SRC_URI="" +else + SRC_URI="https://github.com/protocolbuffers/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" +fi + +LICENSE="BSD" +SLOT="0/19" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos" +IUSE="emacs examples static-libs test zlib" +RESTRICT="!test? ( test )" + +BDEPEND="emacs? ( virtual/emacs )" +DEPEND="test? ( >=dev-cpp/gtest-1.9[${MULTILIB_USEDEP}] ) + zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" +RDEPEND="emacs? ( virtual/emacs ) + zlib? ( sys-libs/zlib[${MULTILIB_USEDEP}] )" + +PATCHES=( + "${FILESDIR}/${PN}-3.8.0-disable_no-warning-test.patch" + "${FILESDIR}/${PN}-3.8.0-system_libraries.patch" + "${FILESDIR}/${PN}-3.8.0-protoc_input_output_files.patch" +) + +DOCS=(CHANGES.txt CONTRIBUTORS.txt README.md) + +src_prepare() { + default + eautoreconf +} + +src_configure() { + append-cppflags -DGOOGLE_PROTOBUF_NO_RTTI + + if tc-ld-is-gold; then + # https://sourceware.org/bugzilla/show_bug.cgi?id=24527 + tc-ld-disable-gold + fi + + multilib-minimal_src_configure +} + +multilib_src_configure() { + local options=( + $(use_enable static-libs static) + $(use_with zlib) + ) + + if tc-is-cross-compiler; then + # Build system uses protoc when building, so protoc copy runnable on host is needed. + mkdir -p "${WORKDIR}/build" || die + pushd "${WORKDIR}/build" > /dev/null || die + ECONF_SOURCE="${S}" econf_build "${options[@]}" + options+=(--with-protoc="$(pwd)/src/protoc") + popd > /dev/null || die + fi + + ECONF_SOURCE="${S}" econf "${options[@]}" +} + +src_compile() { + multilib-minimal_src_compile + + if use emacs; then + elisp-compile editors/protobuf-mode.el + fi +} + +multilib_src_compile() { + if tc-is-cross-compiler; then + emake -C "${WORKDIR}/build/src" protoc + fi + + default +} + +multilib_src_test() { + emake check +} + +multilib_src_install_all() { + find "${D}" -name "*.la" -delete || die + + insinto /usr/share/vim/vimfiles/syntax + doins editors/proto.vim + insinto /usr/share/vim/vimfiles/ftdetect + doins "${FILESDIR}/proto.vim" + + if use emacs; then + elisp-install ${PN} editors/protobuf-mode.el* + elisp-site-file-install "${FILESDIR}/70${PN}-gentoo.el" + fi + + if use examples; then + DOCS+=(examples) + docompress -x /usr/share/doc/${PF}/examples + fi + + einstalldocs +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/dev-libs/skalibs/skalibs-2.8.1.0.ebuild b/dev-libs/skalibs/skalibs-2.8.1.0.ebuild new file mode 100644 index 000000000000..9cbca05c8f24 --- /dev/null +++ b/dev-libs/skalibs/skalibs-2.8.1.0.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +DESCRIPTION="General-purpose libraries from skarnet.org" +HOMEPAGE="https://www.skarnet.org/software/skalibs/" +SRC_URI="https://www.skarnet.org/software/${PN}/${P}.tar.gz" + +LICENSE="ISC" +SLOT="0/$(ver_cut 1-2)" +KEYWORDS="~amd64 ~arm ~x86" +IUSE="doc ipv6 static-libs" + +RDEPEND="" +DEPEND="" + +HTML_DOCS=( doc/. ) + +src_prepare() { + default + + # Avoid QA warning for LDFLAGS addition; avoid overriding -fstack-protector + sed -i -e 's/.*-Wl,--hash-style=both$/:/' -e '/-fno-stack-protector$/d' \ + configure || die +} + +src_configure() { + econf \ + --datadir=/etc \ + --dynlibdir=/usr/$(get_libdir) \ + --libdir=/usr/$(get_libdir)/${PN} \ + --sysdepdir=/usr/$(get_libdir)/${PN} \ + --enable-clock \ + --enable-shared \ + $(use_enable static-libs static) \ + $(use_enable ipv6) +} |