matthias' PKGBUILD wasn't working for me with yaourt (it didn't like the default-runtime symlink), here's what I used to get it to install:
# Maintainer: said
# Contributor Milos Kaurin <milos dot kaurin gmail>
pkgname=java-p7zip-binding
pkgver=4.65_1.06rc
pkgver1_=4.65-1.06-rc # helper var for the download filename
pkgver2_=4.65-1.06rc # same as above
pkgrel=1
epoch=1
pkgdesc='Java wrapper for 7-Zip C++ library.'
arch=('i686' 'x86_64')
url='http://sevenzipjbind.sourceforge.net/'
license=('LGPL')
depends=('java-runtime')
changelog=ChangeLog
source=("pkg.zip::http://downloads.sourceforge.net/project/sevenzipjbind/7-Zip-JBinding/$pkgver2_-extr-only/sevenzipjbinding-$pkgver1_-extr-only-AllLinux.zip")
noextract=('pkg.zip')
md5sums=('45e6c9859f507321216192ba6207ad25')
package() {
[ $CARCH == 'x86_64' ] && _arch='amd64' || _arch='i386'
_lib="$_arch/lib7-Zip-JBinding.so"
_jre="`archlinux-java get`/jre"
cd $srcdir
bsdtar -xqOf pkg.zip "*-AllLinux.jar" | bsdtar -xqf - "*$_lib"
install -Dm755 Linux-$_lib $pkgdir/usr/lib/jvm/$_jre/lib/$_lib
}
Search Criteria
Package Details: java-p7zip-binding 4.65_1.06rc-1
Package Actions
| Package Base: | java-p7zip-binding |
|---|---|
| Description: | Java wrapper for 7-Zip C++ library. |
| Upstream URL: | http://sevenzipjbind.sourceforge.net/ |
| Category: | lib |
| Licenses: | |
| Submitter: | Kaurin |
| Maintainer: | None |
| Last Packager: | None |
| Votes: | 10 |
| First Submitted: | 2012-04-14 03:59 |
| Last Updated: | 2013-01-20 17:02 |
Dependencies (1)
Required by (0)
Sources
Latest Comments
Comment by OOPaige
Comment by vaski
@matthias
Thanks, that worked, dont know why pacman failed to load it when I used packer, but building it the manual way, and using pacman -U did work.
Comment by matthias.lisin
@vaski
Working fine here.
Looks like the package is created but pacman fails to load it.
Can you install in manually using this command: pacman -U [pkgname].tar.xz ?
Comment by vaski
@matthias
I get this error (using packer)
Edit java-p7zip-binding PKGBUILD with $EDITOR? [Y/n] y
==> Making package: java-p7zip-binding 1:4.65_1.06rc-1 (Sun Oct 19 23:47:16 GMT 2014)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Downloading pkg.zip...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 469 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 1996k 100 1996k 0 0 1195k 0 0:00:01 0:00:01 --:--:-- 3459k
==> Validating source files with md5sums...
pkg.zip ... Passed
==> Extracting sources...
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
-> Purging unwanted files...
-> Removing libtool files...
-> Removing static library files...
-> Compressing man and info pages...
-> Stripping unneeded symbols from binaries and libraries...
==> Creating package "java-p7zip-binding"...
-> Generating .PKGINFO file...
-> Adding changelog file...
-> Generating .MTREE file...
-> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: java-p7zip-binding 1:4.65_1.06rc-1 (Sun Oct 19 23:47:19 GMT 2014)
root Password:
loading packages...
error: 'java-p7zip-binding-4.65_1.06rc-1*.pkg.tar.xz': could not find or read package
Comment by matthias.lisin
Hi said,
I've slightly modified the PKGBUILD file to make it work with without $J2REDIR since 'archlinux-java' helps choosing the right runtime directory by creating a "default-runtime" symlink in /usr/lib/jvm/.
Also, makedepends 'unzip' and 'java-environment' are no longer required since bsdtar does the job + installing JDK (java-environment) just to extract a JAR file is not really efficient.
Made use of 'file::http://url/file' in 'source' to avoid handling ducked up filenames, put the downloaded zip in 'noextract' to skip auto-extracting all those useless files and finally shortened the whole package() script a bit.
Works with jre8-openjdk without or with jdk8-openjdk.
Would be nice if you could review this and (partially) use my version:
# Maintainer: said
# Contributor Milos Kaurin <milos dot kaurin gmail>
pkgname=java-p7zip-binding
pkgver=4.65_1.06rc
pkgver1_=4.65-1.06-rc # helper var for the download filename
pkgver2_=4.65-1.06rc # same as above
pkgrel=1
epoch=1
pkgdesc='Java wrapper for 7-Zip C++ library.'
arch=('i686' 'x86_64')
url='http://sevenzipjbind.sourceforge.net/'
license=('LGPL')
depends=('java-runtime')
changelog=ChangeLog
source=("pkg.zip::http://downloads.sourceforge.net/project/sevenzipjbind/7-Zip-JBinding/$pkgver2_-extr-only/sevenzipjbinding-$pkgver1_-extr-only-AllLinux.zip")
noextract=('pkg.zip')
md5sums=('45e6c9859f507321216192ba6207ad25')
package() {
[ $CARCH == 'x86_64' ] && _arch='amd64' || _arch='i386'
_lib="$_arch/lib7-Zip-JBinding.so"
cd $srcdir
bsdtar -xqOf pkg.zip "*-AllLinux.jar" | bsdtar -xqf - "*$_lib"
install -Dm755 Linux-$_lib $pkgdir/usr/lib/jvm/default-runtime/lib/$_lib
}
Anonymous comment
works fine! thx
Comment by said
Should be fixed and updated now. Let me know if it works.
Comment by Kaurin
Unfortunately, I no longer maintain the package. It is free for anyone to take ownership of it.
The main reason that I started this package in the first place is because it was an optional dependency for FileBot which I also used to maintain.
Filebot is an orphan as well.
Anonymous comment
The file landed on /usr/lib/amd64/ instead of going to the right path at /usr/lib/jvm/java-7-openjdk/jre/lib/amd64/
Comment by Kaurin
Thank you. fixed
Comment by larvan
Shouldn't this package depend on 'java-runtime' and 'java-environment' instead of 'jre7-openjdk' and 'jdk7-openjdk'?
I had to make this change since I use Oracle's JVM from aur/jdk
Comment by Kaurin
Thankyou Nyutag. I have just tested out your contribution and will be uploading ASAP :)
Comment by Nyutag
For automatic compatibility with i686 arch use the following PKGBUILD
# Maintainer: Milos Kaurin <milos dot kaurin gmail>
pkgname=java-p7zip-binding
pkgver=4.65_1.05rc
pkgver1_=4.65-1.05-rc
pkgver2_=4.65-1.05rc
pkgrel=3
epoch=
pkgdesc="Java wrapper for 7-Zip C++ library."
arch=('i686' 'x86_64')
url="http://sevenzipjbind.sourceforge.net/"
license=('LGPL')
depends=('jre7-openjdk')
makedepends=('unzip' 'jdk7-openjdk')
changelog=ChangeLog
source=(http://downloads.sourceforge.net/project/sevenzipjbind/7-Zip-JBinding/$pkgver2_-extr-only/sevenzipjbinding-$pkgver1_-extr-only-AllLinux.zip)
md5sums=(17b3217161002e074b72e32adeefcba0)
package() {
cd $srcdir
unzip -oqq sevenzipjbinding-$pkgver1_-extr-only-AllLinux.zip
cd sevenzipjbinding-$pkgver1_-extr-only-AllLinux/lib
jar xf sevenzipjbinding-AllLinux.jar
m_arch=`uname -m`
if [ "$m_arch" = "i686" ]; then
install -Dm755 Linux-i386/lib7-Zip-JBinding.so "$pkgdir$J2REDIR/lib/i386/lib7-Zip-JBinding.so"
elif [ "$m_arch" = "x86_64" ]; then
install -Dm755 Linux-amd64/lib7-Zip-JBinding.so "$pkgdir$J2REDIR/lib/amd64/lib7-Zip-JBinding.so"
else
echo "Wrong architecture type. Check your PKGBUILD"
return 1
fi
}
# vim:set ts=2 sw=2 et:
Comment by Kaurin
Made as an optdep for filebot :) Should work with other packages that need this jbinding