[Midnightbsd-cvs] mports [19352] trunk/lang/libobjc2: update to libobjc2 1.7

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Sat Jun 6 17:58:00 EDT 2015


Revision: 19352
          http://svnweb.midnightbsd.org/mports/?rev=19352
Author:   laffer1
Date:     2015-06-06 17:58:00 -0400 (Sat, 06 Jun 2015)
Log Message:
-----------
update to libobjc2 1.7

Modified Paths:
--------------
    trunk/lang/libobjc2/Makefile
    trunk/lang/libobjc2/distinfo
    trunk/lang/libobjc2/pkg-descr
    trunk/lang/libobjc2/pkg-plist

Added Paths:
-----------
    trunk/lang/libobjc2/files/patch-arc.m

Removed Paths:
-------------
    trunk/lang/libobjc2/files/patch-Makefile

Modified: trunk/lang/libobjc2/Makefile
===================================================================
--- trunk/lang/libobjc2/Makefile	2015-06-06 21:55:15 UTC (rev 19351)
+++ trunk/lang/libobjc2/Makefile	2015-06-06 21:58:00 UTC (rev 19352)
@@ -1,8 +1,7 @@
 # $MidnightBSD$
 
 PORTNAME=	libobjc2
-PORTVERSION=	1.6
-PORTREVISION=	1
+PORTVERSION=	1.7
 CATEGORIES=	lang devel gnustep
 MASTER_SITES=	http://download.gna.org/gnustep/
 
@@ -11,48 +10,40 @@
 
 LICENSE=	mit
 
-BUILD_DEPENDS=	${LOCALBASE}/bin/as:${PORTSDIR}/devel/binutils
+SSP_UNSAFE=	yes
 
-USES=		tar:bzip2
-USE_LDCONFIG=	yes
-MAKE_ENV+=	LD=${LOCALBASE}/bin/ld
-MAKE_ENV+=	SHLIB_VERSION="${SHLIB_VERSION}"
-PLIST_SUB=	SHLIB=${SHLIB_VERSION}
+USES=		cmake tar:bzip2
 
-OPTIONS_DEFINE=		NSOBJECT_ROOT
-OPTIONS_DEFAULT=	NSOBJECT_ROOT
-NSOBJECT_ROOT_DESC=	Root class is NSObject not Object
-
-SHLIB_VERSION?=	16
-
 .include <bsd.mport.options.mk>
 
-MAKE_ARGS+=	-DWITHOUT_TOYDISPATCH
+_CLANG!=	if [ -f /usr/bin/clang ] ; then  /usr/bin/clang --version | head -1 | \
+		${SED} -e 's/.*clang version \([0-9]\)\.\([0-9]\).*/\1\2/' ; else ${ECHO} 0 ; fi
 
-.if ${PORT_OPTIONS:MNSOBJECT_ROOT}
-CPPFLAGS+=	-DGNUSTEP
+.if ${_CLANG} < 34
+BUILD_DEPENDS+=	${LOCALBASE}/bin/clang34:${PORTSDIR}/lang/clang34
+CC=		${LOCALBASE}/bin/clang34
+CXX=	${LOCALBASE}/bin/clang++34
+.else
+CC=		/usr/bin/clang
+CXX=	/usr/bin/clang++
 .endif
 
-.include <bsd.port.pre.mk>
+SHLIB_MAJOR=	4
+SHLIB_MINOR=	6
 
-.if ${OSVERSION} >= 4015
-.if defined(CC) && ${CC:T:Mclang}
-# all done
-.else
-# force clang
-CC=	${LOCALBASE}/bin/clang
-BUILD_DEPENDS+=	${LOCALBASE}/bin/clang:${PORTSDIR}/lang/clang
-.endif
-.endif
+PLIST_SUB+=	SHLIB_MAJOR=${SHLIB_MAJOR} SHLIB_MINOR=${SHLIB_MINOR}
 
-.if (${ARCH} == i386) || (${ARCH} == i486)
-CFLAGS+=	-march=i586
-.endif
+CMAKE_ARGS+=	-DFORCE_LIBOBJCXX=ON
+PLIST_SUB+=	WITH_SEPARATECXX=""
 
-post-patch:
-	${RM} ${WRKSRC}/GNUmakefile
+CMAKE_ARGS+=	-DLIB_INSTALL_PATH=lib
+CMAKE_ARGS+=	-DTESTS=OFF
+# This shouldn't be needed, but our llvm port installs llvm-config with a silly
+# name...
+CMAKE_ARGS+=	-DLLVM_OPTS=OFF
 
 post-install:
