diff options
Diffstat (limited to 'nixpkgs/pkgs/misc/cups/drivers/samsung/4.00.39')
-rw-r--r-- | nixpkgs/pkgs/misc/cups/drivers/samsung/4.00.39/builder.sh | 35 | ||||
-rw-r--r-- | nixpkgs/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix | 44 |
2 files changed, 79 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/misc/cups/drivers/samsung/4.00.39/builder.sh b/nixpkgs/pkgs/misc/cups/drivers/samsung/4.00.39/builder.sh new file mode 100644 index 000000000000..f750df6e5063 --- /dev/null +++ b/nixpkgs/pkgs/misc/cups/drivers/samsung/4.00.39/builder.sh @@ -0,0 +1,35 @@ +source $stdenv/setup + +arch=$(uname -m) +echo "$arch" | egrep -q '^i[3456]86$' && arch=i386 +echo "Installing for $arch" + +unpackPhase +patchPhase + +set -v + +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_CC/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 diff --git a/nixpkgs/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix b/nixpkgs/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix new file mode 100644 index 000000000000..92f5fdc409c4 --- /dev/null +++ b/nixpkgs/pkgs/misc/cups/drivers/samsung/4.00.39/default.nix @@ -0,0 +1,44 @@ +# 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.) + +{ lib, stdenv, fetchurl, cups, gcc, ghostscript, glibc, patchelf }: + +# Do not bump lightly! Visit <http://www.bchemnet.com/suldr/supported.html> +# to see what will break when upgrading. Consider a new versioned attribute. +let + cups' = lib.getLib cups; +in stdenv.mkDerivation rec { + pname = "samsung-UnifiedLinuxDriver"; + version = "4.00.39"; + + src = fetchurl { + url = "http://www.bchemnet.com/suldr/driver/UnifiedLinuxDriver-${version}.tar.gz"; + sha256 = "144b4xggbzjfq7ga5nza7nra2cf6qn63z5ls7ba1jybkx1vm369k"; + }; + + nativeBuildInputs = [ patchelf ]; + buildInputs = [ cups' gcc ghostscript glibc ]; + + inherit gcc ghostscript glibc; + cups = cups'; + + builder = ./builder.sh; + + meta = with lib; { + description = "Samsung's Linux printing drivers; includes binaries without source code"; + homepage = "http://www.samsung.com/"; + license = licenses.unfree; + platforms = platforms.linux; + broken = true; # libscmssc.so and libmfp.so can't find their library dependencies at run-time + }; +} |