From 539f940d7a8240eed7238f36030db57a1a738087 Mon Sep 17 00:00:00 2001 From: moparisthebest Date: Sat, 6 Jan 2018 01:12:52 -0500 Subject: [PATCH] Add few packages --- src/dino-git/PKGBUILD | 45 ++++++++ src/hivex/PKGBUILD | 46 +++++++++ src/hivex/static.patch | 12 +++ src/libguestfs/PKGBUILD | 113 +++++++++++++++++++++ src/libguestfs/appliance.install | 20 ++++ src/libguestfs/update-libguestfs-appliance | 58 +++++++++++ src/perl-sys-virt/PKGBUILD | 52 ++++++++++ 7 files changed, 346 insertions(+) create mode 100644 src/dino-git/PKGBUILD create mode 100644 src/hivex/PKGBUILD create mode 100644 src/hivex/static.patch create mode 100644 src/libguestfs/PKGBUILD create mode 100644 src/libguestfs/appliance.install create mode 100755 src/libguestfs/update-libguestfs-appliance create mode 100644 src/perl-sys-virt/PKGBUILD diff --git a/src/dino-git/PKGBUILD b/src/dino-git/PKGBUILD new file mode 100644 index 0000000..b428e8d --- /dev/null +++ b/src/dino-git/PKGBUILD @@ -0,0 +1,45 @@ +# Maintainer: Seppia +# Contributor: svalo + +pkgname=dino-git +pkgver=r224.a8cc94c +pkgrel=1 +pkgdesc="Simple and modern Jabber/XMPP client written in vala" +arch=('i686' 'x86_64' 'aarch64') +url="https://github.com/dino/dino" +license=('GPL3') +depends=('glib2>=2.38' 'glib-networking' 'gtk3>=3.22' 'gpgme' 'libgee>=0.10' 'libgcrypt' 'libsoup' 'sqlite') +makedepends=('git' 'cmake' 'vala>=0.34' 'ninja') +provides=("${pkgname%-git}") +conflicts=("${pkgname%-git}") +source=('dino::git+https://github.com/dino/dino') +sha512sums=('SKIP') + +# Any or all of the following plugin can be disabled: omemo, openpgp, http-files. Populate following string as per your needs and uncomment it +#_DISABLE_PLUGINS="--disable-plugin='omemo;openpgp;http-files'" + +pkgver() { + cd "${srcdir}/${pkgname%-git}" + printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" +} + +build() { + cd "${srcdir}/${pkgname%-git}" + ./configure $_DISABLE_PLUGINS --prefix="/usr" --with-tests CC="$CC" CFLAGS="$CFLAGS" VALACFLAGS="$VALACFLAGS" + sed -i '/SrvRecordsTls/d' libdino/src/service/module_manager.vala + make +} + +package() { + cd "${srcdir}/${pkgname%-git}" + make DESTDIR="${pkgdir}/" install +} + +check() { + cd "${srcdir}/${pkgname%-git}" + echo "Executing xmpp-vala-test:" + build/xmpp-vala-test + echo + echo "Executing signal-protocol-vala-test:" + build/signal-protocol-vala-test +} diff --git a/src/hivex/PKGBUILD b/src/hivex/PKGBUILD new file mode 100644 index 0000000..00a0f89 --- /dev/null +++ b/src/hivex/PKGBUILD @@ -0,0 +1,46 @@ +# Maintainer: Brian Bidulock +# Contributor: Patryk Kowalczyk < patryk at kowalczyk dot ws> + +pkgname=hivex +pkgver=1.3.14 +pkgrel=3 +pkgdesc="System for extracting the contents of Windows Registry." +arch=("i686" "x86_64") +url="http://libguestfs.org" +license=("LGPL2.1") +depends=("libxml2" "perl") +makedepends=("python2" "ruby" "perl-io-stringy" "perl-test-simple" "ocaml-findlib" "ocaml") +optdepends=("python2: for python bindings" + "ruby: for ruby bindings" + "ocaml: for ocaml bindings") +options=("!emptydirs" "!libtool") +source=("http://libguestfs.org/download/$pkgname/$pkgname-$pkgver.tar.gz") +md5sums=('9fb5ed4525d30a84b216a05150be1558') + +build() { + cd $pkgname-$pkgver + unset PREFIX + ./configure \ + --bindir=/usr/bin \ + --libdir=/usr/lib \ + --prefix=/usr \ + --disable-rpath \ + --disable-static PYTHON=python2 + make +} + +_perl_depends() { +# template start; name=perl-binary-module-dependency; version=1; +if [[ $(find "$pkgdir/usr/lib/perl5/" -name "*.so") ]]; then + _perlver_min=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]);') + _perlver_max=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]+1);') + depends+=("perl>=$_perlver_min" "perl<$_perlver_max") +fi +# template end; +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + _perl_depends +} diff --git a/src/hivex/static.patch b/src/hivex/static.patch new file mode 100644 index 0000000..c78d79f --- /dev/null +++ b/src/hivex/static.patch @@ -0,0 +1,12 @@ +diff -up src/hivex-1.3.11/ocaml/hivex_c.c.orig src/hivex-1.3.11/ocaml/hivex_c.c +--- src/hivex-1.3.11/ocaml/hivex_c.c.orig 2015-06-28 11:52:33.000000000 -0600 ++++ src/hivex-1.3.11/ocaml/hivex_c.c 2015-06-28 11:52:38.000000000 -0600 +@@ -48,7 +48,7 @@ extern value unix_error_of_code (int err + #endif + + #ifndef HAVE_CAML_RAISE_WITH_ARGS +-static void ++void + caml_raise_with_args (value tag, int nargs, value args[]) + { + CAMLparam1 (tag); diff --git a/src/libguestfs/PKGBUILD b/src/libguestfs/PKGBUILD new file mode 100644 index 0000000..06bbb39 --- /dev/null +++ b/src/libguestfs/PKGBUILD @@ -0,0 +1,113 @@ +# Libguestfs: Installer: Arch +# Contributor: Peter Wu +# Contributor: Evaggelos Balaskas +# Contributor: Xiao-Long Chen +# Maintainer: Nikos Skalkotos + +pkgname=libguestfs +pkgver=1.36.11 +pkgver_short=${pkgver%.*} +pkgrel=1 +pkgdesc="Access and modify virtual machine disk image" +arch=("i686" "x86_64") +url="http://libguestfs.org" +license=("GPL2" "LGPL2.1") +backup=("etc/libguestfs-tools.conf" + "etc/xdg/virt-builder/repos.d/libguestfs.conf" + "etc/xdg/virt-builder/repos.d/libguestfs.gpg") +# backup=("etc/libguestfs-tools.conf" "etc/php.d/guestfs_php.ini") +install="appliance.install" +_pythonver=2 +depends=("qemu-headless" + "augeas" + "hivex>=1.3.2" + "libconfig" + "libvirt" + "fuse" + "file" + "cpio" + "wget") +makedepends=("qemu-headless" + "pcre" + "cdrkit" + "libvirt" + "libconfig" + "libxml2" + "gperf" + "python${_pythonver}" + "perl" + "perl-string-shellquote" + "perl-libintl-perl" + "perl-sys-virt" + "perl-module-build" +# "lua" +# "ghc" +# "ruby" +# "erlang" +# "gjs" +# "php" +# "gobject-introspection" + "ocaml-findlib" + "ocaml") +optdepends=("python${_pythonver}: Python bindings" +# "ruby: Ruby Bindings" +# "gjs: Javascript Bindings for GNOME" +# "php: PHP bindings" +# "erlang: Erlang Bindings" +# "ghc: Haskell Bindings" +# "lua: Lua Bindings" + "perl: Perl Bindings" + "perl-sys-virt: Sys-Virt tools" + "ocaml: Ocaml libs") +provides=("guestfish=${pkgver}") +options=() +source=("http://libguestfs.org/download/${pkgver_short}-stable/${pkgname}-${pkgver}.tar.gz" + "update-libguestfs-appliance") +sha512sums=('81217bc2be1755f108af815238f144ab72ecb5cc6a815bc50246463508bed739848b9b67c6cf8b1d68c3cfa0aca66857e9006c11e3a8fe20fc1ddcb22c562571' + 'b16a8a15d39392ab2d5c51ac4cbbcd0fd1e6e8e064bf5b866e7c9f93a639fb8e96fc4328b05963ac24c3333e454b63a6a700e6e6fb1584c9d671f289ee1bcade') + +check() { + # test-lock fails, perhaps related to: + # http://lists.gnu.org/archive/html/bug-gnulib/2013-10/msg00059.html + # test-thread_create failed too. + : make check +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + +# Currently OCaml lua, erlang, php, haskel, ruby, ghc, GObject and java bindings +# are disabled. If you want to create any of the aforementioned language +# bindings uncomment the appropriate line in makedepends and remove the +# --disable-* option in ./configure + + ./configure \ + PYTHON=python$_pythonver \ + --prefix=/usr \ + --libdir=/usr/lib \ + --mandir=/usr/share/man \ + --sysconfdir=/etc \ + --disable-static \ + --disable-probes \ + --disable-appliance \ + --disable-daemon \ + --without-java \ + --enable-introspection=no \ + --disable-lua \ + --disable-erlang \ + --disable-php \ + --disable-haskell \ + --disable-ruby \ + --disable-gobject \ + --disable-golang + + make +} + +package() { + cd "${srcdir}/${pkgname}-${pkgver}" + make DESTDIR="${pkgdir}" install + + mkdir -p "$pkgdir/usr/lib/guestfs" "$pkgdir/var/cache/guestfs" + install -Dm755 "${srcdir}/update-libguestfs-appliance" "${pkgdir}/usr/bin/update-libguestfs-appliance" +} diff --git a/src/libguestfs/appliance.install b/src/libguestfs/appliance.install new file mode 100644 index 0000000..9d1b16c --- /dev/null +++ b/src/libguestfs/appliance.install @@ -0,0 +1,20 @@ +post_install() { + usr/sbin/update-libguestfs-appliance +} + +remove_old_appliance() { + rm -f usr/lib/guestfs/{kernel,initrd,root,README.fixed} +} + +pre_remove() { + remove_old_appliance + rm -f /var/cache/guestfs/appliance-* +} + +pre_upgrade() { + remove_old_appliance +} + +post_upgrade() { + post_install +} diff --git a/src/libguestfs/update-libguestfs-appliance b/src/libguestfs/update-libguestfs-appliance new file mode 100755 index 0000000..26c2536 --- /dev/null +++ b/src/libguestfs/update-libguestfs-appliance @@ -0,0 +1,58 @@ +#!/bin/bash +# +# update-guestfs-appliance: download and install a guestfs binary appliance +# Copyright (C) 2013 Nikos Skalkotos +# +# 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 2 +# 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, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + +VERSION=1.36.1 +SHA512SUM="2af550078a0e6b37e97988018f579df0e19072d06cbb53eccd85c2873850b472cabf34bbfb4e0ef5f43b5a1af4155f014eeefb85a1b05035d7916c7b1187d722" + +set -e +umask 022 + +if [[ $EUID -ne 0 ]]; then + echo "This script must be run as root" >&2 + exit 1 +fi + +echo >&2 +echo "Downloading binary appliance v$VERSION for libguestfs ... " >&2 +echo >&2 + +# Cache file to avoid redownloading it on a second run +mkdir -p /var/cache/guestfs +cd /var/cache/guestfs +silent= +if [ ! -t 1 ]; then + echo "Output is not a TTY, not outputting progress (be patient!)" >&2 + silent=-nv +fi +wget $silent --continue -O appliance-${VERSION}.tar.xz \ + http://libguestfs.org/download/binaries/appliance/appliance-${VERSION}.tar.xz + +echo -n "Checking checksum ... " >&2 +echo "$SHA512SUM appliance-${VERSION}.tar.xz" | sha512sum -c + +echo >&2 +echo "Extracting binary appliance files to /usr/lib/guestfs:" >&2 +tar -xvf appliance-${VERSION}.tar.xz -C /usr/lib/guestfs \ + --no-same-owner --strip-components=1 + +echo "Correcting permissions:" >&2 +chmod -v 644 "/usr/lib/guestfs/"{kernel,initrd,root,README.fixed} + +echo >&2 +echo "Binary appliance installation finished successfully!" >&2 diff --git a/src/perl-sys-virt/PKGBUILD b/src/perl-sys-virt/PKGBUILD new file mode 100644 index 0000000..7c655cb --- /dev/null +++ b/src/perl-sys-virt/PKGBUILD @@ -0,0 +1,52 @@ +# Maintainer: Patryk Kowalczyk < patryk at kowalczyk dot ws> +# Contributor: Xiao-Long Chen + +_author="Daniel P. Berrange" +_perlmod="sys-virt" +_cpanname='Sys-Virt' +pkgname=perl-${_perlmod} +pkgver=3.0.0 +pkgrel=3 +pkgdesc="Represent and manage a libvirt hypervisor connection" +arch=('i686' 'x86_64') +url="http://search.cpan.org/dist/Sys-Virt/" +license=('GPL' 'PerlArtistic') +depends=('libvirt') +makedepends=('perl-test-pod-coverage' 'perl-xml-xpath') +source=("http://www.cpan.org/authors/id/D/DA/DANBERR/${_cpanname}-${pkgver}.tar.gz") +md5sums=('2d5673dd8929957513f951a63a0ae2b1') + +build() { + cd ${_cpanname}-${pkgver} + + # From Fedora spec file - generation of spec file causes make to segfault + sed -i -e '/Sys-Virt\.spec/d' Makefile.PL + sed -i -e '/\.spec\.PL$/d' MANIFEST + rm -f *.spec.PL + + # Install module in vendor directories. + PERL_MM_USE_DEFAULT=1 perl Makefile.PL INSTALLDIRS=vendor + export MAKEFLAGS='-j1' + make +} + +_perl_depends() { +# template start; name=perl-binary-module-dependency; version=1; +if [[ $(find "$pkgdir/usr/lib/perl5/" -name "*.so") ]]; then + _perlver_min=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]);') + _perlver_max=$(perl -e '$v = $^V->{version}; print $v->[0].".".($v->[1]+1);') + depends+=("perl>=$_perlver_min" "perl<$_perlver_max") +fi +# template end; +} + +package() { + cd ${_cpanname}-${pkgver} + make PERL_MM_USE_DEFAULT=1 DESTDIR="${pkgdir}/" install + + # From Fedora RPM spec file - remove empty '.packlist' and '*.bs' files + find "${pkgdir}" -type f \( -name .packlist -o -name '*.bs' -o -name perllocal.pod -empty \) | xargs rm -vf + rm -fr "${pkgdir}/usr/lib/perl5/core_perl" + _perl_depends +} +