-	${RM} ${PREFIX}/include/objc/toydispatch.h
+	${LN} -sf libobjc.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ${STAGEDIR}${PREFIX}/lib/libobjc.so.${SHLIB_MAJOR}
+	${LN} -sf libobjcxx.so.${SHLIB_MAJOR}.${SHLIB_MINOR} ${STAGEDIR}${PREFIX}/lib/libobjcxx.so.${SHLIB_MAJOR}
 
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>

Modified: trunk/lang/libobjc2/distinfo
===================================================================
--- trunk/lang/libobjc2/distinfo	2015-06-06 21:55:15 UTC (rev 19351)
+++ trunk/lang/libobjc2/distinfo	2015-06-06 21:58:00 UTC (rev 19352)
@@ -1,2 +1,2 @@
-SHA256 (libobjc2-1.6.tar.bz2) = cad4556d612e871f60ae19531474045075fab3ffab055f76140e3fed30a0c51d
-SIZE (libobjc2-1.6.tar.bz2) = 114767
+SHA256 (libobjc2-1.7.tar.bz2) = 3a1b4af6ff6f3d8e57bfb27401d1b249670ac2e92ba54ad5683ff3d4439d3cc1
+SIZE (libobjc2-1.7.tar.bz2) = 132662

Deleted: trunk/lang/libobjc2/files/patch-Makefile
===================================================================
--- trunk/lang/libobjc2/files/patch-Makefile	2015-06-06 21:55:15 UTC (rev 19351)
+++ trunk/lang/libobjc2/files/patch-Makefile	2015-06-06 21:58:00 UTC (rev 19352)
@@ -1,59 +0,0 @@
---- Makefile.orig	2011-11-23 13:43:16.000000000 +0100
-+++ Makefile	2011-12-10 08:20:33.000000000 +0100
-@@ -5,13 +5,13 @@
- MAJOR_VERSION = 4
- MINOR_VERSION = 6
- SUBMINOR_VERSION = 0
--VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(SUBMINOR_VERSION)
-+VERSION = $(SHLIB_VERSION)
- 
- LIBOBJCLIBNAME=objc
- LIBOBJC=libobjc
- LIBOBJCXX=libobjcxx
- 
--SILENT=@
-+SILENT=
- 
- CFLAGS += -std=gnu99 -fPIC -fexceptions
- CXXFLAGS += -fPIC -fexceptions
-@@ -62,21 +62,24 @@
- 	selector_table.o\
- 	sendmsg2.o\
- 	statics_loader.o\
--	toydispatch.o
-+
-+.if !defined(WITHOUT_TOYDISPATCH)
-+OBJECTS+= toydispatch.o
-+.endif
- 
- all: $(LIBOBJC).a $(LIBOBJCXX).so.$(VERSION)
- 
- $(LIBOBJCXX).so.$(VERSION): $(LIBOBJC).so.$(VERSION) $(OBJCXX_OBJECTS)
- 	$(SILENT)echo Linking shared Objective-C++ runtime library...
--	$(SILENT)$(CXX) -shared -o $@ $(OBJCXX_OBJECTS)
-+	$(SILENT)$(LD) $(LDFLAGS) -shared -o $@ $(OBJCXX_OBJECTS)
- 
- $(LIBOBJC).so.$(VERSION): $(OBJECTS)
- 	$(SILENT)echo Linking shared Objective-C runtime library...
--	$(SILENT)$(CC) -shared -rdynamic -o $@ $(OBJECTS)
-+	$(SILENT)$(LD) $(LDFLAGS) -shared -o $@ $(OBJECTS)
- 
- $(LIBOBJC).a: $(OBJECTS)
- 	$(SILENT)echo Linking static Objective-C runtime library...
--	$(SILENT)ld -r -s -o $@ $(OBJECTS)
-+	$(SILENT)$(LD) $(LDFLAGS) -r -s -o $@ $(OBJECTS)
- 
- .cc.o: Makefile
- 	$(SILENT)echo Compiling `basename $<`...
-@@ -108,11 +111,7 @@
- 	fi
- 	$(SILENT)echo Creating symbolic links...
- 	$(SILENT)ln -sf $(LIB_DIR)/$(LIBOBJC).so.$(VERSION) $(LIB_DIR)/$(LIBOBJC).so
--	$(SILENT)ln -sf $(LIB_DIR)/$(LIBOBJC).so.$(VERSION) $(LIB_DIR)/$(LIBOBJC).so.$(MAJOR_VERSION)
--	$(SILENT)ln -sf $(LIB_DIR)/$(LIBOBJC).so.$(VERSION) $(LIB_DIR)/$(LIBOBJC).so.$(MAJOR_VERSION).$(MINOR_VERSION)
- 	$(SILENT)ln -sf $(LIB_DIR)/$(LIBOBJCXX).so.$(VERSION) $(LIB_DIR)/$(LIBOBJCXX).so
--	$(SILENT)ln -sf $(LIB_DIR)/$(LIBOBJCXX).so.$(VERSION) $(LIB_DIR)/$(LIBOBJCXX).so.$(MAJOR_VERSION)
--	$(SILENT)ln -sf $(LIB_DIR)/$(LIBOBJCXX).so.$(VERSION) $(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

Added: trunk/lang/libobjc2/files/patch-arc.m
===================================================================
--- trunk/lang/libobjc2/files/patch-arc.m	                        (rev 0)
+++ trunk/lang/libobjc2/files/patch-arc.m	2015-06-06 21:58:00 UTC (rev 19352)
@@ -0,0 +1,30 @@
+--- ./arc.m.orig	2013-03-12 08:51:59.000000000 +0000
++++ ./arc.m	2014-01-13 15:04:54.000000000 +0000
+@@ -219,15 +219,18 @@
+ 		}
+ 		else
+ 		{
+-			[AutoreleasePool class];
+-			useARCAutoreleasePool = class_respondsToSelector(AutoreleasePool,
+-			                                                 SELECTOR(_ARCCompatibleAutoreleasePool));
+-			NewAutoreleasePool = class_getMethodImplementation(object_getClass(AutoreleasePool),
+-			                                                   SELECTOR(new));
+-			DeleteAutoreleasePool = class_getMethodImplementation(AutoreleasePool,
+-			                                                      SELECTOR(release));
+-			AutoreleaseAdd = class_getMethodImplementation(object_getClass(AutoreleasePool),
+-			                                               SELECTOR(addObject:));
++			useARCAutoreleasePool = (0 != class_getInstanceMethod(AutoreleasePool,
++			                                                      SELECTOR(_ARCCompatibleAutoreleasePool)));
++			if (!useARCAutoreleasePool)
++			{
++			        [AutoreleasePool class];
++			        NewAutoreleasePool = class_getMethodImplementation(object_getClass(AutoreleasePool),
++			                                                           SELECTOR(new));
++			        DeleteAutoreleasePool = class_getMethodImplementation(AutoreleasePool,
++			                                                              SELECTOR(release));
++			        AutoreleaseAdd = class_getMethodImplementation(object_getClass(AutoreleasePool),
++			                                                       SELECTOR(addObject:));
++			}
+ 		}
+ 	}
+ }


