[47629] trunk/dports/lang

ryandesign at macports.org ryandesign at macports.org
Mon Mar 2 02:48:24 PST 2009


Revision: 47629
          http://trac.macports.org/changeset/47629
Author:   ryandesign at macports.org
Date:     2009-03-02 02:48:21 -0800 (Mon, 02 Mar 2009)
Log Message:
-----------
pure, pure-devel: output a message if you install one version of pure but you have modules installed from a different version of pure; see #18722.

Modified Paths:
--------------
    trunk/dports/lang/pure/Portfile
    trunk/dports/lang/pure-devel/Portfile

Modified: trunk/dports/lang/pure/Portfile
===================================================================
--- trunk/dports/lang/pure/Portfile	2009-03-02 09:52:22 UTC (rev 47628)
+++ trunk/dports/lang/pure/Portfile	2009-03-02 10:48:21 UTC (rev 47629)
@@ -5,6 +5,7 @@
 name                    pure
 version                 0.18
 revision                1
+set branch              [join [lrange [split ${version} .] 0 1] .]
 categories              lang
 platforms               darwin
 maintainers             ryandesign
@@ -55,6 +56,33 @@
 test.run                yes
 test.target             check
 
+post-activate {
+    # Check for old modules.
+    set old_files {}
+    foreach dir [glob -nocomplain -type d -tails -directory ${prefix}/lib pure-*] {
+        if {"pure-${branch}" == ${dir}} continue
+        if {![regexp "^pure-\[0-9.\]+$" ${dir}]} continue
+        foreach file [glob -type f -directory ${prefix}/lib/${dir} *] {
+            lappend old_files ${file}
+        }
+    }
+    set old_ports {}
+    if {[llength ${old_files}] > 0} {
+        foreach provides [split [eval exec ${prefix}/bin/port provides ${old_files}] "\n"] {
+            set old_port [lindex [split ${provides}] end]
+            if {-1 == [lsearch -glob ${old_ports} ${old_port}]} {
+                lappend old_ports ${old_port}
+            }
+        }
+    }
+    if {[llength ${old_ports}] > 0} {
+        ui_msg "Some of your pure modules were built for a different version of pure."
+        ui_msg "To use them with version ${branch}, you must rebuild them by running this command:"
+        ui_msg ""
+        ui_msg "sudo port -nf upgrade [join ${old_ports} " "]"
+    }
+}
+
 livecheck.check         regex
 livecheck.url           http://code.google.com/p/pure-lang/downloads/list
 livecheck.regex         ${name}-(\[0-9.\]+\[a-z\]*)\\.tar

Modified: trunk/dports/lang/pure-devel/Portfile
===================================================================
--- trunk/dports/lang/pure-devel/Portfile	2009-03-02 09:52:22 UTC (rev 47628)
+++ trunk/dports/lang/pure-devel/Portfile	2009-03-02 10:48:21 UTC (rev 47629)
@@ -4,6 +4,7 @@
 
 name                    pure-devel
 version                 0.18.0.r967
+set branch              [join [lrange [split ${version} .] 0 1] .]
 categories              lang
 platforms               darwin
 maintainers             ryandesign
@@ -60,6 +61,33 @@
 test.run                yes
 test.target             check
 
+post-activate {
+    # Check for old modules.
+    set old_files {}
+    foreach dir [glob -nocomplain -type d -tails -directory ${prefix}/lib pure-*] {
+        if {"pure-${branch}" == ${dir}} continue
+        if {![regexp "^pure-\[0-9.\]+$" ${dir}]} continue
+        foreach file [glob -type f -directory ${prefix}/lib/${dir} *] {
+            lappend old_files ${file}
+        }
+    }
+    set old_ports {}
+    if {[llength ${old_files}] > 0} {
+        foreach provides [split [eval exec ${prefix}/bin/port provides ${old_files}] "\n"] {
+            set old_port [lindex [split ${provides}] end]
+            if {-1 == [lsearch -glob ${old_ports} ${old_port}]} {
+                lappend old_ports ${old_port}
+            }
+        }
+    }
+    if {[llength ${old_ports}] > 0} {
+        ui_msg "Some of your pure modules were built for a different version of pure."
+        ui_msg "To use them with version ${branch}, you must rebuild them by running this command:"
+        ui_msg ""
+        ui_msg "sudo port -nf upgrade [join ${old_ports} " "]"
+    }
+}
+
 livecheck.version       [strsed ${version} {g/\.0\.r.*$//}]
 livecheck.check         regex
 livecheck.url           ${svn.url}/configure.ac
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090302/2053300c/attachment.html>


More information about the macports-changes mailing list