summaryrefslogtreecommitdiff
path: root/gnustep-base/libobjc2
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
committerV3n3RiX <venerix@redcorelinux.org>2018-07-14 21:03:06 +0100
commit8376ef56580626e9c0f796d5b85b53a0a1c7d5f5 (patch)
tree7681bbd4e8b05407772df40a4bf04cbbc8afc3fa /gnustep-base/libobjc2
parent30a9caf154332f12ca60756e1b75d2f0e3e1822d (diff)
gentoo resync : 14.07.2018
Diffstat (limited to 'gnustep-base/libobjc2')
-rw-r--r--gnustep-base/libobjc2/Manifest6
-rw-r--r--gnustep-base/libobjc2/files/libobjc2-1.7-fix_soname.patch58
-rw-r--r--gnustep-base/libobjc2/libobjc2-1.8.1.ebuild44
-rw-r--r--gnustep-base/libobjc2/libobjc2-1.8.ebuild44
-rw-r--r--gnustep-base/libobjc2/metadata.xml33
5 files changed, 185 insertions, 0 deletions
diff --git a/gnustep-base/libobjc2/Manifest b/gnustep-base/libobjc2/Manifest
new file mode 100644
index 000000000000..dcbe88c07f23
--- /dev/null
+++ b/gnustep-base/libobjc2/Manifest
@@ -0,0 +1,6 @@
+AUX libobjc2-1.7-fix_soname.patch 1827 BLAKE2B fa716ca39eaa0cb78214922ed5bfac139d1ba1f510791938ffcbad2c1a5c096b04056cda1f25baf3ade2b37d0757516c14a9ac2c77684438852ddf38b11d9e09 SHA512 d6ce4a6840e7f3ea22db3f63574a08fe9fad2fd3ebeaac764097935b322f038baa4ec9d0f19124dd84cb6ffe010e267bdb60f76f5d24dd508f520bdb38124ead
+DIST libobjc2-1.8.1.tar.gz 173635 BLAKE2B 1ed9df6ee934a56dd8565904f9a402f5687bac6f876bcef538fed60c4ebd34af8f35921bdabbdf1ad97fb371e591aea3e47170afaffe65056af07c88e01f0b37 SHA512 518f36e96a82a076fc67fe384226bd97310cd10a53c7b0951db9f3658aa534582b245d5cb97956fe91c38338c3fc8f1e569dd8af36f6d12e32bf1460251d02eb
+DIST libobjc2-1.8.tar.gz 173512 BLAKE2B ba494dd2db2bfdcc2cfce906014d75146368f049ebe4ea6b83024705af2b78f916252a084b95be43c245c5fd6574d00db75853d291193ea70cc48a6b5dbeab93 SHA512 1562e42dc43a24c1655d02db7aa101a48a7b026bec23252c8eec3893fbac0d67368685291df0954ee79f07b92ecc13c68ee7c7b0f351428a31e99ed05ed2230d
+EBUILD libobjc2-1.8.1.ebuild 967 BLAKE2B 2a889a88c29b8442f65361cbfbbc1bf2cda8323685ef3fa8c9643e46e34d523f1bafa4a663a9565426973c87c07cbb4d8e14ff0b10a46dab5c83c280ee8717ac SHA512 d7118b2b81816fd965251a3d19e246b1b6393c6f3fc8b83772dae17e3a61ea9be39f9714e8c4fbb26f861fafdb7f677bf8728a36cd4eaf252650b6c8a4f9ef20
+EBUILD libobjc2-1.8.ebuild 967 BLAKE2B 2a889a88c29b8442f65361cbfbbc1bf2cda8323685ef3fa8c9643e46e34d523f1bafa4a663a9565426973c87c07cbb4d8e14ff0b10a46dab5c83c280ee8717ac SHA512 d7118b2b81816fd965251a3d19e246b1b6393c6f3fc8b83772dae17e3a61ea9be39f9714e8c4fbb26f861fafdb7f677bf8728a36cd4eaf252650b6c8a4f9ef20
+MISC metadata.xml 1348 BLAKE2B b5eec1f6af50d0a90d62c6dce21fe14b6c20ec7d534ac49030bbc89bb2f5665af7d40750386f84d3aedb67802807e25ad04f824c7b6908e41a3de256c07dead3 SHA512 5adcc9a3d5527c5e86da2ae7884f334d68ebd884b26e9f0d3329af7c877921c90bef4f77d8c535c82102e3bacb5a199e5fd940471036004f66858850040ee936
diff --git a/gnustep-base/libobjc2/files/libobjc2-1.7-fix_soname.patch b/gnustep-base/libobjc2/files/libobjc2-1.7-fix_soname.patch
new file mode 100644
index 000000000000..ba1aa8ecea91
--- /dev/null
+++ b/gnustep-base/libobjc2/files/libobjc2-1.7-fix_soname.patch
@@ -0,0 +1,58 @@
+diff -Naur libobjc2-1.7.orig/CMakeLists.txt libobjc2-1.7/CMakeLists.txt
+--- libobjc2-1.7.orig/CMakeLists.txt 2013-06-27 13:30:41.000000000 +0200
++++ libobjc2-1.7/CMakeLists.txt 2015-05-20 13:20:55.214244088 +0200
+@@ -8,7 +8,8 @@
+ set(CMAKE_C_FLAGS_RELEASE "-O3 ${CMAKE_C_FLAGS_RELEASE}")
+ set(CMAKE_C_FLAGS "-std=gnu99 ${CMAKE_C_FLAGS}")
+
+-set(libobjc_VERSION 4.6)
++set(libobjc_SOVERSION 4)
++set(libobjc_VERSION 4.6.0)
+
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fexceptions")
+ # Build configuration
+@@ -204,7 +205,8 @@
+ add_library(objcxx SHARED ${libobjcxx_CXX_SRCS})
+ set_target_properties(objcxx PROPERTIES
+ LINKER_LANGUAGE C
+- SOVERSION ${libobjc_VERSION}
++ SOVERSION ${libobjc_SOVERSION}
++ VERSION ${libobjc_VERSION}
+ )
+ target_link_libraries(objcxx ${CXX_RUNTIME})
+ set(CXX_RUNTIME "")
+@@ -220,7 +222,8 @@
+ add_library(objcxx SHARED ${libobjcxx_CXX_SRCS})
+ set_target_properties(objcxx PROPERTIES
+ LINKER_LANGUAGE C
+- SOVERSION ${libobjc_VERSION}
++ SOVERSION ${libobjc_SOVERSION}
++ VERSION ${libobjc_VERSION}
+ )
+ set(CXX_RUNTIME "")
+ list(APPEND INSTALL_TARGETS objcxx)
+@@ -241,7 +244,8 @@
+
+ set_target_properties(objc PROPERTIES
+ LINKER_LANGUAGE C
+- SOVERSION ${libobjc_VERSION}
++ SOVERSION ${libobjc_SOVERSION}
++ VERSION ${libobjc_VERSION}
+ OUTPUT_NAME ${LIBOBJC_NAME}
+ LINK_FLAGS "${objc_LINK_FLAGS}"
+ )
+@@ -349,3 +353,14 @@
+ add_subdirectory(Test)
+ endif (TESTS)
+
++
++MESSAGE(STATUS "<<< Gentoo configuration >>>
++Build type ${CMAKE_BUILD_TYPE}
++Install path ${CMAKE_INSTALL_PREFIX}
++Compiler flags:
++C ${CMAKE_C_FLAGS}
++C++ ${CMAKE_CXX_FLAGS}
++Linker flags:
++Executable ${CMAKE_EXE_LINKER_FLAGS}
++Module ${CMAKE_MODULE_LINKER_FLAGS}
++Shared ${CMAKE_SHARED_LINKER_FLAGS}\n")
diff --git a/gnustep-base/libobjc2/libobjc2-1.8.1.ebuild b/gnustep-base/libobjc2/libobjc2-1.8.1.ebuild
new file mode 100644
index 000000000000..a6d1aa123871
--- /dev/null
+++ b/gnustep-base/libobjc2/libobjc2-1.8.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit cmake-utils eutils
+
+DESCRIPTION="GNUstep Objective-C runtime"
+HOMEPAGE="http://www.gnustep.org"
+SRC_URI="https://github.com/gnustep/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="boehm-gc cxx test"
+
+RDEPEND="boehm-gc? ( dev-libs/boehm-gc )
+ cxx? ( sys-libs/libcxx )"
+DEPEND="${DEPEND}
+ >=sys-devel/clang-2.9"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.7-fix_soname.patch )
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ if ! use cxx;
+ then
+ sed -e 's/addtest_flags(CXXExceptions.*//' \
+ -i Test/CMakeLists.txt || die "test sed failed"
+ fi
+}
+
+src_configure() {
+ export CC=clang
+ export CXX=clang++
+
+ local mycmakeargs=(
+ -DGNUSTEP_CONFIG=GNUSTEP_CONFIG-NOTFOUND
+ $(cmake-utils_use boehm-gc BOEHM_GC)
+ $(cmake-utils_use_enable cxx OBJCXX)
+ $(cmake-utils_use test TESTS)
+ )
+ cmake-utils_src_configure
+}
diff --git a/gnustep-base/libobjc2/libobjc2-1.8.ebuild b/gnustep-base/libobjc2/libobjc2-1.8.ebuild
new file mode 100644
index 000000000000..a6d1aa123871
--- /dev/null
+++ b/gnustep-base/libobjc2/libobjc2-1.8.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+inherit cmake-utils eutils
+
+DESCRIPTION="GNUstep Objective-C runtime"
+HOMEPAGE="http://www.gnustep.org"
+SRC_URI="https://github.com/gnustep/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="boehm-gc cxx test"
+
+RDEPEND="boehm-gc? ( dev-libs/boehm-gc )
+ cxx? ( sys-libs/libcxx )"
+DEPEND="${DEPEND}
+ >=sys-devel/clang-2.9"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.7-fix_soname.patch )
+
+src_prepare() {
+ cmake-utils_src_prepare
+
+ if ! use cxx;
+ then
+ sed -e 's/addtest_flags(CXXExceptions.*//' \
+ -i Test/CMakeLists.txt || die "test sed failed"
+ fi
+}
+
+src_configure() {
+ export CC=clang
+ export CXX=clang++
+
+ local mycmakeargs=(
+ -DGNUSTEP_CONFIG=GNUSTEP_CONFIG-NOTFOUND
+ $(cmake-utils_use boehm-gc BOEHM_GC)
+ $(cmake-utils_use_enable cxx OBJCXX)
+ $(cmake-utils_use test TESTS)
+ )
+ cmake-utils_src_configure
+}
diff --git a/gnustep-base/libobjc2/metadata.xml b/gnustep-base/libobjc2/metadata.xml
new file mode 100644
index 000000000000..b347a3b63481
--- /dev/null
+++ b/gnustep-base/libobjc2/metadata.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnustep@gentoo.org</email>
+ <name>Gentoo GNUstep Project</name>
+ </maintainer>
+ <longdescription>
+ The GNUstep Objective-C runtime is designed as a drop-in replacement for the
+ GCC runtime. It supports both a legacy and a modern ABI, allowing code
+ compiled with old versions of GCC to be supported without requiring
+ recompilation. The modern ABI adds the following features:
+ - Non-fragile instance variables.
+ - Protocol uniquing.
+ - Object planes support.
+ - Declared property introspection.
+
+ Both ABIs support the following feature above and beyond the GCC runtime:
+ - The modern Objective-C runtime APIs, introduced with OS X 10.5.
+ - Blocks (closures).
+ - Low memory profile for platforms where memory usage is more important than speed.
+ - Synthesised property accessors.
+ - Efficient support for @synchronized()
+ - Type-dependent dispatch, eliminating stack corruption from mismatched selectors.
+ </longdescription>
+ <use>
+ <flag name="boehm-gc">Enable Hans Boehm's garbage collector
+ (<pkg>dev-libs/boehm-gc</pkg>). Not recommended by upstream</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">gnustep/libobjc2</remote-id>
+ </upstream>
+</pkgmetadata>