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