Bug 183936 - [exp-run] bsd.gnome.mk ltverhack component update
Summary: [exp-run] bsd.gnome.mk ltverhack component update
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Koop Mast
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-11-13 20:40 UTC by Koop Mast
Modified: 2013-11-19 20:00 UTC (History)
0 users

See Also:


Attachments
bsd.gnome.mk.ltverhack.diff (4.09 KB, patch)
2013-11-13 20:40 UTC, Koop Mast
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Koop Mast freebsd_committer freebsd_triage 2013-11-13 20:40:00 UTC
	Update ltverhack to not have a hard depend on libtool. There shouldn't
	be any problems with this patch but to really really make sure there
	isn't any fallout please do a exp-run.
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2013-11-13 20:40:08 UTC
Responsible Changed
From-To: freebsd-ports-bugs->gnome

bsd.gnome.mk is gnome territory (via the GNATS Auto Assign Tool)
Comment 2 Koop Mast freebsd_committer freebsd_triage 2013-11-13 20:49:11 UTC
Responsible Changed
From-To: gnome->portmgr

Over to portmgr for exp-run
Comment 3 Bryan Drewery freebsd_committer freebsd_triage 2013-11-14 12:33:02 UTC
Responsible Changed
From-To: portmgr->bdrewery

take for exp-run
Comment 4 Bryan Drewery freebsd_committer freebsd_triage 2013-11-17 22:47:30 UTC
Responsible Changed
From-To: bdrewery->kwm

back to kwm as it has fatal syntax error: http://dpaste.com/1469599/
Comment 5 Bryan Drewery freebsd_committer freebsd_triage 2013-11-18 11:42:44 UTC
Responsible Changed
From-To: kwm->bdrewery

take back for exp-run. Issue was typical gnats missing newline.
Comment 6 Bryan Drewery freebsd_committer freebsd_triage 2013-11-19 13:16:19 UTC
New failures:

(May be unrelated)

http://package20.nyi.freebsd.org/bulk/91amd64-default-pr_183936/2013-11-18_11h06m41s

> + {"origin"=>"devel/hadoop", "pkgname"=>"apache-hadoop-1.2.1", "phase"=>"build", "errortype"=>"cluster"}
> + {"origin"=>"devel/kdevplatform", "pkgname"=>"kdevplatform-1.5.2", "phase"=>"stage", "errortype"=>"process_failed"}
> + {"origin"=>"graphics/luxrays", "pkgname"=>"luxrays-1.2.1", "phase"=>"checksum/runaway", "errortype"=>"checksum"}


-- 
Regards,
Bryan Drewery
Comment 7 Bryan Drewery freebsd_committer freebsd_triage 2013-11-19 13:16:34 UTC
Responsible Changed
From-To: bdrewery->kwm

exp-run done
Comment 8 dfilter service freebsd_committer freebsd_triage 2013-11-19 19:54:29 UTC
Author: kwm
Date: Tue Nov 19 19:54:16 2013
New Revision: 334343
URL: http://svnweb.freebsd.org/changeset/ports/334343

Log:
  Remove ltverhack's hard depend on USE_AUTOTOOLS=libtool.
  
  The problem with the old method is that the libtool is configured to look
  first in LOCALBASE for libraries to link to. Normaly this wouldn't cause
  a problem. However if a port that builds a library with new API also builds
  introspection files or say gtk bindings, then libtool will look first into
  LOCALBASE and find the old library version for linking the introspection
  files or gtk bindings. Due to the missing new API in old library the build
  will fail with unresolved symbols.
  The new ltverhack will patch the ltmain.sh and/or libtool files that where
  bundled with the port. This libtool is correctly configured to first look
  in for the just build libraries.
  
  If the port bundled version of ltmain.sh and/or libtool aren't in ${WRKSRC}
  then ltverhack_PATCH_FILES can be overwritten with there location in ${WRKSRC}.
  
  As a bonus when using the new ltverhack configure will honor --disable-static
  again. So please check your plist after converting.
  
  While here shorten the number of tabs in the lthacks, ltverhack and
  ltasneededhack PRE_PATCH components so they are just over 80 chars long.
  
  Exp-run by:	bdrewery@
  PR:		ports/183936
  Obtained from:	gnome dev repo

