Package Samsung unified printer driver. i686 only but apparently can be improved to support x86_64. Based on patch by James Cook <james.cook[NOSPAM]@utoronto.ca>
This commit is contained in:
parent
e8ff7d627a
commit
0eecd67d14
35
pkgs/misc/cups/drivers/samsung/builder.sh
Normal file
35
pkgs/misc/cups/drivers/samsung/builder.sh
Normal file
@ -0,0 +1,35 @@
|
||||
source $stdenv/setup
|
||||
|
||||
arch=$(uname -m)
|
||||
# replace i[3456]86 with i386
|
||||
echo arch | egrep -q '^i[3456]86$' && arch=i386
|
||||
arch=i386
|
||||
unpackPhase
|
||||
patchPhase
|
||||
|
||||
set -v
|
||||
|
||||
echo $arch
|
||||
cd cdroot/Linux
|
||||
mkdir -p $out/opt
|
||||
cp -r $arch/at_root/* $out
|
||||
cp -r $arch/at_opt/* $out/opt
|
||||
#cp -r noarch/at_root/* $out
|
||||
cp -r noarch/at_opt/* $out/opt
|
||||
|
||||
cd $out
|
||||
#test -d usr/lib64 && ln -s usr/lib64 lib ||
|
||||
ln -s usr/lib lib
|
||||
mkdir -p share/cups
|
||||
cd share/cups
|
||||
ln -s ../../opt/share/* .
|
||||
ln -s ppd model
|
||||
|
||||
cd $out/lib/cups/filter
|
||||
for i in $(ls); do
|
||||
echo patching $i...
|
||||
patchelf --set-interpreter $(cat $NIX_GCC/nix-support/dynamic-linker) $i || echo "(couldn't set interpreter)"
|
||||
patchelf --set-rpath $cups/lib:$gcc/lib:$glibc/lib $i # This might not be necessary.
|
||||
done
|
||||
|
||||
ln -s $ghostscript/bin/gs $out/lib/cups/filter
|
35
pkgs/misc/cups/drivers/samsung/default.nix
Normal file
35
pkgs/misc/cups/drivers/samsung/default.nix
Normal file
@ -0,0 +1,35 @@
|
||||
# Tested on linux-x86_64. Might work on linux-i386. Probably won't work on anything else.
|
||||
|
||||
# To use this driver in NixOS, add it to printing.drivers in configuration.nix.
|
||||
# configuration.nix might look like this when you're done:
|
||||
# { pkgs, ... }: {
|
||||
# printing = {
|
||||
# enable = true;
|
||||
# drivers = [ pkgs.samsungUnifiedLinuxDriver ];
|
||||
# };
|
||||
# (more stuff)
|
||||
# }
|
||||
# (This advice was tested on 2010 August 2.)
|
||||
|
||||
{stdenv, fetchurl, cups, gcc, ghostscript, glibc, patchelf}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "samsung-UnifiedLinuxDriver-0.92";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://downloadcenter.samsung.com/content/DR/200911/20091103171827750/UnifiedLinuxDriver_0.92.tar.gz";
|
||||
sha256 = "0p2am0p8xvm339mad07c4j77gz31m63z76sy6d9hgwmxy2prbqfq";
|
||||
};
|
||||
|
||||
buildInputs = [ cups gcc ghostscript glibc patchelf ];
|
||||
|
||||
inherit cups gcc ghostscript glibc;
|
||||
|
||||
builder = ./builder.sh;
|
||||
|
||||
meta = {
|
||||
description = "Samsung's Linux drivers; includes binaries without source code";
|
||||
homepage = "http://www.samsung.com/";
|
||||
license = "samsung"; # Binary-only
|
||||
};
|
||||
}
|
@ -8893,6 +8893,15 @@ let
|
||||
|
||||
xlockmore = callPackage ../misc/screensavers/xlockmore { };
|
||||
|
||||
samsungUnifiedLinuxDriver = import ../misc/cups/drivers/samsung {
|
||||
inherit fetchurl stdenv;
|
||||
inherit cups ghostscript glibc patchelf;
|
||||
gcc = import ../development/compilers/gcc/4.4 {
|
||||
inherit stdenv fetchurl texinfo gmp mpfr noSysDirs gettext which;
|
||||
profiledCompiler = true;
|
||||
};
|
||||
};
|
||||
|
||||
saneBackends = callPackage ../applications/graphics/sane/backends.nix {
|
||||
gt68xxFirmware = config.sane.gt68xxFirmware or null;
|
||||
hotplugSupport = config.sane.hotplugSupport or true;
|
||||
|
Loading…
Reference in New Issue
Block a user