[77315] users/pixilla/_tools/pear2port.sh

pixilla at macports.org pixilla at macports.org
Sat Mar 26 19:41:11 PDT 2011


Revision: 77315
          http://trac.macports.org/changeset/77315
Author:   pixilla at macports.org
Date:     2011-03-26 19:41:08 -0700 (Sat, 26 Mar 2011)
Log Message:
-----------
_tools/pear2port.sh: Various fixes and improvements to Portfile output quality.

Modified Paths:
--------------
    users/pixilla/_tools/pear2port.sh

Modified: users/pixilla/_tools/pear2port.sh
===================================================================
--- users/pixilla/_tools/pear2port.sh	2011-03-27 02:01:15 UTC (rev 77314)
+++ users/pixilla/_tools/pear2port.sh	2011-03-27 02:41:08 UTC (rev 77315)
@@ -1,8 +1,9 @@
 #!/bin/bash
 
+[ -z $MAINTAINERS ] && MAINTAINERS="nomaintainer"
 extract_suffix='.tgz'
 package=${1}
-if [ "${package}x" == "x" ]
+if [ "x${package}" == "x" ]
 then
     echo "Error: No package name given!"
     echo "Try: \$ ${0} Auth"
@@ -10,9 +11,9 @@
     echo "Try: \$ ${0} Auth 0.3.1"
     exit 
 fi
-echo "Package: ${package}"
+#echo "Package: ${package}"
 
-if [ "${2}x" == "x" ]
+if [ "x${2}" == "x" ]
 then
 version=\
 $(curl -s http://pear.php.net/package/${package}/download | \
@@ -21,9 +22,9 @@
 else
 version=${2}
 fi
-echo "Version: ${version}"
+#echo "Version: ${version}"
 
-if [ "${version}x" == "x" ]
+if [ "x${version}" == "x" ]
 then
     echo "Error: Could not determine version!"
     echo "Version: ${version}"
@@ -31,9 +32,10 @@
 fi
 distname=${package}-${version}
 
-curl -s http://download.pear.php.net/package/${distname}${extract_suffix} -O
 mkdir pear-${package}
-cat << EOF > pear-${package}/Portfile
+cd pear-${package}
+#echo "building Portfile..."
+cat << EOF > Portfile
 # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 # \$Id\$
 
@@ -43,18 +45,53 @@
 php5pear.setup      ${package} ${version}
 categories-append   net www
 platforms           darwin
-maintainers         pixilla
+maintainers         ${MAINTAINERS}
 
 description         PEAR ${package} package
 long_description    \${description}
 
-checksums           sha1    $(openssl sha1 ${distname}${extract_suffix} | awk '{print $2}') \\
-                    rmd160  $(openssl rmd160 ${distname}${extract_suffix} | awk '{print $2}')
 EOF
-cd pear-${package}
+
+sleep 1
+#echo "port -o fetch..."
+sudo port -o fetch > /dev/null 2>&1
+distfile=$(port -o distfiles | grep "\[${distname}${extract_suffix}\]" | awk '{print $2}')
+distfile_sha1=$(openssl sha1 ${distfile} | awk '{print $2}')
+distfile_rmd160=$(openssl rmd160 ${distfile} | awk '{print $2}')
+cat << EOF >> Portfile
+checksums           sha1    ${distfile_sha1} \\
+                    rmd160  ${distfile_rmd160}
+EOF
+
+#echo "removing sources..."
+
+#echo "port -o extract..."
+sudo port -o extract > /dev/null 2>&1
+deps=''
+count=0
+IFS=$'\n'
+#echo "port -o build to check for deps..."
+sleep 1
+for dep in $(sudo port -o -v build | grep -P "${package} requires package")
+do
+    depname=$(echo $dep | awk '{print $5}' | sed -e "s/pecl\//php5\//g" -e "s/\"//g" -e "s/\//-/g")
+    count=$((count+1))
+    if [[ $count -eq 1 ]]
+    then
+        echo "" >> Portfile
+        echo -n "depends_lib-append  port:${depname}" >> Portfile
+    else
+        echo " \\" >> Portfile
+        echo -n "                    port:${depname}" >> Portfile
+    fi
+done
+if [[ $count -gt 0 ]]
+then
+    echo "" >> Portfile
+fi
+unset IFS
+#echo "port -o clean..."
+sudo port -o clean > /dev/null 2>&1
+#echo "final Portfile..."
 cat Portfile
-port lint --nitpick
-sudo port -v build
-sudo port clean
 cd ..
-rm ${distname}${extract_suffix}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20110326/9a9aa45e/attachment.html>


More information about the macports-changes mailing list