On 09/26/2012 06:51 AM, Achim Gratz wrote:

Hi Yaakov,

several Perl distributions have chosen to put the actual archives in a
subdirectory (e.g. Inline::Files).  So far I've dealt with those by editing
SRC_URI after "inherit perl", but I'd like something more straigtforward.  I
propose that CPAN_AUTHOR should optionally include this additional subdirectory
as a "/subdir" suffix.  Patch to that effect:

Just for easier understanding:
How would that look like for e.g.
  A/AM/AMBS/Inline/Inline-Files-0.68.tar.gz

NAME=Inline-Files
inherit perl
CPAN_AUTHOR=AMBS/Inline

Looks a bit weird. Don't we have a better field for this cpan quirks?
Like a new CPAN_DIR which defaults to CPAN_AUTHOR?

     Support subdirectories in CPAN download URL

     * cygclass/perl.cygclass: Allow CPAN_AUTHOR to have a /subdir suffix.
       This is necessary for some modules that put the distribution files
       in some subdirectory.  Only upcase the actual author name (up until
       the first "/") and preserve case for the suffix part.

        Modified   cygclass/perl.cygclass
diff --git a/cygclass/perl.cygclass b/cygclass/perl.cygclass
index b4aecdf..4dbe824 100644
--- a/cygclass/perl.cygclass
+++ b/cygclass/perl.cygclass
@@ -139,9 +139,12 @@ HOMEPAGE="http://search.cpan.org/dist/${ORIG_PN}/";
  #  SEE ALSO
  #  mirror_cpan
  #****
-cpan_author_ftp=${CPAN_AUTHOR^^}
-SRC_URI="mirror://cpan/authors/id/${cpan_author_ftp:0:1}
/${cpan_author_ftp:0:2}/${cpan_author_ftp}
/${ORIG_PN}-${PV}.${CPAN_TARBALL_SUFFIX:-tar.gz}"
+cpan_author_ftp="${CPAN_AUTHOR%%/*}"
+cpan_module_ftp="${CPAN_AUTHOR#${cpan_author_ftp}}"
+cpan_author_ftp="${cpan_author_ftp^^}"
+SRC_URI="mirror://cpan/authors/id/${cpan_author_ftp:0:1}
/${cpan_author_ftp:0:2}/${cpan_author_ftp}$cpan_module_ftp
/${ORIG_PN}-${PV}.${CPAN_TARBALL_SUFFIX:-tar.gz}"
  unset cpan_author_ftp
+unset cpan_module_ftp

  fi    # defined CPAN_AUTHOR


(Watch for the linewrap)

Regards,
Achim


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple




--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

Reply via email to