Property changes on: trunk/lang/libobjc2/files/patch-arc.m
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/lang/libobjc2/pkg-descr
===================================================================
--- trunk/lang/libobjc2/pkg-descr	2015-06-06 21:55:15 UTC (rev 19351)
+++ trunk/lang/libobjc2/pkg-descr	2015-06-06 21:58:00 UTC (rev 19352)
@@ -1,5 +1,7 @@
 Replacement for the GNU Objective-C runtime supporting the features
-of Objective-C 2 for use with GNUstep and other Objective-C programs.
+of modern dialects of Objective-C for use with GNUstep and other Objective-C
+programs.
+
 This runtime is based on the Etoile Objective-C Runtime, an earlier
 research prototype, and includes support for non-fragile instance
 variables, type-dependent dispatch, and object planes. It is fully

Modified: trunk/lang/libobjc2/pkg-plist
===================================================================
--- trunk/lang/libobjc2/pkg-plist	2015-06-06 21:55:15 UTC (rev 19351)
+++ trunk/lang/libobjc2/pkg-plist	2015-06-06 21:58:00 UTC (rev 19352)
@@ -1,11 +1,13 @@
 include/objc/Availability.h
 include/objc/Object.h
 include/objc/Protocol.h
+include/objc/blocks_private.h
 include/objc/blocks_runtime.h
 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
@@ -13,9 +15,9 @@
 include/objc/runtime.h
 include/objc/runtime-deprecated.h
 include/objc/slot.h
-lib/libobjc.a
 lib/libobjc.so
-lib/libobjc.so.%%SHLIB%%
-lib/libobjcxx.so
-lib/libobjcxx.so.%%SHLIB%%
- at dirrm include/objc
+lib/libobjc.so.%%SHLIB_MAJOR%%
+lib/libobjc.so.%%SHLIB_MAJOR%%.%%SHLIB_MINOR%%
+%%WITH_SEPARATECXX%%lib/libobjcxx.so
+%%WITH_SEPARATECXX%%lib/libobjcxx.so.%%SHLIB_MAJOR%%
+%%WITH_SEPARATECXX%%lib/libobjcxx.so.%%SHLIB_MAJOR%%.%%SHLIB_MINOR%%



More information about the Midnightbsd-cvs mailing list