Sun Feb 10 12:07:50 2013 UTC ()
Add REQUIRE/PROVIDER metadata detection support for OBJECT_FMT=PE (Cygwin).


(obache)
diff -r1.3 -r1.4 pkgsrc/mk/pkgformat/pkg/metadata.mk

cvs diff -r1.3 -r1.4 pkgsrc/mk/pkgformat/pkg/metadata.mk (expand / switch to context diff)
--- pkgsrc/mk/pkgformat/pkg/metadata.mk 2012/05/13 08:20:11 1.3
+++ pkgsrc/mk/pkgformat/pkg/metadata.mk 2013/02/10 12:07:50 1.4
@@ -1,4 +1,4 @@
-# $NetBSD: metadata.mk,v 1.3 2012/05/13 08:20:11 obache Exp $
+# $NetBSD: metadata.mk,v 1.4 2013/02/10 12:07:50 obache Exp $
 
 ######################################################################
 ### The targets below are all PRIVATE.
@@ -82,6 +82,20 @@
 		if ${TEST} "$$bins" != "" -o "$$libs" != ""; then	\
 			requires=`($$ldd $$bins $$libs 2>/dev/null || ${TRUE}) | ${AWK} '/compatibility version/ { print $$1 }' | ${SORT} -u`; \
 		fi;							\
+		;;							\
+	PE)								\
+		libs=`${AWK} '/\/.+\.dll$$/ { print "${DESTDIR}${PREFIX}/" $$0 } END { exit 0 }' ${_PLIST_NOKEYWORDS}`; \
+		if ${TEST} -n "$$bins" -o -n "$$libs"; then		\
+			requires=`(${PKGSRC_SETENV} ${LDD_ENV:U} $$ldd $$bins $$libs 2>/dev/null || ${TRUE}) | ${AWK} '$$2 == "=>" && $$3 ~ "/" { print $$3 }' | ${SED} -e 's,^${DESTDIR},,' | ${SORT} -u`; \
+		fi;							\
+		linklibs=`${AWK} '/.+\.dll$$/ { print "${DESTDIR}${PREFIX}/" $$0 }' ${_PLIST_NOKEYWORDS}`; \
+		for i in $$linklibs; do					\
+			if ${TEST} -r $$i -a ! -x $$i -a ! -h $$i; then	\
+				${TEST} ${PKG_DEVELOPER:Uno:Q}"" = "no" || \
+					${ECHO} "$$i: installed without execute permission; fixing (should use [BSD_]INSTALL_LIB)"; \
+				${CHMOD} +x $$i;			\
+			fi;						\
+		done;							\
 		;;							\
 	esac;								\
 	requires=`{ for i in $$requires $$requires; do echo $$i; done; \