diff options
Diffstat (limited to 'lib/SlackBuild/Request/Loader/url.pm')
-rw-r--r-- | lib/SlackBuild/Request/Loader/url.pm | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/SlackBuild/Request/Loader/url.pm b/lib/SlackBuild/Request/Loader/url.pm new file mode 100644 index 0000000..f8ff68f --- /dev/null +++ b/lib/SlackBuild/Request/Loader/url.pm | |||
@@ -0,0 +1,22 @@ | |||
1 | package SlackBuild::Request::Loader::url; | ||
2 | use strict; | ||
3 | use warnings; | ||
4 | use URI; | ||
5 | |||
6 | our $PRIORITY = 30; | ||
7 | |||
8 | sub Load { | ||
9 | my ($class, $reqname) = @_; | ||
10 | if ($reqname =~ m{^\w+://}) { | ||
11 | my $uri = new URI($reqname); | ||
12 | if ($uri->scheme =~ m{^(?:http|ftp)s?} | ||
13 | && $uri->path =~ m{.*/(.+?)\.tar(?:\.(?:[xgl]z|bz2))?}x) { | ||
14 | return { package => $1, slackbuild_uri => $reqname }; | ||
15 | } | ||
16 | if ($uri->scheme eq 'sbo') { | ||
17 | return { package => $uri->package, slackbuild_uri => $reqname } | ||
18 | } | ||
19 | } | ||
20 | } | ||
21 | |||
22 | 1; | ||