Merge branch 'master' into stdenv-updates

Conflicts (relatively simple):
	pkgs/development/interpreters/python/2.7/default.nix
	pkgs/development/libraries/dbus/default.nix
	pkgs/development/libraries/glib/default.nix
	pkgs/development/libraries/glibc/2.17/common.nix
This commit is contained in:
Vladimír Čunát 2013-06-20 19:21:25 +02:00
commit 842420c3e1
222 changed files with 4706 additions and 2345 deletions

View File

@ -1,29 +1,26 @@
{ stdenv, fetchurl, pkgconfig, glib, gtk, libmowgli, libmcs
{ stdenv, fetchurl, pkgconfig, glib, gtk3, libmowgli, libmcs
, gettext, dbus_glib, libxml2, libmad, xlibs, alsaLib, libogg
, libvorbis, libcdio, libcddb, flac, ffmpeg
}:
let
version = "3.2.2";
version = "3.3.4";
in
stdenv.mkDerivation {
name = "audacious-${version}";
src = fetchurl {
url = "http://distfiles.audacious-media-player.org/audacious-${version}.tar.bz2";
sha256 = "1vj2f3jq67r9wc3s8p51w8338cjhidj3lpxmzyh31lrfikj21766";
sha256 = "19zw4yj8g4fvxkv0ql8v8vgxzldxl1fzig239zzv88mpnvwxn737";
};
pluginsSrc = fetchurl {
url = "http://distfiles.audacious-media-player.org/audacious-plugins-${version}.tar.bz2";
sha256 = "1z5p4ny0kzszaki4f1fgrvcr0q1j6i19847jhplc07nl1rvycdy6";
sha256 = "1l5g0zq73qp1hlrf4xsaj0n3hg0asrp7169531jgpncjn15dhvdn";
};
# `--enable-amidiplug' is to prevent configure from looking in /proc/asound.
configureFlags = "--enable-amidiplug --disable-oss";
buildInputs =
[ gettext pkgconfig glib gtk libmowgli libmcs libxml2 dbus_glib
[ gettext pkgconfig glib gtk3 libmowgli libmcs libxml2 dbus_glib
libmad xlibs.libXcomposite libogg libvorbis flac alsaLib libcdio
libcddb ffmpeg
];
@ -54,6 +51,7 @@ stdenv.mkDerivation {
meta = {
description = "Audacious, a media player forked from the Beep Media Player, which was itself an XMMS fork";
homepage = http://audacious-media-player.org/;
maintainers = [ stdenv.lib.maintainers.eelco stdenv.lib.maintainers.simons ];
maintainers = with stdenv.lib.maintainers; [ eelco simons ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -15,5 +15,6 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://xiph.org/flac/;
description = "Library and tools for encoding and decoding the FLAC lossless audio file format";
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -8,7 +8,7 @@ assert stdenv ? glibc;
let
buildEclipse =
{ name, src, description }:
{ name, src ? builtins.getAttr stdenv.system sources, sources ? null, description }:
stdenv.mkDerivation rec {
inherit name src;
@ -131,17 +131,16 @@ in {
eclipse_sdk_37 = buildEclipse {
name = "eclipse-sdk-3.7";
description = "Eclipse Classic";
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = http://archive.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/eclipse-SDK-3.7-linux-gtk-x86_64.tar.gz;
sha256 = "00ig3ww98r8imf32sx5npm6csn5nx288gvdk6w653nijni0di16j";
}
else
fetchurl {
url = http://archive.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/eclipse-SDK-3.7-linux-gtk.tar.gz;
sha256 = "08rgw85cam51l98mzb39fdc3ykb369v8pap93qhknbs6a3f5dnff";
sources = {
"x86_64-linux" = fetchurl {
url = http://archive.eclipse.org/eclipse/downloads/drops/R-3.7.2-201202080800/eclipse-SDK-3.7.2-linux-gtk-x86_64.tar.gz;
sha256 = "0nf4nv7awhp1k8b1hjb7chpjyjrqnyszsjbc4dlk9phpjv3j4wg5";
};
"i686-linux" = fetchurl {
url = http://archive.eclipse.org/eclipse/downloads/drops/R-3.7.2-201202080800/eclipse-SDK-3.7.2-linux-gtk.tar.gz;
sha256 = "1isn7i45l9kyn2yx6vm88jl1gnxph8ynank0aaa218cg8kdygk7j";
};
};
};
eclipse_cpp_37 = buildEclipse {
@ -176,8 +175,8 @@ in {
};
};
eclipse_sdk_42 = buildEclipse {
name = "eclipse-sdk-4.2";
eclipse_sdk_421 = buildEclipse {
name = "eclipse-sdk-4.2.1";
description = "Eclipse Classic";
src =
if stdenv.system == "x86_64-linux" then
@ -191,4 +190,19 @@ in {
sha256 = "1av6qm9wkbyk123qqf38f0jq4jv2bj9wp6fmpnl55zg6qr463c1w";
};
};
eclipse_sdk_422 = buildEclipse {
name = "eclipse-sdk-4.2.2";
description = "Eclipse Classic";
sources = {
"x86_64-linux" = fetchurl {
url = http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/eclipse/downloads/drops4/R-4.2.2-201302041200/eclipse-SDK-4.2.2-linux-gtk-x86_64.tar.gz;
sha256 = "0ysa6ymk4h3k1vn59dc909iy197kmx132671kbzfwbim87jmgnqb";
};
"i686-linux" = fetchurl {
url = http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/eclipse/downloads/drops4/R-4.2.2-201302041200/eclipse-SDK-4.2.2-linux-gtk.tar.gz;
sha256 = "038yibbrcia38wi72qrdl03g7l35mpvl5nxdfdnvpqxrkfffb826";
};
};
};
}

View File

@ -1,15 +1,15 @@
{ stdenv, fetchurl, gtk2, which, pkgconfig, intltool }:
let
version = "1.22";
version = "1.23";
in
stdenv.mkDerivation rec {
name = "geany-${version}";
src = fetchurl {
url = "http://download.geany.org/${name}.tar.gz";
md5 = "1cb7f6cea8e301c416211786cec474fa";
url = "http://download.geany.org/${name}.tar.bz2";
sha256 = "1c78rggjaz9fa8gj25wka1sa3argvixnzrarmqvwh0s8d5ragm6d";
};
buildInputs = [ gtk2 which pkgconfig intltool ];

View File

@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
preConfigure = ''
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH''${LD_LIBRARY_PATH:+:}$PWD/build/lib"
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${gtkglext}/include/gtkglext-*) -I$(echo ${gtkglext}/lib/gtkglext-*/include)"
'';
buildInputs = [

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, gtk, cmake, pixman, libpthreadstubs, gtkmm, libXau
, libXdmcp, lcms2, libiptcdata, libcanberra, fftw
, libXdmcp, lcms2, libiptcdata, libcanberra, fftw, expat
, mercurial # Not really needed for anything, but it fails if it does not find 'hg'
}:
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
};
buildInputs = [ pkgconfig gtk cmake pixman libpthreadstubs gtkmm libXau libXdmcp
lcms2 libiptcdata mercurial libcanberra fftw ];
lcms2 libiptcdata mercurial libcanberra fftw expat ];
# Disable the use of the RAWZOR propietary libraries
cmakeFlags = [ "-DWITH_RAWZOR=OFF" ];

View File

@ -0,0 +1,12 @@
diff --git a/intern/smoke/intern/WAVELET_NOISE.h b/intern/smoke/intern/WAVELET_NOISE.h
index fce901b..1f73c5e 100644
--- a/intern/smoke/intern/WAVELET_NOISE.h
+++ b/intern/smoke/intern/WAVELET_NOISE.h
@@ -43,6 +43,7 @@
#ifndef WAVELET_NOISE_H
#define WAVELET_NOISE_H
+#include <string.h>
#include <MERSENNETWISTER.h>
#ifdef WIN32

View File

@ -1,17 +1,15 @@
{ stdenv, fetchurl, python, pyqt4, sip, popplerQt4, pkgconfig, libpng
, imagemagick, libjpeg, fontconfig, podofo, qt4, icu, sqlite
, pil, makeWrapper, unrar, chmlib, pythonPackages, xz
, pil, makeWrapper, unrar, chmlib, pythonPackages, xz, udisks, libusb1, libmtp
}:
stdenv.mkDerivation rec {
name = "calibre-0.8.51";
name = "calibre-0.8.70";
# 0.9.* versions won't build: https://bugs.launchpad.net/calibre/+bug/1094719
src = fetchurl {
urls = [
"http://calibre-ebook.googlecode.com/files/${name}.tar.xz"
"mirror://sourceforge/calibre/${name}.tar.xz"
];
sha256 = "1grcc0k9qpfpwp863x52rl9wj4wz61hcz67l8h2jmli0wxiq44z1";
url = "mirror://sourceforge/calibre/${name}.tar.xz";
sha256 = "12avwp8r6cnrw6c32gmd2hksa9rszdb76zs6fcmr3n8r1wkwa71g";
};
inherit python;
@ -23,7 +21,7 @@ stdenv.mkDerivation rec {
fontconfig podofo qt4 pil chmlib icu
pythonPackages.mechanize pythonPackages.lxml pythonPackages.dateutil
pythonPackages.cssutils pythonPackages.beautifulsoup
pythonPackages.sqlite3 sqlite
pythonPackages.sqlite3 sqlite udisks libusb1 libmtp
];
installPhase = ''

View File

@ -1,16 +1,14 @@
{ stdenv, fetchurl, libjpeg, libtiff, libpng, ghostscript, libungif, zlib }:
{ stdenv, fetchurl, libjpeg, libtiff, librsvg }:
stdenv.mkDerivation rec {
name = "djvulibre-3.5.24";
name = "djvulibre-3.5.25.3";
src = fetchurl {
url = "mirror://sourceforge/djvu/${name}.tar.gz";
sha256 = "0d1592cmc7scg2jzah47mnvbqldhxb1x9vxm7y64a3iasa0lqwy0";
sha256 = "1q5i5ha4zmj2ahjfhi8cv1rah80vm43m9ads46ji38rgvpb7x3c9";
};
buildInputs = [ libjpeg libtiff libpng ghostscript zlib libungif ];
patches = [ ./gcc-4.6.patch ];
buildInputs = [ libjpeg libtiff librsvg ];
meta = {
description = "A library and viewer for the DJVU file format for scanned images";

View File

@ -1,658 +0,0 @@
commit 3341545edba359b292a8ef6db1b7d342caf3dcf1
Author: Leon Bottou <leon@bottou.org>
Date: Wed May 4 21:25:35 2011 -0700
Added include <stddef.h> for gcc-4.6
diff --git a/libdjvu/BSByteStream.cpp b/libdjvu/BSByteStream.cpp
index b762ccf..d662ab0 100644
--- a/libdjvu/BSByteStream.cpp
+++ b/libdjvu/BSByteStream.cpp
@@ -62,6 +62,7 @@
// - Author: Leon Bottou, 07/1998
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
diff --git a/libdjvu/BSEncodeByteStream.cpp b/libdjvu/BSEncodeByteStream.cpp
index 5d80e51..68bc3e3 100644
--- a/libdjvu/BSEncodeByteStream.cpp
+++ b/libdjvu/BSEncodeByteStream.cpp
@@ -71,6 +71,7 @@
#include "GOS.h"
#endif
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
diff --git a/libdjvu/ByteStream.cpp b/libdjvu/ByteStream.cpp
index 158c33c..be01847 100644
--- a/libdjvu/ByteStream.cpp
+++ b/libdjvu/ByteStream.cpp
@@ -73,6 +73,7 @@
#include "GOS.h"
#include "GURL.h"
#include "DjVuMessage.h"
+#include <stddef.h>
#include <fcntl.h>
#if defined(WIN32) || defined(__CYGWIN32__)
# include <io.h>
diff --git a/libdjvu/DjVuFileCache.cpp b/libdjvu/DjVuFileCache.cpp
index 6b1e85d..7d7a192 100644
--- a/libdjvu/DjVuFileCache.cpp
+++ b/libdjvu/DjVuFileCache.cpp
@@ -63,6 +63,7 @@
#include "DjVuFileCache.h"
#include "debug.h"
+#include <stddef.h>
#include <stdlib.h>
diff --git a/libdjvu/DjVuGlobal.cpp b/libdjvu/DjVuGlobal.cpp
index e6d3cec..df9278e 100644
--- a/libdjvu/DjVuGlobal.cpp
+++ b/libdjvu/DjVuGlobal.cpp
@@ -76,6 +76,8 @@
#include "GThreads.h"
#include "GException.h"
#include "GContainer.h"
+
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
diff --git a/libdjvu/DjVuGlobalMemory.cpp b/libdjvu/DjVuGlobalMemory.cpp
index 3c6012c..c8ba309 100644
--- a/libdjvu/DjVuGlobalMemory.cpp
+++ b/libdjvu/DjVuGlobalMemory.cpp
@@ -67,6 +67,8 @@
#include "DjVuGlobal.h"
#include "GException.h"
+
+#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include "debug.h"
diff --git a/libdjvu/DjVuMessage.cpp b/libdjvu/DjVuMessage.cpp
index 6f5a735..1726025 100644
--- a/libdjvu/DjVuMessage.cpp
+++ b/libdjvu/DjVuMessage.cpp
@@ -71,6 +71,7 @@
#include "debug.h"
#include <ctype.h>
#include <string.h>
+#include <stddef.h>
#include <stdlib.h>
#ifdef WIN32
# include <tchar.h>
diff --git a/libdjvu/DjVuMessageLite.cpp b/libdjvu/DjVuMessageLite.cpp
index b8c1010..5daa9d9 100644
--- a/libdjvu/DjVuMessageLite.cpp
+++ b/libdjvu/DjVuMessageLite.cpp
@@ -73,8 +73,8 @@
#include "debug.h"
#include <ctype.h>
#include <string.h>
+#include <stddef.h>
#include <stdlib.h>
-// #include <stdio.h>
#ifdef WIN32
#include <tchar.h>
#include <windows.h>
diff --git a/libdjvu/DjVuPalette.cpp b/libdjvu/DjVuPalette.cpp
index c489f7b..76b0bf4 100644
--- a/libdjvu/DjVuPalette.cpp
+++ b/libdjvu/DjVuPalette.cpp
@@ -64,6 +64,8 @@
#include "ByteStream.h"
#include "BSByteStream.h"
#include "DjVuPalette.h"
+
+#include <stddef.h>
#include <stdlib.h>
#include <math.h>
diff --git a/libdjvu/DjVuPort.h b/libdjvu/DjVuPort.h
index f6a92f6..e2b3125 100644
--- a/libdjvu/DjVuPort.h
+++ b/libdjvu/DjVuPort.h
@@ -65,6 +65,7 @@
#include "GThreads.h"
#include "GURL.h"
+#include "stddef.h"
#ifdef HAVE_NAMESPACES
namespace DJVU {
diff --git a/libdjvu/DjVuToPS.cpp b/libdjvu/DjVuToPS.cpp
index 5517bf3..6914ff9 100644
--- a/libdjvu/DjVuToPS.cpp
+++ b/libdjvu/DjVuToPS.cpp
@@ -72,6 +72,7 @@
#include "GPixmap.h"
#include "debug.h"
#include <stdarg.h>
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
diff --git a/libdjvu/GBitmap.cpp b/libdjvu/GBitmap.cpp
index ab5c0de..797edcc 100644
--- a/libdjvu/GBitmap.cpp
+++ b/libdjvu/GBitmap.cpp
@@ -66,6 +66,8 @@
#include "GString.h"
#include "GThreads.h"
#include "GException.h"
+#include <stddef.h>
+#include <stdlib.h>
#include <string.h>
// - Author: Leon Bottou, 05/1997
diff --git a/libdjvu/GException.cpp b/libdjvu/GException.cpp
index 2ea179a..89da70f 100644
--- a/libdjvu/GException.cpp
+++ b/libdjvu/GException.cpp
@@ -60,6 +60,7 @@
# pragma implementation
#endif
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
diff --git a/libdjvu/GOS.cpp b/libdjvu/GOS.cpp
index e784932..d2088e2 100644
--- a/libdjvu/GOS.cpp
+++ b/libdjvu/GOS.cpp
@@ -65,6 +65,7 @@
#include "GOS.h"
#include "GURL.h"
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
diff --git a/libdjvu/GPixmap.cpp b/libdjvu/GPixmap.cpp
index 392df54..4bf6f57 100644
--- a/libdjvu/GPixmap.cpp
+++ b/libdjvu/GPixmap.cpp
@@ -75,6 +75,8 @@
#include "GThreads.h"
#include "Arrays.h"
#include "JPEGDecoder.h"
+
+#include <stddef.h>
#include <stdlib.h>
#include <math.h>
#include <assert.h>
diff --git a/libdjvu/GSmartPointer.cpp b/libdjvu/GSmartPointer.cpp
index 6e523e7..58aef5b 100644
--- a/libdjvu/GSmartPointer.cpp
+++ b/libdjvu/GSmartPointer.cpp
@@ -67,6 +67,7 @@
// Our original implementation consisted of multiple classes.
// <http://prdownloads.sourceforge.net/djvu/DjVu2_2b-src.tgz>.
+#include <stddef.h>
#include <string.h>
#if PARANOID_DEBUG
# include <assert.h>
diff --git a/libdjvu/GSmartPointer.h b/libdjvu/GSmartPointer.h
index 82781bd..8a8bb8a 100644
--- a/libdjvu/GSmartPointer.h
+++ b/libdjvu/GSmartPointer.h
@@ -97,6 +97,8 @@
#include "DjVuGlobal.h"
#include "atomic.h"
+#include <stddef.h>
+
#ifdef HAVE_NAMESPACES
namespace DJVU {
# ifdef NOT_DEFINED // Just to fool emacs c++ mode
diff --git a/libdjvu/GString.cpp b/libdjvu/GString.cpp
index 03f6226..350b11b 100644
--- a/libdjvu/GString.cpp
+++ b/libdjvu/GString.cpp
@@ -73,6 +73,7 @@
#include "GThreads.h"
#include "debug.h"
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
diff --git a/libdjvu/GString.h b/libdjvu/GString.h
index b63b753..3aa1f76 100644
--- a/libdjvu/GString.h
+++ b/libdjvu/GString.h
@@ -108,6 +108,7 @@
#include "DjVuGlobal.h"
#include "GContainer.h"
+#include <stddef.h>
#include <stdlib.h>
#include <stdarg.h>
#ifdef WIN32
diff --git a/libdjvu/GThreads.cpp b/libdjvu/GThreads.cpp
index d81f3c3..253fed8 100644
--- a/libdjvu/GThreads.cpp
+++ b/libdjvu/GThreads.cpp
@@ -71,6 +71,8 @@
#include "GThreads.h"
#include "GException.h"
#include "DjVuMessageLite.h"
+
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
diff --git a/libdjvu/GURL.cpp b/libdjvu/GURL.cpp
index c37bf52..a80078c 100644
--- a/libdjvu/GURL.cpp
+++ b/libdjvu/GURL.cpp
@@ -72,6 +72,7 @@
#include "GURL.h"
#include "debug.h"
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
diff --git a/libdjvu/GUnicode.cpp b/libdjvu/GUnicode.cpp
index 415c081..a8b25b8 100644
--- a/libdjvu/GUnicode.cpp
+++ b/libdjvu/GUnicode.cpp
@@ -62,6 +62,8 @@
#include "GString.h"
+#include <stddef.h>
+
#if HAS_ICONV
#include <iconv.h>
#endif
diff --git a/libdjvu/IFFByteStream.h b/libdjvu/IFFByteStream.h
index a653f8c..e31b216 100644
--- a/libdjvu/IFFByteStream.h
+++ b/libdjvu/IFFByteStream.h
@@ -124,6 +124,7 @@
#include "DjVuGlobal.h"
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
diff --git a/libdjvu/IW44EncodeCodec.cpp b/libdjvu/IW44EncodeCodec.cpp
index 8d7b12c..49081b7 100644
--- a/libdjvu/IW44EncodeCodec.cpp
+++ b/libdjvu/IW44EncodeCodec.cpp
@@ -76,6 +76,7 @@
#include "IFFByteStream.h"
#include "GRect.h"
+#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
diff --git a/libdjvu/IW44Image.cpp b/libdjvu/IW44Image.cpp
index 9476726..4a19fb5 100644
--- a/libdjvu/IW44Image.cpp
+++ b/libdjvu/IW44Image.cpp
@@ -76,6 +76,7 @@
#include "IFFByteStream.h"
#include "GRect.h"
+#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
diff --git a/libdjvu/JPEGDecoder.h b/libdjvu/JPEGDecoder.h
index bd430a0..fad1d4c 100644
--- a/libdjvu/JPEGDecoder.h
+++ b/libdjvu/JPEGDecoder.h
@@ -64,6 +64,7 @@
#ifdef NEED_JPEG_DECODER
+#include <stddef.h>
#include <string.h>
#include <setjmp.h>
diff --git a/libdjvu/MMX.cpp b/libdjvu/MMX.cpp
index 5ab60bb..528dab6 100644
--- a/libdjvu/MMX.cpp
+++ b/libdjvu/MMX.cpp
@@ -62,6 +62,7 @@
#include "MMX.h"
#include <stdio.h>
+#include <stddef.h>
#include <stdlib.h>
diff --git a/libdjvu/UnicodeByteStream.h b/libdjvu/UnicodeByteStream.h
index 0ae112b..9b49a17 100644
--- a/libdjvu/UnicodeByteStream.h
+++ b/libdjvu/UnicodeByteStream.h
@@ -88,6 +88,7 @@
#include "GString.h"
#include "ByteStream.h"
+#include <stddef.h>
#ifdef HAVE_NAMESPACES
namespace DJVU {
diff --git a/libdjvu/XMLParser.cpp b/libdjvu/XMLParser.cpp
index 84386c5..7da923a 100644
--- a/libdjvu/XMLParser.cpp
+++ b/libdjvu/XMLParser.cpp
@@ -75,6 +75,7 @@
#include "debug.h"
#include <stdio.h>
#include <ctype.h>
+#include <stddef.h>
#include <stdlib.h>
diff --git a/libdjvu/ZPCodec.cpp b/libdjvu/ZPCodec.cpp
index f6e971d..ff5b9bf 100644
--- a/libdjvu/ZPCodec.cpp
+++ b/libdjvu/ZPCodec.cpp
@@ -66,6 +66,8 @@
#include "ZPCodec.h"
#include "ByteStream.h"
#include "GException.h"
+
+#include <stddef.h>
#include <stdlib.h>
#include <assert.h>
#include <math.h>
diff --git a/libdjvu/atomic.cpp b/libdjvu/atomic.cpp
index bdc193e..63fd483 100644
--- a/libdjvu/atomic.cpp
+++ b/libdjvu/atomic.cpp
@@ -28,6 +28,7 @@
# include "config.h"
#endif
+#include <stddef.h>
#include <stdlib.h>
#include <assert.h>
#include "atomic.h"
diff --git a/libdjvu/ddjvuapi.cpp b/libdjvu/ddjvuapi.cpp
index b18b84b..f40f5aa 100644
--- a/libdjvu/ddjvuapi.cpp
+++ b/libdjvu/ddjvuapi.cpp
@@ -60,6 +60,7 @@
# pragma implementation "ddjvuapi.h"
#endif
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
diff --git a/libdjvu/ddjvuapi.h b/libdjvu/ddjvuapi.h
index d0ed48f..841f223 100644
--- a/libdjvu/ddjvuapi.h
+++ b/libdjvu/ddjvuapi.h
@@ -64,6 +64,7 @@ extern "C" {
}
#endif
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
diff --git a/libdjvu/miniexp.cpp b/libdjvu/miniexp.cpp
index e0fb087..fc51297 100644
--- a/libdjvu/miniexp.cpp
+++ b/libdjvu/miniexp.cpp
@@ -23,6 +23,7 @@
# pragma implementation "miniexp.h"
#endif
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
diff --git a/libdjvu/miniexp.h b/libdjvu/miniexp.h
index 91e345d..993005b 100644
--- a/libdjvu/miniexp.h
+++ b/libdjvu/miniexp.h
@@ -38,7 +38,8 @@ extern "C" {
#ifndef MINILISPAPI
# define MINILISPAPI /**/
#endif
-
+
+#include <stddef.h>
/* -------------------------------------------------- */
/* LISP EXPRESSIONS */
diff --git a/tools/bzz.cpp b/tools/bzz.cpp
index ca092e1..2ebc7b9 100644
--- a/tools/bzz.cpp
+++ b/tools/bzz.cpp
@@ -94,6 +94,7 @@
#include "GURL.h"
#include "DjVuMessage.h"
#include <locale.h>
+#include <stddef.h>
#include <stdlib.h>
static const char *program = "(unknown)";
diff --git a/tools/c44.cpp b/tools/c44.cpp
index 6f23b53..855504b 100644
--- a/tools/c44.cpp
+++ b/tools/c44.cpp
@@ -226,6 +226,7 @@
#include <locale.h>
#include <stdio.h>
#include <string.h>
+#include <stddef.h>
#include <stdlib.h>
// command line data
diff --git a/tools/cjb2.cpp b/tools/cjb2.cpp
index 8cf89b9..11eb662 100644
--- a/tools/cjb2.cpp
+++ b/tools/cjb2.cpp
@@ -120,6 +120,7 @@
#include "jb2tune.h"
#include <locale.h>
+#include <stddef.h>
#include <stdlib.h>
#if HAVE_TIFF
#include <tiffio.h>
diff --git a/tools/cpaldjvu.cpp b/tools/cpaldjvu.cpp
index 111cbd3..b640a7a 100644
--- a/tools/cpaldjvu.cpp
+++ b/tools/cpaldjvu.cpp
@@ -118,6 +118,7 @@
#include "jb2tune.h"
#include <locale.h>
+#include <stddef.h>
#include <stdlib.h>
#include <math.h>
diff --git a/tools/csepdjvu.cpp b/tools/csepdjvu.cpp
index cd721f8..d5203d5 100644
--- a/tools/csepdjvu.cpp
+++ b/tools/csepdjvu.cpp
@@ -162,6 +162,7 @@
#include "jb2tune.h"
#include <locale.h>
+#include <stddef.h>
#include <stdlib.h>
#undef MIN
diff --git a/tools/ddjvu.cpp b/tools/ddjvu.cpp
index 817e045..981a270 100644
--- a/tools/ddjvu.cpp
+++ b/tools/ddjvu.cpp
@@ -62,6 +62,7 @@
# include "config.h"
#endif
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
diff --git a/tools/djvm.cpp b/tools/djvm.cpp
index 951bd66..6ea88c2 100644
--- a/tools/djvm.cpp
+++ b/tools/djvm.cpp
@@ -135,9 +135,9 @@
#include "DjVuMessage.h"
#include <locale.h>
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
-#include <stdlib.h>
static const char * progname;
diff --git a/tools/djvmcvt.cpp b/tools/djvmcvt.cpp
index 9ca1c54..20b468a 100644
--- a/tools/djvmcvt.cpp
+++ b/tools/djvmcvt.cpp
@@ -144,6 +144,7 @@
#include <locale.h>
#include <stdio.h>
+#include <stddef.h>
#include <stdlib.h>
static const char * progname;
diff --git a/tools/djvudump.cpp b/tools/djvudump.cpp
index 6a0215a..2dddbdf 100644
--- a/tools/djvudump.cpp
+++ b/tools/djvudump.cpp
@@ -119,6 +119,7 @@ xxx
#include <locale.h>
#include <stdio.h>
#include <ctype.h>
+#include <stddef.h>
#include <stdlib.h>
void
diff --git a/tools/djvuextract.cpp b/tools/djvuextract.cpp
index 4a9f381..907b99c 100644
--- a/tools/djvuextract.cpp
+++ b/tools/djvuextract.cpp
@@ -105,6 +105,7 @@
#include "GOS.h"
#include "DjVuMessage.h"
#include <locale.h>
+#include <stddef.h>
#include <stdlib.h>
diff --git a/tools/djvumake.cpp b/tools/djvumake.cpp
index 7020484..4c5fc0f 100644
--- a/tools/djvumake.cpp
+++ b/tools/djvumake.cpp
@@ -153,6 +153,7 @@
#include <locale.h>
#include <stdio.h>
+#include <stddef.h>
#include <stdlib.h>
#include <ctype.h>
diff --git a/tools/djvups.cpp b/tools/djvups.cpp
index 51aa999..632b832 100644
--- a/tools/djvups.cpp
+++ b/tools/djvups.cpp
@@ -57,6 +57,7 @@
# include "config.h"
#endif
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
diff --git a/tools/djvused.cpp b/tools/djvused.cpp
index de84dcd..687fdca 100644
--- a/tools/djvused.cpp
+++ b/tools/djvused.cpp
@@ -61,6 +61,7 @@
#endif
#include <stdio.h>
+#include <stddef.h>
#include <stdlib.h>
#include <stdarg.h>
#include <errno.h>
diff --git a/tools/djvuserve.cpp b/tools/djvuserve.cpp
index 19a17da..818fe78 100644
--- a/tools/djvuserve.cpp
+++ b/tools/djvuserve.cpp
@@ -73,6 +73,7 @@
#include <locale.h>
#include <stdio.h>
+#include <stddef.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <time.h>
diff --git a/tools/djvutxt.cpp b/tools/djvutxt.cpp
index ba2c745..9e9124c 100644
--- a/tools/djvutxt.cpp
+++ b/tools/djvutxt.cpp
@@ -61,6 +61,7 @@
# include "config.h"
#endif
+#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdarg.h>
diff --git a/tools/tiff2pdf.h b/tools/tiff2pdf.h
index 082f5fb..656dc43 100644
--- a/tools/tiff2pdf.h
+++ b/tools/tiff2pdf.h
@@ -22,6 +22,7 @@
# endif
# if HAVE_TIFF
# include <stdio.h>
+# include <stddef.h>
# include <stdlib.h>
# include <tiff.h>
# include <tiffio.h>
diff --git a/xmltools/djvutoxml.cpp b/xmltools/djvutoxml.cpp
index 17c769b..b40535e 100644
--- a/xmltools/djvutoxml.cpp
+++ b/xmltools/djvutoxml.cpp
@@ -71,6 +71,7 @@
#include <locale.h>
#include <stdio.h>
+#include <stddef.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <assert.h>
diff --git a/xmltools/djvuxmlparser.cpp b/xmltools/djvuxmlparser.cpp
index bdc5768..6679a9d 100644
--- a/xmltools/djvuxmlparser.cpp
+++ b/xmltools/djvuxmlparser.cpp
@@ -70,6 +70,7 @@
#include <stdio.h>
#include <ctype.h>
#include <locale.h>
+#include <stddef.h>
#include <stdlib.h>
static void

View File

@ -1,59 +0,0 @@
{ fetchurl, stdenv, perl, perlXMLParser, gettext, intltool
, pkgconfig, glib, gtk, gnomedocutils, gnomeicontheme
, libgnome, libgnomeui, scrollkeeper, libxslt
, libglade, libgnome_keyring, dbus, dbus_glib
, poppler, libspectre, djvulibre, shared_mime_info
, makeWrapper, which, ghostscript
, recentListSize ? null # 5 is not enough, allow passing a different number
}:
stdenv.mkDerivation rec {
name = "evince-2.32.0";
src = fetchurl {
url = "http://ftp.gnome.org/pub/GNOME/sources/evince/2.32/${name}.tar.bz2";
sha256 = "2a4c91ae38f8b5028cebb91b9da9ddc50ea8ae3f3d429df89ba351da2d787ff7";
};
buildInputs = [
perl perlXMLParser gettext intltool pkgconfig glib gtk
gnomedocutils gnomeicontheme libgnome libgnomeui libglade
scrollkeeper libgnome_keyring
libxslt # for `xsltproc'
dbus dbus_glib poppler libspectre djvulibre makeWrapper which
ghostscript
];
configureFlags = "--with-libgnome --enable-dbus --enable-pixbuf "
# Do not use nautilus
+ " --disable-nautilus "
# Do not update Scrollkeeper's database (GNOME's help system).
+ "--disable-scrollkeeper";
postUnpack = if recentListSize != null then ''
sed -i 's/\(gtk_recent_chooser_set_limit .*\)5)/\1${builtins.toString recentListSize})/' */shell/ev-open-recent-action.c
sed -i 's/\(if (++n_items == \)5\(.*\)/\1${builtins.toString recentListSize}\2/' */shell/ev-window.c
'' else "";
postInstall = ''
# Tell Glib/GIO about the MIME info directory, which is used
# by `g_file_info_get_content_type ()'.
wrapProgram "$out/bin/evince" \
--prefix XDG_DATA_DIRS : "${shared_mime_info}/share:$out/share"
'';
meta = {
homepage = http://www.gnome.org/projects/evince/;
description = "Evince, GNOME's document viewer";
longDescription = ''
Evince is a document viewer for multiple document formats. It
currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
of Evince is to replace the multiple document viewers that exist
on the GNOME Desktop with a single simple application.
'';
license = "GPLv2+";
};
}

View File

@ -0,0 +1,31 @@
{ stdenv, fetchurl, pkgconfig, glib, gettext }:
stdenv.mkDerivation rec {
name= "sdcv-0.4.2";
meta = {
homepage = http://sdcv.sourceforge.net/;
description = "Console version of StarDict program";
maintainers = with stdenv.lib.maintainers; [ lovek323 ];
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.unix;
};
src = fetchurl {
url = "mirror://sourceforge/sdcv/${name}.tar.bz2";
sha256 = "1cnyv7gd1qvz8ma8545d3aq726wxrx4km7ykl97831irx5wz0r51";
};
patches = ( if stdenv.isDarwin
then [ ./sdcv.cpp.patch-darwin ./utils.hpp.patch ]
else [ ./sdcv.cpp.patch ] );
buildInputs = [ pkgconfig glib gettext ];
preBuild = ''
sed -i 's/guint32 page_size/size_t page_size/' src/lib/lib.cpp
'';
NIX_CFLAGS_COMPILE = "-D__GNU_LIBRARY__";
}

View File

@ -0,0 +1,12 @@
--- a/src/utils.hpp
+++ b/src/utils.hpp
@@ -2,6 +2,9 @@
#define _UTILS_HPP_
#include <string>
+#include <stdio.h>
+#include <cstdlib>
+
using std::string;
extern bool stdio_getline(FILE *in, string &str);

View File

@ -0,0 +1,19 @@
--- a/src/sdcv.cpp
+++ b/src/sdcv.cpp
@@ -27,13 +27,13 @@
#include <cstdlib>
#include <cstdio>
#include <clocale>
+#include <string>
+#include <vector>
+#include <memory>
#include <glib.h>
#include <glib/gi18n.h>
#include <glib/gstdio.h>
#include <getopt.h>
-#include <string>
-#include <vector>
-#include <memory>
#include "libwrapper.hpp"
#include "readline.hpp"

View File

@ -0,0 +1,10 @@
--- a/src/utils.hpp
+++ b/src/utils.hpp
@@ -2,6 +2,7 @@
#define _UTILS_HPP_
#include <string>
+#include <cstdlib>
using std::string;
extern bool stdio_getline(FILE *in, string &str);

View File

@ -35,7 +35,7 @@ rec {
#"--enable-profiling"
"--disable-debug"
"--enable-strip"
# "--with-system-jpeg" # Too old in nixpkgs
"--with-system-jpeg" # now we use recent libjpeg-turbo
"--with-system-zlib"
"--with-system-bz2"
"--with-system-nspr"

View File

@ -1,8 +1,10 @@
{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
, libjpeg, libpng, zlib, dbus, dbus_glib, bzip2, xlibs
, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
, hunspell, libevent, libstartup_notification, libvpx
, cairo ? null
, useSystemCairo ? false
, # If you want the resulting program to call itself "Firefox" instead
# of "Shiretoko" or whatever, enable this option. However, those
# binaries may not be distributed without permission from the
@ -12,8 +14,10 @@
}:
assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
assert useSystemCairo -> cairo != null;
rec {
let optional = stdenv.lib.optional;
in rec {
firefoxVersion = "21.0";
@ -35,20 +39,25 @@ rec {
#"--enable-profiling"
"--disable-debug"
"--enable-strip"
# "--with-system-jpeg" # Too old in nixpkgs
"--with-system-jpeg"
"--with-system-zlib"
"--with-system-bz2"
"--with-system-nspr"
"--with-system-nss"
"--with-system-libevent"
"--with-system-libvpx"
# "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
"--enable-system-cairo"
"--enable-startup-notification"
"--enable-system-ffi"
"--enable-system-hunspell"
"--enable-system-pixman"
"--enable-system-sqlite"
"--disable-crashreporter"
"--disable-tests"
"--disable-necko-wifi" # maybe we want to enable this at some point
"--disable-installer"
"--disable-updater"
];
] ++ optional useSystemCairo "--enable-system-cairo";
xulrunner = stdenv.mkDerivation rec {
@ -57,13 +66,14 @@ rec {
inherit src;
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo bzip2
[ pkgconfig gtk perl zip libIDL libjpeg libpng zlib bzip2
python dbus dbus_glib pango freetype fontconfig xlibs.libXi
xlibs.libX11 xlibs.libXrender xlibs.libXft xlibs.libXt file
alsaLib nspr nss libnotify xlibs.pixman yasm mesa
xlibs.libXScrnSaver xlibs.scrnsaverproto pysqlite
xlibs.libXext xlibs.xextproto sqlite unzip makeWrapper
];
hunspell libevent libstartup_notification libvpx
] ++ optional useSystemCairo cairo;
configureFlags =
[ "--enable-application=xulrunner"
@ -72,9 +82,7 @@ rec {
enableParallelBuilding = true;
patches = [
./system-cairo.patch # accepted upstream, probably in 22
];
patches = optional useSystemCairo ./system-cairo.patch; # probably in 22
preConfigure =
''
@ -128,10 +136,11 @@ rec {
enableParallelBuilding = true;
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
[ pkgconfig gtk perl zip libIDL libjpeg zlib bzip2 python
dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
xlibs.pixman yasm mesa sqlite file unzip pysqlite
];
hunspell libevent libstartup_notification libvpx
] ++ optional useSystemCairo cairo;
patches = [
./disable-reporter.patch # fixes "search box not working when built on xulrunner"

View File

@ -20,6 +20,7 @@ stdenv.mkDerivation rec {
preConfigure = ''
sed -e 's@/usr/bin/@@g' -i configure
sed -e '/gthread[.]h/d' -i src/npw-player.c
export NIX_LDFLAGS="$NIX_LDFLAGS -lgthread-2.0"
export configureFlags="$configureFlags --target-cpu=$(uname -m)"
'';

View File

@ -1,17 +1,18 @@
{ stdenv, coreutils, fetchurl, python }:
{ stdenv, coreutils, fetchurl, python, dropbox }:
stdenv.mkDerivation {
name = "dropbox-cli";
src = fetchurl {
# Note: dropbox doesn't version this file. Annoying.
url = "https://linux.dropbox.com/packages/dropbox.py";
sha256 = "1x46i0aplah4a2nqglb8byl3c60w7h1cjja62myxj2dpxyv7fydy";
sha256 = "0p1pg8bw6mlhqi5k8y3pgs7byg0kfvq57s53sh188lb5sxvlg7yz";
};
buildInputs = [ coreutils python ];
phases = "installPhase fixupPhase";
installPhase = ''
mkdir -pv $out/bin/
cp $src $out/bin/dropbox-cli
@ -20,17 +21,18 @@ stdenv.mkDerivation {
fixupPhase = ''
substituteInPlace $out/bin/dropbox-cli \
--replace "/usr/bin/python" ${python}/bin/python \
--replace "use dropbox help" "use dropbox-cli help"
--replace "use dropbox help" "use dropbox-cli help" \
--replace "~/.dropbox-dist/dropboxd" ${dropbox}/bin/dropbox
chmod +x $out/bin/dropbox-cli
'';
meta = {
homepage = http://dropbox.com;
description = "Command line client for the dropbox daemon.";
license = stdenv.lib.licenses.gpl3;
maintainers = with stdenv.lib.maintainers; [ the-kenny ];
# NOTE: Dropbox itself only works on linux, so this is ok.
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
configureFlags = "--enable-external-ortp --enable-external-mediastreamer";
NIX_CFLAGS_COMPILE = "-Wno-error=deprecated-declarations"; # I'm lazy to fix these for them
meta = {
homepage = http://www.linphone.org/;
description = "Open Source video SIP softphone";

View File

@ -5,11 +5,11 @@
assert stdenv.system == "i686-linux";
stdenv.mkDerivation rec {
name = "skype-4.1.0.20";
name = "skype-4.2.0.11";
src = fetchurl {
url = "http://download.skype.com/linux/${name}.tar.bz2";
sha256 = "1qhcxkfmlpblpy9rqimzdl79rm781swbldkzi6nyw56bbp6lf7n3";
sha256 = "0kh66p50m3x4ql6j8ciz73c30npcizd00ya9qrhid711rar0mlw7";
};
buildInputs =

View File

@ -1,4 +1,4 @@
{stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl}:
{ stdenv, fetchurl, pkgconfig, ncurses, glib, openssl, perl, libintlOrEmpty }:
stdenv.mkDerivation rec {
name = "irssi-0.8.15";
@ -8,13 +8,15 @@ stdenv.mkDerivation rec {
sha256 = "19m0aah9bhc70dnhh7kpydbsz5n35l0l9knxav1df0sic3xicbf1";
};
buildInputs = [pkgconfig ncurses glib openssl perl];
buildInputs = [ pkgconfig ncurses glib openssl perl libintlOrEmpty ];
NIX_LDFLAGS = "-lncurses";
configureFlags = "--with-proxy --with-ncurses --enable-ssl --with-perl=yes";
meta = {
homepage = http://irssi.org;
homepage = http://irssi.org;
platforms = stdenv.lib.platforms.unix;
maintainers = with stdenv.lib.maintainers; [ lovek323 ];
};
}

View File

@ -1,9 +1,9 @@
{ stdenv, fetchurl, ruby, rake, rubygems, makeWrapper, ncursesw_sup
, xapian_full_alaveteli, gpgme, libiconvOrEmpty, rmail, mime_types, chronic
, trollop, lockfile, gettext, iconv, locale, text }:
, xapian_ruby, gpgme, libiconvOrEmpty, rmail, mime_types, chronic, trollop
, lockfile, gettext, iconv, locale, text, highline }:
stdenv.mkDerivation {
name = "sup-d21f027afcd6a4031de9619acd8dacbd2f2f4fd4";
name = "sup-896ab66c0263e5ce0fa45857fb08e0fb78fcb6bd";
meta = {
homepage = http://supmua.org;
@ -16,12 +16,12 @@ stdenv.mkDerivation {
dontStrip = true;
src = fetchurl {
url = "https://github.com/sup-heliotrope/sup/archive/d21f027afcd6a4031de9619acd8dacbd2f2f4fd4.tar.gz";
sha256 = "0syifva6pqrg3nyy7xx7nan9zswb4ls6bkk96vi9ki2ly1ymwcdp";
url = "https://github.com/sup-heliotrope/sup/archive/896ab66c0263e5ce0fa45857fb08e0fb78fcb6bd.tar.gz";
sha256 = "0sknf4ha13m2478fa27qnm43bcn59g6qbd8f2nmv64k2zs7xnwmk";
};
buildInputs =
[ ruby rake rubygems makeWrapper gpgme ncursesw_sup xapian_full_alaveteli
[ ruby rake rubygems makeWrapper gpgme ncursesw_sup xapian_ruby
libiconvOrEmpty ];
buildPhase = "rake gem";
@ -43,7 +43,8 @@ stdenv.mkDerivation {
GEM_PATH="$GEM_PATH:${rmail}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${text}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${trollop}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${xapian_full_alaveteli}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${xapian_ruby}/${ruby.gemPath}"
GEM_PATH="$GEM_PATH:${highline}/${ruby.gemPath}"
# Don't install some dependencies -- we have already installed
# the dependencies but gem doesn't acknowledge this

View File

@ -1,6 +1,7 @@
{ fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk, libgnomeui, libofx
, libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui
, intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper
, intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade
, libgsf, libart_lgpl
}:
/* If you experience GConf errors when running GnuCash on NixOS, see
@ -19,7 +20,7 @@ stdenv.mkDerivation rec {
buildInputs = [
pkgconfig libxml2 gconf glib gtk libgnomeui libgtkhtml gtkhtml
libgnomeprint goffice enchant gettext intltool perl guile slibGuile
swig isocodes bzip2 makeWrapper libofx
swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl
];
configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx";
@ -65,7 +66,7 @@ stdenv.mkDerivation rec {
homepage = http://www.gnucash.org/;
maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons ];
maintainers = [ stdenv.lib.maintainers.ludo stdenv.lib.maintainers.simons stdenv.lib.maintainers.iElectric ];
platforms = stdenv.lib.platforms.gnu;
};
}

View File

@ -1,5 +1,6 @@
{ stdenv, fetchurl, freeglut, gtk2, gtkglext, libjpeg_turbo, libtheora, libXmu
, lua, mesa, pkgconfig, perl, automake, autoconf, libtool, gettext
, lua, mesa, pkgconfig, perl, automake, autoconf, libtool, gettext, glib, cairo
, pango, gdk_pixbuf, atk
}:
let
@ -7,25 +8,31 @@ let
gcc46Patch = fetchurl {
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/celestia-1.6.1-gcc46.patch?h=packages/celestia";
sha256 = "1q840ip5h2q93r0d68jwrvf40ns5qzqss9vzd6xnwvs3wa77m5wp";
sha256 = "0my7dpyh5wpz5df7bjhwb4db3ci2rn8ib1nkjv15fbp1g76bxfaz";
name = "celestia-1.6.1-gcc46.patch";
};
libpng15Patch = fetchurl {
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/celestia-1.6.1-libpng15.patch?h=packages/celestia";
sha256 = "19yqbi5k944d3jm0q2mvcfg52kicy4j347gj62dyaijzj505x4pm";
sha256 = "1jrmbwmvs9b6k2b2g4104q22v4vqi0wfpz6hmfhniaq34626jcms";
name = "celestia-1.6.1-libpng15.patch";
};
libpng16Patch = fetchurl {
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/celestia-1.6.1-libpng16.patch?h=packages/celestia";
sha256 = "1q85prw4ci6d50lri8w1jm19pghxw96qizf5dl4g0j86rlhlkc8f";
name = "celestia-1.6.1-libpng16.patch";
};
linkingPatch = fetchurl {
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/celestia-1.6.1-linking.patch?h=packages/celestia";
sha256 = "1qzv18b2prqbhy21js5bnf7vwkmrq1dmrq8r0wab7v10axjqdv35";
sha256 = "1m8xyq26nm352828bp12c3b8f6m9bys9fwfxbfzqppllk7il2f24";
name = "celestia-1.6.1-linking.patch";
};
gcc47Patch = fetchurl {
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/gcc-4.7-fixes.diff?h=packages/celestia";
sha256 = "1jqkafwrg1829cwqvlxxkqbf42zqfsgpqd8a5b2qlzma5napdmg5";
sha256 = "1na26c7pv9qfv8a981m1zvglhv05r3h8513xqjra91qhhzx8wr8n";
name = "gcc-4.7-fixes.diff";
};
in
@ -38,15 +45,24 @@ stdenv.mkDerivation {
};
buildInputs = [ freeglut gtk2 gtkglext libjpeg_turbo libtheora libXmu mesa pkgconfig lua
perl automake autoconf libtool gettext ];
perl automake autoconf libtool gettext ];
patchPhase = ''
patch -Np0 -i "${gcc46Patch}"
patch -Np0 -i "${libpng15Patch}"
patch -Np2 -i "${libpng16Patch}"
patch -Np1 -i "${linkingPatch}"
patch -Np1 -i "${gcc47Patch}"
autoreconf
configureFlagsArray=( --with-gtk --with-lua=${lua} CFLAGS="-O2 -fsigned-char" CXXFLAGS="-O2 -fsigned-char" )
configureFlagsArray=(
--with-gtk
--with-lua=${lua}
CPPFLAGS="-DNDEBUG"
CFLAGS="-O2 -fsigned-char"
CXXFLAGS="-O2 -fsigned-char"
GTK_CFLAGS="-I${gtk2}/include/gtk-2.0 -I${gtk2}/lib/gtk-2.0/include -I${glib}/include/glib-2.0 -I${glib}/lib/glib-2.0/include -I${cairo}/include/cairo -I${pango}/include/pango-1.0 -I${gdk_pixbuf}/include/gdk-pixbuf-2.0 -I${atk}/include/atk-1.0 -I${gtkglext}/include/gtkglext-1.0 -I${gtkglext}/lib/gtkglext-1.0/include"
GTK_LIBS="-lgtk-x11-2.0 -lgtkglext-x11-1.0 -lcairo -lgdk_pixbuf-2.0 -lpango-1.0 -lgobject-2.0"
)
'';
enableParallelBuilding = true;

View File

@ -0,0 +1,32 @@
{ stdenv, fetchdarcs, ocaml, findlib, lablgl, camlimages, mesa, freeglut, ocaml_mysql, mlgmp, mpfr, gmp, libtiff, libjpeg, libpng12, giflib }:
let
ocaml_version = (builtins.parseDrvName ocaml.name).version;
in
stdenv.mkDerivation {
name = "glsurf-3.3";
src = fetchdarcs {
url = "http://lama.univ-savoie.fr/~raffalli/GlSurf";
tag = "3.3";
sha256 = ""; md5="";
};
buildInputs = [ ocaml findlib freeglut mesa
lablgl camlimages ocaml_mysql mlgmp mpfr gmp
libtiff libjpeg libpng12 giflib ];
installPhase = ''
mkdir -p $out/bin $out/share/doc/glsurf
cp ./src/glsurf.opt $out/bin/glsurf
cp ./doc/doc.pdf $out/share/doc/glsurf
cp -r ./examples $out/share/doc/glsurf
'';
meta = {
homepage = http://www.lama.univ-savoie.fr/~raffalli/glsurf;
description = "GlSurf: a program to draw implicit surfaces and curves";
};
}

View File

@ -0,0 +1,32 @@
{ stdenv, fetchurl, jre, unzip }:
stdenv.mkDerivation {
name = "weka-3.6.9";
src = fetchurl {
url = "mirror://sourceforge/weka/weka-3-6-9.zip";
sha256 = "0rnis4vvihhdcdvpp79hkmklcnn897paa0qrs95cbjnpgvxzbczs";
};
buildInputs = [ unzip ];
# The -Xmx1000M comes suggested from their download page:
# http://www.cs.waikato.ac.nz/ml/weka/downloading.html
installPhase = ''
mkdir -pv $out/share/weka $out/bin
cp -Rv * $out/share/weka
cat > $out/bin/weka << EOF
#!${stdenv.shell}
${jre}/bin/java -Xmx1000M -jar $out/share/weka/weka.jar
EOF
chmod +x $out/bin/weka
'';
meta = {
homepage = "http://www.cs.waikato.ac.nz/ml/weka/";
description = "Collection of machine learning algorithms for data mining tasks";
license = "GPLv2+";
};
}

View File

@ -1,13 +1,13 @@
{ fetchurl, stdenv, libxml2, freetype, mesa, glew, qt4
, cmake, makeWrapper, libjpeg }:
let version = "3.7.0"; in
let version = "4.1.0"; in
stdenv.mkDerivation rec {
name = "tulip-${version}";
src = fetchurl {
url = "mirror://sourceforge/auber/tulip/tulip-3.7.0/${name}-src.tar.gz";
sha256 = "150fj9pdxblvl5sby61cb2kq98r6h8yljk3vq5xizn198d3fz4jq";
url = "mirror://sourceforge/auber/${name}_src.tar.gz";
sha256 = "1js1f8xdm9g2m66xbhfxa8ixzw6h4gjynxsm83p54l3i0hs3biig";
};
buildInputs = [ libxml2 freetype glew mesa qt4 libjpeg ];
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
doCheck = false;
meta = {
description = "Tulip, a visualization framework for the analysis and visualization of relational data";
description = "A visualization framework for the analysis and visualization of relational data";
longDescription =
'' Tulip is an information visualization framework dedicated to the

View File

@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
homepage = "http://jonas.nitro.dk/tig/";
description = "Tig is a git repository browser that additionally can act as a pager for output from various git commands";
maintainers = [ maintainers.garbas maintainers.bjornfor ];
maintainers = [ maintainers.garbas maintainers.bjornfor maintainers.iElectric ];
license = licenses.gpl2;
platforms = platforms.linux;
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, gettext, apr, aprutil, subversion, db4, kdelibs }:
{ stdenv, fetchurl, gettext, apr, aprutil, subversion, db4, kdelibs, expat }:
stdenv.mkDerivation rec {
name = "kdesvn-1.5.5";
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
patches = [ ./docbook.patch ./virtual_inheritance.patch ];
buildInputs = [ apr aprutil subversion db4 kdelibs ];
buildInputs = [ apr aprutil subversion db4 kdelibs expat ];
nativeBuildInputs = [ gettext ];

View File

@ -3,7 +3,7 @@
, gst_ffmpeg, speex
, libogg, libxml2, libjpeg, mesa, libpng, libungif, libtool
, boost, freetype, agg, dbus, curl, pkgconfig, gettext
, glib, gtk, gtkglext, x11, ming, dejagnu, python, perl
, glib, gtk, gtkglext, pangox_compat, x11, ming, dejagnu, python, perl
, freefont_ttf, haxe, swftools
, lib, makeWrapper
, xulrunner }:
@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
gettext x11 SDL SDL_mixer gstreamer gst_plugins_base gst_plugins_good
gst_ffmpeg speex libtool
libogg libxml2 libjpeg mesa libpng libungif boost freetype agg
dbus curl pkgconfig glib gtk gtkglext
dbus curl pkgconfig glib gtk gtkglext pangox_compat
xulrunner
makeWrapper
]

View File

@ -0,0 +1,31 @@
{ stdenv, fetchurl, pkgconfig, wayland, mesa, libxkbcommon
, cairo, libxcb, libXcursor, x11, udev, libdrm, mtdev
, libjpeg, pam, autoconf, automake, libtool }:
let version = "1.0.5"; in
stdenv.mkDerivation rec {
name = "weston-${version}";
src = fetchurl {
url = "http://wayland.freedesktop.org/releases/${name}.tar.xz";
sha256 = "0g2k82pnlxl8b70ykazj7kn8xffjfsmgcgx427qdrm4083z2hgm0";
};
buildInputs = [ pkgconfig wayland mesa libxkbcommon
cairo libxcb libXcursor x11 udev libdrm mtdev
libjpeg pam autoconf automake libtool ];
preConfigure = "autoreconf -vfi";
# prevent install target to chown root weston-launch, which fails
configureFlags = ''
--disable-setuid-install
'';
meta = {
description = "Reference implementation of a Wayland compositor";
homepage = http://wayland.freedesktop.org/;
license = stdenv.lib.licenses.mit;
};
}

View File

@ -1,17 +0,0 @@
{ stdenv, fetchurl, glib, pkgconfig, intltool }:
stdenv.mkDerivation {
name = "gsettings-desktop-schemas-3.2.0";
src = fetchurl {
url = mirror://gnome/sources/gsettings-desktop-schemas/3.2/gsettings-desktop-schemas-3.2.0.tar.xz;
sha256 = "0772axkd1nlf3j1lcg0zi5x5jh4zmr25k98dhn7pzppahljaj3hi";
};
buildInputs = [ glib ];
nativeBuildInputs = [ pkgconfig intltool ];
meta = {
inherit (glib.meta) maintainers platforms;
};
}

View File

@ -1,11 +1,11 @@
{ fetchurl, stdenv, cmake }:
stdenv.mkDerivation rec {
name = "poppler-data-0.4.5";
name = "poppler-data-0.4.6";
src = fetchurl {
url = "http://poppler.freedesktop.org/${name}.tar.gz";
sha256 = "1zbh1zd083wfwrcw7vxc2bn32h42y6iyh24syxcb3r5ggd2vr41i";
sha256 = "1yhaz74b50hjkz3ii077kmq3qg3p3kdyxm33cv6r1njvz8fr01pk";
};
buildInputs = [ cmake ];
@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
homepage = http://poppler.freedesktop.org/;
description = "Encoding files for Poppler, a PDF rendering library";
platforms = stdenv.lib.platforms.all;
license = "free"; # more free licenses combined
maintainers = [ stdenv.lib.maintainers.urkud ];
};
}

View File

@ -1,24 +1,26 @@
{ stdenv, fetchurl, gnome, librsvg, pkgconfig, pygtk, python }:
{ stdenv, fetchurl, gnome, librsvg, pkgconfig, pygtk, python, gtk }:
stdenv.mkDerivation rec {
version = "2.32";
ver_maj = "2.32";
ver_min = "0";
version = "${ver_maj}.${ver_min}";
name = "python-rsvg-${version}";
src = fetchurl {
url = "mirror://gnome/sources/gnome-python-desktop/${version}/gnome-python-desktop-${version}.0.tar.gz";
sha256 = "1xhh3h1qdnimydvv55pmqwyzjchhjwfvp951sjlq0180kskqrlj5";
url = "mirror://gnome/sources/gnome-python-desktop/${ver_maj}/gnome-python-desktop-${version}.tar.bz2";
sha256 = "1s8f9rns9v7qlwjv9qh9lr8crp88dpzfm45hj47zc3ivpy0dbnq9";
};
configurePhase = ''
sed -e "s@{PYTHONDIR}/gtk-2.0@{PYTHONDIR}/@" -i rsvg/wscript
python waf configure --enable-modules=rsvg --prefix=$out
sed -e "s@{PYTHONDIR}/gtk-2.0@{PYTHONDIR}/@" -i rsvg/wscript
python waf configure --enable-modules=rsvg --prefix=$out
'';
buildPhase = "python waf build";
installPhase = "python waf install";
buildInputs = [ gnome.gnome_python librsvg pkgconfig pygtk python ];
buildInputs = [ gtk gnome.gnome_python librsvg pkgconfig pygtk python ];
meta = with stdenv.lib; {
homepage = "http://www.pygtk.org";

View File

@ -29,8 +29,6 @@
libgtkhtml = callPackage ./platform/libgtkhtml { };
intltool = callPackage ./platform/intltool { };
GConf = callPackage ./platform/GConf { };
gconfmm = callPackage ./platform/gconfmm { };

View File

@ -9,6 +9,10 @@ stdenv.mkDerivation rec {
sha256 = "0l3mhpyym9m5iz09fz0rgiqxl2ym6kpkwpsp1xrr4aa80nlh1jam";
};
preBuild = ''
sed 's/-DG_DISABLE_DEPRECATED//' -i linc2/src/Makefile
'';
nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs = [ glib libIDL ];
}

View File

@ -16,4 +16,6 @@ stdenv.mkDerivation rec {
];
propagatedBuildInputs = [ GConf glib ];
postPatch = "find . -name Makefile.in | xargs sed 's/-DG_DISABLE_DEPRECATED//g' -i ";
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig, gtk, mesa, pango }:
{ stdenv, fetchurl, pkgconfig, glib, gtk, mesa, pango, pangox_compat, xlibs }:
stdenv.mkDerivation rec {
name = "gtkglext-1.2.0";
@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
sha256 = "0lbz96jwz57hnn52b8rfj54inwpwcc9fkdq6ya043cgnfih77g8n";
};
buildInputs = [ pkgconfig gtk mesa pango ];
buildInputs = with xlibs;
[ pkgconfig glib gtk mesa pango pangox_compat libX11 libXmu ];
# The library uses `GTK_WIDGET_REALIZED', `GTK_WIDGET_TOPLEVEL', and
# `GTK_WIDGET_NO_WINDOW', all of which appear to be deprecated nowadays.

View File

@ -1,13 +0,0 @@
{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, gettext}:
stdenv.mkDerivation rec {
name = "intltool-0.40.6";
src = fetchurl {
url = mirror://gnome/sources/intltool/0.40/intltool-0.40.6.tar.bz2;
sha256 = "0r1vkvy5xzqk01yl6a0xlrry39bra24alkrx6279b77hc62my7jd";
};
buildInputs = [ pkgconfig ];
propagatedBuildInputs = [ perl perlXMLParser gettext ];
}

View File

@ -10,7 +10,9 @@ stdenv.mkDerivation rec {
sha256 = "0swp4kk6x7hy1rvd1f9jba31lvfc6qvafkvbpg9h0r34fzrd8q4i";
};
preConfigure = "export USER=`whoami`";
preConfigure = # still using stuff deprecated in new glib versions
"sed 's/-DG_DISABLE_DEPRECATED//g' -i configure activation-server/Makefile.in";
nativeBuildInputs = [ flex bison pkgconfig intltool procps ];
buildInputs = [ libxml2 ];
propagatedBuildInputs = [ popt glib ORBit2 ];

View File

@ -9,7 +9,9 @@ stdenv.mkDerivation rec {
major = "2"; minor = "32"; patchlevel = "1";
sha256 = "197pnq8y0knqjhm2fg4j6hbqqm3qfzfnd0irhwxpk1b4hqb3kimj";
};
patches = [ ./new-glib.patch ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ popt zlib intltool GConf gnome_vfs libcanberra libtool ];
propagatedBuildInputs = [ glib libbonobo ];

View File

@ -0,0 +1,65 @@
Porting libgnome to newer glib:
* remove g_thread_init and g_thread_supported, which are longer needed
https://developer.gnome.org/glib/2.36/glib-Deprecated-Thread-APIs.html#g-thread-init
* replace GStaticRecMutex by GRecMutex
https://developer.gnome.org/glib/2.36/glib-Deprecated-Thread-APIs.html#GStaticRecMutex
diff --git a/libgnome/gnome-i18n.c b/libgnome/gnome-i18n.c
index 531c56c..f13d61e 100644
--- a/libgnome/gnome-i18n.c
+++ b/libgnome/gnome-i18n.c
@@ -55,12 +55,14 @@
const GList *
gnome_i18n_get_language_list (const gchar *ignored)
{
- static GStaticRecMutex lang_list_lock = G_STATIC_REC_MUTEX_INIT;
+ static GRecMutex lang_list_lock;
+ g_rec_mutex_init (&lang_list_lock);
+
static GList *list = NULL;
const char * const* langs;
int i;
- g_static_rec_mutex_lock (&lang_list_lock);
+ g_rec_mutex_lock (&lang_list_lock);
if (list == NULL) {
langs = g_get_language_names ();
@@ -71,7 +73,7 @@ gnome_i18n_get_language_list (const gchar *ignored)
list = g_list_reverse (list);
}
- g_static_rec_mutex_unlock (&lang_list_lock);
+ g_rec_mutex_unlock (&lang_list_lock);
return list;
}
diff --git a/libgnome/gnome-init.c b/libgnome/gnome-init.c
index fe3efd4..c6619af 100644
--- a/libgnome/gnome-init.c
+++ b/libgnome/gnome-init.c
@@ -115,9 +115,6 @@ gnome_bonobo_module_info_get (void)
static void
bonobo_activation_pre_args_parse (GnomeProgram *program, GnomeModuleInfo *mod_info)
{
- if (!g_thread_supported ())
- g_thread_init (NULL);
-
if (!bonobo_activation_is_initialized ())
bonobo_activation_preinit (program, mod_info);
}
diff --git a/libgnome/gnome-program.c b/libgnome/gnome-program.c
index 739765e..cd14999 100644
--- a/libgnome/gnome-program.c
+++ b/libgnome/gnome-program.c
@@ -1878,10 +1878,6 @@ gnome_program_init (const char *app_id, const char *app_version,
GnomeProgram *program;
va_list args;
- /* g_thread_init() has to be the first GLib function called ever */
- if (!g_threads_got_initialized)
- g_thread_init (NULL);
-
g_type_init ();
va_start(args, first_property_name);

View File

@ -14,4 +14,8 @@ stdenv.mkDerivation rec {
buildInputs = [ pkgconfig gtk gettext intltool libart_lgpl libgnomecups bison flex ];
propagatedBuildInputs = [ libxml2 ];
meta = with stdenv.lib; {
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,17 @@
{ stdenv, fetchurl, python, pkgconfig, popt, atk, libX11, libICE, xlibs, libXi
, intltool, dbus_glib, at_spi2_core, libSM }:
stdenv.mkDerivation rec {
versionMajor = "2.8";
versionMinor = "0";
moduleName = "at-spi2-atk";
name = "${moduleName}-${versionMajor}.${versionMinor}";
src = fetchurl {
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
sha256 = "085sqww174vl3i9ccb477v706rkjs2d107rl96ma1kbl2jyar226";
};
buildInputs = [ python pkgconfig popt atk libX11 libICE xlibs.libXtst libXi
intltool dbus_glib at_spi2_core libSM ];
}

View File

@ -0,0 +1,23 @@
{ stdenv, fetchurl, python, pkgconfig, popt, intltool, dbus_glib
, libX11, xextproto, libSM, libICE, libXtst, libXi }:
stdenv.mkDerivation rec {
versionMajor = "2.8";
versionMinor = "0";
moduleName = "at-spi2-core";
name = "${moduleName}-${versionMajor}.${versionMinor}";
src = fetchurl {
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
sha256 = "0n64h6j10sn90ds9y70d9wlvvsbwnrym9fm0cyjxb0zmqw7s6q8q";
};
buildInputs = [
python pkgconfig popt intltool dbus_glib
libX11 xextproto libSM libICE libXtst libXi
];
# ToDo: on non-NixOS we create a symlink from there?
configureFlags = "--with-dbus-daemondir=/run/current-system/sw/bin/";
}

View File

@ -0,0 +1,62 @@
{ fetchurl, stdenv, pkgconfig, intltool, perl, perlXMLParser, libxml2
, glib, gtk3, pango, atk, gdk_pixbuf, shared_mime_info
, itstool, gnome_icon_theme, libgnome_keyring, gsettings_desktop_schemas
, poppler, ghostscriptX, djvulibre, libspectre
, makeWrapper #, python /*just for tests*/
, recentListSize ? null # 5 is not enough, allow passing a different number
}:
stdenv.mkDerivation rec {
name = "evince-3.6.1";
src = fetchurl {
url = "http://ftp.gnome.org/pub/GNOME/sources/evince/3.6/${name}.tar.xz";
sha256 = "1da1pij030dh8mb0pr0jnyszgsbjnh8lc17rj5ii52j3kmbv51qv";
};
buildInputs = [
pkgconfig intltool perl perlXMLParser libxml2
glib gtk3 pango atk gdk_pixbuf
itstool gnome_icon_theme libgnome_keyring gsettings_desktop_schemas
poppler ghostscriptX djvulibre libspectre
makeWrapper
];
configureFlags = [
"--disable-nautilus" # Do not use nautilus
"--disable-dbus" # strange compilation error
];
preConfigure = with stdenv.lib;
optionalString doCheck ''
for file in test/*.py; do
echo "patching $file"
sed '1s,/usr,${python},' -i "$file"
done
'' + optionalString (recentListSize != null) ''
sed -i 's/\(gtk_recent_chooser_set_limit .*\)5)/\1${builtins.toString recentListSize})/' shell/ev-open-recent-action.c
sed -i 's/\(if (++n_items == \)5\(.*\)/\1${builtins.toString recentListSize}\2/' shell/ev-window.c
'';
postInstall = ''
# Tell Glib/GIO about the MIME info directory, which is used
# by `g_file_info_get_content_type ()'.
wrapProgram "$out/bin/evince" \
--prefix XDG_DATA_DIRS : "${shared_mime_info}/share:$out/share"
'' + gsettings_desktop_schemas.doCompileSchemas;
doCheck = false; # would need pythonPackages.dogTail, which is missing
meta = {
homepage = http://www.gnome.org/projects/evince/;
description = "GNOME's document viewer";
longDescription = ''
Evince is a document viewer for multiple document formats. It
currently supports PDF, PostScript, DjVu, TIFF and DVI. The goal
of Evince is to replace the multiple document viewers that exist
on the GNOME Desktop with a single simple application.
'';
license = "GPLv2+";
};
}

View File

@ -0,0 +1,29 @@
{ stdenv, fetchurl, pkgconfig, dbus_glib, gtk, glib, libxml2
, intltool, polkit, orbit }:
stdenv.mkDerivation rec {
versionMajor = "3.2";
versionMinor = "5";
moduleName = "GConf";
origName = "${moduleName}-${versionMajor}.${versionMinor}";
name = "gconf-${versionMajor}.${versionMinor}";
src = fetchurl {
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${origName}.tar.xz";
sha256 = "1ijqks0jxc4dyfxg4vnbqds4aj6miyahlsmlqlkf2bi1798akpjd";
};
buildInputs = [ libxml2 polkit gtk orbit ];
propagatedBuildInputs = [ glib dbus_glib ];
nativeBuildInputs = [ pkgconfig intltool ];
# ToDo: ldap reported as not found but afterwards reported as supported
meta = {
homepage = http://projects.gnome.org/gconf/;
description = "A system for storing application preferences";
};
}

View File

@ -0,0 +1,18 @@
{ stdenv, fetchurl, pkgconfig, intltool, gnupg, p11_kit, glib
, libgcrypt, libtasn1, dbus_glib, gtk, pango, gdk_pixbuf, atk }:
stdenv.mkDerivation rec {
name = "gcr-3.6.2";
src = fetchurl {
url = "mirror://gnome/sources/gcr/3.6/${name}.tar.xz";
sha256 = "16xyqxv2hxl3a4m8ahilqcf1ps58w1ijh8dav1l5nqz36ljdn2gp";
};
buildInputs = [
pkgconfig intltool gnupg p11_kit glib
libgcrypt libtasn1 dbus_glib gtk pango gdk_pixbuf atk
];
#doCheck = true;
}

View File

@ -0,0 +1,12 @@
{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, gtk }:
stdenv.mkDerivation rec {
name = "gnome-icon-theme-3.6.2";
src = fetchurl {
url = "mirror://gnome/sources/gnome-icon-theme/3.6/${name}.tar.xz";
sha256 = "0i8hkx2c1g5ckrvbkvs9n47i8fby8p9xs6p5l0mxdx9aq4smak9i";
};
nativeBuildInputs = [ pkgconfig intltool iconnamingutils gtk ];
}

View File

@ -0,0 +1,26 @@
{stdenv, fetchurl, pkgconfig, dbus, libgcrypt, libtasn1, pam, python, glib
, gtk3, intltool, gconf, libgnome_keyring, pango, gcr, gdk_pixbuf, atk, p11_kit }:
stdenv.mkDerivation rec {
name = "gnome-keyring-3.6.2";
src = fetchurl {
url = "mirror://gnome/sources/gnome-keyring/3.6/${name}.tar.xz";
sha256 = "1mhc2c0qswfjqi2spdvh19b7npfkjf1k40q6v7fja4qpc26maq5f";
};
buildInputs = [
dbus libgcrypt pam python gtk3 gconf libgnome_keyring
pango gcr gdk_pixbuf atk p11_kit
];
propagatedBuildInputs = [ glib libtasn1 ];
nativeBuildInputs = [ pkgconfig intltool ];
configureFlags = [
"--with-ca-certificates=/etc/ssl/certs/ca-bundle.crt" # NixOS hardcoded path
"--with-pkcs11-config=$$out/etc/pkcs11/" # installation directories
"--with-pkcs11-modules=$$out/lib/pkcs11/"
];
}

View File

@ -0,0 +1,20 @@
{ stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango
, gnome_doc_utils, intltool, libX11, which, gconf }:
stdenv.mkDerivation rec {
versionMajor = "3.4";
versionMinor = "1.1";
name = "gnome-terminal-${versionMajor}.${versionMinor}";
src = fetchurl {
url = "mirror://gnome/sources/gnome-terminal/${versionMajor}/${name}.tar.xz";
sha256 = "1p9zqjmkxryf2kyghhhwwpsh4kd8y1jzzwc9zxghmpxszi9a5m0l";
};
configureFlags = "--disable-scrollkeeper";
buildInputs = [ gnome3.gtk gnome3.gsettings_desktop_schemas gnome3.vte gconf ];
nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ];
}

View File

@ -0,0 +1,30 @@
{ stdenv, fetchurl, pkgconfig, intltool, glib
# just for passthru
, gtk3, gsettings_desktop_schemas }:
stdenv.mkDerivation rec {
versionMajor = "3.6";
versionMinor = "1";
moduleName = "gsettings-desktop-schemas";
name = "${moduleName}-${versionMajor}.${versionMinor}";
src = fetchurl {
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
sha256 = "1rk71q2rky9nzy0zb5jsvxa62vhg7dk65kdgdifq8s761797ga6r";
};
buildInputs = [ glib ];
nativeBuildInputs = [ pkgconfig intltool ];
passthru = {
doCompileSchemas = ''
for pkg in "${gsettings_desktop_schemas}" "${gtk3}"; do
cp -s $pkg/share/glib-2.0/schemas/*.gschema.xml $out/share/glib-2.0/schemas/
done
${glib}/bin/glib-compile-schemas $out/share/glib-2.0/schemas/
'';
};
}

View File

@ -0,0 +1,21 @@
{ stdenv, fetchurl, pkgconfig, dbus_libs, samba, libarchive, fuse, libgphoto2
, libcdio, libxml2, libtool, glib, intltool, gconf, libgnome_keyring, libsoup
, udev, avahi, libxslt, docbook_xsl }:
stdenv.mkDerivation rec {
name = "gvfs-1.14.2";
src = fetchurl {
url = "mirror://gnome/sources/gvfs/1.14/${name}.tar.xz";
sha256 = "1g4ghyf45jg2ajdkv2d972hbckyjh3d9jdrppai85pl9pk2dmfy3";
};
buildInputs =
[ glib dbus_libs udev samba libarchive fuse libgphoto2 libcdio libxml2 gconf
libgnome_keyring libsoup avahi libtool libxslt docbook_xsl
];
nativeBuildInputs = [ pkgconfig intltool ];
enableParallelBuilding = true;
}

View File

@ -0,0 +1,11 @@
{stdenv, fetchurl, pkgconfig, libxml2, glib}:
stdenv.mkDerivation rec {
name = "libcroco-0.6.6"; # 3.6.2 release
src = fetchurl {
url = "mirror://gnome/sources/libcroco/0.6/${name}.tar.xz";
sha256 = "1nbb12420v1zacn6jwa1x4ixikkcqw66sg4j5dgs45nhygiarv3j";
};
buildInputs = [ pkgconfig libxml2 glib ];
}

View File

@ -0,0 +1,17 @@
{ stdenv, fetchurl, glib, dbus_libs, libgcrypt, pkgconfig, intltool }:
stdenv.mkDerivation rec {
name = "libgnome-keyring-3.6.0";
src = fetchurl {
url = "mirror://gnome/sources/libgnome-keyring/3.6/${name}.tar.xz";
sha256 = "0c4qrjpmv1hqga3xv6wsq2z10x2n78qgw7q3k3s01y1pggxkgjkd";
};
propagatedBuildInputs = [ glib dbus_libs libgcrypt ];
nativeBuildInputs = [ pkgconfig intltool ];
meta = {
inherit (glib.meta) platforms maintainers;
};
}

View File

@ -0,0 +1,14 @@
{ stdenv, fetchurl, pkgconfig, libxml2, gtk, intltool, libsoup, gconf
, pango, gdk_pixbuf, atk }:
stdenv.mkDerivation rec {
name = "libgweather-3.6.2";
src = fetchurl {
url = "mirror://gnome/sources/libgweather/3.6/${name}.tar.xz";
sha256 = "1c50m0zrnfh4g58rzf33dfw8ggslj38c61p8a75905bmj3rfyahg";
};
configureFlags = if stdenv ? glibc then "--with-zoneinfo-dir=${stdenv.glibc}/share/zoneinfo" else "";
propagatedBuildInputs = [ libxml2 gtk libsoup gconf pango gdk_pixbuf atk ];
nativeBuildInputs = [ pkgconfig intltool ];
}

View File

@ -0,0 +1,46 @@
{ stdenv, fetchurl, intltool, pkgconfig, gnome3, ncurses
, pythonSupport ? false, python, pygtk}:
stdenv.mkDerivation rec {
versionMajor = "0.32";
versionMinor = "2";
moduleName = "vte";
name = "${moduleName}-${versionMajor}.${versionMinor}";
src = fetchurl {
url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
sha256 = "0sj837b9ib36gx00hzdinv23f7w91fd5mcw1p6wdi053yxqw17nn";
};
buildInputs = [ intltool pkgconfig gnome3.glib gnome3.gtk ncurses ] ++
stdenv.lib.optionals pythonSupport [python pygtk];
configureFlags = ''
${if pythonSupport then "--enable-python" else "--disable-python"}
'';
postInstall = stdenv.lib.optionalString pythonSupport ''
cd $(toPythonPath $out)/gtk-2.0
for n in *; do
ln -s "gtk-2.0/$n" "../$n"
done
'';
meta = {
homepage = http://www.gnome.org/;
description = "A library implementing a terminal emulator widget for GTK+";
longDescription = ''
VTE is a library (libvte) implementing a terminal emulator widget for
GTK+, and a minimal sample application (vte) using that. Vte is
mainly used in gnome-terminal, but can also be used to embed a
console/terminal in games, editors, IDEs, etc. VTE supports Unicode and
character set conversion, as well as emulating any terminal known to
the system's terminfo database.
'';
license = "LGPLv2";
maintainers = with stdenv.lib.maintainers; [ astsmtl antono ];
platforms = with stdenv.lib.platforms; linux;
};
}

View File

@ -0,0 +1,20 @@
{ stdenv, fetchurl, pkgconfig, cairo, libxml2, libxslt, gnome3, pango
, gnome_doc_utils, intltool, libX11, which }:
stdenv.mkDerivation rec {
versionMajor = "3.4";
versionMinor = "0";
name = "zenity-${versionMajor}.${versionMinor}";
src = fetchurl {
url = "mirror://gnome/sources/zenity/${versionMajor}/zenity-${versionMajor}.${versionMinor}.tar.xz";
sha256 = "1bqbfcvd3kj2xk15fvbcdaqvyg9qvymlhn8cwvg5m6v4gicniw2w";
};
configureFlags = "--disable-scrollkeeper";
buildInputs = [ gnome3.gtk libxml2 libxslt libX11 ];
nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which ];
}

View File

@ -0,0 +1,55 @@
{ callPackage, lib, self, stdenv, gettext, overrides ? {}, pkgs }:
rec {
inherit (pkgs) fetchurl_gnome glib gtk3 atk pango;
gtk = gtk3;
orbit = pkgs.gnome2.ORBit2;
inherit (lib) lowPrio hiPrio appendToName makeOverridable;
__overrides = overrides;
#### Core (http://ftp.acc.umu.se/pub/GNOME/core/)
at_spi2_atk = lib.lowPrio (callPackage ./core/at-spi2-atk { });
at_spi2_core = callPackage ./core/at-spi2-core { };
evince = callPackage ./core/evince { }; # ToDo: dbus would prevent compilation, enable tests
gconf = callPackage ./core/gconf { };
gcr = callPackage ./core/gcr { }; # ToDo: tests fail
gnome_icon_theme = callPackage ./core/gnome-icon-theme { };
gnome_keyring = callPackage ./core/gnome-keyring { };
libgnome_keyring = callPackage ./core/libgnome-keyring { };
gnome_terminal = callPackage ./core/gnome-terminal { };
gsettings_desktop_schemas = lib.lowPrio (callPackage ./core/gsettings-desktop-schemas { });
gvfs = callPackage ./core/gvfs { };
libcroco = callPackage ./core/libcroco {};
libgweather = callPackage ./core/libgweather { };
vte = callPackage ./core/vte { };
zenity = callPackage ./core/zenity { };
#### Apps (http://ftp.acc.umu.se/pub/GNOME/apps/)
gnome_dictionary = callPackage ./desktop/gnome-dictionary { };
gnome_desktop = callPackage ./desktop/gnome-desktop { };
# Removed from recent GNOME releases, but still required
scrollkeeper = callPackage ./desktop/scrollkeeper { };
# scrollkeeper replacement
rarian = callPackage ./desktop/rarian { };
}

View File

@ -0,0 +1,18 @@
{ stdenv, fetchurl, pkgconfig, python, libxml2Python, libxslt, which, libX11, gnome3
, intltool, gnome_doc_utils}:
stdenv.mkDerivation rec {
majorVersion = "3.5";
minorVersion = "3";
name = "gnome-desktop-${majorVersion}.${minorVersion}";
src = fetchurl {
url = "mirror://gnome/sources/gnome-desktop/${majorVersion}/${name}.tar.xz";
sha256 = "1nrqcp1p5cxhfjjy5hjpvkqmzsgl2353a08fg0b11c932v95bsba";
};
configureFlags = "--disable-scrollkeeper";
buildInputs = [ pkgconfig python libxml2Python libxslt which libX11
gnome3.gtk gnome3.glib intltool gnome_doc_utils ];
}

View File

@ -0,0 +1,15 @@
{ stdenv, fetchurl, pkgconfig, gnome3, gnome_doc_utils, intltool, which
, libxml2, libxslt }:
stdenv.mkDerivation rec {
version = "3.5.2";
name = "gnome-dictionary-${version}";
src = fetchurl {
url = "mirror://gnome/sources/gnome-dictionary/3.5/${name}.tar.xz";
sha256 = "1cq32csxn27vir5nlixx337ym2nal9ykq3s1j7yynh2adh4m0jil";
};
buildInputs = [ gnome3.gtk ];
nativeBuildInputs = [ pkgconfig intltool gnome_doc_utils which libxml2 libxslt gnome3.scrollkeeper ];
}

View File

@ -0,0 +1,11 @@
{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42}:
stdenv.mkDerivation rec {
name = "rarian-0.8.1";
src = fetchurl {
url = "mirror://gnome/sources/rarian/0.8/${name}.tar.bz2";
sha256 = "aafe886d46e467eb3414e91fa9e42955bd4b618c3e19c42c773026b205a84577";
};
buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt];
configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
}

View File

@ -0,0 +1,18 @@
{stdenv, fetchurl, pkgconfig, perl, perlXMLParser, libxml2, libxslt, docbook_xml_dtd_42, automake}:
stdenv.mkDerivation {
name = "scrollkeeper-0.3.14";
src = fetchurl {
url = mirror://gnome/sources/scrollkeeper/0.3/scrollkeeper-0.3.14.tar.bz2;
sha256 = "08n1xgj1f53zahwm0wpn3jid3rfbhi3iwby0ilaaldnid5qriqgc";
};
# The fuloong2f is not supported by scrollkeeper-0.3.14 config.guess
preConfigure = "
substituteInPlace extract/dtds/Makefile.am --replace /usr/bin/xmlcatalog xmlcatalog
cp ${automake}/share/automake*/config.{sub,guess} .
";
buildInputs = [pkgconfig perl perlXMLParser libxml2 libxslt];
configureFlags = "--with-xml-catalog=${docbook_xml_dtd_42}/xml/dtd/docbook/docbook.cat";
}

View File

@ -1,8 +1,10 @@
{ kde, boost, cyrus_sasl, gpgme, libical, openldap, shared_mime_info
{ kde, pkgconfig, boost, cyrus_sasl, gpgme, libical, openldap, shared_mime_info
, kdelibs, akonadi, libxslt, prison, nepomuk_core
, shared_desktop_ontologies, qjson }:
kde {
nativeBuildInputs = [ pkgconfig ];
buildInputs =
[ boost gpgme libical libxslt qjson
openldap cyrus_sasl akonadi shared_desktop_ontologies

View File

@ -0,0 +1,37 @@
{ pkgs, newScope }: let
common = (import ./common.nix) { inherit pkgs newScope xfce_self; };
callPackage = common.callPackage;
xfce_self = common.xfce_common // rec { # the lines are very long but it seems better than the even-odd line approach
#### CORE
exo = callPackage ./core/exo.nix { v= "0.6.2"; h= "0f8zh5y057l7xffskjvky6k88hrnz6jyk35mvlfpmx26anlgd77l"; };
libxfce4ui = callPackage ./core/libxfce4ui.nix { v= "4.8.1"; h= "0mlrcr8rqmv047xrb2dbh7f4knsppb1anx2b05s015h6v8lyvjrr"; };
libxfce4util = callPackage ./core/libxfce4util.nix { v= "4.8.2"; h= "05n8586h2fwkibfld5fm4ygx1w66jnbqqb3li0ardjvm2n24k885"; };
libxfcegui4 = callPackage ./core/libxfcegui4.nix { v= "4.8.1"; h= "0hr4h6a9p6w3qw1976p8v9c9pwhd9zhrjlbaph0p7nyz7j1836ih"; };
thunar = callPackage ./core/thunar.nix { v= "1.2.3"; h= "19mczys6xr683r68g3s2njrrmnk1p73zypvwrhajw859c6nsjsp6"; };
xfce4panel = callPackage ./core/xfce4-panel.nix { v= "4.8.6"; h= "00zdkg1jg4n2n109nxan8ji2m06r9mc4lnlrvb55xvj229m2dwb6"; };
xfce4session = callPackage ./core/xfce4-session.nix { v= "4.8.2"; h= "1l608kik98jxbjl73waf8515hzji06lr80qmky2qlnp0b6js5g1i"; };
xfce4settings = callPackage ./core/xfce4-settings.nix { v= "4.8.3"; h= "0bmw0s6jp2ws4n0f3387zwsyv46b0w89m6r70yb7wrqy9r3wqy6q"; };
xfceutils = callPackage ./core/xfce-utils.nix { v= "4.8.3"; h= "09mr0amp2f632q9i3vykaa0x5nrfihfm9v5nxsx9vch8wvbp0l03"; };
xfconf = callPackage ./core/xfconf.nix { v= "4.8.1"; h= "1jwkb73xcgqfly449jwbn2afiyx50p150z60x19bicps75sp6q4q"; };
xfdesktop = callPackage ./core/xfdesktop.nix { v= "4.8.3"; h= "097lc9djmay0jyyl42jmvcfda75ndp265nzn0aa3hv795bsn1175"; };
xfwm4 = callPackage ./core/xfwm4.nix { v= "4.8.3"; h= "0zi2g1d2jdgw5armlk9xjh4ykmydy266gdba86nmhy951gm8n3hb"; };
xfce4_appfinder = callPackage ./core/xfce4-appfinder.nix { v= "4.8.0"; h= "0zy7i9x4qjchmyb8nfpb7m2ply5n2aq35p9wrhb8lpz4am1ihx7x"; };
#### APPLICATIONS
terminal = null; # newer versions don't build with 4.8
# versions > 0.3* don't build with xfce-4.8.*
ristretto = callPackage ./applications/ristretto.nix { v= "0.3.7"; h= "19mzy159j4qhd7pd1b83gimxfdg3mwdab9lq9kk505d21r7iqc9b"; };
xfce4mixer = callPackage ./applications/xfce4-mixer.nix { v= "4.8.0"; h= "1aqgjxvck6hx26sk3n4n5avhv02vs523mfclcvjb3xnks3yli7wz"; };
}; # xfce_self
in xfce_self

View File

@ -0,0 +1,35 @@
{ pkgs, newScope }: let
common = (import ./common.nix) { inherit pkgs newScope xfce_self; };
callPackage = common.callPackage;
xfce_self = common.xfce_common // rec { # the lines are very long but it seems better than the even-odd line approach
#### CORE
exo = callPackage ./core/exo.nix { v= "0.10.2"; h= "1kknxiz703q4snmry65ajm26jwjslbgpzdal6bd090m3z25q51dk"; };
libxfce4ui = callPackage ./core/libxfce4ui.nix { v= "4.10.0"; h= "1qm31s6568cz4c8rl9fsfq0xmf7pldxm0ki62gx1cpybihlgmfd2"; };
libxfce4util = callPackage ./core/libxfce4util.nix { v= "4.10.0"; h= "13k0wwbbqvdmbj4xmk4nxdlgvrdgr5y6r3dk380mzfw053hzwy89"; };
libxfcegui4 = callPackage ./core/libxfcegui4.nix { v= "4.10.0"; h= "0cs5im0ib0cmr1lhr5765yliqjfyxvk4kwy8h1l8bn3mj6bzk0ib"; };
thunar = callPackage ./core/thunar.nix { v= "1.6.2"; h= "11dx38rvkfbp91pxrprymxhimsm90gvizp277x9s5rwnwcm1ggbx"; };
xfce4panel = callPackage ./core/xfce4-panel.nix { v= "4.10.0"; h= "1f8903nx6ivzircl8d8s9zna4vjgfy0qhjk5d2x19g9bmycgj89k"; };
xfce4session = callPackage ./core/xfce4-session.nix { v= "4.10.0"; h= "1kj65jkjhd0ysf0yxsf88wzpyv6n8i8qgd3gb502hf1x9jksk2mv"; };
xfce4settings = callPackage ./core/xfce4-settings.nix { v= "4.10.0"; h= "0zppq747z9lrxyv5zrrvpalq7hb3gfhy9p7qbldisgv7m6dz0hq8"; };
xfceutils = null; # removed in 4.10
xfconf = callPackage ./core/xfconf.nix { v= "4.10.0"; h= "0xh520z0qh0ib0ijgnyrgii9h5d4pc53n6mx1chhyzfc86j1jlhp"; };
xfdesktop = callPackage ./core/xfdesktop.nix { v= "4.10.0"; h= "0yrddj1lgk3xn4w340y89z7x2isks72ia36pka08kk2x8gpfcyl9"; };
xfwm4 = callPackage ./core/xfwm4.nix { v= "4.10.0"; h= "170zzs7adj47srsi2cl723w9pl8k8awd7w1bpzxby7hj92zmf8s9"; };
xfce4_appfinder = callPackage ./core/xfce4-appfinder.nix { v= "4.9.4"; h= "12lgrbd1n50w9n8xkpai98s2aw8vmjasrgypc57sp0x0qafsqaxq"; };
#### APPLICATIONS
ristretto = callPackage ./applications/ristretto.nix { v= "0.6.3"; h= "0y9d8w1plwp4vmxs44y8k8x15i0k0xln89k6jndhv6lf57g1cs1b"; };
terminal = xfce4terminal; # it has changed its name
xfce4mixer = callPackage ./applications/xfce4-mixer.nix { v= "4.10.0"; h= "1pnsd00583l7p5d80rxbh58brzy3jnccwikbbbm730a33c08kid8"; };
xfce4terminal = callPackage ./applications/terminal.nix { v= "0.6.1"; h= "1j6lpkq952mrl5p24y88f89wn9g0namvywhma639xxsswlkn8d31"; };
};
in xfce_self

View File

@ -0,0 +1,72 @@
{ pkgs, newScope, xfce_self }: rec {
callPackage = newScope (deps // xfce_self);
deps = rec { # xfce-global dependency overrides should be here
inherit (pkgs.gnome) libglade libwnck vte gtksourceview;
inherit (pkgs.perlPackages) URI;
# The useful bits from gnome-disk-utility.
libgdu = callPackage ./support/libgdu.nix { };
# Gvfs is required by Thunar for the trash feature and for volume
# mounting. Should use the one from Gnome, but I don't want to mess
# with the Gnome packages (or pull in a zillion Gnome dependencies).
gvfs = callPackage ./support/gvfs.nix { };
# intelligent fetcher for Xfce
fetchXfce = rec {
generic = prepend : name : hash :
let lib = pkgs.lib;
p = builtins.parseDrvName name;
versions = lib.splitString "." p.version;
ver_maj = lib.concatStrings (lib.intersperse "." (lib.take 2 versions));
name_low = lib.toLower p.name;
in pkgs.fetchurl {
url = "mirror://xfce/src/${prepend}/${name_low}/${ver_maj}/${name}.tar.bz2";
sha256 = hash;
};
core = generic "xfce";
app = generic "apps";
art = generic "art";
};
};
xfce_common = rec {
inherit (deps) gvfs; # used by NixOS
#### CORE
garcon = callPackage ./core/garcon.nix { v= "0.2.0"; h= "0v7pkvxcayi86z4f173z5l7w270f3g369sa88z59w0y0p7ns7ph2"; };
# not used anymore TODO: really? Update to 2.99.2?
gtk_xfce_engine = callPackage ./core/gtk-xfce-engine.nix { };
# ToDo: segfaults after some work
tumbler = callPackage ./core/tumbler.nix { v= "0.1.27"; h= "0s9qj99b81asmlqa823nzykq8g6p9azcp2niak67y9bp52wv6q2c"; };
xfce4_power_manager = callPackage ./core/xfce4-power-manager.nix { v= "1.0.10"; h= "1w120k1sl4s459ijaxkqkba6g1p2sqrf9paljv05wj0wz12bpr40"; };
#### APPLICATIONS
#TODO: correct links; more stuff
xfce4notifyd = callPackage ./applications/xfce4-notifyd.nix { v= "0.2.2"; h= "0s4ilc36sl5k5mg5727rmqims1l3dy5pwg6dk93wyjqnqbgnhvmn"; };
gigolo = callPackage ./applications/gigolo.nix { v= "0.4.1"; h= "1y8p9bbv1a4qgbxl4vn6zbag3gb7gl8qj75cmhgrrw9zrvqbbww2"; };
xfce4taskmanager = callPackage ./applications/xfce4-taskmanager.nix { v= "1.0.0"; h= "1vm9gw7j4ngjlpdhnwdf7ifx6xrrn21011almx2vwidhk2f9zvy0"; };
mousepad = callPackage ./applications/mousepad.nix { v= "0.3.0"; h= "0v84zwhjv2xynvisn5vmp7dbxfj4l4258m82ks7hn3adk437bwhh"; };
thunar_volman = callPackage ./core/thunar-volman.nix { };
#### ART
xfce4icontheme = callPackage ./art/xfce4-icon-theme.nix { v= "4.4.3"; h= "1yk6rx3zr9grm4jwpjvqdkl13pisy7qn1wm5cqzmd2kbsn96cy6l"; };
#### PANEL PLUGINS
xfce4_systemload_plugin = callPackage ./panel-plugins/xfce4-systemload-plugin.nix { };
xfce4_cpufreq_plugin = callPackage ./panel-plugins/xfce4-cpufreq-plugin.nix { };
};
}

View File

@ -0,0 +1,24 @@
{ stdenv, fetchurl, pkgconfig, glib, autoconf, automake, libtool, intltool }:
stdenv.mkDerivation rec {
p_name = "xfce4-dev-tools";
ver_maj = "4.10";
ver_min = "0";
src = fetchurl {
url = "mirror://xfce/src/xfce/${p_name}/${ver_maj}/${name}.tar.bz2";
sha256 = "1y1byfjciqhxqfxbjfp22bn5lxk3a01ng7zfjha8h5mzzfxlk5pp";
};
name = "${p_name}-${ver_maj}.${ver_min}";
buildInputs = [ pkgconfig glib ];
# not needed to build it but to use it
propagatedBuildInputs = [ autoconf automake libtool intltool ];
meta = {
homepage = http://foo-projects.org/~benny/projects/xfce4-dev-tools/;
description = "Tools and M4 macros for Xfce4 developers";
license = "GPLv2+";
};
}

View File

@ -0,0 +1,470 @@
From ae28aef315a7a6b90f1649ce6d1f30b842791cbf Mon Sep 17 00:00:00 2001
From: Nick Schermer <nick@xfce.org>
Date: Sun, 04 Nov 2012 20:23:36 +0000
Subject: Add shutdown/reboot functionality for systemd (bug #8729).
Based on patch by Christian Hesse and Evangelos Foutras.
---
diff --git a/configure.in.in b/configure.in.in
index 9aa4f8f..134d0f7 100644
--- a/configure.in
+++ b/configure.in
@@ -96,6 +96,10 @@ XDT_CHECK_PACKAGE([DBUS], [dbus-1], [1.1.0])
XDT_CHECK_PACKAGE([DBUS_GLIB], [dbus-glib-1], [0.84])
XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.9.0])
+dnl Check for polkit / systemd integration
+XDT_CHECK_OPTIONAL_PACKAGE([SYSTEMD], [polkit-gobject-1], [0.100],
+ [systemd], [Systemd support (through polit)])
+
dnl Check for debugging support
XDT_FEATURE_DEBUG([xfsm_debug_default])
diff --git a/xfce4-session/Makefile.am b/xfce4-session/Makefile.am
index c015154..f748b2b 100644
--- a/xfce4-session/Makefile.am
+++ b/xfce4-session/Makefile.am
@@ -38,8 +38,6 @@ xfce4_session_SOURCES = \
xfsm-compat-gnome.h \
xfsm-compat-kde.c \
xfsm-compat-kde.h \
- xfsm-consolekit.c \
- xfsm-consolekit.h \
xfsm-dns.c \
xfsm-dns.h \
xfsm-error.c \
@@ -65,6 +63,16 @@ xfce4_session_SOURCES = \
xfsm-upower.c \
xfsm-upower.h
+if HAVE_SYSTEMD
+xfce4_session_SOURCES += \
+ xfsm-systemd.c \
+ xfsm-systemd.h
+else
+xfce4_session_SOURCES += \
+ xfsm-consolekit.c \
+ xfsm-consolekit.h
+endif
+
xfce4_session_CFLAGS = \
$(LIBSM_CFLAGS) \
$(LIBX11_CFLAGS) \
@@ -72,6 +80,7 @@ xfce4_session_CFLAGS = \
$(DBUS_CFLAGS) \
$(DBUS_GLIB_CFLAGS) \
$(LIBWNCK_CFLAGS) \
+ $(SYSTEMD_CFLAGS) \
$(XFCONF_CFLAGS) \
$(GMODULE_CFLAGS) \
$(PLATFORM_CFLAGS)
@@ -91,6 +100,7 @@ xfce4_session_LDADD = \
$(DBUS_LIBS) \
$(DBUS_GLIB_LIBS) \
$(LIBWNCK_LIBS) \
+ $(SYSTEMD_LIBS) \
$(XFCONF_LIBS) \
-lm
diff --git a/xfce4-session/xfsm-shutdown.c b/xfce4-session/xfsm-shutdown.c
index d8757a8..4c483a7 100644
--- a/xfce4-session/xfsm-shutdown.c
+++ b/xfce4-session/xfsm-shutdown.c
@@ -66,10 +66,13 @@
#include <xfce4-session/xfsm-fadeout.h>
#include <xfce4-session/xfsm-global.h>
#include <xfce4-session/xfsm-legacy.h>
-#include <xfce4-session/xfsm-consolekit.h>
#include <xfce4-session/xfsm-upower.h>
-
+#ifdef HAVE_SYSTEMD
+#include <xfce4-session/xfsm-systemd.h>
+#else
+#include <xfce4-session/xfsm-consolekit.h>
+#endif
static void xfsm_shutdown_finalize (GObject *object);
static void xfsm_shutdown_sudo_free (XfsmShutdown *shutdown);
@@ -93,7 +96,11 @@ struct _XfsmShutdown
{
GObject __parent__;
+#ifdef HAVE_SYSTEMD
+ XfsmSystemd *systemd;
+#else
XfsmConsolekit *consolekit;
+#endif
XfsmUPower *upower;
/* kiosk settings */
@@ -131,7 +138,11 @@ xfsm_shutdown_init (XfsmShutdown *shutdown)
{
XfceKiosk *kiosk;
+#ifdef HAVE_SYSTEMD
+ shutdown->systemd = xfsm_systemd_get ();
+#else
shutdown->consolekit = xfsm_consolekit_get ();
+#endif
shutdown->upower = xfsm_upower_get ();
shutdown->helper_state = SUDO_NOT_INITIAZED;
shutdown->helper_require_password = FALSE;
@@ -150,7 +161,11 @@ xfsm_shutdown_finalize (GObject *object)
{
XfsmShutdown *shutdown = XFSM_SHUTDOWN (object);
+#ifdef HAVE_SYSTEMD
+ g_object_unref (G_OBJECT (shutdown->systemd));
+#else
g_object_unref (G_OBJECT (shutdown->consolekit));
+#endif
g_object_unref (G_OBJECT (shutdown->upower));
/* close down helper */
@@ -641,7 +656,11 @@ xfsm_shutdown_try_restart (XfsmShutdown *shutdown,
if (shutdown->helper_state == SUDO_AVAILABLE)
return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_RESTART, error);
else
+#ifdef HAVE_SYSTEMD
+ return xfsm_systemd_try_restart (shutdown->systemd, error);
+#else
return xfsm_consolekit_try_restart (shutdown->consolekit, error);
+#endif
}
@@ -658,7 +677,11 @@ xfsm_shutdown_try_shutdown (XfsmShutdown *shutdown,
if (shutdown->helper_state == SUDO_AVAILABLE)
return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_SHUTDOWN, error);
else
+#ifdef HAVE_SYSTEMD
+ return xfsm_systemd_try_shutdown (shutdown->systemd, error);
+#else
return xfsm_consolekit_try_shutdown (shutdown->consolekit, error);
+#endif
}
@@ -698,7 +721,11 @@ xfsm_shutdown_can_restart (XfsmShutdown *shutdown,
return TRUE;
}
+#ifdef HAVE_SYSTEMD
+ if (xfsm_systemd_can_restart (shutdown->systemd, can_restart, error))
+#else
if (xfsm_consolekit_can_restart (shutdown->consolekit, can_restart, error))
+#endif
return TRUE;
if (xfsm_shutdown_sudo_init (shutdown, error))
@@ -725,7 +752,11 @@ xfsm_shutdown_can_shutdown (XfsmShutdown *shutdown,
return TRUE;
}
+#ifdef HAVE_SYSTEMD
+ if (xfsm_systemd_can_shutdown (shutdown->systemd, can_shutdown, error))
+#else
if (xfsm_consolekit_can_shutdown (shutdown->consolekit, can_shutdown, error))
+#endif
return TRUE;
if (xfsm_shutdown_sudo_init (shutdown, error))
diff --git a/xfce4-session/xfsm-systemd.c b/xfce4-session/xfsm-systemd.c
new file mode 100644
index 0000000..7bdd39d
--- /dev/null
+++ b/xfce4-session/xfsm-systemd.c
@@ -0,0 +1,229 @@
+/*-
+ * Copyright (C) 2012 Christian Hesse
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2, or (at your option)
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
+ * MA 02110-1301 USA.
+ */
+
+#include <config.h>
+
+#include <gio/gio.h>
+#include <polkit/polkit.h>
+#include <dbus/dbus-glib.h>
+#include <dbus/dbus-glib-lowlevel.h>
+
+#include <xfce4-session/xfsm-systemd.h>
+
+
+
+#define SYSTEMD_DBUS_NAME "org.freedesktop.login1"
+#define SYSTEMD_DBUS_PATH "/org/freedesktop/login1"
+#define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager"
+#define SYSTEMD_REBOOT_ACTION "Reboot"
+#define SYSTEMD_POWEROFF_ACTION "PowerOff"
+#define SYSTEMD_REBOOT_TEST "org.freedesktop.login1.reboot"
+#define SYSTEMD_POWEROFF_TEST "org.freedesktop.login1.power-off"
+
+
+
+static void xfsm_systemd_finalize (GObject *object);
+
+
+
+struct _XfsmSystemdClass
+{
+ GObjectClass __parent__;
+};
+
+struct _XfsmSystemd
+{
+ GObject __parent__;
+
+ PolkitAuthority *authority;
+ PolkitSubject *subject;
+};
+
+
+
+G_DEFINE_TYPE (XfsmSystemd, xfsm_systemd, G_TYPE_OBJECT)
+
+
+
+static void
+xfsm_systemd_class_init (XfsmSystemdClass *klass)
+{
+ GObjectClass *gobject_class;
+
+ gobject_class = G_OBJECT_CLASS (klass);
+ gobject_class->finalize = xfsm_systemd_finalize;
+}
+
+
+
+static void
+xfsm_systemd_init (XfsmSystemd *systemd)
+{
+ systemd->authority = polkit_authority_get_sync (NULL, NULL);
+ systemd->subject = polkit_unix_process_new (getpid());
+}
+
+
+
+static void
+xfsm_systemd_finalize (GObject *object)
+{
+ XfsmSystemd *systemd = XFSM_SYSTEMD (object);
+
+ g_object_unref (G_OBJECT (systemd->authority));
+ g_object_unref (G_OBJECT (systemd->subject));
+
+ (*G_OBJECT_CLASS (xfsm_systemd_parent_class)->finalize) (object);
+}
+
+
+static gboolean
+xfsm_systemd_can_method (XfsmSystemd *systemd,
+ gboolean *can_method,
+ const gchar *method,
+ GError **error)
+{
+ PolkitAuthorizationResult *res;
+ GError *local_error = NULL;
+
+ *can_method = FALSE;
+
+ res = polkit_authority_check_authorization_sync (systemd->authority,
+ systemd->subject,
+ method,
+ NULL,
+ POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE,
+ NULL,
+ &local_error);
+
+ if (res == NULL)
+ {
+ g_propagate_error (error, local_error);
+ return FALSE;
+ }
+
+ *can_method = polkit_authorization_result_get_is_authorized (res)
+ || polkit_authorization_result_get_is_challenge (res);
+
+ g_object_unref (G_OBJECT (res));
+
+ return TRUE;
+}
+
+
+
+static gboolean
+xfsm_systemd_try_method (XfsmSystemd *systemd,
+ const gchar *method,
+ GError **error)
+{
+ GDBusConnection *bus;
+ GError *local_error = NULL;
+
+ bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, error);
+ if (G_UNLIKELY (bus == NULL))
+ return FALSE;
+
+ g_dbus_connection_call_sync (bus,
+ SYSTEMD_DBUS_NAME,
+ SYSTEMD_DBUS_PATH,
+ SYSTEMD_DBUS_INTERFACE,
+ method,
+ g_variant_new ("(b)", TRUE),
+ NULL, 0, G_MAXINT, NULL,
+ &local_error);
+
+ g_object_unref (G_OBJECT (bus));
+
+ if (local_error != NULL)
+ {
+ g_propagate_error (error, local_error);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+
+
+XfsmSystemd *
+xfsm_systemd_get (void)
+{
+ static XfsmSystemd *object = NULL;
+
+ if (G_LIKELY (object != NULL))
+ {
+ g_object_ref (G_OBJECT (object));
+ }
+ else
+ {
+ object = g_object_new (XFSM_TYPE_SYSTEMD, NULL);
+ g_object_add_weak_pointer (G_OBJECT (object), (gpointer) &object);
+ }
+
+ return object;
+}
+
+
+
+gboolean
+xfsm_systemd_try_restart (XfsmSystemd *systemd,
+ GError **error)
+{
+ return xfsm_systemd_try_method (systemd,
+ SYSTEMD_REBOOT_ACTION,
+ error);
+}
+
+
+
+gboolean
+xfsm_systemd_try_shutdown (XfsmSystemd *systemd,
+ GError **error)
+{
+ return xfsm_systemd_try_method (systemd,
+ SYSTEMD_POWEROFF_ACTION,
+ error);
+}
+
+
+
+gboolean
+xfsm_systemd_can_restart (XfsmSystemd *systemd,
+ gboolean *can_restart,
+ GError **error)
+{
+ return xfsm_systemd_can_method (systemd,
+ can_restart,
+ SYSTEMD_REBOOT_TEST,
+ error);
+}
+
+
+
+gboolean
+xfsm_systemd_can_shutdown (XfsmSystemd *systemd,
+ gboolean *can_shutdown,
+ GError **error)
+{
+ return xfsm_systemd_can_method (systemd,
+ can_shutdown,
+ SYSTEMD_POWEROFF_TEST,
+ error);
+}
diff --git a/xfce4-session/xfsm-systemd.h b/xfce4-session/xfsm-systemd.h
new file mode 100644
index 0000000..8223622
--- /dev/null
+++ b/xfce4-session/xfsm-systemd.h
@@ -0,0 +1,55 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*-
+ *
+ * Copyright (C) 2012 Christian Hesse
+ *
+ * Licensed under the GNU General Public License Version 2
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ */
+
+#ifndef __XFSM_SYSTEMD_H__
+#define __XFSM_SYSTEMD_H__
+
+typedef struct _XfsmSystemdClass XfsmSystemdClass;
+typedef struct _XfsmSystemd XfsmSystemd;
+
+#define XFSM_TYPE_SYSTEMD (xfsm_systemd_get_type ())
+#define XFSM_SYSTEMD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), XFSM_TYPE_SYSTEMD, XfsmSystemd))
+#define XFSM_SYSTEMD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), XFSM_TYPE_SYSTEMD, XfsmSystemdClass))
+#define XFSM_IS_SYSTEMD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), XFSM_TYPE_SYSTEMD))
+#define XFSM_IS_SYSTEMD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), XFSM_TYPE_SYSTEMD))
+#define XFSM_SYSTEMD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), XFSM_TYPE_SYSTEMD, XfsmSystemdClass))
+
+GType xfsm_systemd_get_type (void) G_GNUC_CONST;
+
+XfsmSystemd *xfsm_systemd_get (void);
+
+gboolean xfsm_systemd_try_restart (XfsmSystemd *systemd,
+ GError **error);
+
+gboolean xfsm_systemd_try_shutdown (XfsmSystemd *systemd,
+ GError **error);
+
+gboolean xfsm_systemd_can_restart (XfsmSystemd *systemd,
+ gboolean *can_restart,
+ GError **error);
+
+gboolean xfsm_systemd_can_shutdown (XfsmSystemd *systemd,
+ gboolean *can_shutdown,
+ GError **error);
+
+G_END_DECLS
+
+#endif /* __XFSM_SYSTEMD_H__ */
--
cgit v0.9.1

View File

@ -35,7 +35,7 @@ xfce_self = rec { # the lines are very long but it seems better than the even-od
xfwm4 = callPackage ./core/xfwm4.nix { };
xfce4_appfinder = callPackage ./core/xfce4-appfinder.nix { };
xfce4_dev_tools = callPackage ./core/xfce4-dev-tools.nix { }; # only if autotools are needed
#### APPLICATIONS from "mirror://xfce/src/apps/${p_name}/${ver_maj}/${name}.tar.bz2"

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, perl, groff, cmake, python }:
{ stdenv, fetchurl, perl, groff, cmake, python, libffi }:
let version = "3.2"; in
@ -10,11 +10,21 @@ stdenv.mkDerivation {
sha256 = "0hv30v5l4fkgyijs56sr1pbrlzgd674pg143x7az2h37sb290l0j";
};
buildInputs = [ perl groff cmake python ];
patches = [ ./set_soname.patch ]; # http://llvm.org/bugs/show_bug.cgi?id=12334
patchFlags = "-p0";
cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
preConfigure = "patchShebangs .";
propagatedBuildInputs = [ libffi ];
buildInputs = [ perl groff cmake python ]; # ToDo: polly, libc++; enable cxx11?
# created binaries need to be run before installation... I coudn't find a better way
preBuild = ''export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:"`pwd`/lib'';
cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" "-DBUILD_SHARED_LIBS=ON" ];
enableParallelBuilding = true;
#doCheck = true; # tests are broken, don't know why
meta = {
homepage = http://llvm.org/;

View File

@ -0,0 +1,12 @@
https://bugs.gentoo.org/show_bug.cgi?id=409267
http://llvm.org/bugs/show_bug.cgi?id=12334
--- tools/llvm-shlib/Makefile.orig 2012-03-26 18:14:13.071797115 +0200
+++ tools/llvm-shlib/Makefile 2012-03-26 17:31:12.491196254 +0200
@@ -67,6 +67,7 @@
# Include everything from the .a's into the shared library.
LLVMLibsOptions := -Wl,--whole-archive $(LLVMLibsOptions) \
-Wl,--no-whole-archive
+ LLVMLibsOptions += -Wl,--soname,lib$(LIBRARYNAME)$(SHLIBEXT)
endif
ifeq ($(HOST_OS),Linux)

View File

@ -1,18 +1,25 @@
{ stdenv, fetchurl, yacc, flex, pkgconfig, glib, libintlOrEmpty }:
{ stdenv, fetchurl, yacc, flex, pkgconfig, glib, dbus, dbus_tools
, libiconvOrEmpty, libintlOrEmpty }:
stdenv.mkDerivation rec {
version = "0.17.2";
name = "vala-${version}";
p_name = "vala";
ver_maj = "0.19";
ver_min = "0";
src = fetchurl {
url = "mirror://gnome/sources/vala/0.17/${name}.tar.xz";
sha256 = "09i2s0dwmrk147ind2dx7nq845g12fp6fsjqrphhrr0dbi0zzgh3";
url = "mirror://gnome/sources/${p_name}/${ver_maj}/${name}.tar.xz";
sha256 = "1vn524hcnaggz8zx49mvf7p4z1mscrlj2syg7jjhph8nak5wi0bp";
};
name = "${p_name}-${ver_maj}.${ver_min}";
postPatch = "patchShebangs .";
nativeBuildInputs = [ yacc flex pkgconfig ];
buildInputs = [ glib ] ++ libintlOrEmpty;
buildInputs = [ glib ] ++ libiconvOrEmpty ++ libintlOrEmpty
++ stdenv.lib.optional doCheck [ dbus dbus_tools ];
doCheck = false; # problems when launching dbus tests
meta = {
description = "Compiler for the GObject type system";

View File

@ -34,7 +34,9 @@
# Explicitly link against libgcc_s, to work around the infamous
# "libgcc_s.so.1 must be installed for pthread_cancel to work".
LDFLAGS = "-lgcc_s";
# don't have "libgcc_s.so.1" on darwin
LDFLAGS = stdenv.lib.optionalString (!stdenv.isDarwin) "-lgcc_s";
postInstall = ''
wrapProgram $out/bin/guile-snarf --prefix PATH : "${gawk}/bin"
@ -48,7 +50,8 @@
s|-lltdl|-L${libtool}/lib -lltdl|g'
'';
doCheck = true;
# make check doesn't work on darwin
doCheck = !stdenv.isDarwin;
setupHook = ./setup-hook-2.0.sh;
@ -63,6 +66,10 @@
meta = {
description = "GNU Guile 2.0, an embeddable Scheme implementation";
homepage = http://www.gnu.org/software/guile/;
license = stdenv.lib.licenses.lgpl3Plus;
maintainers = with stdenv.lib.maintainers; [ ludo lovek323 ];
platforms = stdenv.lib.platforms.all;
longDescription = ''
GNU Guile is an implementation of the Scheme programming language, with
@ -73,13 +80,6 @@
linking, a foreign function call interface, and powerful string
processing.
'';
homepage = http://www.gnu.org/software/guile/;
license = "LGPLv3+";
maintainers = [ stdenv.lib.maintainers.ludo ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -2,8 +2,11 @@
libX11, graphicsmagick, pcre, liblapack, texLive, pkgconfig, mesa, fltk,
fftw, fftwSinglePrec, zlib, curl, qrupdate }:
let
version = "3.6.4";
in
stdenv.mkDerivation rec {
name = "octave-3.6.4";
name = "octave-${version}";
src = fetchurl {
url = "mirror://gnu/octave/${name}.tar.bz2";
sha256 = "0qn9s7jrjmrn6w3rvp8d7vfnymyv0spnxzrp9l7p8p8zb7wms67s";
@ -27,6 +30,11 @@ stdenv.mkDerivation rec {
cp test/fntests.log $out/share/octave/${name}-fntests.log
'';
passthru = {
inherit version;
sitePath = "share/octave/${version}/site";
};
meta = {
homepage = http://octave.org/;
license = "GPLv3+";

View File

@ -9,11 +9,11 @@ with stdenv.lib;
let
majorVersion = "2.7";
version = "${majorVersion}.4";
version = "${majorVersion}.5";
src = fetchurl {
url = "http://www.python.org/ftp/python/${version}/Python-${version}.tar.bz2";
sha256 = "0nd3x4j2w8pi9ac3pawrzb5i3s88hw0aasr08dprdv7q81fp0pq3";
sha256 = "0nc091f19sllibvxm6n3qw5pflcphkwwxmz43q26lqafhra7airv";
};
patches =

View File

@ -58,7 +58,7 @@ stdenv.mkDerivation {
readlineSupport = readline != null;
opensslSupport = openssl != null;
tkSupport = (tk != null) && (tcl != null) && (libX11 != null) && (xproto != null);
libPrefix = "python${majorVersion}";
libPrefix = "python${majorVersion}m";
};
enableParallelBuilding = true;

View File

@ -105,6 +105,7 @@ g: # Get dependencies from patched gems
uuidtools = g.uuidtools_2_1_3;
websocket = g.websocket_1_0_7;
xapian_full_alaveteli = g.xapian_full_alaveteli_1_2_9_5;
xapian_ruby = g.xapian_ruby_1_2_15_1;
xml_simple = g.xml_simple_1_1_1;
yajl_ruby = g.yajl_ruby_1_1_0;
};
@ -1570,6 +1571,16 @@ specify.'';
requiredGems = [ ];
sha256 = ''0qg1jkx5lr4a5v7l3f9gq7f07al6qaxxzma230zrzs48bz3qnhxm'';
};
xapian_ruby_1_2_15_1 = {
basename = ''xapian_ruby'';
meta = {
description = ''xapian libraries and ruby bindings'';
homepage = ''https://github.com/garaio/xapian-ruby'';
};
name = ''xapian-ruby-1.2.15.1'';
requiredGems = [ ];
sha256 = ''02v3l931246asbcivkr4j0x99pl4i4fjvfsr8ga8v6lkvz0ls1xp'';
};
xml_simple_1_1_1 = {
basename = ''xml_simple'';
meta = {

View File

@ -35,11 +35,17 @@ in
EOF
chmod +x $TMPDIR/g++
export CXX=$TMPDIR/g++
export AR=$(type -p ar)
'';
buildInputs = [ python ];
NIX_POST_EXTRACT_FILES_HOOK = writeScript "patch-scons" ''
#!/bin/sh
for i in `find "$1" -name scons`
do
sed -i -e "s@/usr/bin/env@$(type -p env)@g" $i
done
'';
};
sqlite3 = { propagatedBuildInputs = [ sqlite ]; };
@ -95,6 +101,10 @@ in
buildInputs = [ zlib libuuid ];
};
xapian_ruby = {
buildInputs = [ zlib libuuid ];
};
rjb = {
buildInputs = [ jdk ];
JAVA_HOME = jdk;

View File

@ -30,22 +30,31 @@ stdenv.mkDerivation rec {
++ (op zlibSupport zlib)
++ (op opensslSupport openssl)
++ (op gdbmSupport gdbm)
++ (op yamlSupport libyaml);
++ (op yamlSupport libyaml)
# Looks like ruby fails to build on darwin without readline even if curses
# support is not enabled, so add readline to the build inputs if curses
# support is disabled (if it's enabled, we already have it) and we're
# running on darwin
++ (op (!cursesSupport && stdenv.isDarwin) readline);
enableParallelBuilding = true;
patches = [ ./ruby19-parallel-install.patch ];
configureFlags = ["--enable-shared" "--enable-pthread"];
configureFlags = [ "--enable-shared" "--enable-pthread" ]
# on darwin, we have /usr/include/tk.h -- so the configure script detects
# that tk is installed
++ ( if stdenv.isDarwin then [ "--with-out-ext=tk " ] else [ ]);
installFlags = stdenv.lib.optionalString docSupport "install-doc";
# Bundler tries to create this directory
postInstall = "mkdir -pv $out/${passthru.gemPath}";
meta = {
license = "Ruby";
homepage = "http://www.ruby-lang.org/en/";
license = "Ruby";
homepage = "http://www.ruby-lang.org/en/";
description = "The Ruby language";
platforms = stdenv.lib.platforms.all;
maintainers = with stdenv.lib.maintainers; [ lovek323 ];
platforms = stdenv.lib.platforms.all;
};
passthru = rec {

View File

@ -1,23 +0,0 @@
{ stdenv, fetchurl, glib, dbus_glib, pkgconfig, libxml2, gtk3, intltool, polkit }:
stdenv.mkDerivation {
name = "GConf-3.2.3";
src = fetchurl {
url = mirror://gnome/sources/GConf/3.2/GConf-3.2.3.tar.xz;
sha256 = "0jd1z9gb1b7mv4g07qm554va6idasf3swgrfqflypdh9s38mvdcy";
};
propagatedBuildInputs = [ glib dbus_glib ];
buildInputs = [ polkit gtk3 libxml2 ];
nativeBuildInputs = [ pkgconfig intltool ];
configureFlags = "--disable-orbit";
meta = {
homepage = http://projects.gnome.org/gconf/;
description = "A system for storing application preferences";
maintainers = [ stdenv.lib.maintainers.urkud ];
inherit (gtk3.meta) platforms;
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, pkgconfig
{ stdenv, fetchurl, pkgconfig, audiofile
, openglSupport ? false, mesa ? null
, alsaSupport ? true, alsaLib ? null
, x11Support ? true, x11 ? null, libXrandr ? null
@ -16,25 +16,26 @@ assert pulseaudioSupport -> pulseaudio != null;
let
configureFlagsFun = attrs: ''
--disable-oss
--disable-oss --disable-video-x11-xme
--disable-x11-shared --disable-alsa-shared --enable-rpath --disable-pulseaudio-shared
--disable-osmesa-shared
${if alsaSupport then "--with-alsa-prefix=${attrs.alsaLib}/lib" else ""}
'';
in
stdenv.mkDerivation rec {
name = "SDL-1.2.14";
name = "SDL-1.2.15";
src = fetchurl {
url = "http://www.libsdl.org/release/${name}.tar.gz";
sha256 = "1dnrxr18cyar0xd13dca7h8wp1fin4n3iyncxfq6pjrlf0l7x4jx";
sha256 = "005d993xcac8236fpvd1iawkz4wqjybkpn8dbwaliqz5jfkidlyn";
};
# Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
propagatedBuildInputs = stdenv.lib.optionals x11Support [ x11 libXrandr ] ++
stdenv.lib.optional pulseaudioSupport pulseaudio;
buildInputs = [ pkgconfig ] ++
stdenv.lib.optional openglSupport mesa ++
buildInputs = [ pkgconfig audiofile ] ++
stdenv.lib.optional openglSupport [ mesa ] ++
stdenv.lib.optional alsaSupport alsaLib;
# XXX: By default, SDL wants to dlopen() PulseAudio, in which case

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig, perl, glib, libintlOrEmpty }:
stdenv.mkDerivation rec {
name = "atk-2.6.0";
name = "atk-2.8.0";
src = fetchurl {
url = "mirror://gnome/sources/atk/2.6/${name}.tar.xz";
sha256 = "eff663f90847620bb68c9c2cbaaf7f45e2ff44163b9ab3f10d15be763680491f";
url = "mirror://gnome/sources/atk/2.8/${name}.tar.xz";
sha256 = "1x3dd3hg9l1j9dq70xwph13vxdp6a9wbfcnryryf1wr6c8bij9dj";
};
buildInputs = libintlOrEmpty;

View File

@ -32,6 +32,10 @@ stdenv.mkDerivation rec {
stdenv.lib.optional postscriptSupport zlib ++
stdenv.lib.optional pngSupport libpng;
NIX_CFLAGS_COMPILE = ( if stdenv.isDarwin
then "-I${pixman}/include/pixman-1"
else "" );
configureFlags =
[ "--enable-tee" ]
++ stdenv.lib.optional xcbSupport "--enable-xcb"

View File

@ -1,60 +1,57 @@
{ postscriptSupport ? true
, pdfSupport ? true
, pngSupport ? true
, xcbSupport ? false
{ stdenv, fetchurl, pkgconfig, libiconvOrEmpty, libintlOrEmpty
, expat, zlib, libpng, pixman, fontconfig, freetype, xlibs
, gobjectSupport ? true, glib
, stdenv, fetchurl, pkgconfig, x11, fontconfig, freetype, xlibs
, zlib, libpng, pixman, libxcb ? null, xcbutil ? null
, libiconvOrEmpty, libintlOrEmpty
, xcbSupport ? true # no longer experimental since 1.12
, glSupport ? true, mesa_noglu ? null # mesa is no longer a big dependency
, pdfSupport ? true
}:
assert postscriptSupport -> zlib != null;
assert pngSupport -> libpng != null;
assert xcbSupport -> libxcb != null && xcbutil != null;
assert glSupport -> mesa_noglu != null;
with { inherit (stdenv.lib) optional optionals; };
stdenv.mkDerivation rec {
name = "cairo-1.12.4";
name = "cairo-1.12.14";
src = fetchurl {
url = "http://cairographics.org/releases/${name}.tar.xz";
sha1 = "f4158981ed01e73c94fb8072074b17feee61a68b";
sha256 = "04xcykglff58ygs0dkrmmnqljmpjwp2qgwcz8sijqkdpz7ix3l4n";
};
buildInputs =
[ pkgconfig x11 fontconfig ]
++ stdenv.lib.optional (!stdenv.isDarwin) xlibs.libXrender
++ stdenv.lib.optionals xcbSupport [ libxcb xcbutil ]
++ libintlOrEmpty
++ libiconvOrEmpty;
nativeBuildInputs = [ pkgconfig ] ++ libintlOrEmpty ++ libiconvOrEmpty;
propagatedBuildInputs =
[ freetype pixman ] ++
stdenv.lib.optional gobjectSupport glib ++
stdenv.lib.optional postscriptSupport zlib ++
stdenv.lib.optional pngSupport libpng;
with xlibs; [ xlibs.xlibs fontconfig expat freetype pixman zlib libpng ]
++ optional (!stdenv.isDarwin) libXrender
++ optionals xcbSupport [ libxcb xcbutil ]
++ optional gobjectSupport glib
++ optionals glSupport [ mesa_noglu ]
;
configureFlags = [ "--enable-tee" ]
++ optional xcbSupport "--enable-xcb"
++ optional glSupport "--enable-gl"
++ optional pdfSupport "--enable-pdf"
;
NIX_CFLAGS_COMPILE = "-I${pixman}/include/pixman-1";
configureFlags =
[ "--enable-tee" ]
++ stdenv.lib.optional xcbSupport "--enable-xcb"
++ stdenv.lib.optional pdfSupport "--enable-pdf";
preConfigure = ''
# Work around broken `Requires.private' that prevents Freetype
# `-I' flags to be propagated.
sed -i "src/cairo.pc.in" \
-es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype}/include/freetype2 -I${freetype}/include|g'
''
preConfigure =
# On FreeBSD, `-ldl' doesn't exist.
+ (stdenv.lib.optionalString stdenv.isFreeBSD
(stdenv.lib.optionalString stdenv.isFreeBSD
'' for i in "util/"*"/Makefile.in" boilerplate/Makefile.in
do
cat "$i" | sed -es/-ldl//g > t
mv t "$i"
done
'');
'')
+
''
# Work around broken `Requires.private' that prevents Freetype
# `-I' flags to be propagated.
sed -i "src/cairo.pc.in" \
-es'|^Cflags:\(.*\)$|Cflags: \1 -I${freetype}/include/freetype2 -I${freetype}/include|g'
'';
enableParallelBuilding = true;

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, dbus, glib, gtkmm, pkgconfig }:
{ stdenv, fetchurl, dbus, glib, gtkmm, pkgconfig, expat }:
stdenv.mkDerivation rec {
name = "dbus-cplusplus-${version}";
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
sha256 = "0qafmy2i6dzx4n1dqp6pygyy6gjljnb7hwjcj2z11c1wgclsq4dw";
};
buildInputs = [ dbus glib gtkmm pkgconfig ];
buildInputs = [ dbus glib gtkmm pkgconfig expat ];
configureFlags = "--disable-ecore";

View File

@ -1,18 +1,20 @@
{ stdenv, fetchurl, pkgconfig, expat, gettext, libiconv, dbus, glib }:
stdenv.mkDerivation rec {
name = "dbus-glib-0.98";
name = "dbus-glib-0.100.2";
src = fetchurl {
url = "${meta.homepage}/releases/dbus-glib/${name}.tar.gz";
sha256 = "04fiwld5yaxyggxlvdmbaqkngh4fn8gfkkqckcp3274bpgb82z19";
sha256 = "1ibav91yg70f2l3l18cr0hf4mna1h9d4mrg0c60w4l8zjbd45fx5";
};
nativeBuildInputs = [ pkgconfig gettext ];
buildInputs = [ expat ] ++ stdenv.lib.optional (!stdenv.isLinux) libiconv;
propagatedBuildInputs = [ dbus glib ];
propagatedBuildInputs = [ dbus.libs glib ];
doCheck = true;
passthru = { inherit dbus glib; };

View File

@ -1,74 +1,107 @@
{ stdenv, fetchurl, pkgconfig, expat, libX11, libICE, libSM, useX11 ? true }:
{ stdenv, fetchurl, pkgconfig, autoconf, automake, libtool
, expat, systemd, glib, dbus_glib, python
, libX11, libICE, libSM, useX11 ? stdenv.isLinux }:
let
version = "1.6.8";
version = "1.6.12"; # 1.7.* isn't recommended, even for gnome 3.8
sha256 = "14pfh2ksn4srfry752kf1jy3c61hklcs9fx2xglw2ifhsszplypn";
src = fetchurl {
url = "http://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz";
sha256 = "fc1370ef38abeeb13f55c905ec002e60705fb0bfde3b8d21c8d6eb8056c11bac";
};
inherit (stdenv) lib;
patches = [
./ignore-missing-includedirs.patch ./implement-getgrouplist.patch
./ucred-dirty-hack.patch
];
buildInputsX = lib.optionals useX11 [ libX11 libICE libSM ];
# also other parts than "libs" need this statically linked lib
makeInternalLib = "(cd dbus && make libdbus-internal.la)";
systemdOrEmpty = lib.optional stdenv.isLinux systemd;
# A generic builder for individual parts (subdirs) of D-Bus
dbus_drv = name: subdirs: merge: stdenv.mkDerivation (lib.mergeAttrsByFuncDefaultsClean [{
name = "dbus-${name}-${version}";
src = fetchurl {
url = "http://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz";
inherit sha256;
};
configureFlags = [
"--localstatedir=/var"
"--sysconfdir=/etc"
"--with-session-socket-dir=/tmp"
"--with-systemdsystemunitdir=$(out)/lib/systemd"
];
preConfigure = ''
patchShebangs .
substituteInPlace tools/Makefile.am --replace 'install-localstatelibDATA:' 'disabled:'
autoreconf -fi
'';
installFlags = "sysconfdir=$(out)/etc";
doCheck = true;
patches = [ ./ignore-missing-includedirs.patch ]
++ lib.optional (stdenv.isSunOS || stdenv.isLinux/*avoid rebuilds*/) ./implement-getgrouplist.patch
++ [ ./ucred-dirty-hack.patch ./no-create-dirs.patch ];
nativeBuildInputs = [ pkgconfig ];
propagatedBuildInputs = [ expat ];
buildInputs = [ autoconf automake libtool ]; # ToDo: optional selinux?
# build only the specified subdirs
postPatch = "sed '/SUBDIRS/s/=.*/=" + subdirs + "/' -i Makefile.am\n"
# use already packaged libdbus instead of trying to build it again
+ lib.optionalString (name != "libs") ''
for mfile in */Makefile.am; do
sed 's,\$(top_builddir)/dbus/\(libdbus-[0-9]\),${libs}/lib/\1,g' -i "$mfile"
done
'';
} merge ]);
libs = dbus_drv "libs" "dbus" ({
# Enable X11 autolaunch support in libdbus. This doesn't actually depend on X11
# (it just execs dbus-launch in dbus.tools), contrary to what the configure script demands.
NIX_CFLAGS_COMPILE = "-DDBUS_ENABLE_X11_AUTOLAUNCH=1";
} // stdenv.lib.optionalAttrs (systemdOrEmpty != []) {
buildInputs = [ systemd.headers ];
patches = [ ./systemd.patch ]; # bypass systemd detection
});
configureFlags = "--localstatedir=/var --sysconfdir=/etc --with-session-socket-dir=/tmp";
in rec {
libs = stdenv.mkDerivation {
name = "dbus-library-" + version;
# This package has been split because most applications only need dbus.lib
# which serves as an interface to a *system-wide* daemon,
# see e.g. http://en.wikipedia.org/wiki/D-Bus#Architecture .
# Also some circular dependencies get split by this (like with systemd).
nativeBuildInputs = [ pkgconfig ];
inherit libs;
buildInputs = [ expat libX11 ];
tools = dbus_drv "tools" "tools" {
configureFlags = [ "--with-dbus-daemondir=${daemon}/bin" ];
buildInputs = buildInputsX ++ systemdOrEmpty ++ [ libs daemon dbus_glib ];
NIX_CFLAGS_LINK = "-Wl,--as-needed -ldbus-1";
# FIXME: dbus has optional systemd integration when checking
# at_console policies. How to enable this without introducing a
# circular dependency between dbus and systemd?
inherit src patches configureFlags;
preConfigure =
''
sed -i '/mkinstalldirs.*localstatedir/d' bus/Makefile.in
sed -i '/SUBDIRS/s/ tools//' Makefile.in
'';
# Enable X11 autolaunch support in libdbus. This doesn't actually
# depend on X11 (it just execs dbus-launch in dbus.tools),
# contrary to what the configure script demands.
NIX_CFLAGS_COMPILE = "-DDBUS_ENABLE_X11_AUTOLAUNCH=1";
installFlags = "sysconfdir=$(out)/etc";
meta.platforms = stdenv.lib.platforms.all;
};
tools = stdenv.mkDerivation {
name = "dbus-tools-" + version;
inherit src patches;
configureFlags = "${configureFlags} --with-dbus-daemondir=${daemon}/bin";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ expat libs ]
++ stdenv.lib.optionals useX11 [ libX11 libICE libSM ];
NIX_LDFLAGS = "-ldbus-1";
preConfigure =
''
sed -i 's@$(top_builddir)/dbus/libdbus-1.la@@' tools/Makefile.in
substituteInPlace tools/Makefile.in --replace 'install-localstatelibDATA:' 'disabled:'
'';
postConfigure = "cd tools";
installFlags = "localstatedir=$TMPDIR/var";
daemon = dbus_drv "daemon" "bus" {
preBuild = makeInternalLib;
buildInputs = systemdOrEmpty;
};
# I'm too lazy to separate daemon and libs now.
daemon = libs;
# Some of the tests don't work yet; in fact, @vcunat tried several packages
# containing dbus testing, and all of them have some test failure.
tests = dbus_drv "tests" "test" {
preBuild = makeInternalLib;
buildInputs = buildInputsX ++ systemdOrEmpty ++ [ libs tools daemon dbus_glib python ];
NIX_CFLAGS_LINK = "-Wl,--as-needed -ldbus-1";
};
docs = dbus_drv "docs" "doc" {
postInstall = ''rm -r "$out/lib"'';
};
}

View File

@ -0,0 +1,26 @@
diff --git a/bus/Makefile.am b/bus/Makefile.am
index 6cbc09a..be60bb8 100644
--- a/bus/Makefile.am
+++ b/bus/Makefile.am
@@ -212,7 +212,6 @@ clean-local:
/bin/rm *.bb *.bbg *.da *.gcov || true
install-data-hook:
- $(mkinstalldirs) $(DESTDIR)$(localstatedir)/run/dbus
$(mkinstalldirs) $(DESTDIR)$(configdir)/system.d
$(mkinstalldirs) $(DESTDIR)$(configdir)/session.d
$(mkinstalldirs) $(DESTDIR)$(datadir)/dbus-1/services
diff --git a/tools/Makefile.am b/tools/Makefile.am
index cfd54b8..b6e28f9 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -74,7 +74,7 @@ CLEANFILES = \
# create the /var/lib/dbus directory for dbus-uuidgen
install-data-local:
- $(MKDIR_P) $(DESTDIR)$(localstatedir)/lib/dbus
+ :
installcheck-local:
- test -d $(DESTDIR)$(localstatedir)/lib/dbus
+ :

View File

@ -0,0 +1,14 @@
diff --git a/configure.ac b/configure.ac
index 24fcc9e..98e0459 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1167,7 +1167,8 @@ else
PKG_CHECK_MODULES(SYSTEMD,
[libsystemd-login >= 32, libsystemd-daemon >= 32],
have_systemd=yes,
- have_systemd=no)
+ have_systemd=yes)
+ AC_MSG_NOTICE([NixOS: do not care whether we found systemd or not])
fi
if test x$have_systemd = xyes; then

View File

@ -11,5 +11,6 @@ stdenv.mkDerivation rec {
meta = {
homepage = http://www.libexpat.org/;
description = "A stream-oriented XML parser library written in C";
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,18 +1,24 @@
{ stdenv, fetchurl, pkgconfig, freetype, expat }:
stdenv.mkDerivation rec {
name = "fontconfig-2.10.1";
name = "fontconfig-2.10.2";
src = fetchurl {
url = "http://fontconfig.org/release/${name}.tar.gz";
sha256 = "08h252crb3aqciwdk81jypmz2i7618dzqn3zlr87w1f017wjp4f3";
url = "http://fontconfig.org/release/${name}.tar.bz2";
sha256 = "0llraqw86jmw4vzv7inskp3xxm2gc64my08iwq5mzncgfdbfza4f";
};
buildInputs = [ pkgconfig freetype ];
infinality_patch = with freetype.infinality; if useInfinality
then let subvers = "1";
in fetchurl {
url = "${base_URL}/fontconfig-infinality-1-${vers}_${subvers}.tar.bz2";
sha256 = "1fm5xx0mx2243jrq5rxk4v0ajw2nawpj23399h710bx6hd1rviq7";
}
else null;
propagatedBuildInputs = [ expat ]; # !!! shouldn't be necessary, but otherwise pango breaks
buildInputs = [ pkgconfig freetype expat ];
configureFlags = "--with-confdir=/etc/fonts --with-cache-dir=/var/cache/fontconfig --disable-docs --with-default-fonts=";
configureFlags = "--sysconfdir=/etc --with-cache-dir=/var/cache/fontconfig --disable-docs --with-default-fonts=";
# We should find a better way to access the arch reliably.
crossArch = stdenv.cross.arch or null;
@ -26,11 +32,16 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
# Don't try to write to /etc/fonts or /var/cache/fontconfig at install time.
installFlags = "CONFDIR=$(out)/etc/fonts RUN_FC_CACHE_TEST=false fc_cachedir=$(TMPDIR)/dummy";
installFlags = "sysconfdir=$(out)/etc RUN_FC_CACHE_TEST=false fc_cachedir=$(TMPDIR)/dummy";
postInstall = stdenv.lib.optionalString freetype.infinality.useInfinality ''
cd "$out/etc/fonts" && tar xvf ${infinality_patch}
'';
meta = {
description = "A library for font customization and configuration";
homepage = http://fontconfig.org/;
license = "bsd";
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,15 +1,15 @@
{ stdenv, fetchurl, libXi, libXrandr, libXxf86vm, mesa, x11 }:
stdenv.mkDerivation {
name = "freeglut-2.8.0";
name = "freeglut-2.8.1";
src = fetchurl {
url = mirror://sourceforge/freeglut/freeglut-2.8.0.tar.gz;
sha256 = "197293ff886abe613bc9eb4a762d9161b0c9e64b3e8e613ed7c5e353974fba05";
url = mirror://sourceforge/freeglut/freeglut-2.8.1.tar.gz;
sha256 = "16lrxxxd9ps9l69y3zsw6iy0drwjsp6m26d1937xj71alqk6dr6x";
};
configureFlags = "--" + (if stdenv.isDarwin then "disable" else "enable") + "-warnings";
buildInputs = [ libXi libXrandr libXxf86vm mesa x11 ];
patches = [ ./0001-remove-typedefs-now-living-in-mesa.patch ];
# patches = [ ./0001-remove-typedefs-now-living-in-mesa.patch ];
}

View File

@ -1,22 +1,50 @@
{ stdenv, fetchurl, gnumake
, # FreeType supports sub-pixel rendering. This is patented by
# FreeType supports sub-pixel rendering. This is patented by
# Microsoft, so it is disabled by default. This option allows it to
# be enabled. See http://www.freetype.org/patents.html.
useEncumberedCode ? false
, useEncumberedCode ? false
, useInfinality ? true
}:
assert !(useEncumberedCode && useInfinality); # probably wouldn't make sense
let
version = "2.4.11";
infinality = rec {
inherit useInfinality;
vers = "20130104";
subvers = "04";
sha256 = "0dqglig34lfcw0w6sm6vmich0pcvq303vyh8jzqapvxgvrpr2156";
base_URL = "http://www.infinality.net/fedora/linux/zips";
url = "${base_URL}/freetype-infinality-${version}-${vers}_${subvers}-x86_64.tar.bz2";
};
in
stdenv.mkDerivation rec {
name = "freetype-2.4.10";
name = "freetype-${version}";
src = fetchurl {
url = "mirror://sourceforge/freetype/${name}.tar.bz2";
sha256 = "0bwrkqpygayfc1rf6rr1nb8l3svgn1fmjz8davg2hnf46cn293hc";
sha256 = "0gxyzxqpyf8g85y6g1zc1wqrh71prbbk8xfw4m8rwzb4ck5hp7gg";
};
infinality_patch = if useInfinality
then fetchurl { inherit (infinality) url sha256; }
else null;
configureFlags = "--disable-static";
NIX_CFLAGS_COMPILE = stdenv.lib.optionalString useEncumberedCode
"-DFT_CONFIG_OPTION_SUBPIXEL_RENDERING=1";
NIX_CFLAGS_COMPILE = with stdenv.lib;
" -fno-strict-aliasing" # from Gentoo, see https://bugzilla.redhat.com/show_bug.cgi?id=506840
+ optionalString useEncumberedCode " -DFT_CONFIG_OPTION_SUBPIXEL_RENDERING=1"
+ optionalString useInfinality " -DTT_CONFIG_OPTION_SUBPIXEL_HINTING=1";
patches = [ ./enable-validation.patch ] # from Gentoo
++ stdenv.lib.optional useInfinality [ infinality_patch ];
# The asm for armel is written with the 'asm' keyword.
CFLAGS = stdenv.lib.optionalString stdenv.isArm "-std=gnu99";
@ -26,6 +54,8 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
doCheck = true;
postInstall =
''
ln -s freetype2/freetype $out/include/freetype
@ -38,9 +68,13 @@ stdenv.mkDerivation rec {
configureFlags = "--disable-static CC_BUILD=gcc";
};
passthru = { inherit infinality; }; # for fontconfig
meta = {
description = "A font rendering engine";
homepage = http://www.freetype.org/;
license = "GPLv2+"; # or the FreeType License (BSD + advertising clause)
license = if useEncumberedCode then "unfree"
else "GPLv2+"; # or the FreeType License (BSD + advertising clause)
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -0,0 +1,22 @@
Enables gxvalid and otvalid modules for use with ftvalid.
--- freetype-2.2.1/modules.cfg.orig 2006-07-07 21:01:09.000000000 -0400
+++ freetype-2.2.1/modules.cfg 2006-07-07 21:01:54.000000000 -0400
@@ -110,7 +110,7 @@
AUX_MODULES += cache
# TrueType GX/AAT table validation. Needs ftgxval.c below.
-# AUX_MODULES += gxvalid
+AUX_MODULES += gxvalid
# Support for streams compressed with gzip (files with suffix .gz).
#
@@ -124,7 +124,7 @@
# OpenType table validation. Needs ftotval.c below.
#
-# AUX_MODULES += otvalid
+AUX_MODULES += otvalid
# Auxiliary PostScript driver component to share common code.
#

View File

@ -2,11 +2,11 @@
, jasper, libintlOrEmpty }:
stdenv.mkDerivation rec {
name = "gdk-pixbuf-2.26.1";
name = "gdk-pixbuf-2.28.1";
src = fetchurl {
url = "mirror://gnome/sources/gdk-pixbuf/2.26/${name}.tar.xz";
sha256 = "a60af12b58d9cc15ba4c680c6730ce5d38e8d664af1d575a379385b94b4ec7ba";
url = "mirror://gnome/sources/gdk-pixbuf/2.28/${name}.tar.xz";
sha256 = "1fy2a05xhfg7gy4l4aajsbmgj62zxhikdxqh6bicihxmzm1vg85y";
};
# !!! We might want to factor out the gdk-pixbuf-xlib subpackage.

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconvOrNull, zlib, libffi
, python, pcre }:
{ stdenv, fetchurl, pkgconfig, gettext, perl, libiconvOrEmpty, zlib, libffi
, python, pcre, libelf }:
# TODO:
# * Add gio-module-fam
@ -11,35 +11,58 @@
# Reminder: add 'sed -e 's@python2\.[0-9]@python@' -i
# $out/bin/gtester-report' to postInstall if this is solved
let
# some packages don't get "Cflags" from pkgconfig correctly
# and then fail to build when directly including like <glib/...>
flattenInclude = ''
for dir in $out/include/*; do
cp -r $dir/* "$out/include/"
rm -r "$dir"
ln -s . "$dir"
done
ln -sr -t "$out/include/" $out/lib/*/include/* 2>/dev/null || true
'';
in
stdenv.mkDerivation (rec {
name = "glib-2.34.3";
name = "glib-2.36.1";
src = fetchurl {
url = "mirror://gnome/sources/glib/2.34/${name}.tar.xz";
sha256 = "855fcbf87cb93065b488358e351774d8a39177281023bae58c286f41612658a7";
url = "mirror://gnome/sources/glib/2.36/${name}.tar.xz";
sha256 = "090bw5par3dfy5m6dhq393pmy92zpw3d7rgbzqjc14jfg637bqvx";
};
# configure script looks for d-bus but it is only needed for tests
buildInputs = [ libiconvOrNull ];
buildInputs = [ libelf ];
nativeBuildInputs = [ perl pkgconfig gettext python ];
propagatedBuildInputs = [ pcre zlib libffi ];
propagatedBuildInputs = [ pcre zlib libffi ] ++ libiconvOrEmpty;
configureFlags = "--with-pcre=system --disable-fam" +
(stdenv.lib.optionalString (libiconvOrNull != null) " --with-libiconv=gnu") +
(stdenv.lib.optionalString stdenv.isSunOS " --disable-modular-tests");
configureFlags = stdenv.lib.optional stdenv.isSunOS "--disable-modular-tests";
CPPFLAGS = stdenv.lib.optionalString stdenv.isSunOS "-DBSD_COMP";
enableParallelBuilding = true;
postConfigure = "sed '/SANE_MALLOC_PROTOS/s,^,//,' -i config.h" # https://bugzilla.gnome.org/show_bug.cgi?id=698716 :-)
+ stdenv.lib.optionalString stdenv.isDarwin ''
sed '24 i #include <Foundation/Foundation.h>'
'';
passthru.gioModuleDir = "lib/gio/modules";
enableParallelBuilding = true;
postInstall = ''rm -rvf $out/share/gtk-doc'';
passthru = {
gioModuleDir = "lib/gio/modules";
inherit flattenInclude;
};
meta = {
description = "GLib, a C library of programming buildings blocks";
homepage = http://www.gtk.org/;
license = "LGPLv2+";
maintainers = with stdenv.lib.maintainers; [ raskin urkud lovek323 ];
platforms = stdenv.lib.platforms.unix;
longDescription = ''
GLib provides the core application building blocks for libraries
@ -47,13 +70,6 @@ stdenv.mkDerivation (rec {
system used in GNOME, the main loop implementation, and a large
set of utility functions for strings and common data structures.
'';
homepage = http://www.gtk.org/;
license = "LGPLv2+";
maintainers = with stdenv.lib.maintainers; [raskin urkud];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -60,6 +60,12 @@ stdenv.mkDerivation ({
"/bin:/usr/bin", which is inappropriate on NixOS machines. This
patch extends the search path by "/run/current-system/sw/bin". */
./fix_path_attribute_in_getconf.patch
/* Fix buffer overrun in regexp matcher. */
./cve-2013-0242.patch
/* Fix stack overflow in getaddrinfo with many results. */
./cve-2013-1914.patch
];
postPatch = ''

View File

@ -0,0 +1,87 @@
When extending regex buffers, make sure we allocate enough room for the
state log. Merely doubling the space may not be enough if the current
node has accepted a long run of characters. This part of the code only
triggers with multibyte characters.
Andreas.
[BZ #15078]
* posix/regexec.c (extend_buffers): Add parameter min_len.
(check_matching): Pass minimum needed length.
(clean_state_log_if_needed): Likewise.
(get_subexp): Likewise.
* posix/Makefile (tests): Add bug-regex34.
(bug-regex34-ENV): Define.
* posix/bug-regex34.c: New file.
diff --git a/posix/regexec.c b/posix/regexec.c
index 7f2de85..5ca2bf6 100644
--- a/posix/regexec.c
+++ b/posix/regexec.c
@@ -197,7 +197,7 @@ static int group_nodes_into_DFAstates (const re_dfa_t *dfa,
static int check_node_accept (const re_match_context_t *mctx,
const re_token_t *node, int idx)
internal_function;
-static reg_errcode_t extend_buffers (re_match_context_t *mctx)
+static reg_errcode_t extend_buffers (re_match_context_t *mctx, int min_len)
internal_function;
/* Entry point for POSIX code. */
@@ -1160,7 +1160,7 @@ check_matching (re_match_context_t *mctx, int fl_longest_match,
|| (BE (next_char_idx >= mctx->input.valid_len, 0)
&& mctx->input.valid_len < mctx->input.len))
{
- err = extend_buffers (mctx);
+ err = extend_buffers (mctx, next_char_idx + 1);
if (BE (err != REG_NOERROR, 0))
{
assert (err == REG_ESPACE);
@@ -1738,7 +1738,7 @@ clean_state_log_if_needed (re_match_context_t *mctx, int next_state_log_idx)
&& mctx->input.valid_len < mctx->input.len))
{
reg_errcode_t err;
- err = extend_buffers (mctx);
+ err = extend_buffers (mctx, next_state_log_idx + 1);
if (BE (err != REG_NOERROR, 0))
return err;
}
@@ -2792,7 +2792,7 @@ get_subexp (re_match_context_t *mctx, int bkref_node, int bkref_str_idx)
if (bkref_str_off >= mctx->input.len)
break;
- err = extend_buffers (mctx);
+ err = extend_buffers (mctx, bkref_str_off + 1);
if (BE (err != REG_NOERROR, 0))
return err;
@@ -4102,7 +4102,7 @@ check_node_accept (const re_match_context_t *mctx, const re_token_t *node,
static reg_errcode_t
internal_function __attribute_warn_unused_result__
-extend_buffers (re_match_context_t *mctx)
+extend_buffers (re_match_context_t *mctx, int min_len)
{
reg_errcode_t ret;
re_string_t *pstr = &mctx->input;
@@ -4111,8 +4111,10 @@ extend_buffers (re_match_context_t *mctx)
if (BE (INT_MAX / 2 / sizeof (re_dfastate_t *) <= pstr->bufs_len, 0))
return REG_ESPACE;
- /* Double the lengthes of the buffers. */
- ret = re_string_realloc_buffers (pstr, MIN (pstr->len, pstr->bufs_len * 2));
+ /* Double the lengthes of the buffers, but allocate at least MIN_LEN. */
+ ret = re_string_realloc_buffers (pstr,
+ MAX (min_len,
+ MIN (pstr->len, pstr->bufs_len * 2)));
if (BE (ret != REG_NOERROR, 0))
return ret;
--
1.8.1.2
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

Some files were not shown because too many files have changed in this diff Show More