diff options
author | Alex Talker | 2016-10-01 16:44:48 +0300 |
---|---|---|
committer | Alex Talker | 2016-10-01 16:44:48 +0300 |
commit | 2c300b8268df81eaa6dada51ed6988cadad88202 (patch) | |
tree | 48913119b21b43e4875044dbcf6cd720b81be5c3 | |
parent | 3f950d9d6d7969bdbf7cd680cca071738f65135a (diff) | |
download | aur-2c300b8268df81eaa6dada51ed6988cadad88202.tar.gz |
Move things from OBS experiment to AUR
-rw-r--r-- | .SRCINFO | 2 | ||||
-rw-r--r-- | PKGBUILD.template | 48 | ||||
-rw-r--r-- | _service | 4 | ||||
-rw-r--r-- | generator.pl | 78 | ||||
-rw-r--r-- | visual-paradigm-community.install | 9 |
5 files changed, 140 insertions, 1 deletions
@@ -1,5 +1,5 @@ # Generated by mksrcinfo v8 -# Sat Oct 1 00:03:10 UTC 2016 +# Sat Oct 1 13:44:18 UTC 2016 pkgbase = visual-paradigm-community pkgdesc = UML design application pkgver = 13.2.20161001 diff --git a/PKGBUILD.template b/PKGBUILD.template new file mode 100644 index 000000000000..9cce958256cc --- /dev/null +++ b/PKGBUILD.template @@ -0,0 +1,48 @@ +# Maintainer: Alex Talker <alextalker at openmailbox dot org> +# Original maintainer: Simonas Racinas <racinas at icloud.com> +pkgname=visual-paradigm-community +pkgver=[% version %] +pkgrel=1 +pkgdesc="UML design application" +url='http://www.visual-paradigm.com/download/community.jsp' +arch=('x86_64') +depends=('java-environment-common') +install=visual-paradigm-community.install +_baseurl="http://www.visual-paradigm.com/downloads/vpce" +license=('custom') +source=("http://www.visual-paradigm.com/downloads/vpce/Visual_Paradigm_CE_Linux[% arch %]_InstallFree.tar.gz" + 'visual-paradigm-community.install' + 'visual-paradigm.desktop' + 'Visual_Paradigm_Fixed' + 'visual-paradigm.png' + 'LICENSE.txt' + 'x-visual-paradigm.xml') +#sha256sums=('82a4f6a0c6fda6d6881a793ad8e7dfe3a0341211e3ede2f8cdf141d924823609' +sha256sums=('[% sha256 %]' + '61b4974588ec66e6d037aee0870cea97cf735586e5ea8e8e7b13091fe57c58ae' + 'c2cf0bd2fdc2879b2ae4814e1be5b6cbd7e5aa4c1247f5d4bc8e677eb6a94952' + 'c861d708eb446f94abbebb4028a2f15f7bc6840aa5df1ee81f7301aac0fd00a9' + '41517b5c2326c0ba2fe3b6647f9594f094ccf03185cf73cb87d6cf19b355ff15' + 'cd30460cb1c29f9f42723197dbe72b2537aaed09cc2d44dcb3e6868fb5dbf12b' + 'a3b898bc9c43cf54baa1c643c619ee172a8103cd15031d574380ca463eb1ec1c') + +# pkgver(){ +# curl -I -L "$_baseurl/" | grep -Pio '[0-9]{2}_[0-9]{1}_[0-9]{8}' | sed 's/_/./g' | head -1 +# } + +package() { + _ver=${pkgver:0:4} # Probably, dirty a bit + mkdir -p "${pkgdir}/usr/share/applications" + mkdir -p "${pkgdir}/usr/share/licenses/visual-paradigm-community-edition/" + mkdir -p "${pkgdir}/usr/share/icons/hicolor/512x512/apps" + cp -r "${srcdir}/Visual_Paradigm_CE_${_ver}/Application/" "${pkgdir}/usr/share/${pkgname}/" + cp -r "${srcdir}/Visual_Paradigm_CE_${_ver}/.install4j/" "${pkgdir}/usr/share/${pkgname}/.install4j/" + cp "visual-paradigm.desktop" "${pkgdir}/usr/share/applications/visual-paradigm.desktop" + cp "Visual_Paradigm_Fixed" "${pkgdir}/usr/share/${pkgname}/bin/Visual_Paradigm_Fixed" + cp "visual-paradigm.png" "${pkgdir}/usr/share/icons/hicolor/512x512/apps/visual-paradigm.png" + install -m 644 LICENSE.txt "${pkgdir}/usr/share/licenses/visual-paradigm-community-edition/LICENSE" + mkdir -p "${pkgdir}/usr/bin" + ln -sr "${pkgdir}/usr/share/${pkgname}/bin/Visual_Paradigm_Fixed" "${pkgdir}/usr/bin/${pkgname}" + mkdir -p ${pkgdir}/usr/share/mime/packages + cp "x-visual-paradigm.xml" "${pkgdir}/usr/share/mime/packages/x-visual-paradigm.xml" +} diff --git a/_service b/_service new file mode 100644 index 000000000000..1c8ae020f01d --- /dev/null +++ b/_service @@ -0,0 +1,4 @@ +<services> + +<service name="download_files" /> +</services> diff --git a/generator.pl b/generator.pl new file mode 100644 index 000000000000..269939330f35 --- /dev/null +++ b/generator.pl @@ -0,0 +1,78 @@ +#!/usr/bin/perl +use v5.10; +use experimental 'smartmatch'; +use Tie::File; +use Template; +use LWP::UserAgent; +use Data::Dumper; + +use constant { + SOURCE => "http://www.visual-paradigm.com/downloads/vpce/Visual_Paradigm_CE_Linux64_InstallFree.tar.gz", + BASE => 'https://eu7.visual-paradigm.com/visual-paradigm/vpce', +}; + +sub _get_latest_version { + my ($ua) = @_; + + my $req = HTTP::Request->new(HEAD => SOURCE); + my $res = $ua->request($req); + my $uri; + + if ( $res->is_success ) { + $uri = $res->base; + $uri =~ /Visual_Paradigm_CE_([0-9_]{4})_([0-9]{8})_Linux([2-6]{2})_InstallFree.tar.gz/; + my $info = { + base => $1, + date => $2, + }; + $info->{base} =~ s/_/./g; + return $info if $info->{base} && $info->{date}; + } + print "Cannot get response on HEAD request about latest tarball"; + exit 1; +} + +sub _get_checksum_lines { + my ($ua, $version) = @_; + #HASHSUMS => 'https://eu7.visual-paradigm.com/visual-paradigm/vpce13.2/20160812/checksum.html' + my $uri = BASE . $version->{base} .'/' . $version->{date} . '/checksum.html'; + my $req = HTTP::Request->new(GET => $uri); + my $res = $ua->request($req); + if ( $res->is_success ) { + my @lines = split '\n', $res->content; + + return @lines; + } + print "Cannot get response on GET request about checksum"; + exit 2; +} + +my $ua = LWP::UserAgent->new; + +my $version = _get_latest_version($ua); +my @lines = _get_checksum_lines($ua, $version); + +my @versions = grep { $_ ~~ /Visual_Paradigm_CE[^\s]+Linux[2-6]{2}_InstallFree.tar.gz/ } @lines; + +die "Cannot get versions" unless @versions; + +my %data = (); + +for my $line ( @versions ) { + $line =~ /_CE_([0-9_]+)_Linux([2-6]{2}).*sha256:\s+([0-9a-f]+).*md5:\s+([0-9a-f]+)/; + my $info = { + version => $1, + arch => $2, + sha256 => $3, + md5 => $4, + + }; + $info->{version} =~ s/_/./g; + my $arch = $info->{arch} eq 32 ? 'i686' : 'x86_64'; + $data{$arch} = $info; +} +if ( $data{x86_64}->{version} ) { + my $t = Template->new(RELATIVE => 1); + + $t->process('PKGBUILD.template', $data{x86_64}, 'PKGBUILD') || die $tt->error(); +} diff --git a/visual-paradigm-community.install b/visual-paradigm-community.install index 2bbae8797ec5..3ad563b5ee74 100644 --- a/visual-paradigm-community.install +++ b/visual-paradigm-community.install @@ -1,8 +1,17 @@ +repo_info() { + echo "=============================" + echo "You can download the package in repo:" + echo "[home_alextalker_aur_Arch_Extra]" + echo "SigLevel = Never" + echo 'Server = http://download.opensuse.org/repositories/home:/alextalker:/aur/Arch_Extra/$arch' +} + post_install() { update-desktop-database -q update-mime-database /usr/share/mime gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor archlinux-java fix + repo_info } post_upgrade() { |