pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc
Module Name: pkgsrc
Committed By: manu
Date: Thu Apr 16 09:28:39 UTC 2020
Modified Files:
pkgsrc/devel/gnustep-objc: Makefile PLIST buildlink3.mk distinfo
pkgsrc/devel/gnustep-objc/patches: patch-GNUmakefile
pkgsrc/doc: CHANGES-2020
Added Files:
pkgsrc/devel/gnustep-objc/patches: patch-objcxx_eh.cc patch-objcxx_eh.h
Removed Files:
pkgsrc/devel/gnustep-objc/patches: patch-objc_msgSend.x86-32.S
Log Message:
Update gnustep-objc to 1.8.1
This is required to fix the build of gnustep-make on NetBSD 9.0
Changes since previous version in pkgsrc:
Version 1.8
- Added API for tracing, allowing interposition on all message sends matching a
given selector.
- Numerous bug fixes and stability improvements.
Version 1.7
- A new CMake-based build system. This makes all of the configurable options
available via a clean interface. CPack is supported for building RPM and DEB
packages out of the box.
- A new CTest-based test suite, replacing the old ad-hoc tests.
- Build a single libobjc with support for Objective-C++ on platforms where a
C++ ABI library (libcxxrt or libsupc++) is installed as a shared library.
- Added specialised property accessor functions and support for atomic
properties with C++ non-POD types.
- Significant improvements in property introspection and an exhaustive test
suite.
- Improved integration with libdispatch. The runtime will correctly register
work queues with the garbage collector or create autorelease pools around
block invocations.
- A new exception implementation providing better integration with foreign
exceptions (e.g. C++ exceptions). The new ABI is supported by clang 3.3 when
compiling with -fobjc-runtime=gnustep-1.7 (or higher). The old ABI is still
supported and both can be used within the same program, however code compiled
with the old ABI remains unreliable in the presence of foreign exceptions.
It is strongly recommended that anyone using exceptions with Objective-C++
switches to the new version.
- MIPS64 support in the assembly routines. Currently these are only tested
with the n64 ABI. They are believed to work with n32 and o32, but should be
considered unsupported on these platforms.
- Small algorithmic improvement to the objc_msgSend() implementation, giving
approximately a 10% speedup (architecture-dependent) on message sends.
- Updated optimisation passes to work with LLVM 3.2 and recent LLVM trunk.
To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 pkgsrc/devel/gnustep-objc/Makefile
cvs rdiff -u -r1.6 -r1.7 pkgsrc/devel/gnustep-objc/PLIST
cvs rdiff -u -r1.11 -r1.12 pkgsrc/devel/gnustep-objc/buildlink3.mk \
pkgsrc/devel/gnustep-objc/distinfo
cvs rdiff -u -r1.1 -r1.2 pkgsrc/devel/gnustep-objc/patches/patch-GNUmakefile
cvs rdiff -u -r1.2 -r0 \
pkgsrc/devel/gnustep-objc/patches/patch-objc_msgSend.x86-32.S
cvs rdiff -u -r0 -r1.1 pkgsrc/devel/gnustep-objc/patches/patch-objcxx_eh.cc \
pkgsrc/devel/gnustep-objc/patches/patch-objcxx_eh.h
cvs rdiff -u -r1.2310 -r1.2311 pkgsrc/doc/CHANGES-2020
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/devel/gnustep-objc/Makefile
diff -u pkgsrc/devel/gnustep-objc/Makefile:1.31 pkgsrc/devel/gnustep-objc/Makefile:1.32
--- pkgsrc/devel/gnustep-objc/Makefile:1.31 Sun Dec 31 11:20:03 2017
+++ pkgsrc/devel/gnustep-objc/Makefile Thu Apr 16 09:28:39 2020
@@ -1,23 +1,32 @@
-# $NetBSD: Makefile,v 1.31 2017/12/31 11:20:03 he Exp $
+# $NetBSD: Makefile,v 1.32 2020/04/16 09:28:39 manu Exp $
-DISTNAME= libobjc2-1.6.1
+DISTNAME= libobjc2-1.8.1
PKGNAME= ${DISTNAME:S/libobjc2/gnustep-objc/}
-PKGREVISION= 3
+#PKGREVISION= 1
CATEGORIES= devel gnustep
-MASTER_SITES= http://download.gna.org/gnustep/
-EXTRACT_SUFX= .tar.bz2
+MASTER_SITES= ftp://ftp.gnustep.org/pub/gnustep/libs/
+EXTRACT_SUFX= .tar.gz
MAINTAINER= pkgsrc-users%NetBSD.org@localhost
#HOMEPAGE= https://github.com/gnustep/gnustep-libobjc2
COMMENT= Objective-C runtime
-LICENSE= gnu-gpl-v3
-USE_LANGUAGES= objc
-USE_TOOLS+= gmake
+USE_LANGUAGES= objc c++11
+USE_TOOLS+= gmake cmake
MAKE_FILE= GNUmakefile
MAKE_ENV+= ADDITIONAL_LDFLAGS=-lpthread
+MAKE_ENV+= LIBOBJC=libobjc
+MAKE_ENV+= LIBOBJCXX=libobjcxx
+MAKE_ENV+= VERSION=4.6
+MAKE_ENV+= MAJOR_VERSION=4
+MAKE_ENV+= MINOR_VERSION=6
GNUSTEP_OVERRIDE_INSTALL= YES
-NO_CONFIGURE= YES
+
+INSTALLATION_DIRS= lib include/objc
+
+do-configure:
+ cd ${WRKSRC} && ${CMAKE} -Wno-dev .
+
.include "../../devel/gnustep-make/buildlink3.mk"
.include "../../mk/compiler.mk"
Index: pkgsrc/devel/gnustep-objc/PLIST
diff -u pkgsrc/devel/gnustep-objc/PLIST:1.6 pkgsrc/devel/gnustep-objc/PLIST:1.7
--- pkgsrc/devel/gnustep-objc/PLIST:1.6 Thu Nov 1 20:05:17 2012
+++ pkgsrc/devel/gnustep-objc/PLIST Thu Apr 16 09:28:39 2020
@@ -1,4 +1,10 @@
-@comment $NetBSD: PLIST,v 1.6 2012/11/01 20:05:17 joerg Exp $
+@comment $NetBSD: PLIST,v 1.7 2020/04/16 09:28:39 manu Exp $
+lib/libobjc.so
+lib/libobjc.so.4
+lib/libobjc.so.4.6
+lib/libobjcxx.so
+lib/libobjcxx.so.4
+lib/libobjcxx.so.4.6
include/objc/Availability.h
include/objc/Object.h
include/objc/Protocol.h
@@ -8,6 +14,7 @@ include/objc/capabilities.h
include/objc/developer.h
include/objc/encoding.h
include/objc/hooks.h
+include/objc/message.h
include/objc/objc-api.h
include/objc/objc-arc.h
include/objc/objc-auto.h
@@ -16,5 +23,3 @@ include/objc/runtime-deprecated.h
include/objc/runtime.h
include/objc/slot.h
include/objc/toydispatch.h
-lib/libobjc.so
-lib/libobjc.so.4.6.0
Index: pkgsrc/devel/gnustep-objc/buildlink3.mk
diff -u pkgsrc/devel/gnustep-objc/buildlink3.mk:1.11 pkgsrc/devel/gnustep-objc/buildlink3.mk:1.12
--- pkgsrc/devel/gnustep-objc/buildlink3.mk:1.11 Sun Dec 31 11:20:03 2017
+++ pkgsrc/devel/gnustep-objc/buildlink3.mk Thu Apr 16 09:28:39 2020
@@ -1,4 +1,4 @@
-# $NetBSD: buildlink3.mk,v 1.11 2017/12/31 11:20:03 he Exp $
+# $NetBSD: buildlink3.mk,v 1.12 2020/04/16 09:28:39 manu Exp $
BUILDLINK_TREE+= gnustep-objc
@@ -9,6 +9,7 @@ BUILDLINK_API_DEPENDS.gnustep-objc+= gnu
BUILDLINK_ABI_DEPENDS.gnustep-objc+= gnustep-objc>=1.3.0nb1
BUILDLINK_PKGSRCDIR.gnustep-objc?= ../../devel/gnustep-objc
+BUILDLINK_CFLAGS.gnustep-objc+= -I${BUILDLINK_PREFIX.gnustep-objc}/include/objc
BUILDLINK_LDFLAGS.gnustep-objc+= -lobjc -lpthread
.if ${OPSYS} == "NetBSD"
# Missing _Unwind_* symbols in gnustep objc.so, needs to come from somewhere...
Index: pkgsrc/devel/gnustep-objc/distinfo
diff -u pkgsrc/devel/gnustep-objc/distinfo:1.11 pkgsrc/devel/gnustep-objc/distinfo:1.12
--- pkgsrc/devel/gnustep-objc/distinfo:1.11 Wed Nov 16 22:46:48 2016
+++ pkgsrc/devel/gnustep-objc/distinfo Thu Apr 16 09:28:39 2020
@@ -1,8 +1,9 @@
-$NetBSD: distinfo,v 1.11 2016/11/16 22:46:48 wiedi Exp $
+$NetBSD: distinfo,v 1.12 2020/04/16 09:28:39 manu Exp $
-SHA1 (libobjc2-1.6.1.tar.bz2) = 02a6cf02f620530ecd64f32dca348def92412b2b
-RMD160 (libobjc2-1.6.1.tar.bz2) = 7babdba063d5377125ffd5b9481e074c32a8cf10
-SHA512 (libobjc2-1.6.1.tar.bz2) = e43bf867ca734e76274826a222a10e9b603e085a9dd245912ee16603bb61e276fcd9388918f61aba7d0bded0c045bc9799f7e24b309d670d144175707662f9c8
-Size (libobjc2-1.6.1.tar.bz2) = 116263 bytes
-SHA1 (patch-GNUmakefile) = 35524689235c4596c58e32eb38ad770d59e7d994
-SHA1 (patch-objc_msgSend.x86-32.S) = ff1cc0247e5c2277f852f68addbe0bae4db82ba7
+SHA1 (libobjc2-1.8.1.tar.gz) = 28b53704d481de4414bfe6ae94f2a84358ef766d
+RMD160 (libobjc2-1.8.1.tar.gz) = 1beaf2a2ee4ef1370bbb2fac4f7b1d233f0a9e09
+SHA512 (libobjc2-1.8.1.tar.gz) = 518f36e96a82a076fc67fe384226bd97310cd10a53c7b0951db9f3658aa534582b245d5cb97956fe91c38338c3fc8f1e569dd8af36f6d12e32bf1460251d02eb
+Size (libobjc2-1.8.1.tar.gz) = 173635 bytes
+SHA1 (patch-GNUmakefile) = 0760597d10e72019f5159f9b14996bf7244e6f99
+SHA1 (patch-objcxx_eh.cc) = 329e6e41ab78bd9527051508934e89b1c9a71400
+SHA1 (patch-objcxx_eh.h) = e49fab21285c3a5aaaf6a79fff2105fa029ca90a
Index: pkgsrc/devel/gnustep-objc/patches/patch-GNUmakefile
diff -u pkgsrc/devel/gnustep-objc/patches/patch-GNUmakefile:1.1 pkgsrc/devel/gnustep-objc/patches/patch-GNUmakefile:1.2
--- pkgsrc/devel/gnustep-objc/patches/patch-GNUmakefile:1.1 Wed Nov 16 22:46:49 2016
+++ pkgsrc/devel/gnustep-objc/patches/patch-GNUmakefile Thu Apr 16 09:28:39 2020
@@ -1,34 +1,41 @@
-$NetBSD: patch-GNUmakefile,v 1.1 2016/11/16 22:46:49 wiedi Exp $
+$NetBSD: patch-GNUmakefile,v 1.2 2020/04/16 09:28:39 manu Exp $
-- only use -no-integrated-as with clang
-- _XOPEN_SOURCE=500 conflicts with c99
+Install fixes
---- GNUmakefile.orig 2012-03-21 16:45:31.000000000 +0000
-+++ GNUmakefile
-@@ -81,7 +81,7 @@ ${LIBOBJC}_OBJ_FILES = \
+--- GNUmakefile.orig 2015-08-07 13:33:41.000000000 +0200
++++ GNUmakefile 2020-04-15 03:22:59.875513487 +0200
+@@ -78,22 +78,22 @@
- # Add rule for producing object files from assembler
- $(GNUSTEP_OBJ_INSTANCE_DIR)/%.S$(OEXT) : %.S
-- $(ECHO_COMPILING)$(CC) -no-integrated-as $< -c \
-+ $(ECHO_COMPILING)$(CC) $(ASMFLAGS) $< -c \
- $(filter-out $($<_FILE_FILTER_OUT_FLAGS),$(ALL_CPPFLAGS) \
- $(ALL_CFLAGS)) \
- $($<_FILE_FLAGS) -o $@$(END_ECHO)
-@@ -153,7 +153,7 @@ endif
- # we are special, precious, little flowers.
- ${LIBOBJC}_CPPFLAGS +=\
- -D__OBJC_RUNTIME_INTERNAL__=1\
-- -D_XOPEN_SOURCE=500\
-+ -D_XOPEN_SOURCE=600\
- -D__BSD_VISIBLE=1\
- -D_BSD_SOURCE=1\
-
-@@ -164,6 +164,8 @@ ${LIBOBJC}_CFLAGS += -std=gnu99 -g -fexc
- ${LIBOBJC}_CCFLAGS += -std=c++98 -g -fexceptions #-fvisibility=hidden
- ${LIBOBJC}_CFLAGS += -Wno-unused-function
-
-+ASMFLAGS += `if $(CC) -v 2>&1| grep -q 'clang' ; then echo -no-integrated-as ; fi`
-+
- # Uncomment this when debugging - it makes everything slow, but means that the
- # debugger actually works...
- ifeq ($(debug), yes)
+ install: all
+ $(SILENT)echo Installing libraries...
+ $(SILENT)install -d $(LIB_DIR)
+- $(SILENT)install -m 444 $(STRIP) $(LIBOBJC).so.$(VERSION) $(LIB_DIR)
+- $(SILENT)install -m 444 $(STRIP) $(LIBOBJCXX).so.$(VERSION) $(LIB_DIR)
+- $(SILENT)install -m 444 $(STRIP) $(LIBOBJC).a $(LIB_DIR)
++ $(SILENT)install -m 444 $(STRIP) $(LIBOBJC).so.$(VERSION) $(DESTDIR)/$(LIB_DIR)
++ $(SILENT)install -m 444 $(STRIP) $(LIBOBJCXX).so.$(VERSION) $(DESTDIR)/$(LIB_DIR)
++ #$(SILENT)install -m 444 $(STRIP) $(LIBOBJC).a $(LIB_DIR)
+ $(SILENT)echo Creating symbolic links...
+- $(SILENT)ln -sf $(LIBOBJC).so.$(VERSION) $(LIB_DIR)/$(LIBOBJC).so
+- $(SILENT)ln -sf $(LIBOBJC).so.$(VERSION) $(LIB_DIR)/$(LIBOBJC).so.$(MAJOR_VERSION)
+- $(SILENT)ln -sf $(LIBOBJC).so.$(VERSION) $(LIB_DIR)/$(LIBOBJC).so.$(MAJOR_VERSION).$(MINOR_VERSION)
+- $(SILENT)ln -sf $(LIBOBJCXX).so.$(VERSION) $(LIB_DIR)/$(LIBOBJCXX).so
+- $(SILENT)ln -sf $(LIBOBJCXX).so.$(VERSION) $(LIB_DIR)/$(LIBOBJCXX).so.$(MAJOR_VERSION)
+- $(SILENT)ln -sf $(LIBOBJCXX).so.$(VERSION) $(LIB_DIR)/$(LIBOBJCXX).so.$(MAJOR_VERSION).$(MINOR_VERSION)
++ $(SILENT)ln -sf $(LIBOBJC).so.$(VERSION) $(DESTDIR)$(LIB_DIR)/$(LIBOBJC).so
++ $(SILENT)ln -sf $(LIBOBJC).so.$(VERSION) $(DESTDIR)$(LIB_DIR)/$(LIBOBJC).so.$(MAJOR_VERSION)
++ #$(SILENT)ln -sf $(LIBOBJC).so.$(VERSION) $(DESTDIR)$(LIB_DIR)/$(LIBOBJC).so.$(MAJOR_VERSION).$(MINOR_VERSION)
++ $(SILENT)ln -sf $(LIBOBJCXX).so.$(VERSION) $(DESTDIR)$(LIB_DIR)/$(LIBOBJCXX).so
++ $(SILENT)ln -sf $(LIBOBJCXX).so.$(VERSION) $(DESTDIR)$(LIB_DIR)/$(LIBOBJCXX).so.$(MAJOR_VERSION)
++ #$(SILENT)ln -sf $(LIBOBJCXX).so.$(VERSION) $(DESTDIR)$(LIB_DIR)/$(LIBOBJCXX).so.$(MAJOR_VERSION).$(MINOR_VERSION)
+ $(SILENT)echo Installing headers...
+- $(SILENT)install -d $(HEADER_DIR)/objc
+- $(SILENT)install -m 444 objc/*.h $(HEADER_DIR)/objc
+- $(SILENT)install -m 444 objc/*.h $(HEADER_DIR)/objc
++ $(SILENT)install -d $(DESTDIR)$(HEADER_DIR)/objc
++ $(SILENT)install -m 444 objc/*.h $(DESTDIR)$(HEADER_DIR)/objc
++ $(SILENT)install -m 444 objc/*.h $(DESTDIR)$(HEADER_DIR)/objc
+ $(SILENT)echo "To use the newly installed objc2 library with GNUstep,"
+ $(SILENT)echo "please change to your gnustep-make directory and"
+ $(SILENT)echo "type 'configure; make install' to tell gnustep-make"
+ $(SILENT)echo "to use the new library (you will then need to configure"
Index: pkgsrc/doc/CHANGES-2020
diff -u pkgsrc/doc/CHANGES-2020:1.2310 pkgsrc/doc/CHANGES-2020:1.2311
--- pkgsrc/doc/CHANGES-2020:1.2310 Thu Apr 16 09:21:51 2020
+++ pkgsrc/doc/CHANGES-2020 Thu Apr 16 09:28:39 2020
@@ -1,4 +1,4 @@
-$NetBSD: CHANGES-2020,v 1.2310 2020/04/16 09:21:51 manu Exp $
+$NetBSD: CHANGES-2020,v 1.2311 2020/04/16 09:28:39 manu Exp $
Changes to the packages collection and infrastructure in 2020:
@@ -3166,3 +3166,4 @@ Changes to the packages collection and i
Updated databases/mariadb55-client to 5.5.67 [manu 2020-04-16]
Updated databases/mariadb55-server to 5.5.67 [manu 2020-04-16]
Updated devel/gnustep-make to 2.8.0 [manu 2020-04-16]
+ Updated devel/gnustep-objc to 1.8.1 [manu 2020-04-16]
Added files:
Index: pkgsrc/devel/gnustep-objc/patches/patch-objcxx_eh.cc
diff -u /dev/null pkgsrc/devel/gnustep-objc/patches/patch-objcxx_eh.cc:1.1
--- /dev/null Thu Apr 16 09:28:39 2020
+++ pkgsrc/devel/gnustep-objc/patches/patch-objcxx_eh.cc Thu Apr 16 09:28:39 2020
@@ -0,0 +1,26 @@
+$NetBSD: patch-objcxx_eh.cc,v 1.1 2020/04/16 09:28:39 manu Exp $
+
+Workaround build failure due to redefinition
+
+--- objcxx_eh.cc.orig 2020-04-14 11:22:03.686048307 +0200
++++ objcxx_eh.cc 2020-04-14 11:22:33.134026599 +0200
+@@ -14,8 +14,9 @@
+ }
+
+ using __cxxabiv1::__class_type_info;
+
++#if 0
+ namespace std
+ {
+ /**
+ * std::type_info defined with the GCC ABI. This may not be exposed in
+@@ -47,8 +48,9 @@
+ const __class_type_info *target,
+ void **thrown_object) const;
+ };
+ }
++#endif
+
+ using namespace std;
+
+
Index: pkgsrc/devel/gnustep-objc/patches/patch-objcxx_eh.h
diff -u /dev/null pkgsrc/devel/gnustep-objc/patches/patch-objcxx_eh.h:1.1
--- /dev/null Thu Apr 16 09:28:39 2020
+++ pkgsrc/devel/gnustep-objc/patches/patch-objcxx_eh.h Thu Apr 16 09:28:39 2020
@@ -0,0 +1,30 @@
+$NetBSD: patch-objcxx_eh.h,v 1.1 2020/04/16 09:28:39 manu Exp $
+
+Workaround build failure due to redefinition
+
+--- objcxx_eh.h.orig 2015-08-07 13:33:41.000000000 +0200
++++ objcxx_eh.h 2020-04-14 11:19:51.950615777 +0200
+@@ -1,7 +1,12 @@
+ #ifdef __cplusplus
+ extern "C" {
+ #endif
++
++#ifndef _GLIBCXX_NOTHROW
++#define _GLIBCXX_NOTHROW
++#endif
++
+ /**
+ * Allocates a C++ exception. This function is part of the Itanium C++ ABI and
+ * is provided externally.
+ */
+@@ -24,9 +29,9 @@
+ * Frees an exception object allocated by __cxa_allocate_exception(). Part of
+ * the Itanium C++ ABI.
+ */
+ __attribute__((weak))
+-void __cxa_free_exception(void *thrown_exception);
++void __cxa_free_exception(void *thrown_exception) _GLIBCXX_NOTHROW;
+ /**
+ * Tests whether a C++ exception contains an Objective-C object, and returns if
+ * if it does. The second argument is a pointer to a boolean value indicating
+ * whether this is a valid object.
Home |
Main Index |
Thread Index |
Old Index