Modified:
  head/CHANGES
  head/Mk/bsd.gnome.mk

Modified: head/CHANGES
==============================================================================
--- head/CHANGES	Tue Nov 19 19:38:45 2013	(r334342)
+++ head/CHANGES	Tue Nov 19 19:54:16 2013	(r334343)
@@ -10,6 +10,21 @@ in the release notes and/or placed into 
 
 All ports committers are allowed to commit to this file.
 
+20131119:
+AUTHOR: kwm@FreeBSD.org
+
+  The USE_GNOME component ltverhack no longer has a hard dependancy on 
+  libtool.
+  
+  If USE_AUTOTOOLS=libtool isn't defined it will try to patch ltmain.sh
+  and or libtool in ${WRKSRC}. If those files are located somewhere else
+  in ${WRKSRC} then it is possible to overwrite ltverhack_PATCH_FILES
+  with there new locations. configure script --distable-static will work also
+  after using the "new" ltverhack.
+
+  Please keep in mind that USE_AUTOTOOLS implies GNU_CONFIGURE so you might
+  need to add that back for the port to work.
+
 20131031:
 AUTHOR: rene@FreeBSD.org
 

Modified: head/Mk/bsd.gnome.mk
==============================================================================
--- head/Mk/bsd.gnome.mk	Tue Nov 19 19:38:45 2013	(r334342)
+++ head/Mk/bsd.gnome.mk	Tue Nov 19 19:54:16 2013	(r334343)
@@ -3,7 +3,7 @@
 #
 # $FreeBSD$
 #	$NetBSD: $
-#     $MCom: ports/trunk/Mk/bsd.gnome.mk 18867 2013-11-08 11:53:32Z kwm $
+#     $MCom: ports/trunk/Mk/bsd.gnome.mk 18899 2013-11-18 18:34:00Z kwm $
 #
 # Please view me with 4 column tabs!
 
@@ -710,17 +710,18 @@ PLIST_SUB+=			GTK2_VERSION="${GTK2_VERSI
 # included in the post-makefile section).
 .if defined(_AUTOTOOL_libtool)
 lthacks_CONFIGURE_ENV=		ac_cv_path_DOLT_BASH=
-lthacks_PRE_PATCH=		${CP} -pf ${LTMAIN} ${WRKDIR}/gnome-ltmain.sh && \
-						${CP} -pf ${LIBTOOL} ${WRKDIR}/gnome-libtool && \
-						for file in ${LIBTOOLFILES}; do \
-							${REINPLACE_CMD} -e \
-								'/^ltmain=/!s|$$ac_aux_dir/ltmain\.sh|${LIBTOOLFLAGS} ${WRKDIR}/gnome-ltmain.sh|g; \
-								 /^LIBTOOL=/s|$$(top_builddir)/libtool|${WRKDIR}/gnome-libtool|g' \
-								${PATCH_WRKSRC}/$$file; \
-						done;
+lthacks_PRE_PATCH=	\
+	${CP} -pf ${LTMAIN} ${WRKDIR}/gnome-ltmain.sh && \
+	${CP} -pf ${LIBTOOL} ${WRKDIR}/gnome-libtool && \
+	for file in ${LIBTOOLFILES}; do \
+		${REINPLACE_CMD} -e \
+		'/^ltmain=/!s|$$ac_aux_dir/ltmain\.sh|${LIBTOOLFLAGS} ${WRKDIR}/gnome-ltmain.sh|g; \
+		 /^LIBTOOL=/s|$$(top_builddir)/libtool|${WRKDIR}/gnome-libtool|g' \
+		${PATCH_WRKSRC}/$$file; \
+	done;
 .else
-.  if ${USE_GNOME:Mltverhack*}!="" || ${USE_GNOME:Mltasneededhack}!=""
-IGNORE=	cannot install: ${PORTNAME} uses the ltverhack and/or ltasneededhack GNOME components but does not use libtool
+.  if ${USE_GNOME:Mltasneededhack}!=""
+IGNORE=	cannot install: ${PORTNAME} uses the ltasneededhack GNOME component but does not use libtool
 .  endif
 .endif
 
