Re: [22998] trunk/dports/lang
You may wish to recreate a iovm port along the lines the last revision of the abiword2 port (http://trac.macports.org/projects/macports/browser/trunk/dports/gnome/abiwor...) where the port was revised to replace itself when upgraded with the new port. This would allow us to implement a seamless upgrade process to the new port name so that users of the iovm port will get updates to the Io port. -- Randall Wood rhwood@mac.com "The ball is round. The game lasts ninety minutes. The rest is theory..." On Wednesday, March 21, 2007, at 11:07AM, <source_changes@macosforge.org> wrote:
Revision: 22998 http://trac.macosforge.org/projects/macports/changeset/22998 Author: pipping@macports.org Date: 2007-03-21 08:02:38 -0700 (Wed, 21 Mar 2007)
Log Message: ----------- * move io to Io
Added Paths: ----------- trunk/dports/lang/Io/ trunk/dports/lang/Io/Portfile
Removed Paths: ------------- trunk/dports/lang/Io/Portfile trunk/dports/lang/io/
Copied: trunk/dports/lang/Io (from rev 22996, trunk/dports/lang/io)
Deleted: trunk/dports/lang/Io/Portfile =================================================================== --- trunk/dports/lang/io/Portfile 2007-03-21 14:56:35 UTC (rev 22996) +++ trunk/dports/lang/Io/Portfile 2007-03-21 15:02:38 UTC (rev 22998) @@ -1,39 +0,0 @@ -# $Id$ - -PortSystem 1.0 - -name iovm -version 2005-02-22 -categories lang -platforms darwin -maintainers nomaintainer@macports.org -description Io is small prototype-based programming language -long_description Io is small prototype-based programming language. The \ - ideas in Io are mostly inspired by Smalltalk (all values are \ - objects), Self, NewtonScript and Act1 (prototype-based \ - differential inheritance, actors and futures for concurrency), \ - LISP (code is a runtime inspectable/modifiable tree) and Lua \ - (small, embeddable). - -homepage http://www.iolanguage.com/ -master_sites http://io.urbanape.com/release/ \ - http://www.sigusr1.org/~steve/ -distname IoVM-${version} -checksums md5 a9d733490adf941daf11486a9183c958 - -extract.post_args "| tar -xf - --exclude '_old'" - -patch { - cd ${worksrcpath} - reinplace "s|/usr/local|\$(DESTDIR)${prefix}|g" IoVM/Makefile \ - Makefiles/IoDesktop/Makefile Makefiles/IoServer/Makefile \ - Makefiles/IoVM/Makefile -} - -post-destroot { - xinstall -m 755 -d ${destroot}${prefix}/share/doc - file delete -force ${destroot}${prefix}/lib - file copy ${worksrcpath}/IoVM/_include ${destroot}${prefix}/include/iovm - file copy ${worksrcpath}/IoVM/_libs ${destroot}${prefix}/lib - file copy ${worksrcpath}/IoVM/_docs ${destroot}${prefix}/share/doc/${name} -}
Copied: trunk/dports/lang/Io/Portfile (from rev 22997, trunk/dports/lang/io/Portfile) =================================================================== --- trunk/dports/lang/Io/Portfile (rev 0) +++ trunk/dports/lang/Io/Portfile 2007-03-21 15:02:38 UTC (rev 22998) @@ -0,0 +1,39 @@ +# $Id$ + +PortSystem 1.0 + +name io +version 2005-02-22 +categories lang +platforms darwin +maintainers nomaintainer@macports.org +description Io is small prototype-based programming language +long_description \ + Io is small prototype-based programming language. The ideas in Io are \ + mostly inspired by Smalltalk (all values are objects), Self, \ + NewtonScript and Act1 (prototype-based differential inheritance, actors \ + and futures for concurrency), LISP (code is a runtime inspectable / \ + modifiable tree) and Lua (small, embeddable). + +homepage http://www.iolanguage.com/ +master_sites http://io.urbanape.com/release/ \ + http://www.sigusr1.org/~steve/ +distname IoVM-${version} +checksums md5 a9d733490adf941daf11486a9183c958 + +extract.post_args "| tar -xf - --exclude '_old'" + +patch { + cd ${worksrcpath} + reinplace "s|/usr/local|\$(DESTDIR)${prefix}|g" IoVM/Makefile \ + Makefiles/IoDesktop/Makefile Makefiles/IoServer/Makefile \ + Makefiles/IoVM/Makefile +} + +post-destroot { + xinstall -m 755 -d ${destroot}${prefix}/share/doc + file delete -force ${destroot}${prefix}/lib + file copy ${worksrcpath}/IoVM/_include ${destroot}${prefix}/include/iovm + file copy ${worksrcpath}/IoVM/_libs ${destroot}${prefix}/lib + file copy ${worksrcpath}/IoVM/_docs ${destroot}${prefix}/share/doc/${name} +}
On Mar 21, 2007, at 11:44, Randall Wood wrote:
You may wish to recreate a iovm port along the lines the last revision of the abiword2 port (http://trac.macports.org/projects/ macports/browser/trunk/dports/gnome/abiword2/Portfile?rev=19081) where the port was revised to replace itself when upgraded with the new port. This would allow us to implement a seamless upgrade process to the new port name so that users of the iovm port will get updates to the Io port.
I like that strategy a lot and will probably end up using it myself. One of these days I'll get around to renaming the viewcvs port to viewvc and updating it to the latest version, at which point I'll want the existing viewcvs port to be much like the abiword2 port above. Maybe MacPorts base should be enhanced to have this kind of thing built in? Where you could define a much shorter portfile which would just say that the port has been superseded by another port, and MacPorts could handle uninstalling the old / installing the new automatically? Some notes: - A user should still be able to find the old port using port search (the user may not know the project has changed names) - The port author should not need to specify a description; MacPorts should automatically create one along the lines of "foo has been superseded; please install bar instead". - The port author should not need to specify homepage, download URLs, version, description, or any of that; only the name of the port which replaces it should be required. - A user should not be able to install the old port; it should print the message that the port has been superseded. - Anyone who already has the old port installed should be shown that an upgrade is available. - Anyone who tries to upgrade the old port should have the old port uninstalled and the new port installed with the same variants.
participants (2)
-
Randall Wood
-
Ryan Schmidt