parent
8b92269f53
commit
b621f1b541
@ -0,0 +1,107 @@ |
||||
{ stdenv |
||||
, fetchurl |
||||
, gnutar |
||||
, autoPatchelfHook |
||||
, glibc |
||||
, gtk2 |
||||
, xorg |
||||
, libgudev |
||||
, undmg |
||||
}: |
||||
|
||||
let |
||||
inherit (stdenv.hostPlatform) system; |
||||
throwSystem = throw "Unsupported system: ${system}"; |
||||
|
||||
pname = "vuescan"; |
||||
|
||||
# Minor versions are released using the same file name |
||||
version = "9.7"; |
||||
versionString = builtins.replaceStrings ["."] [""] version; |
||||
|
||||
src = let |
||||
base = "https://www.hamrick.com/files/"; |
||||
in { |
||||
x86_64-darwin = fetchurl { |
||||
url = "${base}/vuex64${versionString}.dmg"; |
||||
sha256 = "045ihd2pj0zmzjfwn2qmv5114yvs9vf6mw6sf4x3hwcdmpk40sfh"; |
||||
}; |
||||
i686-darwin = fetchurl { |
||||
url = "${base}/vuex32${versionString}.dmg"; |
||||
sha256 = "0nny1jm3s1nr7xm03mcy3zgxvslznnvc8a5gn93gjww6gwg9rcn6"; |
||||
}; |
||||
x86_64-linux = fetchurl { |
||||
url = "${base}/vuex64${versionString}.tgz"; |
||||
sha256 = "0jkj92w3y66dcxwq3kkg7vhqxljwf9dqs563xbkh1r7piyjfwycm"; |
||||
}; |
||||
i686-linux = fetchurl { |
||||
url = "${base}/vuex32${versionString}.tgz"; |
||||
sha256 = "03qac9c0sg21jwz91nzzwk3ml8byv06ay9wiq00dl62nmhs20r5m"; |
||||
}; |
||||
aarch64-linux = fetchurl { |
||||
url = "${base}/vuea64${versionString}.tgz"; |
||||
sha256 = "17viy7kcb78j0p3ik99psabmkgpwpmgvk96wjhn9aar48gpyr1wj"; |
||||
}; |
||||
armv6l-linux = fetchurl { |
||||
url = "${base}/vuea32${versionString}.tgz"; |
||||
sha256 = "0m7sp18bdf2l2yf3q3z6c3i0bm4mq2h4ndm6qfvyknip0h11gv7i"; |
||||
}; |
||||
}.${system} or throwSystem; |
||||
|
||||
meta = with stdenv.lib; { |
||||
description = "Scanner software supporting a wide range of devices"; |
||||
homepage = "https://hamrick.com/"; |
||||
license = licenses.unfree; |
||||
maintainers = with maintainers; [ evax ]; |
||||
platforms = [ |
||||
"x86_64-darwin" "i686-darwin" |
||||
"x86_64-linux" "i686-linux" |
||||
"aarch64-linux" "armv6l-linux" |
||||
]; |
||||
}; |
||||
|
||||
linux = stdenv.mkDerivation rec { |
||||
inherit pname version src meta; |
||||
|
||||
# Stripping the binary breaks the license form |
||||
dontStrip = true; |
||||
|
||||
nativeBuildInputs = [ |
||||
gnutar |
||||
autoPatchelfHook |
||||
]; |
||||
|
||||
buildInputs = [ |
||||
glibc |
||||
gtk2 |
||||
xorg.libSM |
||||
libgudev |
||||
]; |
||||
|
||||
unpackPhase = '' |
||||
tar xfz $src |
||||
''; |
||||
|
||||
installPhase = '' |
||||
install -m755 -D VueScan/vuescan $out/bin/vuescan |
||||
''; |
||||
}; |
||||
|
||||
darwin = stdenv.mkDerivation { |
||||
inherit pname version src meta; |
||||
|
||||
nativeBuildInputs = [ undmg ]; |
||||
|
||||
sourceRoot = { |
||||
x86_64-darwin = "vuex64${versionString}.dmg"; |
||||
i686-darwin = "vuex32${versionString}.dmg"; |
||||
}.${system} or throwSystem; |
||||
|
||||
installPhase = '' |
||||
mkdir -p $out/Applications/VueScan.app |
||||
cp -R . $out/Applications/VueScan.app |
||||
''; |
||||
}; |
||||
in if stdenv.isDarwin |
||||
then darwin |
||||
else linux |
Loading…
Reference in new issue