137 |
137 |
138 |
138 |
139 my_chdir '../__srcdir__'; |
139 my_chdir '../__srcdir__'; |
140 shell_exec 'python setup.py install --root=../__destdir__ --prefix=/usr'; |
140 shell_exec 'python setup.py install --root=../__destdir__ --prefix=/usr'; |
141 |
141 |
142 # FIXME: versions (kid >= 0.9.6) |
142 my %pkg_deps = (); |
143 my @pkg_deps = (); |
|
144 if ( -f "$pkg_name.egg-info/requires.txt") { |
143 if ( -f "$pkg_name.egg-info/requires.txt") { |
145 @pkg_deps = |
144 my $type = 'require'; # All deps before the first section ([...]) |
146 map { s/^([-\w]+).*/$1/; lc $_ } |
145 # are mandatory; others are optional |
147 grep { /^\w/ } |
146 foreach (@{get_output "cat $pkg_name.egg-info/requires.txt"}) { |
148 @{get_output "cat $pkg_name.egg-info/requires.txt"} |
147 $type = 'optional' if /^\[.+\]/; |
149 } |
148 next unless /^\w/; |
150 uniq \@pkg_deps; |
149 s/^([-.\w]+).*/$1/; |
151 if (grep {$_ eq 'setuptools'} @pkg_deps) { |
150 my $pkg = lc; |
152 @pkg_deps = map {$_ eq 'setuptools' ? 'distribute' : $_} @pkg_deps; |
151 $pkg = 'distribute' if $pkg eq 'setuptools'; |
153 warning "Dependencies: 'setuptools' replaced with 'distribute'" |
152 if (! exists $pkg_deps{$pkg}) { |
154 } |
153 $pkg_deps{$pkg} = $type; |
155 blab 'Dependencies: ', (join ', ', @pkg_deps); |
154 } else { |
|
155 warning "Dependency on `$pkg' already set to $pkg_deps{$pkg}" |
|
156 if $pkg_deps{$pkg} ne $type |
|
157 } |
|
158 } |
|
159 } |
156 |
160 |
157 my $pkg_summary = ''; |
161 my $pkg_summary = ''; |
158 for my $dir ( ("$pkg_name.egg-info", '.') ) { |
162 for my $dir ( ("lib/$pkg_name.egg-info", "$pkg_name.egg-info", '.') ) { |
159 if ( -f "$dir/PKG-INFO") { |
163 if ( -f "$dir/PKG-INFO") { |
160 $pkg_summary = get_output_line "grep Summary: $dir/PKG-INFO | sed 's/Summary: *//'"; |
164 $pkg_summary = get_output_line "grep Summary: $dir/PKG-INFO | sed 's/Summary: *//'"; |
161 last; |
165 last; |
162 } |
166 } |
163 } |
167 } |
171 set name=pkg.summary value="$pkg_summary" |
175 set name=pkg.summary value="$pkg_summary" |
172 MANIFEST |
176 MANIFEST |
173 $ips_manifest .= "\n"; |
177 $ips_manifest .= "\n"; |
174 |
178 |
175 $ips_manifest .= "depend fmri=pkg:/runtime/python-$pyversion type=require\n"; |
179 $ips_manifest .= "depend fmri=pkg:/runtime/python-$pyversion type=require\n"; |
176 $ips_manifest .= "depend fmri=pkg:/library/python-2/${_}-$pyversion type=require\n" |
180 $ips_manifest .= "depend fmri=pkg:/library/python-2/${_}-$pyversion type=$pkg_deps{$_}\n" |
177 foreach @pkg_deps; |
181 foreach keys %pkg_deps; |
178 |
182 |
179 $ips_manifest .= "\n"; |
183 $ips_manifest .= "\n"; |
180 |
184 |
181 $ips_manifest .= join "\n", |
185 $ips_manifest .= join "\n", |
182 (map { s![^/]+-packages!vendor-packages!; $_ } |
186 (map { s![^/]+-packages!vendor-packages!; $_ } |