[41333] contrib

blb at macports.org blb at macports.org
Thu Oct 30 19:47:21 PDT 2008


Revision: 41333
          http://trac.macports.org/changeset/41333
Author:   blb at macports.org
Date:     2008-10-30 19:47:21 -0700 (Thu, 30 Oct 2008)
Log Message:
-----------
Add a really basic script to help generate a starter Portfile

Added Paths:
-----------
    contrib/portfile-gen/
    contrib/portfile-gen/portfile-gen

Added: contrib/portfile-gen/portfile-gen
===================================================================
--- contrib/portfile-gen/portfile-gen	                        (rev 0)
+++ contrib/portfile-gen/portfile-gen	2008-10-31 02:47:21 UTC (rev 41333)
@@ -0,0 +1,120 @@
+#!/usr/bin/tclsh
+#
+# Generate a basic template Portfile given a few bits of information
+#
+# Todo:
+# Add remaining portgroup bits
+# Add more fields with comments perhaps, so the template is more fully
+#    ready for various uses
+#
+
+set MY_VERSION 0.1
+
+set supportedGroups [list perl5 python25 ruby]
+
+
+proc printUsage {} {
+   puts "Usage: $::argv0 \[-h\] \[-g portgroup\] <portname> <portversion>"
+   puts "   -g   Specify a port group to use (perl5, python25, etc)"
+   puts "   -h   This help"
+   puts ""
+   puts "portname      name to use for the port; for group-based ports, don't"
+   puts "              use the prefix (py25-, p5-, etc) as this will add that"
+   puts "              for you when needed"
+   puts "portversion   version to use for the port"
+}
+
+
+set groupCode ""
+while {[string index [lindex $::argv 0] 0] == "-"} {
+   switch [string range [lindex $::argv 0] 1 end] {
+      g {
+         if {[llength $::argv] < 2} {
+            puts "-g needs a port group"
+            printUsage
+            exit 1
+         }
+         set groupCode [lindex $::argv 1]
+         if {[lsearch ${supportedGroups} ${groupCode}] == -1} {
+            puts "Sorry, port group ${groupCode} is currently not supported"
+            puts "Supported: [join ${supportedGroups}]"
+            exit 1
+         }
+         set ::argv [lrange $::argv 1 end]
+      }
+      h {
+         printUsage
+         exit 0
+      }
+      default {
+         puts "Unknown option [lindex $::argv 0]"
+         printUsage
+         exit 1
+      }
+   }
+   set ::argv [lrange $::argv 1 end]
+}
+
+if {[llength $::argv] != 2} {
+   puts "Error: missing portname or portversion"
+   printUsage
+   exit 1
+}
+
+set portname [lindex $::argv 0]
+set portversion [lindex $::argv 1]
+
+puts "# \$Id\$"
+puts ""
+puts "PortSystem          1.0"
+switch ${groupCode} {
+   perl5 {
+      puts "PortGroup           perl5 1.0"
+      puts "perl5.setup         ${portname} ${portversion}"
+      puts "categories-append   replaceme"
+   }
+   python25 {
+      puts "PortGroup           python25 1.0"
+      puts "name                py25-${portname}"
+      puts "version             ${portversion}"
+      puts "categories-append   replaceme"
+   }
+   default {
+      puts "name                ${portname}"
+      puts "version             ${portversion}"
+      puts "categories          replaceme"
+   }
+}
+puts "maintainers         replaceme"
+puts "description         replaceme"
+puts "long_description \\"
+puts "   replaceme"
+puts ""
+puts "platforms           darwin"
+puts ""
+puts "homepage            replaceme"
+switch ${groupCode} {
+   perl5 {
+   }
+   python25 {
+      puts "master_sites        replaceme"
+      puts {distname            ${portname}-${version}}
+   }
+   default {
+      puts "master_sites        replaceme"
+   }
+}
+puts ""
+puts "checksums           md5 12345 \\"
+puts "                    sha1 6789a \\"
+puts "                    rmd160 bcdef"
+switch ${groupCode} {
+   python25 {
+      puts "post-destroot {"
+      puts {   xinstall -m 755 -d ${destroot}${prefix}/share/doc/${name}}
+      puts "   xinstall -m 644 -W $\{worksrcpath\} ??? \\"
+      puts {      ${destroot}${prefix}/share/doc/${name}}
+      puts "}"
+   }
+}
+


Property changes on: contrib/portfile-gen/portfile-gen
___________________________________________________________________
Added: svn:executable
   + *
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20081030/bc435eb2/attachment.html>


More information about the macports-changes mailing list