@@ -729,23 +730,32 @@ ltverhack_LIB_VERSION=	major=.`expr $$cu
 .else
 ltverhack_LIB_VERSION=	major=".${USE_GNOME:Mltverhack\:*:C/^[^:]+:([^:]+).*/\1/}"
 .endif
+
+.if defined(USE_AUTOTOOLS) &&  ${USE_AUTOTOOLS:Mlibtool*}
 ltverhack_PATCH_DEPENDS=${LIBTOOL_DEPENDS}
-ltverhack_PRE_PATCH=	for file in gnome-ltmain.sh gnome-libtool; do \
-							if [ -f ${WRKDIR}/$$file ]; then \
-								${REINPLACE_CMD} -e \
-									'/freebsd-elf)/,/;;/ s|major="\.$$current"|${ltverhack_LIB_VERSION}|; \
-									 /freebsd-elf)/,/;;/ s|versuffix="\.$$current"|versuffix="$$major"|' \
-									${WRKDIR}/$$file; \
-							fi; \
-						done
+ltverhack_PATCH_FILES=	../gnome-ltmain.sh ../gnome-libtool
+.else
+ltverhack_PATCH_FILES?=	ltmain.sh libtool
+.endif
+
+ltverhack_PRE_PATCH=	\
+	for file in ${ltverhack_PATCH_FILES}; do \
+		if [ -f ${WRKSRC}/$$file ]; then \
+			${REINPLACE_CMD} -e \
+			'/freebsd-elf)/,/;;/ s|major="\.$$current"|${ltverhack_LIB_VERSION}|; \
+			 /freebsd-elf)/,/;;/ s|versuffix="\.$$current"|versuffix="$$major"|' \
+			${WRKSRC}/$$file; \
+		fi; \
+	done
 
 ltasneededhack_PATCH_DEPENDS=${LIBTOOL_DEPENDS}
-ltasneededhack_PRE_PATCH=	if [ -f ${WRKDIR}/gnome-libtool ]; then \
-								${REINPLACE_CMD} -e \
-									'/^archive_cmds=/s/-shared/-shared -Wl,--as-needed/ ; \
-									/^archive_expsym_cmds=/s/-shared/-shared -Wl,--as-needed/' \
-									${WRKDIR}/gnome-libtool; \
-							fi
+ltasneededhack_PRE_PATCH=	\
+	if [ -f ${WRKDIR}/gnome-libtool ]; then \
+		${REINPLACE_CMD} -e \
+		'/^archive_cmds=/s/-shared/-shared -Wl,--as-needed/ ; \
+		 /^archive_expsym_cmds=/s/-shared/-shared -Wl,--as-needed/' \
+		${WRKDIR}/gnome-libtool; \
+	fi
 
 # Set USE_CSTD for all ports that depend on glib12
 .if defined(_USE_GNOME) && !empty(_USE_GNOME:Mglib12)
@@ -755,7 +765,19 @@ USE_CSTD=	gnu89
 # Then traverse through all components, check which of them
 # exist in ${_USE_GNOME} and set variables accordingly
 .ifdef _USE_GNOME
-. if ${USE_GNOME:Mltverhack*}!= "" || ${USE_GNOME:Mltasneededhack}!= ""
+
+. if ${USE_GNOME:Mltasneededhack}!= ""
+_GNOME_NEED_LIBTOOL=1
+. endif
+
+# this is splitted out from the above entry because fmake trows a fit otherwise
+. if defined(USE_AUTOTOOLS) && ${USE_AUTOTOOLS:Mlibtool*}
+.  if ${USE_GNOME:Mltverhack*}!= ""
+_GNOME_NEED_LIBTOOL=1
+.  endif
+. endif
+
+. if defined(_GNOME_NEED_LIBTOOL)
 GNOME_PRE_PATCH+=	${lthacks_PRE_PATCH}
 CONFIGURE_ENV+=		${lthacks_CONFIGURE_ENV}
 . endif
_______________________________________________
svn-ports-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-ports-all
To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
Comment 9 Koop Mast freebsd_committer freebsd_triage 2013-11-19 19:55:56 UTC
State Changed
From-To: open->closed

Committed in r334343