print driver for jadens thermal label printer
This commit is contained in:
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
# Nix build artefacts
|
||||
result
|
||||
result-*
|
||||
3
default.nix
Normal file
3
default.nix
Normal file
@@ -0,0 +1,3 @@
|
||||
{ pkgs ? import <nixpkgs> { } }:
|
||||
|
||||
pkgs.callPackage ./package.nix { }
|
||||
61
package.nix
Normal file
61
package.nix
Normal file
@@ -0,0 +1,61 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, dpkg
|
||||
, autoPatchelfHook
|
||||
, cups
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "rollo-cups-driver";
|
||||
version = "1.8.4-1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://rollo-main.b-cdn.net/driver-dl/linux/rollo-cups-driver_${version}_amd64.deb";
|
||||
# Rollo's CDN gates the download on a Referer header, so we have to pass
|
||||
# it through fetchurl's underlying curl call.
|
||||
curlOptsList = [ "-H" "Referer: https://www.rollo.com/driver-linux/" ];
|
||||
hash = "sha256-01SKxC5qPdfpMqsCR6UuogmvbrYwF7BI+C1ptURfNko="; # replace after first build, see notes below
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ dpkg autoPatchelfHook ];
|
||||
buildInputs = [ stdenv.cc.cc.lib cups ];
|
||||
|
||||
unpackPhase = ''
|
||||
runHook preUnpack
|
||||
dpkg-deb -x $src debroot
|
||||
runHook postUnpack
|
||||
'';
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/lib/cups/filter
|
||||
mkdir -p $out/share/cups/model
|
||||
|
||||
# Layout inside the .deb has moved around between Rollo releases, so
|
||||
# grab anything that looks like the filter binary or a PPD rather than
|
||||
# hardcoding one path.
|
||||
find debroot -type f \( -iname 'rastertorollo*' -o -iname 'rastertolabel*' \) \
|
||||
-exec install -m755 {} $out/lib/cups/filter/ \;
|
||||
|
||||
find debroot -type f -iname '*.ppd' \
|
||||
-exec install -m644 {} $out/share/cups/model/ \;
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
# autoPatchelfHook rewrites the ELF interpreter/rpath to point at
|
||||
# $buildInputs in the Nix store instead of /lib64/ld-linux-x86-64.so.2
|
||||
# and the FHS lib paths the binary was linked against.
|
||||
|
||||
meta = with lib; {
|
||||
description = "Rollo/Beeprt/JADENS proprietary CUPS raster filter for TSPL thermal label printers";
|
||||
homepage = "https://www.rollo.com/driver-linux/";
|
||||
license = licenses.unfree;
|
||||
platforms = [ "x86_64-linux" ];
|
||||
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user