diff options
author | Simon Brulhart | 2015-06-08 18:58:25 +0200 |
---|---|---|
committer | Simon Brulhart | 2015-06-08 19:06:07 +0200 |
commit | 152e019a9d6457fac6dfb9f060f128666ba12e79 (patch) | |
tree | 604ff1102fd0b8e73c48ca18b7c7f3653ec58b1d | |
download | aur-152e019a9d6457fac6dfb9f060f128666ba12e79.tar.gz |
initial package from ex-maintainer
-rw-r--r-- | .SRCINFO | 42 | ||||
-rw-r--r-- | PKGBUILD | 39 | ||||
-rw-r--r-- | ff-downloader.pl | 302 | ||||
-rw-r--r-- | firefox-beta-bin-safe.desktop | 11 | ||||
-rw-r--r-- | firefox-beta-bin.desktop | 11 | ||||
-rw-r--r-- | firefox.install | 12 |
6 files changed, 417 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..f186e4d004d2 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,42 @@ +# Generated by makepkg 4.2.1 +# Mon Apr 27 11:25:46 UTC 2015 +pkgbase = firefox-beta-bin-all-localizations + pkgdesc = Perl script for installing latest FF beta in the language of your choice + pkgver = 38.0b8 + pkgrel = 1 + url = http://www.mozilla.com/firefox/channel/ + install = firefox.install + arch = i686 + arch = x86_64 + license = MPL + license = GPL + license = LGPL + license = GPL3 + makedepends = perl-file-slurp + makedepends = perl-libwww + makedepends = perl-switch + depends = gtk2 + depends = mozilla-common + depends = libxt + depends = startup-notification + depends = mime-types + depends = dbus-glib + depends = alsa-lib + depends = desktop-file-utils + depends = hicolor-icon-theme + optdepends = networkmanager: Location detection via available WiFi networks + optdepends = gstreamer0.10-base-plugins: vorbis decoding, ogg demuxing + optdepends = gstreamer0.10-good-plugins: webm and mp4 demuxing + optdepends = gstreamer0.10-bad-plugins: aac, vp8 and opus decoding + optdepends = gstreamer0.10-ugly-plugins: h.264 and mp3 decoding + optdepends = gstreamer0.10-ffmpeg: more decoders + optdepends = libpulse: PulseAudio audio driver + source = firefox-beta-bin.desktop + source = firefox-beta-bin-safe.desktop + source = ff-downloader.pl + md5sums = 09569434d20ceb6c7e6a267249f8ab48 + md5sums = 6fc7dee182dd7cca644c9d8a5861cf62 + md5sums = 15fd33eec28fdd0367199604e28fae74 + +pkgname = firefox-beta-bin-all-localizations + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..c91e9f08e037 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,39 @@ +# Maintainer: Simone Sclavi 'Ito' <darkhado@gmail.com> + +pkgname=firefox-beta-bin-all-localizations +_mypkgn=firefox-beta +pkgdesc='Perl script for installing latest FF beta in the language of your choice' +url='http://www.mozilla.com/firefox/channel/' +pkgver=38.0b8 +pkgrel=1 +arch=('i686' 'x86_64') +license=('MPL' 'GPL' 'LGPL' 'GPL3') +depends=('gtk2' 'mozilla-common' 'libxt' 'startup-notification' 'mime-types' + 'dbus-glib' 'alsa-lib' 'desktop-file-utils' 'hicolor-icon-theme') +optdepends=('networkmanager: Location detection via available WiFi networks' + 'gstreamer0.10-base-plugins: vorbis decoding, ogg demuxing' + 'gstreamer0.10-good-plugins: webm and mp4 demuxing' + 'gstreamer0.10-bad-plugins: aac, vp8 and opus decoding' + 'gstreamer0.10-ugly-plugins: h.264 and mp3 decoding' + 'gstreamer0.10-ffmpeg: more decoders' + 'libpulse: PulseAudio audio driver') +makedepends=('perl-file-slurp' 'perl-libwww' 'perl-switch') +install=firefox.install +source=('firefox-beta-bin.desktop' 'firefox-beta-bin-safe.desktop' 'ff-downloader.pl') +build() { + perl ff-downloader.pl -v $pkgver +} + +package() { + bsdtar -jxf firefox-${pkgver}.tar.bz2 + mkdir -p $pkgdir/usr/{lib,bin,share/{applications,pixmaps}} + + cp -r firefox "${pkgdir}/usr/lib/${_mypkgn}" + ln -s /usr/lib/${_mypkgn}/firefox ${pkgdir}/usr/bin/firefox-beta + + install -m644 {firefox-beta-bin.desktop,firefox-beta-bin-safe.desktop} ${pkgdir}/usr/share/applications/ + install -m644 ${srcdir}/firefox/browser/icons/mozicon128.png ${pkgdir}/usr/share/pixmaps/${_mypkgn}-icon.png +} +md5sums=('09569434d20ceb6c7e6a267249f8ab48' + '6fc7dee182dd7cca644c9d8a5861cf62' + '15fd33eec28fdd0367199604e28fae74') diff --git a/ff-downloader.pl b/ff-downloader.pl new file mode 100644 index 000000000000..ccab0f48f6f8 --- /dev/null +++ b/ff-downloader.pl @@ -0,0 +1,302 @@ +#!/usr/bin/perl +# ff-downloader v0.5.10.4 +## Copyright 2011-15 Simone Sclavi 'Ito' +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. +## + +use strict; +use warnings; +use Switch 'Perl6'; +use feature 'say'; +use Getopt::Long qw(:config no_ignore_case); +use LWP; +use Digest::MD5; +use File::Slurp; +use Env 'HOME'; + +my $browser; +sub get_url +{ + my ($url, $file) = @_; + $browser = LWP::UserAgent->new unless $browser; + $browser->timeout(30); + $browser->show_progress(1); + $browser->env_proxy( ); + my $resp = $browser->get($url, ':content_file' => $file); + return $resp->is_success; +} + + +sub read_config +{ + my $p = shift; + my $conf_file = "${HOME}/.ff-downloader"; + my $lang_code; + if (! -e $conf_file ) + { + my @file = ( + "# Define here your preferred language(s) for Firefox and Thunderbird.\n", + "# ff=en-US\n", + "# tb=en-US\n" + ); + write_file($conf_file, @file); + return + } + else + { + my @file = read_file($conf_file); + for my $line(@file) + { + chomp $line; $line =~ s/^\s+//; $line =~ s/\s+$//; + next if $line =~ /^#/; + if ($line =~ /^$p=([-a-zA-Z]+)$/) + { + $lang_code = $1; + } + } + return $lang_code; + } +} +my ($VER, $PACKAGE, $LANG); +my $pkg = 'ff'; #default value for "--package" +my $res = GetOptions("version|v=s" => \$VER, + "package|p=s" => \$pkg ); + +die ":: usage: $0 -p|--package=<package name [ff|tb]> -v|--version=<version number>\n" unless $res and (scalar @ARGV == 0); +given ($pkg) +{ + when ('ff') { $PACKAGE = 'firefox' } + when ('tb') { $PACKAGE = 'thunderbird'} + default { die qq{:: "$pkg" is not a valid value for "--package"! Please use "ff" or "tb"\n}} +} +die qq{:: "--version" option is mandatory!\n} unless $VER; +$LANG = read_config($pkg); + +if (!$LANG) +{ + my @ff_i18n = ( + { language => 'Acholi', code => 'ach' }, + { language => 'Afrikaans (South Africa)', code => 'af' }, + { language => 'Netherlands Antilles', code => 'an' }, + { language => 'Aarabic', code => 'ar' }, + { language => 'Assamese', code => 'as' }, + { language => 'Asturian', code => 'ast' }, + { language => 'Azerbaijani', code => 'az' }, + { language => 'Belarusian', code => 'be' }, + { language => 'Bulgarian', code => 'bg' }, + { language => 'Bengali (Bangladesh)', code => 'bn-BD' }, + { language => 'Bengali (India)', code => 'bn-IN' }, + { language => 'Breton', code => 'br' }, + { language => 'Bosnian', code => 'bs' }, + { language => 'Catalan', code => 'ca' }, + { language => 'Czech', code => 'cs' }, + { language => 'Welsh', code => 'cy' }, + { language => 'Danish', code => 'da' }, + { language => 'German', code => 'de' }, + { language => 'Lower Sorbian', code => 'dsb' }, + { language => 'Greek', code => 'el' }, + { language => 'English (United Kingdom)', code => 'en-GB' }, + { language => 'English (US)', code => 'en-US' }, + { language => 'English (South African)', code => 'en-ZA' }, + { language => 'Esperanto', code => 'eo' }, + { language => 'Spanish (Argentina)', code => 'es-AR' }, + { language => 'Spanish (Chile)', code => 'es-CL' }, + { language => 'Spanish (Spain)', code => 'es-ES' }, + { language => 'Spanish (Mexico)', code => 'es-MX' }, + { language => 'Estonian', code => 'et' }, + { language => 'Basque', code => 'eu' }, + { language => 'Persian', code => 'fa' }, + { language => 'Fulah', code => 'ff' }, + { language => 'Finnish', code => 'fi' }, + { language => 'French', code => 'fr' }, + { language => 'Frisian', code => 'fy-NL' }, + { language => 'Irish', code => 'ga-IE' }, + { language => 'Gaelic (Scotland)', code => 'gd' }, + { language => 'Galician', code => 'gl' }, + { language => 'Gujarati (India)', code => 'gu-IN' }, + { language => 'Hebrew', code => 'he' }, + { language => 'Hindi', code => 'hi-IN' }, + { language => 'Croatian', code => 'hr' }, + { language => 'Upper Sorbian', code => 'hsb' }, + { language => 'Hungarian', code => 'hu' }, + { language => 'Armenian', code => 'hy-AM' }, + { language => 'Indonesian', code => 'id' }, + { language => 'Icelandic', code => 'is' }, + { language => 'Italian', code => 'it' }, + { language => 'Japanese', code => 'ja' }, + { language => 'Kazakh', code => 'kk' }, + { language => 'Khmer', code => 'km' }, + { language => 'Kannada', code => 'kn' }, + { language => 'Korean', code => 'ko' }, + { language => 'Ligurian', code => 'lij' }, + { language => 'Lithuanian', code => 'lt' }, + { language => 'Latvian', code => 'lv' }, + { language => 'Maithili', code => 'mai' }, + { language => 'Macedonian', code => 'mk' }, + { language => 'Malayalam', code => 'ml' }, + { language => 'Marathi', code => 'mr' }, + { language => 'Malay', code => 'ms' }, + { language => 'Norwegian (Bokmal)', code => 'nb-NO' }, + { language => 'Dutch', code => 'nl' }, + { language => 'Norwegian (Nynorsk)', code => 'nn-NO' }, + { language => 'Oriya', code => 'or' }, + { language => 'Punjabi', code => 'pa-IN' }, + { language => 'Polish', code => 'pl' }, + { language => 'Portuguese (Brazil)', code => 'pt-BR' }, + { language => 'Portuguese (Portugal)', code => 'pt-PT' }, + { language => 'Romansh', code => 'rm' }, + { language => 'Romanian', code => 'ro' }, + { language => 'Russian', code => 'ru' }, + { language => 'Sinhalese', code => 'si' }, + { language => 'Slovak', code => 'sk' }, + { language => 'Slovenian', code => 'sl' }, + { language => 'Songhai', code => 'son' }, + { language => 'Albanian', code => 'sq' }, + { language => 'Serbian', code => 'sr' }, + { language => 'Swahili', code => 'sw' }, + { language => 'Tamil', code => 'ta' }, + { language => 'Telugu', code => 'te' }, + { language => 'Thai', code => 'th' }, + { language => 'Turkish', code => 'tr' }, + { language => 'Ukrainan', code => 'uk' }, + { language => 'Vietnamese', code => 'vi' }, + { language => 'Chinese (Simplified)', code => 'zh-CN' }, + { language => 'Xhosa', code => 'xh' }, + { language => 'Chinese (Traditional)', code => 'zh-TW' }, + { language => 'Uzbek', code => 'uz' }, + ); + + my @tb_i18n = ( + { language => 'Aarabic', code => 'ar' }, + { language => 'Asturian', code => 'ast' }, + { language => 'Belarusian', code => 'be' }, + { language => 'Bulgarian', code => 'bg' }, + { language => 'Bengali (Bangladesh)', code => 'bn-BD' }, + { language => 'Breton', code => 'br' }, + { language => 'Catalan', code => 'ca' }, + { language => 'Czech', code => 'cs' }, + { language => 'Danish', code => 'da' }, + { language => 'German', code => 'de' }, + { language => 'Greek', code => 'el' }, + { language => 'English (United Kingdom)', code => 'en-GB' }, + { language => 'English (US)', code => 'en-US' }, + { language => 'Spanish (Argentina)', code => 'es-AR' }, + { language => 'Spanish (Spain)', code => 'es-ES' }, + { language => 'Estonian', code => 'et' }, + { language => 'Basque', code => 'eu' }, + { language => 'Finnish', code => 'fi' }, + { language => 'French', code => 'fr' }, + { language => 'Frisian', code => 'fy-NL' }, + { language => 'Irish', code => 'ga-IE' }, + { language => 'Gaelic (Scotland)', code => 'gd' }, + { language => 'Galician', code => 'gl' }, + { language => 'Hebrew', code => 'he' }, + { language => 'Croatian', code => 'hr' }, + { language => 'Hungarian', code => 'hu' }, + { language => 'Armenian', code => 'hy-AM' }, + { language => 'Indonesian', code => 'id' }, + { language => 'Icelandic', code => 'is' }, + { language => 'Italian', code => 'it' }, + { language => 'Japanese', code => 'ja' }, + { language => 'Korean', code => 'ko' }, + { language => 'Lithuanian', code => 'lt' }, + { language => 'Norwegian (Bokmal)', code => 'nb-NO' }, + { language => 'Dutch', code => 'nl' }, + { language => 'Norwegian (Nynorsk)', code => 'nn-NO' }, + { language => 'Punjabi', code => 'pa-IN' }, + { language => 'Polish', code => 'pl' }, + { language => 'Portuguese (Brazil)', code => 'pt-BR' }, + { language => 'Portuguese (Portugal)', code => 'pt-PT' }, + { language => 'Romansh', code => 'rm' }, + { language => 'Romanian', code => 'ro' }, + { language => 'Russian', code => 'ru' }, + { language => 'Sinhalese', code => 'si' }, + { language => 'Slovak', code => 'sk' }, + { language => 'Slovenian', code => 'sl' }, + { language => 'Albanian', code => 'sq' }, + { language => 'Serbian', code => 'sr' }, + { language => 'Swedish', code => 'sv-SE' }, + { language => 'Tamil (Sri Lanka)', code => 'ta-LK' }, + { language => 'Turkish', code => 'tr' }, + { language => 'Ukrainan', code => 'uk' }, + { language => 'Vietnamese', code => 'vi' }, + { language => 'Chinese (Simplified)', code => 'zh-CN' }, + { language => 'Chinese (Traditional)', code => 'zh-TW' }, + ); + my @u_i18n; + ( $pkg eq 'ff' ) ? ( @u_i18n = @ff_i18n ) : (@u_i18n = @tb_i18n ); + my @i18n = sort { $a->{language} cmp $b->{language} } @u_i18n; + my $size = scalar @i18n; + print "\n"; + + for (my $i = 0; $i < $size; $i++ ) + { + say '[', $i + 1, "] $i18n[$i]{language}"; + } + + print "\n:: please select your language (type corresponding number)\n> "; + my $choice; + while ( $choice = <STDIN> ) + { + no warnings; + chomp $choice; + $choice =~ s/^\s+//; + $choice =~ s/\s+$//; + last if $choice ~~ [ 1 .. $size ]; + print ":: WRONG SELECTION!\n:: please select your language (type corresponding number)\n> "; + } + $LANG = $i18n[$choice - 1]{code}; + say ":: \"$i18n[$choice - 1]{language}\" selected\n::"; + say qq{:: HINT: put "$pkg=$LANG" (without quotes) in $HOME/.ff-downloader to avoid being asked about your language each time you build the package\n::}; +} +my $ARCH = qx(uname -m); +chomp $ARCH; + +$| = 1; # turn on autoflush; + +my $ff_bz2 = "${PACKAGE}-${VER}.tar.bz2"; +my $ff_path = "/pub/${PACKAGE}/releases/${VER}/linux-${ARCH}/${LANG}/${ff_bz2}"; +my $ff_url = URI->new('http://ftp.mozilla.org'); +$ff_url->path($ff_path); + +##Downloading firefox## +get_url( $ff_url, $ff_bz2 ) or die qq(:: ERROR - can't download $ff_bz2\n); + +##downloading md5sums## +$ff_url->path("/pub/${PACKAGE}/releases/${VER}/MD5SUMS"); +get_url( $ff_url, 'MD5SUMS' ) or die qq(:: ERROR - can't download MD5SUMS\n); + +## calculating & comparing md5 digest +print ':: verifying MD5 checksum ... '; + +my @md5_file = read_file('MD5SUMS'); +my $search_string = "linux-${ARCH}/${LANG}/${ff_bz2}"; +my $md5s; +for (@md5_file) +{ + if ($_ =~ /([a-z0-9]+)\s{2}[\.\/]*$search_string/) + { + $md5s= $1; + last; + } +} +die qq{:: ERROR - can't find a valid MD5 checksum in file 'MD5SUMS'!\n} unless $md5s; + +open(FILE, $ff_bz2) or die qq{:: ERROR - can't open "$ff_bz2": $!}; +binmode(FILE); +my $digest = Digest::MD5->new->addfile(*FILE)->hexdigest; +close(FILE); + +( $digest eq $md5s ) ? say 'DONE' : do {say 'FAILED'; exit 1}; + diff --git a/firefox-beta-bin-safe.desktop b/firefox-beta-bin-safe.desktop new file mode 100644 index 000000000000..e56b13fa0082 --- /dev/null +++ b/firefox-beta-bin-safe.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=Firefox Beta - Safe Mode +GenericName=Web Browser - Safe Mode +Icon=firefox-beta-icon +Type=Application +Categories=Network;WebBrowser; +MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; +Encoding=UTF-8 +Exec=firefox-beta -safe-mode %u +Terminal=false +StartupNotify=true diff --git a/firefox-beta-bin.desktop b/firefox-beta-bin.desktop new file mode 100644 index 000000000000..3f7806766be6 --- /dev/null +++ b/firefox-beta-bin.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Name=Firefox Beta +GenericName=Web Browser +Icon=firefox-beta-icon +Type=Application +Categories=Network;WebBrowser; +MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; +Encoding=UTF-8 +Exec=firefox-beta %u +Terminal=false +StartupNotify=true diff --git a/firefox.install b/firefox.install new file mode 100644 index 000000000000..88620003c2bc --- /dev/null +++ b/firefox.install @@ -0,0 +1,12 @@ +post_install() { + update-desktop-database -q +} + +post_upgrade() { + post_install $1 +} + +post_remove() { + post_install $1 +} + |