Merge 'staging' into closure-size

- there were many easy merge conflicts
- cc-wrapper needed nontrivial changes

Many other problems might've been created by interaction of the branches,
but stdenv and a few other packages build fine now.
This commit is contained in:
Vladimír Čunát
2015-04-18 11:22:20 +02:00
6303 changed files with 375444 additions and 91358 deletions
+10 -6
View File
@@ -1,7 +1,7 @@
{ stdenv, fetchurl, pkgconfig, zlib, libjpeg, libpng, libtiff, pam, openssl
, dbus, libusb, acl }:
, dbus, libusb, acl, gmp }:
let version = "1.5.4"; in
let version = "1.7.5"; in
stdenv.mkDerivation {
name = "cups-${version}";
@@ -9,8 +9,8 @@ stdenv.mkDerivation {
passthru = { inherit version; };
src = fetchurl {
url = "http://ftp.easysw.com/pub/cups/${version}/cups-${version}-source.tar.bz2";
md5 = "de3006e5cf1ee78a9c6145ce62c4e982";
url = "https://www.cups.org/software/${version}/cups-${version}-source.tar.bz2";
sha256 = "00mx4rpiqw9cwx46bd3hd5lcgmcxy63zfnmkr02smanv8xl4rjqq";
};
# FIXME: Split off the cups client library.
@@ -19,9 +19,9 @@ stdenv.mkDerivation {
buildInputs = [ pkgconfig zlib libjpeg libpng libtiff libusb ]
++ stdenv.lib.optionals stdenv.isLinux [ pam dbus.libs acl ] ;
propagatedBuildInputs = [ openssl ];
propagatedBuildInputs = [ openssl gmp ];
configureFlags = "--localstatedir=/var --enable-dbus"; # --with-dbusdir
configureFlags = "--localstatedir=/var --sysconfdir=/etc --enable-dbus"; # --with-dbusdir
installFlags =
[ # Don't try to write in /var at build time.
@@ -34,6 +34,7 @@ stdenv.mkDerivation {
"DBUSDIR=$(out)/etc/dbus-1"
"INITDIR=$(out)/etc/rc.d"
"XINETD=$(out)/etc/xinetd.d"
"SERVERROOT=$(out)/etc/cups"
# Idem for /usr.
"MENUDIR=$(out)/share/applications"
"ICONDIR=$(out)/share/icons"
@@ -43,6 +44,9 @@ stdenv.mkDerivation {
postInstall =
''
# Delete obsolete stuff that conflicts with cups-filters.
rm -rf $out/share/cups/banners $out/share/cups/data/testprint
mkdir $dev/bin
mv $out/bin/cups-config $dev/bin/
'';
+2 -2
View File
@@ -1,11 +1,11 @@
{stdenv, fetchurl, cups}:
stdenv.mkDerivation rec {
name = "cups-bjnp-1.2.1";
name = "cups-bjnp-1.2.2";
src = fetchurl {
url = "mirror://sourceforge/cups-bjnp/${name}.tar.gz";
sha256 = "0fjpp0mmmwfcr790hfjs0brsxxb7dz7v2xab6wc30rwzkqmgz95x";
sha256 = "0sb0vm1sf8ismzd9ba33qswxmsirj2z1b7lnyrc9v5ixm7q0bnrm";
};
preConfigure = ''configureFlags="--with-cupsbackenddir=$out/lib/cups/backend"'';
+8 -8
View File
@@ -1,15 +1,14 @@
source $stdenv/setup
arch=$(uname -m)
# replace i[3456]86 with i386
echo arch | egrep -q '^i[3456]86$' && arch=i386
arch=i386
echo "$arch" | egrep -q '^i[3456]86$' && arch=i386
echo "Installing for $arch"
unpackPhase
patchPhase
set -v
echo $arch
cd cdroot/Linux
mkdir -p $out/opt
cp -r $arch/at_root/* $out
@@ -18,8 +17,8 @@ cp -r $arch/at_opt/* $out/opt
cp -r noarch/at_opt/* $out/opt
cd $out
#test -d usr/lib64 && ln -s usr/lib64 lib ||
ln -s usr/lib lib
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/* .
@@ -27,8 +26,9 @@ 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)"
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
+13 -8
View File
@@ -13,12 +13,15 @@
{stdenv, fetchurl, cups, gcc, ghostscript, glibc, patchelf}:
stdenv.mkDerivation rec {
name = "samsung-UnifiedLinuxDriver-0.92";
# 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 version = "4.00.39"; in
stdenv.mkDerivation {
name = "samsung-UnifiedLinuxDriver-${version}";
src = fetchurl {
url = "http://downloadcenter.samsung.com/content/DR/200911/20091103171827750/UnifiedLinuxDriver_0.92.tar.gz";
sha256 = "0p2am0p8xvm339mad07c4j77gz31m63z76sy6d9hgwmxy2prbqfq";
url = "http://www.bchemnet.com/suldr/driver/UnifiedLinuxDriver-${version}.tar.gz";
sha256 = "144b4xggbzjfq7ga5nza7nra2cf6qn63z5ls7ba1jybkx1vm369k";
};
buildInputs = [ cups gcc ghostscript glibc patchelf ];
@@ -27,9 +30,11 @@ stdenv.mkDerivation rec {
builder = ./builder.sh;
meta = {
description = "Samsung's Linux drivers; includes binaries without source code";
homepage = "http://www.samsung.com/";
license = "samsung"; # Binary-only
meta = with stdenv.lib; {
description = "Samsung's Linux printing drivers; includes binaries without source code";
homepage = http://www.samsung.com/;
license = licenses.unfree;
platforms = platforms.linux;
maintainers = with maintainers; [ nckx ];
};
}
+64
View File
@@ -0,0 +1,64 @@
{ stdenv, fetchurl, pkgconfig, cups, poppler, poppler_utils, fontconfig
, libjpeg, libpng, perl, ijs, qpdf, dbus, substituteAll, bash }:
stdenv.mkDerivation rec {
name = "cups-filters-${version}";
version = "1.0.61";
src = fetchurl {
url = "http://openprinting.org/download/cups-filters/${name}.tar.xz";
sha256 = "1bq48nnrarlbf6qc93bz1n5wlh6j420gppbck3r45sinwhz5wa7m";
};
patches = [
(substituteAll {
src = ./longer-shell-path.patch;
bash = "${bash}/bin/bash";
})
# Fix build with poppler-0.31.0
(fetchurl {
url = "https://bugs.linuxfoundation.org/attachment.cgi?id=476";
name = "cups-filters-poppler-0.31.0.patch";
sha256 = "016pzksz4nl1sv3p5ahlnbmb7c899yrvlzq8jxic0gvdrzwd5bl4";
})
];
buildInputs = [
pkgconfig cups poppler poppler_utils fontconfig libjpeg libpng perl
ijs qpdf dbus
];
preBuild = ''
substituteInPlace Makefile --replace "/etc/rc.d" "$out/etc/rc.d"
'';
configureFlags = "--with-pdftops=pdftops --enable-imagefilters";
makeFlags = "CUPS_SERVERBIN=$(out)/lib/cups CUPS_DATADIR=$(out)/share/cups CUPS_SERVERROOT=$(out)/etc/cups";
postConfigure =
''
# Ensure that bannertopdf can find the PDF templates in
# $out. (By default, it assumes that cups and cups-filters are
# installed in the same prefix.)
substituteInPlace config.h --replace ${cups}/share/cups/data $out/share/cups/data
# Ensure that gstoraster can find gs in $PATH.
substituteInPlace filter/gstoraster.c --replace execve execvpe
'';
postInstall =
''
for i in $out/lib/cups/filter/{pstopdf,texttops,imagetops}; do
substituteInPlace $i --replace 'which ' 'type -p '
done
'';
meta = {
homepage = http://www.linuxfoundation.org/collaborate/workgroups/openprinting/cups-filters;
description = "Backends, filters, and other software that was once part of the core CUPS distribution but is no longer maintained by Apple Inc";
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
};
}
+13
View File
@@ -0,0 +1,13 @@
diff --git a/filter/foomatic-rip/foomaticrip.c b/filter/foomatic-rip/foomaticrip.c
index 1c019aa..431d2f9 100644
--- a/filter/foomatic-rip/foomaticrip.c
+++ b/filter/foomatic-rip/foomaticrip.c
@@ -174,7 +174,7 @@ char cupsfilterpath[PATH_MAX] = "/usr/local/lib/cups/filter:"
"/opt/cups/filter:"
"/usr/lib/cups/filter";
-char modern_shell[64] = "/bin/bash";
+char modern_shell[128] = "@bash@";
void config_set_option(const char *key, const char *value)
{
-39
View File
@@ -1,39 +0,0 @@
{ stdenv, fetchurl, pkgconfig, cups, poppler }:
stdenv.mkDerivation {
name = "cups-pdf-filter-${cups.version}";
inherit (cups) src;
buildInputs = [ pkgconfig cups poppler ];
preConfigure = ''
sed -e 's@\.\./cups/$(LIBCUPS)@@' -e 's@$(LIBCUPSIMAGE)@@' -i filter/Makefile
'';
NIX_LDFLAGS="-L${cups}/lib";
configureFlags = ''
--localstatedir=/var --enable-dbus
--enable-image --with-pdftops=pdftops'';
buildPhase = ''
cd filter
make pdftops
'';
installPhase = ''
mkdir -pv $out/lib/cups/filter $out/share/cups/mime
cp -v pdftops $out/lib/cups/filter
echo >$out/share/cups/mime/pdftops.convs 'application/pdf application/vnd.cups-postscript 66 pdftops'
'';
meta = {
homepage = http://www.cups.org/;
description = "Image and pdf filters for CUPS";
license = stdenv.lib.licenses.gpl2;
maintainers = [ stdenv.lib.maintainers.urkud ];
platforms = stdenv.lib.platforms.linux;
};
}