[35244] trunk/dports/gnome/gnucash/Portfile

reiffert at macports.org reiffert at macports.org
Fri Mar 21 16:17:58 PDT 2008


Revision: 35244
          http://trac.macosforge.org/projects/macports/changeset/35244
Author:   reiffert at macports.org
Date:     2008-03-21 16:17:57 -0700 (Fri, 21 Mar 2008)

Log Message:
-----------
Improve the gconf situation as per #14729, close #14734, increase revision

Modified Paths:
--------------
    trunk/dports/gnome/gnucash/Portfile

Modified: trunk/dports/gnome/gnucash/Portfile
===================================================================
--- trunk/dports/gnome/gnucash/Portfile	2008-03-21 21:56:01 UTC (rev 35243)
+++ trunk/dports/gnome/gnucash/Portfile	2008-03-21 23:17:57 UTC (rev 35244)
@@ -4,7 +4,7 @@
 
 name              gnucash
 version		  2.2.4
-revision	1
+revision	2
 categories        gnome x11
 maintainers       nomaintainer
 platforms	darwin
@@ -48,6 +48,9 @@
 
 patchfiles	patch-configure.diff
 
+set storagedir  ${prefix}/etc/macports/gconf
+set storagefile $storagedir/${name}
+
 post-patch {
 	reinplace "/^DYLD_LIBRARY_PATH/s|=\"|=\"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources at -PATH_SEPARATOR-@|" ${worksrcpath}/src/bin/gnucash.in
 	reinplace "/^DYLD_LIBRARY_PATH/s|=\"|=\"/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources at -PATH_SEPARATOR-@|" ${worksrcpath}/src/bin/overrides/gnucash-env.in
@@ -75,26 +78,45 @@
 	configure.args-delete	--enable-ofx
 	configure.args-append	--disable-ofx
 }
-post-activate {
+
+set storagedir  ${prefix}/etc/macports/gconf
+set storagefile $storagedir/${name}
+
+post-destroot {
 	# We need to register some stuff to gconf. Just putting the
 	# schema files to the right place is not enough.
-	# You can watch the successful installation with gconf-editor.
+	# For now we store the files in
+	# ${prefix}/etc/macports/gconf/${name} and use that file
+	# in post-activate. Until there is no better solution
+	# this will make it into the gnomeportgroup
 
+	fs-traverse schema ${destroot}${prefix}/etc/gconf/schemas {
+		if { [ file isfile $schema ] } {
+			lappend schemafiles $schema
+		}
+	}
+
+	if { [ llength $schemafiles ] > 0 } {
+		file mkdir ${destroot}${storagedir}
+		set fh [open ${destroot}${storagefile} w]
+		foreach file $schemafiles {
+			puts $fh [exec basename $file]
+		}
+		close $fh
+	}
+}
+
+post-activate {
+	if { [file exists ${storagefile} ] } {
+		set fh [open ${storagefile} r]
+		while { ! [eof $fh] } {
+			lappend schemafiles [gets $fh]
+		}
+		close $fh
+	}
+
+	set schemastring [join $schemafiles " "]
+
         system "cd ${prefix}/etc/gconf/schemas && \
-        GCONF_CONFIG_SOURCE=`${prefix}/bin/gconftool-2 --get-default-source` ${prefix}/bin/gconftool-2 --makefile-install-rule \
-		apps_gnucash_dialog_business_common.schemas \
-		apps_gnucash_dialog_commodities.schemas \
-		apps_gnucash_dialog_common.schemas \
-		apps_gnucash_dialog_prices.schemas \
-		apps_gnucash_dialog_print_checks.schemas \
-		apps_gnucash_dialog_reconcile.schemas \
-		apps_gnucash_dialog_scheduled_transctions.schemas \
-		apps_gnucash_dialog_totd.schemas \
-		apps_gnucash_general.schemas \
-		apps_gnucash_warnings.schemas \
-		apps_gnucash_window_pages_account_tree.schemas \
-		apps_gnucash_window_pages_register.schemas \
-		apps_gnucash_history.schemas \
-		apps_gnucash_dialog_hbci.schemas \
-		apps_gnucash_import_generic_matcher.schemas"
+        GCONF_CONFIG_SOURCE=`${prefix}/bin/gconftool-2 --get-default-source` ${prefix}/bin/gconftool-2 --makefile-install-rule $schemastring"
 }

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080321/26d714d7/attachment.html 


More information about the macports-changes mailing list