Merge branch 'master' into wayland

This commit is contained in:
Carles Pagès 2013-01-08 22:28:13 +01:00
commit 7d591c23b3
625 changed files with 7033 additions and 20801 deletions

View File

@ -5,7 +5,6 @@ hydra_eval_jobs \
--argstr system x86_64-linux \ --argstr system x86_64-linux \
--argstr system i686-linux \ --argstr system i686-linux \
--argstr system x86_64-darwin \ --argstr system x86_64-darwin \
--argstr system i686-darwin \
--argstr system i686-cygwin \ --argstr system i686-cygwin \
--argstr system i686-freebsd \ --argstr system i686-freebsd \
--arg officialRelease false \ --arg officialRelease false \

View File

@ -1,37 +0,0 @@
{ stdenv, fetchgit, fetchgitrevision
, lib, cmake, qt4, qtscriptgenerator, perl, gettext, curl
, libxml2, mysql, taglib, taglib_extras, loudmouth , kdelibs, automoc4, phonon
, strigi, soprano, qca2, libmtp, liblastfm, libgpod, pkgconfig
, repository ? "git://git.kde.org/amarok"
, branch ? "heads/master"
, rev ? fetchgitrevision repository branch
, src ? fetchgit {
url = repository;
rev = rev;
}
}:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "amarok";
version = "live";
inherit src;
QT_PLUGIN_PATH="${qtscriptgenerator}/lib/qt4/plugins";
buildInputs = [ cmake qt4 qtscriptgenerator perl stdenv.gcc.libc gettext curl
libxml2 mysql taglib taglib_extras loudmouth kdelibs automoc4 phonon strigi
soprano qca2 libmtp liblastfm libgpod pkgconfig ];
postInstall = ''
mkdir -p $out/nix-support
echo ${qtscriptgenerator} > $out/nix-support/propagated-user-env-packages
'';
meta = {
description = "Popular music player for KDE";
license = "GPL";
homepage = http://amarok.kde.org;
inherit (kdelibs.meta) maintainers;
};
}

View File

@ -4,12 +4,12 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2.0.0"; version = "2.0.2";
name = "audacity-${version}"; name = "audacity-${version}";
src = fetchurl { src = fetchurl {
url = "http://audacity.googlecode.com/files/audacity-minsrc-${version}.tar.bz2"; url = "http://audacity.googlecode.com/files/audacity-minsrc-${version}.tar.bz2";
sha256 = "0spbib3f86b4qri0g13idyxvysg28hkpsglmjza681zrln62hjfq"; sha256 = "17c7p5jww5zcg2k2fs1751mv5kbadcmgicszi1zxwj2p5b35x2mc";
}; };
buildInputs = [ pkgconfig wxGTK libsndfile expat alsaLib libsamplerate buildInputs = [ pkgconfig wxGTK libsndfile expat alsaLib libsamplerate
libvorbis libmad flac id3lib ffmpeg gettext ]; libvorbis libmad flac id3lib ffmpeg gettext ];

View File

@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
xlibs.xproto xlibs.xproto
]; ];
preInstall = ''
sed -e "s@\`which bristol\`@$out/bin/bristol@g" -i bin/startBristol
sed -e "s@\`which brighton\`@$out/bin/brighton@g" -i bin/startBristol
'';
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A range of synthesiser, electric piano and organ emulations"; description = "A range of synthesiser, electric piano and organ emulations";
homepage = http://bristol.sourceforge.net; homepage = http://bristol.sourceforge.net;

View File

@ -2,17 +2,17 @@
, libglademm, libcanberra, intltool, gettext }: , libglademm, libcanberra, intltool, gettext }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "pavucontrol-0.9.10"; name = "pavucontrol-1.0";
src = fetchurl { src = fetchurl {
url = "http://0pointer.de/lennart/projects/pavucontrol/${name}.tar.gz"; url = "http://freedesktop.org/software/pulseaudio/pavucontrol/${name}.tar.xz";
sha256 = "0g2sd9smwwpnyq8yc65dl9z0iafj2rrimi8v58wkxx98vhnnvsby"; sha256 = "1plcyrc7p6gqxjhxx2xh6162bkb29wixjrqrjnl9b8g3nrjjigix";
}; };
buildInputs = [ pkgconfig pulseaudio gtkmm libsigcxx libglademm libcanberra buildInputs = [ pkgconfig pulseaudio gtkmm libsigcxx libglademm libcanberra
intltool gettext ]; intltool gettext ];
configureFlags = "--disable-lynx"; configureFlags = "--disable-lynx --disable-gtk3";
meta = { meta = {
description = "PulseAudio Volume Control"; description = "PulseAudio Volume Control";

View File

@ -8,7 +8,16 @@ stdenv.mkDerivation rec {
sha256 = "18gvhyhwpabmgv4lh21lg8vl3z7acdyhh2mr2kj9g75wksj39pcp"; sha256 = "18gvhyhwpabmgv4lh21lg8vl3z7acdyhh2mr2kj9g75wksj39pcp";
}; };
doCheck = true; /* FIXME: Tests currently fail on Darwin:
building test scripts for ed-1.5...
testing ed-1.5...
*** Output e1.o of script e1.ed is incorrect ***
*** Output r3.o of script r3.ed is incorrect ***
make: *** [check] Error 127
*/
doCheck = !stdenv.isDarwin;
crossAttrs = { crossAttrs = {
compileFlags = [ "CC=${stdenv.cross.config}-gcc" ]; compileFlags = [ "CC=${stdenv.cross.config}-gcc" ];

View File

@ -18,6 +18,10 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
# This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command
# It have no reasons to exist in a redistribuable package
postInstall = "rm $out/share/icons/hicolor/icon-theme.cache";
meta = { meta = {
description = "A GTK2 small and ligthweight IDE."; description = "A GTK2 small and ligthweight IDE.";
longDescription = '' longDescription = ''

View File

@ -1,18 +0,0 @@
args: with args;
stdenv.mkDerivation {
name = jedit.name+"_startscript";
java = jre+"/bin/java";
jeditjar = jedit+"/lib/jedit.jar";
phases = "buildPhase";
buildPhase = "
mkdir -p \$out/bin
cat > \$out/bin/${jedit.name} << EOF
#!/bin/sh
exec $java -jar $jeditjar \\$*
EOF
chmod +x \$out/bin/${jedit.name}
";
}

View File

@ -1,6 +1,6 @@
{stdenv, fetchurl, x11, motif, libXpm}: {stdenv, fetchurl, x11, motif, libXpm}:
assert stdenv.system == "i686-linux"; assert stdenv.isLinux;
stdenv.mkDerivation { stdenv.mkDerivation {
name = "nedit-5.5"; name = "nedit-5.5";
@ -15,7 +15,7 @@ stdenv.mkDerivation {
inherit motif; inherit motif;
buildInputs = [x11 motif libXpm]; buildInputs = [x11 motif libXpm];
buildFlags = if stdenv.system == "i686-linux" then "linux" else ""; buildFlags = if stdenv.isLinux then "linux" else "";
meta = { meta = {
homepage = http://www.nedit.org; homepage = http://www.nedit.org;

View File

@ -0,0 +1,19 @@
{ stdenv, fetchurl, ncurses }:
stdenv.mkDerivation rec {
name = "vbindiff-${version}";
version = "3.0_beta4";
buildInputs = [ ncurses ];
src = fetchurl {
url = "http://www.cjmweb.net/vbindiff/${name}.tar.gz";
sha256 = "0gcqy4ggp60qc6blq1q1gc90xmhip1m6yvvli4hdqlz9zn3mlpbx";
};
meta = {
description = "A terminal visual binary diff viewer";
homepage = "http://www.cjmweb.net/vbindiff/";
license = stdenv.lib.licenses.gpl2Plus;
};
}

View File

@ -1,16 +1,19 @@
{ fetchurl, stdenv, ncurses, boehmgc, perl, help2man }: { fetchurl, stdenv, ncurses, boehmgc, perl, help2man }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "zile-2.4.7"; name = "zile-2.4.9";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/zile/${name}.tar.gz"; url = "mirror://gnu/zile/${name}.tar.gz";
sha256 = "1ak7qjb7s4whxg8qpkg7yixfnhinwfmzgav7rzi0kjmm93z35xcc"; sha256 = "0j801c28ypm924rw3lqyb6khxyslg6ycrv16wmmwcam0mk3mj6f7";
}; };
buildInputs = [ ncurses boehmgc ]; buildInputs = [ ncurses boehmgc ];
buildNativeInputs = [ help2man perl ]; buildNativeInputs = [ help2man perl ];
# `help2man' wants to run Zile, which fails when cross-compiling.
crossAttrs.buildNativeInputs = [];
# Tests can't be run because most of them rely on the ability to # Tests can't be run because most of them rely on the ability to
# fiddle with the terminal. # fiddle with the terminal.
doCheck = false; doCheck = false;

View File

@ -46,6 +46,8 @@ stdenv.mkDerivation rec {
'' else ""; '' else "";
meta = { meta = {
homepage = http://www.imagemagick.org; homepage = http://www.imagemagick.org/;
description = "A software suite to create, edit, compose, or convert bitmap images";
platforms = stdenv.lib.platforms.linux;
}; };
} }

View File

@ -8,12 +8,12 @@
assert stdenv ? glibc; assert stdenv ? glibc;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.1"; version = "1.1.1";
name = "darktable-${version}"; name = "darktable-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://sourceforge/darktable/darktable-${version}.tar.gz"; url = "mirror://sourceforge/darktable/darktable-${version}.tar.gz";
sha256 = "8f2401422ab3e0bb038b3fedf411aaf69994d679674757ee7886b6146b9fdd4f"; sha256 = "0k1m7nd42yn4c2jr1ps1g96fqk9pq20cxjp7dmlza61pj2j9nads";
}; };
buildInputs = buildInputs =

View File

@ -1,22 +0,0 @@
commit 5803d31ae7704e0349821dcc20a94a1cddda69f1
Author: Tim Harder <radhermit@gmail.com>
Date: Wed Sep 21 14:13:55 2011 -0700
Fix build with libpng-1.5
Explicitly include the zlib.h header for the Z_BEST_COMPRESSION and
Z_DEFAULT_STRATEGY macros since >=libpng-1.5 doesn't pull it in anymore
via the png.h header.
diff --git a/src/imageio/format/png.c b/src/imageio/format/png.c
index 40c7d48..c7be566 100644
--- a/src/imageio/format/png.c
+++ b/src/imageio/format/png.c
@@ -28,6 +28,7 @@
#include <stdio.h>
#include <png.h>
#include <inttypes.h>
+#include <zlib.h>
DT_MODULE(1)

View File

@ -22,6 +22,10 @@ stdenv.mkDerivation rec {
patches = [ ./glib-top-level-header.patch ]; patches = [ ./glib-top-level-header.patch ];
# This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command
# It have no reasons to exist in a redistribuable package
postInstall = "rm $out/share/icons/hicolor/icon-theme.cache";
meta = { meta = {
description = "Gnome Diagram drawing software"; description = "Gnome Diagram drawing software";
homepage = http://live.gnome.org/Dia; homepage = http://live.gnome.org/Dia;

View File

@ -1,55 +0,0 @@
Index: src/3rdParty/salomesmesh/CMakeLists.txt
===================================================================
--- a/src/3rdParty/salomesmesh/CMakeLists.txt (revision 4193)
+++ a/src/3rdParty/salomesmesh/CMakeLists.txt (working copy)
@@ -191,7 +191,7 @@
INCLUDE_DIRECTORIES(src/StdMeshers)
ADD_LIBRARY(StdMeshers SHARED ${StdMeshers_source_files})
-TARGET_LINK_LIBRARIES(StdMeshers SMESH TKernel TKMath TKAdvTools f2c)
+TARGET_LINK_LIBRARIES(StdMeshers SMESH TKernel TKMath TKAdvTools f2c gfortran)
SET(StdMeshers_CFLAGS "")
IF(WIN32)
SET(StdMeshers_CFLAGS "-DSTDMESHERS_EXPORTS -DMEFISTO2D_EXPORTS")
@@ -218,9 +218,9 @@
# Libraries are installed by default in /usr/local/lib/SMESH-5.1.2.7
INSTALL(TARGETS SMDS Driver DriverSTL DriverDAT DriverUNV
SMESHDS SMESH StdMeshers
- DESTINATION /usr/local/lib/${INSTALL_PATH_NAME})
+ DESTINATION lib)
# Headers are installed by default in /usr/local/include/SMESH-5.1.2.7
INSTALL(DIRECTORY inc/
- DESTINATION /usr/local/include/${INSTALL_PATH_NAME}
+ DESTINATION include
FILES_MATCHING PATTERN "*.h*")
ENDIF(UNIX)
Index: src/3rdParty/Pivy-0.5/CMakeLists.txt
===================================================================
--- a/src/3rdParty/Pivy-0.5/CMakeLists.txt (revision 4193)
+++ a/src/3rdParty/Pivy-0.5/CMakeLists.txt (working copy)
@@ -56,6 +56,7 @@
set_target_properties(coin PROPERTIES OUTPUT_NAME "_coin")
set_target_properties(coin PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/pivy)
set_target_properties(coin PROPERTIES PREFIX "")
+ install(TARGETS coin DESTINATION bin/pivy)
endif(MSVC)
fc_copy_sources_outpath("bin/pivy" "coin"
Index: CMakeLists.txt
===================================================================
--- a/CMakeLists.txt (revision 4193)
+++ a/CMakeLists.txt (working copy)
@@ -57,13 +57,6 @@
# ================================================================================
-
-if(WIN32)
- SET(CMAKE_INSTALL_PREFIX ${CMAKE_BINARY_DIR})
-else(WIN32)
- SET(CMAKE_INSTALL_PREFIX "/usr/lib/freecad")
-endif(WIN32)
-
# ================================================================================
# == Win32 is default behaviour use the LibPack copied in Source tree ============
if(MSVC)

View File

@ -1,17 +1,15 @@
{ fetchsvn, stdenv, cmake, coin3d, xercesc, ode, eigen, qt4, opencascade, gts, { fetchgit, stdenv, cmake, coin3d, xercesc, ode, eigen, qt4, opencascade, gts,
boost, zlib, boost, zlib,
python, swig, gfortran, soqt, libf2c, pyqt4, makeWrapper }: python, swig, gfortran, soqt, libf2c, pyqt4, makeWrapper }:
# It builds but fails to install
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "freecad-${version}"; name = "freecad-${version}";
version = "svn-${src.rev}"; version = "git-20121213";
src = fetchsvn { src = fetchgit {
url = https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk; url = git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad;
rev = "4184"; rev = "d3949cedc7e3c924d426660515e06eaf55d1a67f";
sha256 = "26bd8407ce38f070b81ef39145aed093eed3c200d165a605b8169162d66568ce"; sha256 = "0a07ih0z5d8m69zasmvi7z4lgq0pa67k2g7r1l6nz2d0b30py61w";
}; };
buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost
@ -19,12 +17,6 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true; enableParallelBuilding = true;
# The freecad people are used to boost 1.42, and we have newer boost that
# require the -DBOOST_FILESYSTEM_VERSION=2 for freecad to build
# For zlib to build in i686-linux, as g++ plus glibc defines _LARGEFILE64_SOURCE,
# we need the -D-FILE_OFFSET_BITS=64 indication for zlib headers to work.
NIX_CFLAGS_COMPILE = "-DBOOST_FILESYSTEM_VERSION=2 -D_FILE_OFFSET_BITS=64";
# This should work on both x86_64, and i686 linux # This should work on both x86_64, and i686 linux
preBuild = '' preBuild = ''
export NIX_LDFLAGS="-L${gfortran.gcc}/lib64 -L${gfortran.gcc}/lib $NIX_LDFLAGS"; export NIX_LDFLAGS="-L${gfortran.gcc}/lib64 -L${gfortran.gcc}/lib $NIX_LDFLAGS";
@ -35,7 +27,7 @@ stdenv.mkDerivation rec {
--set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1 --set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1
''; '';
patches = [ ./cmakeinstall.patch ./pythonpath.patch ]; patches = [ ./pythonpath.patch ];
meta = { meta = {
homepage = http://free-cad.sourceforge.net/; homepage = http://free-cad.sourceforge.net/;

View File

@ -1,14 +1,18 @@
http://sourceforge.net/apps/phpbb/free-cad/viewtopic.php?f=4&t=847&p=6364 diff --git a/src/Main/MainGui.cpp b/src/Main/MainGui.cpp
index 03407c5..b029384 100644
Index: src/Main/MainGui.cpp --- a/src/Main/MainGui.cpp
=================================================================== +++ b/src/Main/MainGui.cpp
--- a/src/Main/MainGui.cpp (revision 4193) @@ -190,15 +190,15 @@ int main( int argc, char ** argv )
+++ a/src/Main/MainGui.cpp (working copy)
@@ -149,10 +149,10 @@
// http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559846 // http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559846
putenv("LANG=C"); putenv("LANG=C");
putenv("LC_ALL=C"); putenv("LC_ALL=C");
- putenv("PYTHONPATH="); - putenv("PYTHONPATH=");
+ //putenv("PYTHONPATH=");
#elif defined(FC_OS_MACOSX)
(void)QLocale::system();
putenv("LANG=C");
putenv("LC_ALL=C");
- putenv("PYTHONPATH=");
+ //putenv("PYTHONPATH="); + //putenv("PYTHONPATH=");
#else #else
setlocale(LC_NUMERIC, "C"); setlocale(LC_NUMERIC, "C");

View File

@ -0,0 +1,47 @@
{ stdenv, fetchurl, pkgconfig, zlib, qt4, freetype, cairo, lua5, texLive, ghostscriptX
, makeWrapper }:
let ghostscript = ghostscriptX; in
stdenv.mkDerivation rec {
name = "ipe-7.1.2";
src = fetchurl {
url = "mirror://sourceforge/ipe7/ipe/7.1.0/${name}-src.tar.gz";
sha256 = "04fs5slci3bmpgz8d038h3hnzzdw57xykcpsmisdxci2xrkxx41k";
};
# changes taken from Gentoo portage
preConfigure = ''
cd src
sed -i \
-e 's/fpic/fPIC/' \
-e 's/moc-qt4/moc/' \
config.mak || die
sed -i -e 's/install -s/install/' common.mak || die
'';
IPEPREFIX="$$out";
URWFONTDIR="${texLive}/texmf-dist/fonts/type1/urw/";
buildInputs = [
pkgconfig zlib qt4 freetype cairo lua5 texLive ghostscript makeWrapper
];
postInstall = ''
for prog in $out/bin/*; do
wrapProgram "$prog" --prefix PATH : "${texLive}/bin"
done
'';
#TODO: make .desktop entry
meta = {
description = "An editor for drawing figures";
homepage = http://ipe7.sourceforge.net;
license = "GPLv3+";
longDescription = ''
Ipe is an extensible drawing editor for creating figures in PDF and Postscript format.
It supports making small figures for inclusion into LaTeX-documents
as well as presentations in PDF.
'';
};
}

View File

@ -1,10 +0,0 @@
source $stdenv/setup
patchPhase=patchPhase
patchPhase() {
sed -e "s@-ljpeg6b@-ljpeg@" -i configure
}
genericBuild
ln -sv $KDEDIR/share/mimelnk $out/share

View File

@ -1,19 +1,24 @@
{stdenv, fetchurl, qt4, bison, flex, eigen, boost, mesa, glew, opencsg, cgal {stdenv, fetchgit, qt4, bison, flex, eigen, boost, mesa, glew, opencsg, cgal
, mpfr, gmp , mpfr, gmp
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2011.12"; version = "git-20121213";
name = "openscad-${version}"; name = "openscad-${version}";
src = fetchurl { # src = fetchurl {
url = "https://github.com/downloads/openscad/openscad/${name}.src.tar.gz"; # url = "https://github.com/downloads/openscad/openscad/${name}.src.tar.gz";
sha256 = "0gaqwzxbbzc21lhb4y26j8g0g28dhrwrgkndizp5ddab5axi4zjh"; # sha256 = "0gaqwzxbbzc21lhb4y26j8g0g28dhrwrgkndizp5ddab5axi4zjh";
}; # };
src = fetchgit {
url = "https://github.com/openscad/openscad.git";
rev = "c0612a9ed0899c96963e04c848a59b0164a689a2";
sha256 = "1zqiwk1cjbj7sng9sdarbrs0zxkn9fsa84dyv8n0zlyh40s7kvw2";
};
buildInputs = [qt4 bison flex eigen boost mesa glew opencsg cgal gmp mpfr]; buildInputs = [qt4 bison flex eigen boost mesa glew opencsg cgal gmp mpfr];
configurePhase = '' configurePhase = ''
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I ${eigen}/include/eigen2 " export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$(echo ${eigen}/include/eigen*) "
qmake PREFIX="$out" qmake PREFIX="$out"
''; '';

View File

@ -1,83 +0,0 @@
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,7 @@
cmake_minimum_required(VERSION 2.6)
+option (WITH_RAWZOR "Build with Rawzor support" ON)
+
add_subdirectory (rtexif)
add_subdirectory (rtengine)
add_subdirectory (rtgui)
--- a/rtengine/CMakeLists.txt
+++ b/rtengine/CMakeLists.txt
@@ -9,9 +9,13 @@
IF (WIN32)
SET (EXTRA_LIBDIR "${CMAKE_CURRENT_SOURCE_DIR}/../lib; ${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_win")
SET (EXTRA_INCDIR "${CMAKE_CURRENT_SOURCE_DIR}/../winclude; ${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_win")
- SET (EXTRA_LIB "ws2_32 ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libiptcdata.a ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libjpeg.a ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libpng.a ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libtiff.a ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libz.a ${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_win/rwz_sdk_s.a")
+ SET (EXTRA_LIB "ws2_32 ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libiptcdata.a ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libjpeg.a ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libpng.a ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libtiff.a ${CMAKE_CURRENT_SOURCE_DIR}/../lib/libz.a")
+ if (WITH_RAWZOR)
ADD_DEFINITIONS (-DRAWZOR_SUPPORT)
+ SET (EXTRA_LIB "${EXTRA_LIB} ${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_win/rwz_sdk_s.a")
+ endif (WITH_RAWZOR)
ELSE (WIN32)
+ if (WITH_RAWZOR)
IF (CMAKE_SIZEOF_VOID_P EQUAL 4)
SET (EXTRA_INCDIR "${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_lin32")
SET (EXTRA_LIBDIR "${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_lin32")
@@ -19,10 +23,11 @@
SET (EXTRA_INCDIR "${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_lin64")
SET (EXTRA_LIBDIR "${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_lin64")
ENDIF (CMAKE_SIZEOF_VOID_P EQUAL 4)
- pkg_check_modules (IPTCDATA REQUIRED libiptcdata)
- pkg_check_modules (LCMS REQUIRED lcms)
SET (EXTRA_LIB "-lrwz_sdk")
ADD_DEFINITIONS (-DRAWZOR_SUPPORT)
+ endif (WITH_RAWZOR)
+ pkg_check_modules (IPTCDATA REQUIRED libiptcdata)
+ pkg_check_modules (LCMS REQUIRED lcms)
ENDIF (WIN32)
include_directories (${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/../rtexif ${EXTRA_INCDIR} ${GTHREAD_INCLUDE_DIRS} ${GOBJECT_INCLUDE_DIRS} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS} ${IPTCDATA_INCLUDE_DIRS} ${LCMS_INCLUDE_DIRS})
--- a/rtengine/imagedata.cc
+++ b/rtengine/imagedata.cc
@@ -19,7 +19,9 @@
#include <imagedata.h>
#include <iptcpairs.h>
#include <glib/gstdio.h>
+#ifdef RAWZOR_SUPPORT
#include <rwz_sdk.h>
+#endif
using namespace rtengine;
--- a/rtengine/myfile.cc
+++ b/rtengine/myfile.cc
@@ -19,7 +19,9 @@
#include <myfile.h>
#include <cstdarg>
#include <glibmm.h>
+#ifdef RAWZOR_SUPPORT
#include <rwz_sdk.h>
+#endif
IMFILE* fopen (const char* fname) {
--- a/rtgui/CMakeLists.txt
+++ b/rtgui/CMakeLists.txt
@@ -75,6 +75,7 @@
if (NOT ZLIB_LIBRARIES)
message(SEND_ERROR "libz was not found!")
endif (NOT ZLIB_LIBRARIES)
+ if (WITH_RAWZOR)
IF (CMAKE_SIZEOF_VOID_P EQUAL 4)
SET (EXTRA_INCDIR "${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_lin32")
SET (EXTRA_LIBDIR "${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_lin32")
@@ -82,6 +83,7 @@
SET (EXTRA_INCDIR "${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_lin64")
SET (EXTRA_LIBDIR "${CMAKE_CURRENT_SOURCE_DIR}/../rawzor_lin64")
ENDIF (CMAKE_SIZEOF_VOID_P EQUAL 4)
+ endif (WITH_RAWZOR)
include_directories (/usr/local/lib ${CMAKE_CURRENT_SOURCE_DIR}/../rtengine . ${CMAKE_CURRENT_SOURCE_DIR}/../rtexif ${EXTRA_INCDIR} ${GLIB2_INCLUDE_DIRS} ${GLIBMM_INCLUDE_DIRS}
${GTK_INCLUDE_DIRS} ${GTKMM_INCLUDE_DIRS} ${GIO_INCLUDE_DIRS} ${GIOMM_INCLUDE_DIRS} ${IPTCDATA_INCLUDE_DIRS} ${LCMS_INCLUDE_DIRS} ${GTHREAD_INCLUDE_DIRS} ${GOBJECT_INCLUDE_DIRS} )

View File

@ -1,11 +0,0 @@
--- old/sink.c (revision 5118)
+++ new/sink.c (revision 5119)
@@ -262,7 +262,7 @@
const char *md1 = "MAILER-DAEMON", *md2 = "MAILER-DAEMON@";
/* don't bounce in reply to undeliverable bounces */
- if (!msg->return_path[0] ||
+ if (!msg || !msg->return_path[0] ||
strcmp(msg->return_path, "<>") == 0 ||
strcasecmp(msg->return_path, md1) == 0 ||
strncasecmp(msg->return_path, md2, strlen(md2)) == 0)

View File

@ -0,0 +1,30 @@
{ fetchurl, stdenv, db4, boost, gmp, mpfr, miniupnpc, qt4, unzip }:
stdenv.mkDerivation rec {
version = "0.0.1-3";
name = "freicoin-${version}";
src = fetchurl {
url = "https://github.com/freicoin/freicoin/archive/v${version}.zip";
sha256 = "19q4llv67kmvfr0x56rnqcf0d050dayv246q4i51mmkvjijc1qpf";
};
# I think that openssl and zlib are required, but come through other
# packages
buildInputs = [ db4 boost gmp mpfr miniupnpc qt4 unzip ];
configurePhase = "qmake";
installPhase = ''
mkdir -p $out/bin
cp freicoin-qt $out/bin
'';
meta = {
description = "Peer-to-peer currency with demurrage fee";
homepage = "http://freicoi.in/";
license = "MIT";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}

View File

@ -23,7 +23,7 @@ assert mercurialSupport -> (mercurial != null);
let let
name = "ikiwiki"; name = "ikiwiki";
version = "3.20120725"; version = "3.20121212";
lib = stdenv.lib; lib = stdenv.lib;
in in
@ -32,7 +32,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz"; url = "http://ftp.de.debian.org/debian/pool/main/i/ikiwiki/${name}_${version}.tar.gz";
sha256 = "b600096a77b17e4a9e8a9552c4d36e01ed9217a0f8ff8a4f15110cf80e7adfad"; sha256 = "1frsr2sqzsnagbxvyjsgk4nrl1p1048vybsd1zw1ln1mqik31ydz";
}; };
buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate buildInputs = [ perl TextMarkdown URI HTMLParser HTMLScrubber HTMLTemplate

View File

@ -1,10 +0,0 @@
--- krusader-2.0.0/krusader/VFS/kiojobwrapper.cpp~ 2009-04-29 17:13:43.000000000 +0000
+++ krusader-2.0.0/krusader/VFS/kiojobwrapper.cpp 2009-04-29 17:14:01.000000000 +0000
@@ -37,6 +37,7 @@
#include <kio/jobuidelegate.h>
#include <kio/job.h>
#include <qapplication.h>
+#include <cstdio>
#include <iostream>
#include <klocale.h>
#include "virtualcopyjob.h"

View File

@ -0,0 +1,38 @@
{ stdenv, fetchurl, qt4, muparser, which, boost}:
stdenv.mkDerivation {
name = "librecad-2.0.0beta1";
src = fetchurl {
url = https://github.com/LibreCAD/LibreCAD/tarball/2.0.0beta1;
name = "librecad-2.0.0beta1.tar.gz";
sha256 = "8bf969b79be115f3b3ff72cc030a4c21fe93164dd0cb19ddfb78a7d66b8bc770";
};
patchPhase = ''
sed -i -e s,/bin/bash,`type -P bash`, scripts/postprocess-unix.sh
sed -i -e s,/usr/share,$out/share, librecad/src/lib/engine/rs_system.cpp
'';
configurePhase = ''
qmake librecad.pro PREFIX=$out MUPARSER_DIR=${muparser} BOOST_DIR=${boost}
'';
installPhase = ''
ensureDir $out/bin $out/share
cp -R unix/librecad $out/bin
cp -R unix/resources $out/share/librecad
'';
buildInputs = [ qt4 muparser which boost ];
enableParallelBuilding = true;
meta = {
description = "A 2D CAD package based upon Qt";
homepage = http://librecad.org;
license = "GPLv2";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}

View File

@ -1,28 +1,34 @@
{ stdenv, fetchurl, qt4}: { stdenv, fetchurl, qt4, muparser, which}:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "librecad-1.0.0"; name = "librecad-1.0.2";
src = fetchurl { src = fetchurl {
url = https://github.com/LibreCAD/LibreCAD/tarball/v1.0.0; url = https://github.com/LibreCAD/LibreCAD/tarball/v1.0.2;
name = "librecad-1.0.0.tar.gz"; name = "librecad-1.0.2.tar.gz";
sha256 = "0s1ikyvy98zz1vw3xf5la73n3sykib6292cmhh2z738ggwigicc9"; sha256 = "13ee7e401e4f5fbc68c2e017b7189bec788038f4f6e77f559861ceb8cfb1907d";
}; };
patchPhase = '' patchPhase = ''
sed -i -e s,/bin/bash,`type -P bash`, scripts/postprocess-unix.sh sed -i -e s,/bin/bash,`type -P bash`, scripts/postprocess-unix.sh
sed -i -e s,/usr/share,$out/share, src/lib/engine/rs_system.cpp
''; '';
configurePhase = "qmake PREFIX=$out"; configurePhase = "qmake PREFIX=$out";
# It builds, but it does not install installPhase = ''
installPhase = "exit 1"; ensureDir $out/bin $out/share
cp -R unix/librecad $out/bin
cp -R unix/resources $out/share/librecad
'';
buildInputs = [ qt4 ]; buildInputs = [ qt4 muparser which ];
meta = { meta = {
description = "A 2D CAD package based upon Qt"; description = "A 2D CAD package based upon Qt";
homepage = http://librecad.org; homepage = http://librecad.org;
license = "GPLv2"; license = "GPLv2";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
}; };
} }

View File

@ -3,19 +3,19 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2.0.4"; version = "2.0.5";
name = "lyx-${version}"; name = "lyx-${version}";
src = fetchurl { src = fetchurl {
url = "ftp://ftp.lyx.org/pub/lyx/stable/2.0.x/${name}.tar.xz"; url = "ftp://ftp.lyx.org/pub/lyx/stable/2.0.x/${name}.tar.xz";
sha256 = "137dzmz1z6aqz9mdj8gmmi0k60s9sfn6gy916j175cwzq6hpncb8"; sha256 = "00pv2d9p8j1p6x87kalbn1bgxg9l4zqh65zcajrnh10a76isv6nk";
}; };
configureFlags = [ configureFlags = [
#"--without-included-boost" #"--without-included-boost"
/* Boost is a huge dependency from which 1.4 MB of libs would be used. /* Boost is a huge dependency from which 1.4 MB of libs would be used.
Using internal boost stuff only increases executable by around 0.2 MB. */ Using internal boost stuff only increases executable by around 0.2 MB. */
#"--without-included-mythes" # such a small library isn't worth a split package #"--without-included-mythes" # such a small library isn't worth a separate package
]; ];
buildInputs = [ buildInputs = [

View File

@ -1,55 +0,0 @@
# translations still misssing
{ stdenv, fetchurl, qt3, libpng, libXext, libX11 }:
stdenv.mkDerivation {
name = "qcad-2.0.5.0-1-community";
src = fetchurl {
url = http://www.ribbonsoft.com/archives/qcad/qcad-2.0.5.0-1-community.src.tar.gz;
sha256 = "07aiw7zjf1fc04dhgwwp29adwb2qs165n7v04lh09zy0k2aplcl3";
};
# TODO: add translations
buildPhase = ''
cd scripts
sh build_qcad.sh notrans
cd ..
'';
buildInputs = [ qt3 libpng libXext libX11 ];
prePatch = ''
sed -i 's/-pedantic//' mkspecs/defs.pro
# patch -p1 < ${ ./qcad-2.0.4.0-1.src-intptr.patch }
'';
patches = [
/* taken from gentoo, fixes amd64 compilation issue */
./qcad-2.0.4.0-1.src-intptr.patch
/* taken from gentoo, fixes gcc 4.3 or above compilation issue */
./qcad-2.0.4.0-gcc43.patch
];
# probably there is more to be done. But this seems to work for now (eg see gentoo ebuild)
installPhase = ''
mkdir -p $out/{bin,share}
cp -r qcad $out/share
# The compilation does not fail with error code. But qcad will not exist
# if it failed.
test -f $out/share/qcad/qcad
cat >> $out/bin/qcad << EOF
#!/bin/sh
cd $out/share/qcad
./qcad "\$@"
EOF
chmod +x $out/bin/qcad
'';
meta = {
description = "A 2D CAD package based upon Qt";
homepage = http://www.ribbonsoft.de/qcad.html;
license = "GPLv2"; # community edition
};
}

View File

@ -1,24 +0,0 @@
diff -Naur qcad-2.0.4.0-1.src.orig/qcadlib/src/engine/rs_entity.cpp qcad-2.0.4.0-1.src.patched/qcadlib/src/engine/rs_entity.cpp
--- qcad-2.0.4.0-1.src.orig/qcadlib/src/engine/rs_entity.cpp 2004-09-14 15:13:02.000000000 -0500
+++ qcad-2.0.4.0-1.src.patched/qcadlib/src/engine/rs_entity.cpp 2006-06-23 14:21:40.000000000 -0500
@@ -849,7 +849,7 @@
os << " layer: NULL ";
} else {
os << " layer: " << e.layer->getName().latin1() << " ";
- os << " layer address: " << (int)(e.layer) << " ";
+ os << " layer address: " << (intptr_t)(e.layer) << " ";
}
os << e.pen << "\n";
diff -Naur qcad-2.0.4.0-1.src.orig/qcadlib/src/engine/rs_layer.cpp qcad-2.0.4.0-1.src.patched/qcadlib/src/engine/rs_layer.cpp
--- qcad-2.0.4.0-1.src.orig/qcadlib/src/engine/rs_layer.cpp 2004-09-14 15:13:02.000000000 -0500
+++ qcad-2.0.4.0-1.src.patched/qcadlib/src/engine/rs_layer.cpp 2006-06-23 14:21:23.000000000 -0500
@@ -57,7 +57,7 @@
os << " name: " << l.getName().latin1()
<< " pen: " << l.getPen()
<< " frozen: " << (int)l.isFrozen()
- << " address: " << (int)(&l)
+ << " address: " << (intptr_t)(&l)
<< std::endl;
return os;
}

View File

@ -1,45 +0,0 @@
diff -Naur qcad-2.0.4.0-1.src/dxflib/src/dl_writer_ascii.cpp qcad-2.0.4.0-1.src.new/dxflib/src/dl_writer_ascii.cpp
--- qcad-2.0.4.0-1.src/dxflib/src/dl_writer_ascii.cpp 2004-09-14 16:13:01.000000000 -0400
+++ qcad-2.0.4.0-1.src.new/dxflib/src/dl_writer_ascii.cpp 2008-04-27 08:35:47.000000000 -0400
@@ -30,6 +30,7 @@
#endif // _MSC_VER > 1000
#include <stdio.h>
+#include <cstring>
#include "dl_writer_ascii.h"
#include "dl_exception.h"
diff -Naur qcad-2.0.4.0-1.src/dxflib/src/dl_writer.h qcad-2.0.4.0-1.src.new/dxflib/src/dl_writer.h
--- qcad-2.0.4.0-1.src/dxflib/src/dl_writer.h 2004-09-14 16:13:01.000000000 -0400
+++ qcad-2.0.4.0-1.src.new/dxflib/src/dl_writer.h 2008-04-27 08:35:48.000000000 -0400
@@ -34,6 +34,7 @@
#include <iostream>
+#include <cstring>
#include "dl_attributes.h"
diff -Naur qcad-2.0.4.0-1.src/qcadactions/src/rs_actionzoompan.cpp qcad-2.0.4.0-1.src.new/qcadactions/src/rs_actionzoompan.cpp
--- qcad-2.0.4.0-1.src/qcadactions/src/rs_actionzoompan.cpp 2004-09-14 16:13:03.000000000 -0400
+++ qcad-2.0.4.0-1.src.new/qcadactions/src/rs_actionzoompan.cpp 2008-04-27 08:35:48.000000000 -0400
@@ -28,6 +28,7 @@
#include "rs_snapper.h"
#include "rs_point.h"
+#include <cstdlib>
RS_ActionZoomPan::RS_ActionZoomPan(RS_EntityContainer& container,
RS_GraphicView& graphicView)
diff -Naur qcad-2.0.4.0-1.src/qcadlib/src/information/rs_information.h qcad-2.0.4.0-1.src.new/qcadlib/src/information/rs_information.h
--- qcad-2.0.4.0-1.src/qcadlib/src/information/rs_information.h 2004-09-14 16:13:02.000000000 -0400
+++ qcad-2.0.4.0-1.src.new/qcadlib/src/information/rs_information.h 2008-04-27 08:35:48.000000000 -0400
@@ -31,7 +31,7 @@
#include "rs_line.h"
#include "rs_arc.h"
-
+#include <cstdlib>
/**
* Class for getting information about entities. This includes

View File

@ -23,7 +23,7 @@ stdenv.mkDerivation (rec {
preConfigure = preConfigure =
'' ''
configureFlags="${if perlSupport then "--enable-perl" else "--disable-perl"}"; configureFlags="--with-terminfo=$out/share/terminfo ${if perlSupport then "--enable-perl" else "--disable-perl"}";
export TERMINFO=$out/share/terminfo # without this the terminfo won't be compiled by tic, see man tic export TERMINFO=$out/share/terminfo # without this the terminfo won't be compiled by tic, see man tic
NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2" NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2"
NIX_LDFLAGS="$NIX_LDFLAGS -lfontconfig -lXrender " NIX_LDFLAGS="$NIX_LDFLAGS -lfontconfig -lXrender "
@ -36,10 +36,6 @@ stdenv.mkDerivation (rec {
meta = { meta = {
description = "A clone of the well-known terminal emulator rxvt"; description = "A clone of the well-known terminal emulator rxvt";
longDescription = "
You should put this into your ~/.bashrc:
export TERMINFO=~/.nix-profile/share/terminfo
";
homepage = "http://software.schmorp.de/pkg/rxvt-unicode.html"; homepage = "http://software.schmorp.de/pkg/rxvt-unicode.html";
}; };
}) })

View File

@ -4,8 +4,8 @@ stdenv.mkDerivation rec {
name = "st-0.3"; name = "st-0.3";
src = fetchurl { src = fetchurl {
url = http://hg.suckless.org/st/archive/0.3.tar.gz; url = "http://dl.suckless.org/st/${name}.tar.gz";
sha256 = "12ypldjjpsq3nvhszgjsk4wgqkwcvz06qiqw8k5npv3rd1nbx9cl"; sha256 = "0d0fjixiis4ixbz4l18rqhnssa7cy2bap3jkjyphqlqhl7lahv3d";
}; };
buildInputs = [ libX11 ncurses libXext libXft ]; buildInputs = [ libX11 ncurses libXext libXft ];

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: { cabal.mkDerivation (self: {
pname = "xmobar"; pname = "xmobar";
version = "0.15"; version = "0.16";
sha256 = "1wa141bf3krzr8qcd9cyix3cflbw1yr1l3299ashjs7skqnjadcl"; sha256 = "1dx4kwygzp4c5j4jj4lsfgjfvhh863v68s106lmwc86a30h60p8i";
isLibrary = false; isLibrary = false;
isExecutable = true; isExecutable = true;
buildDepends = [ buildDepends = [
@ -13,9 +13,6 @@ cabal.mkDerivation (self: {
]; ];
extraLibraries = [ libXrandr wirelesstools ]; extraLibraries = [ libXrandr wirelesstools ];
configureFlags = "-fwith_xft -fwith_iwlib"; configureFlags = "-fwith_xft -fwith_iwlib";
patchPhase = ''
sed -i -e 's|mtl ==.*$|mtl,|' xmobar.cabal
'';
meta = { meta = {
homepage = "http://projects.haskell.org/xmobar/"; homepage = "http://projects.haskell.org/xmobar/";
description = "A Minimalistic Text Based Status Bar"; description = "A Minimalistic Text Based Status Bar";

View File

@ -1,471 +0,0 @@
diff -cr xpdf-3.01.orig/goo/gmem.c xpdf-3.01/goo/gmem.c
*** xpdf-3.01.orig/goo/gmem.c Tue Aug 16 22:34:30 2005
--- xpdf-3.01/goo/gmem.c Tue Jan 17 17:03:57 2006
***************
*** 11,16 ****
--- 11,17 ----
#include <stdlib.h>
#include <stddef.h>
#include <string.h>
+ #include <limits.h>
#include "gmem.h"
#ifdef DEBUG_MEM
***************
*** 63,69 ****
int lst;
unsigned long *trl, *p;
! if (size == 0)
return NULL;
size1 = gMemDataSize(size);
if (!(mem = (char *)malloc(size1 + gMemHdrSize + gMemTrlSize))) {
--- 64,70 ----
int lst;
unsigned long *trl, *p;
! if (size <= 0)
return NULL;
size1 = gMemDataSize(size);
if (!(mem = (char *)malloc(size1 + gMemHdrSize + gMemTrlSize))) {
***************
*** 86,92 ****
#else
void *p;
! if (size == 0)
return NULL;
if (!(p = malloc(size))) {
fprintf(stderr, "Out of memory\n");
--- 87,93 ----
#else
void *p;
! if (size <= 0)
return NULL;
if (!(p = malloc(size))) {
fprintf(stderr, "Out of memory\n");
***************
*** 102,108 ****
void *q;
int oldSize;
! if (size == 0) {
if (p)
gfree(p);
return NULL;
--- 103,109 ----
void *q;
int oldSize;
! if (size <= 0) {
if (p)
gfree(p);
return NULL;
***************
*** 120,126 ****
#else
void *q;
! if (size == 0) {
if (p)
free(p);
return NULL;
--- 121,127 ----
#else
void *q;
! if (size <= 0) {
if (p)
free(p);
return NULL;
***************
*** 140,147 ****
void *gmallocn(int nObjs, int objSize) {
int n;
n = nObjs * objSize;
! if (objSize == 0 || n / objSize != nObjs) {
fprintf(stderr, "Bogus memory allocation size\n");
exit(1);
}
--- 141,151 ----
void *gmallocn(int nObjs, int objSize) {
int n;
+ if (nObjs == 0) {
+ return NULL;
+ }
n = nObjs * objSize;
! if (objSize <= 0 || nObjs < 0 || nObjs >= INT_MAX / objSize) {
fprintf(stderr, "Bogus memory allocation size\n");
exit(1);
}
***************
*** 151,158 ****
void *greallocn(void *p, int nObjs, int objSize) {
int n;
n = nObjs * objSize;
! if (objSize == 0 || n / objSize != nObjs) {
fprintf(stderr, "Bogus memory allocation size\n");
exit(1);
}
--- 155,168 ----
void *greallocn(void *p, int nObjs, int objSize) {
int n;
+ if (nObjs == 0) {
+ if (p) {
+ gfree(p);
+ }
+ return NULL;
+ }
n = nObjs * objSize;
! if (objSize <= 0 || nObjs < 0 || nObjs >= INT_MAX / objSize) {
fprintf(stderr, "Bogus memory allocation size\n");
exit(1);
}
diff -cr xpdf-3.01.orig/xpdf/JBIG2Stream.cc xpdf-3.01/xpdf/JBIG2Stream.cc
*** xpdf-3.01.orig/xpdf/JBIG2Stream.cc Tue Aug 16 22:34:31 2005
--- xpdf-3.01/xpdf/JBIG2Stream.cc Tue Jan 17 17:29:46 2006
***************
*** 13,18 ****
--- 13,19 ----
#endif
#include <stdlib.h>
+ #include <limits.h>
#include "GList.h"
#include "Error.h"
#include "JArithmeticDecoder.h"
***************
*** 681,686 ****
--- 682,691 ----
w = wA;
h = hA;
line = (wA + 7) >> 3;
+ if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
+ data = NULL;
+ return;
+ }
// need to allocate one extra guard byte for use in combine()
data = (Guchar *)gmalloc(h * line + 1);
data[h * line] = 0;
***************
*** 692,697 ****
--- 697,706 ----
w = bitmap->w;
h = bitmap->h;
line = bitmap->line;
+ if (w <= 0 || h <= 0 || line <= 0 || h >= (INT_MAX - 1) / line) {
+ data = NULL;
+ return;
+ }
// need to allocate one extra guard byte for use in combine()
data = (Guchar *)gmalloc(h * line + 1);
memcpy(data, bitmap->data, h * line);
***************
*** 720,726 ****
}
void JBIG2Bitmap::expand(int newH, Guint pixel) {
! if (newH <= h) {
return;
}
// need to allocate one extra guard byte for use in combine()
--- 729,735 ----
}
void JBIG2Bitmap::expand(int newH, Guint pixel) {
! if (newH <= h || line <= 0 || newH >= (INT_MAX - 1) / line) {
return;
}
// need to allocate one extra guard byte for use in combine()
***************
*** 2294,2299 ****
--- 2303,2316 ----
!readUWord(&stepX) || !readUWord(&stepY)) {
goto eofError;
}
+ if (w == 0 || h == 0 || w >= INT_MAX / h) {
+ error(getPos(), "Bad bitmap size in JBIG2 halftone segment");
+ return;
+ }
+ if (gridH == 0 || gridW >= INT_MAX / gridH) {
+ error(getPos(), "Bad grid size in JBIG2 halftone segment");
+ return;
+ }
// get pattern dictionary
if (nRefSegs != 1) {
diff -cr xpdf-3.01.orig/xpdf/JPXStream.cc xpdf-3.01/xpdf/JPXStream.cc
*** xpdf-3.01.orig/xpdf/JPXStream.cc Tue Aug 16 22:34:31 2005
--- xpdf-3.01/xpdf/JPXStream.cc Tue Jan 17 17:14:06 2006
***************
*** 12,17 ****
--- 12,18 ----
#pragma implementation
#endif
+ #include <limits.h>
#include "gmem.h"
#include "Error.h"
#include "JArithmeticDecoder.h"
***************
*** 818,823 ****
--- 819,830 ----
/ img.xTileSize;
img.nYTiles = (img.ySize - img.yTileOffset + img.yTileSize - 1)
/ img.yTileSize;
+ // check for overflow before allocating memory
+ if (img.nXTiles <= 0 || img.nYTiles <= 0 ||
+ img.nXTiles >= INT_MAX / img.nYTiles) {
+ error(getPos(), "Bad tile count in JPX SIZ marker segment");
+ return gFalse;
+ }
img.tiles = (JPXTile *)gmallocn(img.nXTiles * img.nYTiles,
sizeof(JPXTile));
for (i = 0; i < img.nXTiles * img.nYTiles; ++i) {
diff -cr xpdf-3.01.orig/xpdf/Stream.cc xpdf-3.01/xpdf/Stream.cc
*** xpdf-3.01.orig/xpdf/Stream.cc Tue Aug 16 22:34:31 2005
--- xpdf-3.01/xpdf/Stream.cc Tue Jan 17 17:31:52 2006
***************
*** 15,20 ****
--- 15,21 ----
#include <stdio.h>
#include <stdlib.h>
#include <stddef.h>
+ #include <limits.h>
#ifndef WIN32
#include <unistd.h>
#endif
***************
*** 406,418 ****
--- 407,432 ----
width = widthA;
nComps = nCompsA;
nBits = nBitsA;
+ predLine = NULL;
+ ok = gFalse;
nVals = width * nComps;
+ if (width <= 0 || nComps <= 0 || nBits <= 0 ||
+ nComps >= INT_MAX / nBits ||
+ width >= INT_MAX / nComps / nBits ||
+ nVals * nBits + 7 < 0) {
+ return;
+ }
pixBytes = (nComps * nBits + 7) >> 3;
rowBytes = ((nVals * nBits + 7) >> 3) + pixBytes;
+ if (rowBytes <= 0) {
+ return;
+ }
predLine = (Guchar *)gmalloc(rowBytes);
memset(predLine, 0, rowBytes);
predIdx = rowBytes;
+
+ ok = gTrue;
}
StreamPredictor::~StreamPredictor() {
***************
*** 1004,1009 ****
--- 1018,1027 ----
FilterStream(strA) {
if (predictor != 1) {
pred = new StreamPredictor(this, predictor, columns, colors, bits);
+ if (!pred->isOk()) {
+ delete pred;
+ pred = NULL;
+ }
} else {
pred = NULL;
}
***************
*** 1259,1264 ****
--- 1277,1285 ----
if (columns < 1) {
columns = 1;
}
+ if (columns + 4 <= 0) {
+ columns = INT_MAX - 4;
+ }
rows = rowsA;
endOfBlock = endOfBlockA;
black = blackA;
***************
*** 2899,2904 ****
--- 2920,2930 ----
height = read16();
width = read16();
numComps = str->getChar();
+ if (numComps <= 0 || numComps > 4) {
+ error(getPos(), "Bad number of components in DCT stream");
+ numComps = 0;
+ return gFalse;
+ }
if (prec != 8) {
error(getPos(), "Bad DCT precision %d", prec);
return gFalse;
***************
*** 2925,2930 ****
--- 2951,2961 ----
height = read16();
width = read16();
numComps = str->getChar();
+ if (numComps <= 0 || numComps > 4) {
+ error(getPos(), "Bad number of components in DCT stream");
+ numComps = 0;
+ return gFalse;
+ }
if (prec != 8) {
error(getPos(), "Bad DCT precision %d", prec);
return gFalse;
***************
*** 2947,2952 ****
--- 2978,2988 ----
length = read16() - 2;
scanInfo.numComps = str->getChar();
+ if (scanInfo.numComps <= 0 || scanInfo.numComps > 4) {
+ error(getPos(), "Bad number of components in DCT stream");
+ scanInfo.numComps = 0;
+ return gFalse;
+ }
--length;
if (length != 2 * scanInfo.numComps + 3) {
error(getPos(), "Bad DCT scan info block");
***************
*** 3041,3046 ****
--- 3077,3083 ----
numACHuffTables = index+1;
tbl = &acHuffTables[index];
} else {
+ index &= 0x0f;
if (index >= numDCHuffTables)
numDCHuffTables = index+1;
tbl = &dcHuffTables[index];
***************
*** 3827,3832 ****
--- 3864,3873 ----
FilterStream(strA) {
if (predictor != 1) {
pred = new StreamPredictor(this, predictor, columns, colors, bits);
+ if (!pred->isOk()) {
+ delete pred;
+ pred = NULL;
+ }
} else {
pred = NULL;
}
diff -cr xpdf-3.01.orig/xpdf/Stream.h xpdf-3.01/xpdf/Stream.h
*** xpdf-3.01.orig/xpdf/Stream.h Tue Aug 16 22:34:31 2005
--- xpdf-3.01/xpdf/Stream.h Tue Jan 17 17:19:54 2006
***************
*** 232,237 ****
--- 232,239 ----
~StreamPredictor();
+ GBool isOk() { return ok; }
+
int lookChar();
int getChar();
***************
*** 249,254 ****
--- 251,257 ----
int rowBytes; // bytes per line
Guchar *predLine; // line buffer
int predIdx; // current index in predLine
+ GBool ok;
};
//------------------------------------------------------------------------
***************
*** 527,533 ****
short getWhiteCode();
short getBlackCode();
short lookBits(int n);
! void eatBits(int n) { inputBits -= n; }
};
//------------------------------------------------------------------------
--- 530,536 ----
short getWhiteCode();
short getBlackCode();
short lookBits(int n);
! void eatBits(int n) { if ((inputBits -= n) < 0) inputBits = 0; }
};
//------------------------------------------------------------------------
diff -cr xpdf-3.01.orig/splash/SplashXPathScanner.cc xpdf-3.01/splash/SplashXPathScanner.cc
*** xpdf-3.01.orig/splash/SplashXPathScanner.cc Tue Aug 16 22:34:31 2005
--- xpdf-3.01/splash/SplashXPathScanner.cc Wed Feb 1 17:01:14 2006
***************
*** 186,192 ****
}
void SplashXPathScanner::computeIntersections(int y) {
! SplashCoord ySegMin, ySegMax, xx0, xx1;
SplashXPathSeg *seg;
int i, j;
--- 186,192 ----
}
void SplashXPathScanner::computeIntersections(int y) {
! SplashCoord xSegMin, xSegMax, ySegMin, ySegMax, xx0, xx1;
SplashXPathSeg *seg;
int i, j;
***************
*** 236,254 ****
} else if (seg->flags & splashXPathVert) {
xx0 = xx1 = seg->x0;
} else {
! if (ySegMin <= y) {
! // intersection with top edge
! xx0 = seg->x0 + ((SplashCoord)y - seg->y0) * seg->dxdy;
} else {
! // x coord of segment endpoint with min y coord
! xx0 = (seg->flags & splashXPathFlip) ? seg->x1 : seg->x0;
}
! if (ySegMax >= y + 1) {
! // intersection with bottom edge
! xx1 = seg->x0 + ((SplashCoord)y + 1 - seg->y0) * seg->dxdy;
! } else {
! // x coord of segment endpoint with max y coord
! xx1 = (seg->flags & splashXPathFlip) ? seg->x0 : seg->x1;
}
}
if (xx0 < xx1) {
--- 236,262 ----
} else if (seg->flags & splashXPathVert) {
xx0 = xx1 = seg->x0;
} else {
! if (seg->x0 < seg->x1) {
! xSegMin = seg->x0;
! xSegMax = seg->x1;
} else {
! xSegMin = seg->x1;
! xSegMax = seg->x0;
}
! // intersection with top edge
! xx0 = seg->x0 + ((SplashCoord)y - seg->y0) * seg->dxdy;
! // intersection with bottom edge
! xx1 = seg->x0 + ((SplashCoord)y + 1 - seg->y0) * seg->dxdy;
! // the segment may not actually extend to the top and/or bottom edges
! if (xx0 < xSegMin) {
! xx0 = xSegMin;
! } else if (xx0 > xSegMax) {
! xx0 = xSegMax;
! }
! if (xx1 < xSegMin) {
! xx1 = xSegMin;
! } else if (xx1 > xSegMax) {
! xx1 = xSegMax;
}
}
if (xx0 < xx1) {

View File

@ -1,4 +1,4 @@
{ stdenv, config, fetchurl, makeWrapper, which { stdenv, fetchurl, makeWrapper, which
# default dependencies # default dependencies
, bzip2, flac, speex , bzip2, flac, speex
@ -15,32 +15,24 @@
, libXScrnSaver, libXcursor, mesa , libXScrnSaver, libXcursor, mesa
# optional dependencies # optional dependencies
, libgnome_keyring # config.gnomeKeyring , libgcrypt ? null # gnomeSupport || cupsSupport
, gconf # config.gnome
, libgcrypt # config.gnome || config.cups # package customization
, nss, openssl # config.openssl , channel ? "stable"
, pulseaudio # config.pulseaudio , enableSELinux ? false, libselinux ? null
, libselinux # config.selinux , enableNaCl ? false
, useOpenSSL ? false, nss ? null, openssl ? null
, gnomeSupport ? false, gconf ? null
, gnomeKeyringSupport ? false, libgnome_keyring ? null
, proprietaryCodecs ? true
, cupsSupport ? false
, pulseSupport ? false, pulseaudio ? null
}: }:
with stdenv.lib; with stdenv.lib;
let let
mkConfigurable = mapAttrs (flag: default: attrByPath ["chromium" flag] default config); sourceInfo = builtins.getAttr channel (import ./sources.nix);
cfg = mkConfigurable {
channel = "stable";
selinux = false;
nacl = false;
openssl = false;
gnome = false;
gnomeKeyring = false;
proprietaryCodecs = true;
cups = false;
pulseaudio = config.pulseaudio or true;
};
sourceInfo = builtins.getAttr cfg.channel (import ./sources.nix);
mkGypFlags = mkGypFlags =
let let
@ -62,7 +54,7 @@ let
use_system_libusb = true; use_system_libusb = true;
use_system_libxml = true; use_system_libxml = true;
use_system_speex = true; use_system_speex = true;
use_system_ssl = cfg.openssl; use_system_ssl = useOpenSSL;
use_system_stlport = true; use_system_stlport = true;
use_system_xdg_utils = true; use_system_xdg_utils = true;
use_system_yasm = true; use_system_yasm = true;
@ -87,7 +79,7 @@ let
post23 = !versionOlder sourceInfo.version "24.0.0.0"; post23 = !versionOlder sourceInfo.version "24.0.0.0";
post24 = !versionOlder sourceInfo.version "25.0.0.0"; post24 = !versionOlder sourceInfo.version "25.0.0.0";
maybeFixPulseAudioBuild = optional (post23 && cfg.pulseaudio) (fetchurl { maybeFixPulseAudioBuild = optional (post23 && pulseSupport) (fetchurl {
url = http://archrepo.jeago.com/sources/chromium-dev/pulse_audio_fix.patch; url = http://archrepo.jeago.com/sources/chromium-dev/pulse_audio_fix.patch;
sha256 = "1w91mirrkqigdhsj892mqxlc0nlv1dsp5shc46w9xf8nl96jxgfb"; sha256 = "1w91mirrkqigdhsj892mqxlc0nlv1dsp5shc46w9xf8nl96jxgfb";
}); });
@ -107,28 +99,28 @@ in stdenv.mkDerivation rec {
which makeWrapper which makeWrapper
python perl pkgconfig python perl pkgconfig
nspr udev nspr udev
(if cfg.openssl then openssl else nss) (if useOpenSSL then openssl else nss)
utillinux alsaLib utillinux alsaLib
gcc bison gperf gcc bison gperf
krb5 krb5
glib gtk dbus_glib glib gtk dbus_glib
libXScrnSaver libXcursor mesa libXScrnSaver libXcursor mesa
] ++ optional cfg.gnomeKeyring libgnome_keyring ] ++ optional gnomeKeyringSupport libgnome_keyring
++ optionals cfg.gnome [ gconf libgcrypt ] ++ optionals gnomeSupport [ gconf libgcrypt ]
++ optional cfg.selinux libselinux ++ optional enableSELinux libselinux
++ optional cfg.cups libgcrypt ++ optional cupsSupport libgcrypt
++ optional cfg.pulseaudio pulseaudio ++ optional pulseSupport pulseaudio
++ optional post24 pciutils; ++ optional post24 pciutils;
opensslPatches = optional cfg.openssl openssl.patches; opensslPatches = optional useOpenSSL openssl.patches;
prePatch = "patchShebangs ."; prePatch = "patchShebangs .";
patches = optional cfg.cups ./cups_allow_deprecated.patch patches = optional cupsSupport ./cups_allow_deprecated.patch
++ optional cfg.pulseaudio ./pulseaudio_array_bounds.patch ++ optional pulseSupport ./pulseaudio_array_bounds.patch
++ maybeFixPulseAudioBuild; ++ maybeFixPulseAudioBuild;
postPatch = optionalString cfg.openssl '' postPatch = optionalString useOpenSSL ''
cat $opensslPatches | patch -p1 -d third_party/openssl/openssl cat $opensslPatches | patch -p1 -d third_party/openssl/openssl
''; '';
@ -136,15 +128,15 @@ in stdenv.mkDerivation rec {
linux_use_gold_binary = false; linux_use_gold_binary = false;
linux_use_gold_flags = false; linux_use_gold_flags = false;
proprietary_codecs = false; proprietary_codecs = false;
use_gnome_keyring = cfg.gnomeKeyring; use_gnome_keyring = gnomeKeyringSupport;
use_gconf = cfg.gnome; use_gconf = gnomeSupport;
use_gio = cfg.gnome; use_gio = gnomeSupport;
use_pulseaudio = cfg.pulseaudio; use_pulseaudio = pulseSupport;
disable_nacl = !cfg.nacl; disable_nacl = !enableNaCl;
use_openssl = cfg.openssl; use_openssl = useOpenSSL;
selinux = cfg.selinux; selinux = enableSELinux;
use_cups = cfg.cups; use_cups = cupsSupport;
} // optionalAttrs cfg.proprietaryCodecs { } // optionalAttrs proprietaryCodecs {
# enable support for the H.264 codec # enable support for the H.264 codec
proprietary_codecs = true; proprietary_codecs = true;
ffmpeg_branding = "Chrome"; ffmpeg_branding = "Chrome";

View File

@ -6,13 +6,13 @@
sha256 = "1i7ga1qhnjvnw2gynmpmsvvl5pxcb5z9sgldp87d9yalim5sra6s"; sha256 = "1i7ga1qhnjvnw2gynmpmsvvl5pxcb5z9sgldp87d9yalim5sra6s";
}; };
beta = { beta = {
version = "24.0.1312.14"; version = "24.0.1312.35";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-24.0.1312.14.tar.bz2"; url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-24.0.1312.35.tar.bz2";
sha256 = "03w8cg4kqmpj82976ax9x6y275y9gcri4vc11cvfjp6r1issxzk8"; sha256 = "0mb6xz5lrnzjk1zqr83jyprsxv20svy3a7lyxv9iwdb2bh1i13ci";
}; };
stable = { stable = {
version = "23.0.1271.64"; version = "23.0.1271.97";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-23.0.1271.64.tar.bz2"; url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-23.0.1271.97.tar.bz2";
sha256 = "1rzz08sgw07nkmvhhgyrkrcxj3z24lxbx0di6ky6jz3lshibp578"; sha256 = "1qf21n6msj1jmxhnlw8fapsz7q6dd851rxdqv4334v06ny4i5fip";
}; };
} }

View File

@ -1,185 +0,0 @@
{ stdenv, fetchurl, pkgconfig, gtk, pango, perl, python, zip, libIDL
, libjpeg, libpng, zlib, cairo, dbus, dbus_glib, bzip2, xlibs
, freetype, fontconfig, file, alsaLib, nspr, nss, libnotify
, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
, # 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
# Mozilla Foundation, see
# http://www.mozilla.org/foundation/trademarks/.
enableOfficialBranding ? false
}:
assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
rec {
firefoxVersion = "16.0.2";
xulVersion = "16.0.2"; # this attribute is used by other packages
src = fetchurl {
urls = [
# It is better to use this url for official releases, to take load off Mozilla's ftp server.
"http://releases.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"
# Fall back to this url for versions not available at releases.mozilla.org.
"ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"
];
sha1 = "0ffe96896583e92561b341330ab09ddc50140dd1";
};
commonConfigureFlags =
[ "--enable-optimize"
#"--enable-profiling"
"--disable-debug"
"--enable-strip"
"--with-system-jpeg"
"--with-system-zlib"
"--with-system-bz2"
"--with-system-nspr"
"--with-system-nss"
# "--with-system-png" # <-- "--with-system-png won't work because the system's libpng doesn't have APNG support"
# "--enable-system-cairo" # disabled for the moment because our Cairo is too old
"--enable-system-sqlite"
"--disable-crashreporter"
"--disable-tests"
"--disable-necko-wifi" # maybe we want to enable this at some point
"--disable-installer"
"--disable-updater"
];
xulrunner = stdenv.mkDerivation rec {
name = "xulrunner-${xulVersion}";
inherit src;
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg libpng zlib cairo 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
];
configureFlags =
[ "--enable-application=xulrunner"
"--disable-javaxpcom"
] ++ commonConfigureFlags;
enableParallelBuilding = true;
preConfigure =
''
export NIX_LDFLAGS="$NIX_LDFLAGS -L$out/lib/xulrunner-${xulVersion}"
mkdir ../objdir
cd ../objdir
configureScript=../mozilla-release/configure
''; # */
#installFlags = "SKIP_GRE_REGISTRATION=1";
postInstall = ''
# Fix run-mozilla.sh search
libDir=$(cd $out/lib && ls -d xulrunner-[0-9]*)
echo libDir: $libDir
test -n "$libDir"
cd $out/bin
rm xulrunner
for i in $out/lib/$libDir/*; do
file $i;
if file $i | grep executable &>/dev/null; then
echo -e '#! /bin/sh\n"'"$i"'" "$@"' > "$out/bin/$(basename "$i")";
chmod a+x "$out/bin/$(basename "$i")";
fi;
done
for i in $out/lib/$libDir/*.so; do
patchelf --set-rpath "$(patchelf --print-rpath "$i"):$out/lib/$libDir" $i || true
done
for i in $out/lib/$libDir/{plugin-container,xulrunner,xulrunner-stub}; do
wrapProgram $i --prefix LD_LIBRARY_PATH ':' "$out/lib/$libDir"
done
rm -f $out/bin/run-mozilla.sh
''; # */
meta = {
description = "Mozilla Firefox XUL runner";
homepage = http://www.mozilla.com/en-US/firefox/;
};
passthru = { inherit gtk; version = xulVersion; };
};
firefox = stdenv.mkDerivation rec {
name = "firefox-${firefoxVersion}";
inherit src;
enableParallelBuilding = true;
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg zlib cairo bzip2 python
dbus dbus_glib pango freetype fontconfig alsaLib nspr nss libnotify
xlibs.pixman yasm mesa sqlite file unzip pysqlite
];
propagatedBuildInputs = [xulrunner];
configureFlags =
[ "--enable-application=browser"
"--with-libxul-sdk=${xulrunner}/lib/xulrunner-devel-${xulrunner.version}"
"--enable-chrome-format=jar"
"--disable-elf-hack"
]
++ commonConfigureFlags
++ stdenv.lib.optional enableOfficialBranding "--enable-official-branding";
makeFlags = [
"SYSTEM_LIBXUL=1"
];
# Hack to work around make's idea of -lbz2 dependency
preConfigure =
''
find . -name Makefile.in -execdir sed -i '{}' -e '1ivpath %.so ${
stdenv.lib.concatStringsSep ":"
(map (s : s + "/lib") (buildInputs ++ [stdenv.gcc.libc]))
}' ';'
'';
postInstall =
''
ln -s ${xulrunner}/lib/xulrunner-${xulrunner.version} $(echo $out/lib/firefox-*)/xulrunner
for j in $out/bin/*; do
i="$(readlink "$j")";
file $i;
if file $i | grep executable &>/dev/null; then
rm "$out/bin/$(basename "$i")"
echo -e '#! /bin/sh\nexec "'"$i"'" "$@"' > "$out/bin/$(basename "$i")"
chmod a+x "$out/bin/$(basename "$i")"
fi;
done;
cd "$out/lib/"firefox-*
rm firefox
echo -e '#!${stdenv.shell}\n${xulrunner}/bin/xulrunner "'"$PWD"'/application.ini" "$@"' > firefox
chmod a+x firefox
''; # */
meta = {
description = "Mozilla Firefox - the browser, reloaded";
homepage = http://www.mozilla.com/en-US/firefox/;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
passthru = {
inherit gtk xulrunner nspr;
isFirefox3Like = true;
};
};
}

View File

@ -15,9 +15,9 @@ assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
rec { rec {
firefoxVersion = "17.0"; firefoxVersion = "17.0.1";
xulVersion = "17.0"; # this attribute is used by other packages xulVersion = "17.0.1"; # this attribute is used by other packages
src = fetchurl { src = fetchurl {
@ -27,7 +27,7 @@ rec {
# Fall back to this url for versions not available at releases.mozilla.org. # Fall back to this url for versions not available at releases.mozilla.org.
"ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2" "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"
]; ];
sha1 = "4f5f175c1662d67f70e78403607d8eda600efd8b"; sha1 = "15c09796a388f0a78996427b7bc2c80f4e0496f3";
}; };
commonConfigureFlags = commonConfigureFlags =

View File

@ -13,6 +13,7 @@
, libXrender , libXrender
, libXcursor , libXcursor
, libXt , libXt
, libvdpau
, gtk , gtk
, glib , glib
, pango , pango
@ -43,9 +44,9 @@ let
throw "no x86_64 debugging version available" throw "no x86_64 debugging version available"
else rec { else rec {
# -> http://labs.adobe.com/downloads/flashplayer10.html # -> http://labs.adobe.com/downloads/flashplayer10.html
version = "11.2.202.238"; version = "11.2.202.251";
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz"; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux_x86_64.tar.gz";
sha256 = "07d09xjnn2hm877psmv9a6c4cfighxw24p0apq2ykawnrjpjc6zn"; sha256 = "0nkwpqp8ilv21rlmr4jv8abdnfmz292y3w1qlx6r67qf926nfrz2";
} }
else if stdenv.system == "i686-linux" then else if stdenv.system == "i686-linux" then
if debug then { if debug then {
@ -54,9 +55,9 @@ let
url = http://fpdownload.macromedia.com/pub/flashplayer/updaters/11/flashplayer_11_plugin_debug.i386.tar.gz; url = http://fpdownload.macromedia.com/pub/flashplayer/updaters/11/flashplayer_11_plugin_debug.i386.tar.gz;
sha256 = "1z3649lv9sh7jnwl8d90a293nkaswagj2ynhsr4xmwiy7c0jz2lk"; sha256 = "1z3649lv9sh7jnwl8d90a293nkaswagj2ynhsr4xmwiy7c0jz2lk";
} else rec { } else rec {
version = "11.2.202.238"; version = "11.2.202.251";
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz"; url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux_i386.tar.gz";
sha256 = "0p05pr4vmc4536axjyljhxhqizq4ihslar8g638dj24251byp7ca"; sha256 = "0nph42s1bspf88m1qqrvc93kkxkrvq3lfs5iq4l5dflwzs32jdm3";
} }
else throw "Flash Player is not supported on this platform"; else throw "Flash Player is not supported on this platform";
@ -78,6 +79,7 @@ stdenv.mkDerivation {
rpath = stdenv.lib.makeLibraryPath rpath = stdenv.lib.makeLibraryPath
[ zlib alsaLib curl nss nspr fontconfig freetype expat libX11 [ zlib alsaLib curl nss nspr fontconfig freetype expat libX11
libXext libXrender libXcursor libXt gtk glib pango atk cairo gdk_pixbuf libXext libXrender libXcursor libXt gtk glib pango atk cairo gdk_pixbuf
libvdpau
]; ];
buildPhase = ":"; buildPhase = ":";

View File

@ -1,6 +1,6 @@
args: with args; args: with args;
stdenv.mkDerivation { stdenv.mkDerivation {
name = "libnsbmp-0.0.1"; name = "libnsgif-0.0.1";
src = fetchurl { src = fetchurl {
url = http://www.netsurf-browser.org/projects/releases/libnsgif-0.0.1-src.tar.gz; url = http://www.netsurf-browser.org/projects/releases/libnsgif-0.0.1-src.tar.gz;
@ -10,7 +10,7 @@ stdenv.mkDerivation {
installPhase = "make PREFIX=$out install"; installPhase = "make PREFIX=$out install";
buildInputs = []; buildInputs = [];
meta = { meta = {
description = "Libnsbmp is a decoding library for gif image file formats"; # used by netsurf description = "Libnsbmp is a decoding library for gif image file formats"; # used by netsurf
homepage = http://www.netsurf-browser.org/projects/libnsgif/; homepage = http://www.netsurf-browser.org/projects/libnsgif/;
license = "MIT"; license = "MIT";

View File

@ -13,18 +13,18 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "opera-12.11-1661"; name = "opera-12.12-1707";
src = src =
if stdenv.system == "i686-linux" then if stdenv.system == "i686-linux" then
fetchurl { fetchurl {
url = "${mirror}/linux/1211/${name}.i386.linux.tar.xz"; url = "${mirror}/linux/1212/${name}.i386.linux.tar.xz";
sha256 = "0ax2kcnl0hb7fz56c9gcjia3dnwabxl2mq2hvszmbky4i399jlkk"; sha256 = "1jkrhxjxa5kz4bhyma0zlnsszdn84sq4pks3x8bfcayn12m6yxkz";
} }
else if stdenv.system == "x86_64-linux" then else if stdenv.system == "x86_64-linux" then
fetchurl { fetchurl {
url = "${mirror}/linux/1211/${name}.x86_64.linux.tar.xz"; url = "${mirror}/linux/1212/${name}.x86_64.linux.tar.xz";
sha256 = "1pnad4kdasrmm27kg6frldipyzcfy1y610rasbqic9frzb9q8dbp"; sha256 = "0acizxgyqblcvl91dwmvi937fi1kw6whz5qgxyl1fkygbayji90v";
} }
else throw "Opera is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)"; else throw "Opera is not supported on ${stdenv.system} (only i686-linux and x86_64 linux are supported)";
@ -73,6 +73,10 @@ stdenv.mkDerivation rec {
postFixup = '' postFixup = ''
oldRPATH=`patchelf --print-rpath $out/lib/opera/opera` oldRPATH=`patchelf --print-rpath $out/lib/opera/opera`
patchelf --set-rpath $oldRPATH:${cups}/lib $out/lib/opera/opera patchelf --set-rpath $oldRPATH:${cups}/lib $out/lib/opera/opera
# This file should normally require a gtk-update-icon-cache -q /usr/share/icons/hicolor command
# It have no reasons to exist in a redistribuable package
rm $out/share/icons/hicolor/icon-theme.cache
''; '';
meta = { meta = {

View File

@ -0,0 +1,23 @@
{ stdenv, fetchurl, dbus, gnutls2, wxGTK28, libidn, tinyxml, gettext, pkgconfig, xdg_utils, gtk2, sqlite36 }:
let version = "3.6.0.2"; in
stdenv.mkDerivation {
name = "filezilla-${version}";
src = fetchurl {
url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
sha256 = "01n6k1q21i21451rdx3rgc4hhxghdn5b0ldzpjsp44ipgww5wsjk";
};
configureFlags = [
"--disable-manualupdatecheck"
];
buildInputs = [ dbus gnutls2 wxGTK28 libidn tinyxml gettext pkgconfig xdg_utils gtk2 sqlite36 ];
meta = {
homepage = "http://filezilla-project.org/";
description = "FileZilla is a cross-platform graphical FTP, FTPS and SFTP client a lot of features, supporting Windows, Linux, Mac OS X and more.";
license = "GPLv2";
};
}

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation { stdenv.mkDerivation {
name = "kadu-0.10.1"; name = "kadu-0.12.2";
src = fetchurl { src = fetchurl {
url = http://download.kadu.im/stable/kadu-0.10.1.tar.bz2; url = http://download.kadu.im/stable/kadu-0.12.2.tar.bz2;
sha256 = "0j88pyp2nqpc57j38zr135ypfiv4v329gfgiz9rdbqi8j26cyp7g"; sha256 = "0rqhkiyn8c7jigpxmvwh7daxsgjxlvd16zjdss1azdzd9x2dbym1";
}; };
buildInputs = [ cmake qt4 libgadu libXScrnSaver libsndfile libX11 alsaLib aspell libidn qca2 phonon pkgconfig buildInputs = [ cmake qt4 libgadu libXScrnSaver libsndfile libX11 alsaLib aspell libidn qca2 phonon pkgconfig
@ -21,8 +21,12 @@ stdenv.mkDerivation {
patchShebangs . patchShebangs .
''; '';
# because I was not able to get those working # Disable the kadu plugins I wasn't able to get to work
patches = [ ./disable_some_plugins.patch ]; patchPhase = ''
sed -i -e '/mpd_mediaplayer/d' \
-e '/encryption_ng/d' \
-e '/encryption_ng_simlite/d' Plugins.cmake
'';
NIX_LDFLAGS="-lX11"; NIX_LDFLAGS="-lX11";

View File

@ -1,28 +0,0 @@
diff --git a/Plugins.cmake b/Plugins.cmake
index ad63f20..c14a781 100644
--- a/Plugins.cmake
+++ b/Plugins.cmake
@@ -30,9 +30,9 @@ set (COMPILE_PLUGINS
# encryption
# Encrypted chat support
- encryption_ng
+ # encryption_ng
# OpenSSL encrypted chat support
- encryption_ng_simlite
+ # encryption_ng_simlite
# docking
# Tray icon support (common part of all docking modules)
@@ -104,9 +104,9 @@ if (UNIX)
# mediaplayer
# MPD mediaplayer support
- mpd_mediaplayer
+ # mpd_mediaplayer
# MPRIS Media Players support
- mprisplayer_mediaplayer
+ # mprisplayer_mediaplayer
)
endif (UNIX)

View File

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

View File

@ -1,13 +0,0 @@
[
{name="ktp-accounts-kcm";key="accounts_kcm";sha256="1lkqiwibxabg5p3k8l0zyzjyysi56dvbbcxp1sybd81hmxf6fzxh";}
{name="ktp-approver";key="approver";sha256="0bw3i8av55n93ac6phvar03b6rz34wbqrzx7l2vd48d0y5ib0j6m";}
{name="ktp-auth-handler";key="auth_handler";sha256="0kby9935df474b7jvzzg7v3zvrgml5caf96ps4dcrcvyz91ckd1y";}
{name="ktp-common-internals";key="common_internals";sha256="1g22b0g9g14dsdl0qkdglgkf26c3pjc96q19kj2kai1i644i8k5h";}
{name="ktp-contact-applet";key="contact_applet";sha256="0iwr202snsm72xjxv1jb9z24j8ikdx6ljaz5v9i0ha8f8rb1vrp5";}
{name="ktp-contact-list";key="contact_list";sha256="06y1cw2kkn6ig5qnmzl7bdz9nghpv2c83c9vf9glgbxf77qfg3ms";}
{name="ktp-filetransfer-handler";key="filetransfer_handler";sha256="1cdnl4sn34lmm7h7qv8rrkp7ia5gcg2704fqhvpv8n8gxwwhrc1a";}
{name="ktp-kded-integration-module";key="kded_integration_module";sha256="1ccihqk0pg28v2q6p9dx37ql7hnwdz2060jf1s6p9yyd27fc4is0";}
{name="ktp-presence-applet";key="presence_applet";sha256="0zgl8z81kmy2a03kzgvvqlr244cw9gw2kfrph1d6ax8zk4fqvxnz";}
{name="ktp-send-file";key="send_file";sha256="1d1j0klp8dvmldn5c19zqfsxcm5hbaq5fxikpjg0q3j9ib8yh9la";}
{name="ktp-text-ui";key="text_ui";sha256="0qikjh8ywlnwkfr4nd4hc9b15b824simhdj3n62yd87pmkk3avw6";}
]

View File

@ -1,20 +1,27 @@
{ stdenv, fetchurl, ncurses, openssl, perl, python, aspell, gnutls { stdenv, fetchurl, ncurses, openssl, perl, python, aspell, gnutls
, zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile }: , zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile
, pythonPackages, makeWrapper }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.3.9"; version = "0.3.9.2";
name = "weechat-${version}"; name = "weechat-${version}";
src = fetchurl { src = fetchurl {
url = "http://weechat.org/files/src/${name}.tar.gz"; url = "http://weechat.org/files/src/${name}.tar.gz";
sha256 = "8666c788cbb212036197365df3ba3cf964a23e4f644d76ea51d66dbe3be593bb"; sha256 = "114cffqwnrqx8r4dslz7sc4i4ky4akzh863rnzaw3dnn9ky9r503";
}; };
buildInputs = buildInputs =
[ ncurses perl python openssl aspell gnutls zlib curl pkgconfig [ ncurses perl python openssl aspell gnutls zlib curl pkgconfig
libgcrypt ruby lua5 tcl guile libgcrypt ruby lua5 tcl guile pythonPackages.pycrypto makeWrapper
]; ];
postInstall = ''
wrapProgram "$out/bin/weechat-curses" \
--prefix PYTHONPATH : "$PYTHONPATH" \
--prefix PYTHONPATH : "$out/lib/${python.libPrefix}/site-packages"
'';
meta = { meta = {
homepage = http://http://www.weechat.org/; homepage = http://http://www.weechat.org/;
description = "A fast, light and extensible chat client"; description = "A fast, light and extensible chat client";

View File

@ -22,7 +22,7 @@ stdenv.mkDerivation {
sha1 = "ccc5f2e155364948945abf6fd27bebeb4d797aa8"; sha1 = "ccc5f2e155364948945abf6fd27bebeb4d797aa8";
}; };
enableParallelBuilding = true; enableParallelBuilding = false;
buildInputs = buildInputs =
[ pkgconfig perl python zip unzip bzip2 gtk dbus_glib alsaLib libIDL nspr [ pkgconfig perl python zip unzip bzip2 gtk dbus_glib alsaLib libIDL nspr

View File

@ -1,19 +1,19 @@
{ stdenv, fetchurl, libextractor, libmicrohttpd, libgcrypt { stdenv, fetchurl, libextractor, libmicrohttpd, libgcrypt
, zlib, gmp, curl, libtool, adns, sqlite, pkgconfig , zlib, gmp, curl, libtool, adns, sqlite, pkgconfig
, libxml2, ncurses, gettext, libunistring , libxml2, ncurses, gettext, libunistring, libidn
, makeWrapper }: , makeWrapper }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gnunet-0.9.3"; name = "gnunet-0.9.5";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/gnunet/${name}.tar.gz"; url = "mirror://gnu/gnunet/${name}.tar.gz";
sha256 = "0ppirvwjb7w7270g0w83z6wyk984cnxv2ydxj7qr0j1cz2j6nn2h"; sha256 = "162bahbskhzc0b2pda7v36dckm3p5p9rnbv2w0fbl0xl2gln63aa";
}; };
buildInputs = [ buildInputs = [
libextractor libmicrohttpd libgcrypt gmp curl libtool libextractor libmicrohttpd libgcrypt gmp curl libtool
zlib adns sqlite libxml2 ncurses zlib adns sqlite libxml2 ncurses libidn
pkgconfig gettext libunistring makeWrapper pkgconfig gettext libunistring makeWrapper
]; ];
@ -36,6 +36,10 @@ stdenv.mkDerivation rec {
echo "$i: replacing references to \`/tmp' by \`$TMPDIR'..." echo "$i: replacing references to \`/tmp' by \`$TMPDIR'..."
substituteInPlace "$i" --replace "/tmp" "$TMPDIR" substituteInPlace "$i" --replace "/tmp" "$TMPDIR"
done done
# Ensure NSS installation works fine
configureFlags="$configureFlags --with-nssdir=$out/lib"
patchShebangs src/gns/nss/install-nss-plugin.sh
''; '';
doCheck = false; doCheck = false;
@ -72,7 +76,7 @@ stdenv.mkDerivation rec {
license = "GPLv2+"; license = "GPLv2+";
maintainers = [ stdenv.lib.maintainers.ludo ]; maintainers = with stdenv.lib.maintainers; [ ludo viric ];
platforms = stdenv.lib.platforms.gnu; platforms = stdenv.lib.platforms.gnu;
}; };
} }

View File

@ -10,16 +10,22 @@
, libXdamage , libXdamage
, libXext , libXext
, alsaLib , alsaLib
, ffmpeg
, libxkbfile
#, xmlto, docbook_xml_dtd_412, docbook_xml_xslt
, libXinerama
, libXv
, pulseaudioSupport ? true, pulseaudio
}: }:
assert printerSupport -> cups != null; assert printerSupport -> cups != null;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "freerdp-${version}"; name = "freerdp-${version}";
version = "1.0.0"; version = "1.0.1";
src = fetchurl { src = fetchurl {
url = "https://github.com/downloads/FreeRDP/FreeRDP/FreeRDP-${version}.tar.gz"; url = "https://github.com/FreeRDP/FreeRDP/archive/${version}.tar.gz";
sha256 = "df9f5f3275436f3e413824ca40f1e41733a95121f45e1ed41ab410701c5764cc"; sha256 = "1my8gamvfrn6v9gcqxsa9cgxr42shc0l826zvxj8wpcay6gd321w";
}; };
buildInputs = [ buildInputs = [
@ -32,11 +38,17 @@ stdenv.mkDerivation rec {
libXdamage libXdamage
libXext libXext
alsaLib alsaLib
ffmpeg
libxkbfile
# xmlto docbook_xml_dtd_412 docbook_xml_xslt
libXinerama
libXv
] ++ stdenv.lib.optional printerSupport cups; ] ++ stdenv.lib.optional printerSupport cups;
configureFlags = [ configureFlags = [
"--with-x" "--with-x" "-DWITH_MANPAGES=OFF"
] ++ stdenv.lib.optional printerSupport "--with-printer=cups"; ] ++ stdenv.lib.optional printerSupport "--with-printer=cups"
++ stdenv.lib.optional pulseaudioSupport "-DWITH_PULSEAUDIO=ON";
meta = { meta = {
description = "A Remote Desktop Protocol Client"; description = "A Remote Desktop Protocol Client";

View File

@ -1,53 +1,63 @@
{ stdenv { stdenv
, fetchgit , fetchgit
, cmake
, openssl , openssl
, printerSupport ? true, cups , printerSupport ? true, cups
, pkgconfig , pkgconfig
, zlib , zlib
, libX11 , libX11
, libXcursor , libXcursor
, alsaLib , libXdamage
, cmake
, libxkbfile
, libXinerama
, libXext , libXext
, directfb , alsaLib
, cunit , ffmpeg
, libxkbfile
#, xmlto, docbook_xml_dtd_412, docbook_xml_xslt
, libXinerama
#, directfb
#, cunit
, libXv
, pulseaudioSupport ? true, pulseaudio
}: }:
assert printerSupport -> cups != null; assert printerSupport -> cups != null;
let rev = "498b88a1da748a4a2b4dbd12c795ca87fee24bab"; in let rev = "ec6effcb1e7759551cf31f5b18d768afc67db97d"; in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "freerdp-1.0pre${rev}"; name = "freerdp-1.1pre${rev}";
src = fetchgit { src = fetchgit {
url = git://github.com/FreeRDP/FreeRDP.git; url = git://github.com/FreeRDP/FreeRDP.git;
inherit rev; inherit rev;
sha256 = "91ef562e96db483ada28236e524326a75b6942becce4fd2a65ace386186eccf7"; sha256 = "4e5af9a6769c4b34c6b75dffe83a385d1d86068c523ea9f62fabc651a2958455";
}; };
buildInputs = [ buildInputs = [
cmake
openssl openssl
pkgconfig pkgconfig
zlib zlib
libX11 libX11
libXcursor libXcursor
libxkbfile libXdamage
libXinerama
libXext libXext
directfb # directfb
# cunit
alsaLib alsaLib
cmake ffmpeg
cunit libxkbfile
# xmlto docbook_xml_dtd_412 docbook_xml_xslt
libXinerama
libXv
] ++ stdenv.lib.optional printerSupport cups; ] ++ stdenv.lib.optional printerSupport cups;
doCheck = false; doCheck = false;
checkPhase = ''LD_LIBRARY_PATH="libfreerdp-cache:libfreerdp-chanman:libfreerdp-common:libfreerdp-core:libfreerdp-gdi:libfreerdp-kbd:libfreerdp-rail:libfreerdp-rfx:libfreerdp-utils" cunit/test_freerdp''; checkPhase = ''LD_LIBRARY_PATH="libfreerdp-cache:libfreerdp-chanman:libfreerdp-common:libfreerdp-core:libfreerdp-gdi:libfreerdp-kbd:libfreerdp-rail:libfreerdp-rfx:libfreerdp-utils" cunit/test_freerdp'';
cmakeFlags = [ "-DWITH_DIRECTFB=ON" "-DWITH_CUNIT=ON" ]; cmakeFlags = [ "-DWITH_DIRECTFB=OFF" "-DWITH_CUNIT=OFF" "-DWITH_MANPAGES=OFF"
] ++ stdenv.lib.optional pulseaudioSupport "-DWITH_PULSEAUDIO=ON";
meta = { meta = {
description = "A Remote Desktop Protocol Client"; description = "A Remote Desktop Protocol Client";

View File

@ -4,12 +4,24 @@
stdenv.mkDerivation { stdenv.mkDerivation {
name = "abiword-2.8.6"; name = "abiword-2.8.6";
src = fetchurl { src = fetchurl {
url = http://www.abisource.org/downloads/abiword/2.8.6/source/abiword-2.8.6.tar.gz; url = http://www.abisource.org/downloads/abiword/2.8.6/source/abiword-2.8.6.tar.gz;
sha256 = "059sd2apxdmcacc4pll880i7vm18h0kyjsq299m1mz3c7ak8k46r"; sha256 = "059sd2apxdmcacc4pll880i7vm18h0kyjsq299m1mz3c7ak8k46r";
}; };
prePatch = ''
sed -i -e '/#include <glib\/gerror.h>/d' src/af/util/xp/ut_go_file.h
sed -i -e 's|#include <glib/gmacros.h>|#include <glib.h>|' \
goffice-bits/goffice/app/goffice-app.h
sed -i -e 's/ptr->jmpbuf/jmpbuf(png_ptr)/' src/af/util/xp/ut_png.cpp
sed -i -e 's/\(m_pPNG\)->\(jmpbuf\)/png_\2(\1)/' \
src/wp/impexp/gtk/ie_impGraphic_GdkPixbuf.cpp
sed -i -e 's/--no-undefined //' src/Makefile*
'';
enableParallelBuilding = true;
buildInputs = buildInputs =
[ pkgconfig gtk libglade librsvg bzip2 libgnomecanvas fribidi libpng popt [ pkgconfig gtk libglade librsvg bzip2 libgnomecanvas fribidi libpng popt
libgsf enchant wv libjpeg libgsf enchant wv libjpeg

View File

@ -1,41 +0,0 @@
diff --git a/gnucash.cc b/gnucash.cc
index 7d31526..c4edd77 100644
--- a/gnucash.cc
+++ b/gnucash.cc
@@ -201,7 +201,7 @@ static amount_t convert_number(const std::string& number,
{
const char * num = number.c_str();
- if (char * p = std::strchr(num, '/')) {
+ if (const char * p = std::strchr(num, '/')) {
std::string numer_str(num, p - num);
std::string denom_str(p + 1);
diff --git a/option.cc b/option.cc
index 10c23a7..8f2fead 100644
--- a/option.cc
+++ b/option.cc
@@ -892,7 +892,7 @@ OPT_BEGIN(market, "V") {
namespace {
void parse_price_setting(const char * optarg)
{
- char * equals = std::strchr(optarg, '=');
+ const char * equals = std::strchr(optarg, '=');
if (! equals)
return;
diff --git a/textual.cc b/textual.cc
index 2033106..d897368 100644
--- a/textual.cc
+++ b/textual.cc
@@ -298,8 +298,8 @@ transaction_t * parse_transaction(char * line, account_t * account,
DEBUG_PRINT("ledger.textual.parse", "line " << linenum << ": " <<
"Parsed a note '" << xact->note << "'");
- if (char * b = std::strchr(xact->note.c_str(), '['))
- if (char * e = std::strchr(xact->note.c_str(), ']')) {
+ if (const char * b = std::strchr(xact->note.c_str(), '['))
+ if (const char * e = std::strchr(xact->note.c_str(), ']')) {
char buf[256];
std::strncpy(buf, b + 1, e - b - 1);
buf[e - b - 1] = '\0';

View File

@ -0,0 +1,62 @@
{ stdenv, fetchurl, freeglut, gtk2, gtkglext, libjpeg_turbo, libtheora, libXmu
, lua, mesa, pkgconfig, perl, automake, autoconf, libtool, gettext
}:
let
name = "celestia-1.6.1";
gcc46Patch = fetchurl {
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/celestia-1.6.1-gcc46.patch?h=packages/celestia";
sha256 = "1q840ip5h2q93r0d68jwrvf40ns5qzqss9vzd6xnwvs3wa77m5wp";
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";
name = "celestia-1.6.1-libpng15.patch";
};
linkingPatch = fetchurl {
url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/celestia-1.6.1-linking.patch?h=packages/celestia";
sha256 = "1qzv18b2prqbhy21js5bnf7vwkmrq1dmrq8r0wab7v10axjqdv35";
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";
name = "gcc-4.7-fixes.diff";
};
in
stdenv.mkDerivation {
inherit name;
src = fetchurl {
url = "mirror://sourceforge/celestia/${name}.tar.gz";
sha256 = "1i1lvhbgllsh2z8i6jj4mvrjak4a7r69psvk7syw03s4p7670mfk";
};
buildInputs = [ freeglut gtk2 gtkglext libjpeg_turbo libtheora libXmu mesa pkgconfig lua
perl automake autoconf libtool gettext ];
patchPhase = ''
patch -Np0 -i "${gcc46Patch}"
patch -Np0 -i "${libpng15Patch}"
patch -Np1 -i "${linkingPatch}"
patch -Np1 -i "${gcc47Patch}"
autoreconf
configureFlagsArray=( --with-gtk --with-lua=${lua} CFLAGS="-O2 -fsigned-char" CXXFLAGS="-O2 -fsigned-char" )
'';
enableParallelBuilding = true;
meta = {
description = "Free space simulation";
homepage = "http://www.shatters.net/celestia/";
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.simons ];
};
}

View File

@ -1,23 +0,0 @@
{stdenv, fetchurl, liblapack}:
stdenv.mkDerivation {
name = "slr-1.4.2";
src = fetchurl {
url = http://www.ebi.ac.uk/goldman-srv/SLR/download/v1.4.2/slr_source.tgz;
sha256 = "03ak7jsz89zism6gx8fr1dwlwjgcmnrr9m6xgqpr0xzikxid02jp";
};
buildInputs = [ liblapack ];
preConfigure = "mkdir bin; cd src";
makeFlags = "-f Makefile.linux";
meta = {
description = "Phylogenetic Analysis by Maximum Likelihood (PAML)";
longDescription = ''
SLR is a program to detect sites in coding DNA that are unusually conserved and/or unusually variable (that is, evolving under purify or positive selection) by analysing the pattern of changes for an alignment of sequences on an evolutionary tree.
'';
license = "GPL3";
homepage = http://www.ebi.ac.uk/goldman/SLR/;
};
}

View File

@ -1,12 +1,21 @@
{ stdenv, fetchurl, which, texLive }: { stdenv, fetchurl, which, texLive }:
let
s = # Generated upstream information
rec {
baseName="eprover";
version="1.6";
name="${baseName}-${version}";
hash="140cnw4qck1hancrqdh0f77yfba5ljhdnfxdxsl0a86a6y7ydbwi";
url="http://www4.in.tum.de/~schulz/WORK/E_DOWNLOAD/V_1.6/E.tgz";
sha256="140cnw4qck1hancrqdh0f77yfba5ljhdnfxdxsl0a86a6y7ydbwi";
};
in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "EProver-1.4"; inherit (s) name;
src = fetchurl { src = fetchurl {
name = "E-1.4.tar.gz"; name = "E-${s.version}.tar.gz";
url = "http://www4.informatik.tu-muenchen.de/~schulz/WORK/E_DOWNLOAD/V_1.4/E.tgz"; inherit (s) url sha256;
sha256 = "1hxkr21xqkkh4bzqip6qf70w9xvvb8p20zzkvyin631ffgvyvr93";
}; };
buildInputs = [which texLive]; buildInputs = [which texLive];
@ -27,6 +36,7 @@ stdenv.mkDerivation {
''; '';
meta = { meta = {
inherit (s) version;
description = "E automated theorem prover"; description = "E automated theorem prover";
maintainers = [stdenv.lib.maintainers.raskin]; maintainers = [stdenv.lib.maintainers.raskin];
platforms = stdenv.lib.platforms.all; platforms = stdenv.lib.platforms.all;

View File

@ -0,0 +1,3 @@
url http://www4.informatik.tu-muenchen.de/~schulz/E/Download.html
version_link '[.]tgz$'
version '.*[/]V_([0-9.]+)[/].*' '\1'

View File

@ -9,11 +9,11 @@ let
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "hol_light-20120529"; name = "hol_light-20121213";
src = fetchsvn { src = fetchsvn {
url = http://hol-light.googlecode.com/svn/trunk; url = http://hol-light.googlecode.com/svn/trunk;
rev = "141"; rev = "153";
sha256 = "a11d7e5db7c6035a2debcf9e73f43c6322389aeac5bc4d123ebf58918052a57f"; sha256 = "1n4da5k3jya8mf7dgif8cl5sr2dqf6vl21fw1fcdna215v2x1rc0";
}; };
buildInputs = [ ocaml findlib camlp5 ]; buildInputs = [ ocaml findlib camlp5 ];

View File

@ -0,0 +1,32 @@
{ stdenv, fetchurl, jre }:
let version = "2.7.1"; in
stdenv.mkDerivation {
name = "logisim-${version}";
src = fetchurl {
url = "mirror://sourceforge/project/circuit/2.7.x/${version}/logisim-generic-${version}.jar";
sha256 = "1hkvc9zc7qmvjbl9579p84hw3n8wl3275246xlzj136i5b0phain";
};
phases = [ "installPhase" ];
installPhase = ''
mkdir -pv $out/bin
cp -v $src $out/logisim.jar
cat > $out/bin/logisim << EOF
#!${stdenv.shell}
${jre}/bin/java -jar $out/logisim.jar
EOF
chmod +x $out/bin/logisim
'';
meta = {
homepage = "http://ozark.hendrix.edu/~burch/logisim";
description = "Logisim is an educational tool for designing and simulating digital logic circuits.";
license = "GPLv2+";
};
}

View File

@ -1,9 +1,9 @@
rec { rec {
version="2.3-src"; version="2.4-src";
name="golly-2.3-src"; name="golly-2.4-src";
hash="12r1lrrn4c1kafzvz5mmfq3750smqv5dwl1xpj3753h0rl9a9gx1"; hash="06vajm019q4q4wfy6pc1669fbjqdb4jaxcc419bk0vzky40anl9w";
url="http://downloads.sourceforge.net/project/golly/golly/golly-2.3/golly-2.3-src.tar.gz"; url="http://downloads.sourceforge.net/project/golly/golly/golly-2.4/golly-2.4-src.tar.gz";
advertisedUrl="http://downloads.sourceforge.net/project/golly/golly/golly-2.3/golly-2.3-src.tar.gz"; advertisedUrl="http://downloads.sourceforge.net/project/golly/golly/golly-2.4/golly-2.4-src.tar.gz";
} }

View File

@ -0,0 +1,46 @@
{ stdenv, fetchurl, cmake,
singlePrec ? true,
fftw
}:
stdenv.mkDerivation {
name = "gromacs-4.5.5";
src = fetchurl {
url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-4.5.5.tar.gz";
md5 = "6a87e7cdfb25d81afa9fea073eb28468";
};
buildInputs = [cmake fftw];
cmakeFlags = ''
${if singlePrec then "-DGMX_DOUBLE=OFF" else "-DGMX_DOUBLE=ON -DGMX_DEFAULT_SUFFIX=OFF"}
'';
meta = {
homepage = "http://www.gromacs.org";
licence = "GPLv2";
description = "The GROMACS molecular dynamics software package";
longDescription = ''
GROMACS is a versatile package to perform molecular dynamics,
i.e. simulate the Newtonian equations of motion for systems
with hundreds to millions of particles.
It is primarily designed for biochemical molecules like
proteins, lipids and nucleic acids that have a lot of
complicated bonded interactions, but since GROMACS is
extremely fast at calculating the nonbonded interactions (that
usually dominate simulations) many groups are also using it
for research on non-biological systems, e.g. polymers.
GROMACS supports all the usual algorithms you expect from a
modern molecular dynamics implementation, (check the online
reference or manual for details), but there are also quite a
few features that make it stand out from the competition.
See: http://www.gromacs.org/About_Gromacs for details.
'';
};
}

View File

@ -1,19 +0,0 @@
diff --git a/darcs-2.0.0/tools/darcs_completion b/darcs-2.0.0/tools/darcs_completion
index 10628db..e36476e 100644
--- a/tools/darcs_completion
+++ b/tools/darcs_completion
@@ -3,7 +3,6 @@
# darcs command line completion.
# Copyright 2002 "David Roundy" <droundy@abridgegame.org>
#
-have darcs &&
_darcs()
{
local cur
@@ -48,5 +47,5 @@ _darcs()
return 0
}
-[ "$have" ] && complete -F _darcs -o default darcs
+complete -F _darcs -o default darcs

View File

@ -76,6 +76,11 @@ rec {
inherit stdenv fetchurl ncurses asciidoc xmlto docbook_xsl; inherit stdenv fetchurl ncurses asciidoc xmlto docbook_xsl;
}; };
hub = import ./hub {
inherit (rubyLibs) rake;
inherit stdenv fetchgit groff makeWrapper;
};
gitFastExport = import ./fast-export { gitFastExport = import ./fast-export {
inherit fetchgit stdenv mercurial coreutils git makeWrapper subversion; inherit fetchgit stdenv mercurial coreutils git makeWrapper subversion;
}; };

View File

@ -12,14 +12,14 @@
}: }:
let let
version = "3.20121126"; version = "3.20130102";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "git-annex-${version}"; name = "git-annex-${version}";
src = fetchurl { src = fetchurl {
url = "http://git.kitenet.net/?p=git-annex.git;a=snapshot;sf=tgz;h=${version}"; url = "http://git.kitenet.net/?p=git-annex.git;a=snapshot;sf=tgz;h=${version}";
sha256 = "7db662ac1869582dda7bfa7d6218a61a962219ea4c94c27153877fa02000be33"; sha256 = "0aga3i7rzq21vyj2wq87n4yl5aljzxc69vbzw43nxx9sr2f3xyh5";
name = "git-annex-${version}.tar.gz"; name = "git-annex-${version}.tar.gz";
}; };

View File

@ -9,7 +9,7 @@
let let
version = "1.8.0.1"; version = "1.8.1";
svn = subversionClient.override { perlBindings = true; }; svn = subversionClient.override { perlBindings = true; };
@ -20,7 +20,7 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "http://git-core.googlecode.com/files/git-${version}.tar.gz"; url = "http://git-core.googlecode.com/files/git-${version}.tar.gz";
sha1 = "4e7492f7558f3ba2a450c43efa7de3b0b1adc6c1"; sha1 = "wfj2pbqf9l56014dm330wb13qgcwx3dc";
}; };
patches = [ ./docbook2texi.patch ]; patches = [ ./docbook2texi.patch ];

View File

@ -1,28 +0,0 @@
make sure `gitman.info' isn't produced since it's broken (duplicate
node names).
diff --git a/Documentation/Makefile b/Documentation/Makefile
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -84,7 +84,7 @@ man1: $(DOC_MAN1)
man5: $(DOC_MAN5)
man7: $(DOC_MAN7)
-info: git.info gitman.info
+info: git.info
install: man
$(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)
@@ -96,10 +96,9 @@ install: man
install-info: info
$(INSTALL) -d -m 755 $(DESTDIR)$(infodir)
- $(INSTALL) -m 644 git.info gitman.info $(DESTDIR)$(infodir)
+ $(INSTALL) -m 644 git.info $(DESTDIR)$(infodir)
if test -r $(DESTDIR)$(infodir)/dir; then \
$(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) git.info ;\
- $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) gitman.info ;\
else \
echo "No directory found in $(DESTDIR)$(infodir)" >&2 ; \
fi

View File

@ -1,529 +0,0 @@
diff --git a/builtin-add.c b/builtin-add.c
index bf13aa3..02c6751 100644
--- a/builtin-add.c
+++ b/builtin-add.c
@@ -123,6 +123,7 @@ int add_files_to_cache(const char *prefix, const char **pathspec, int flags)
init_revisions(&rev, prefix);
setup_revisions(0, NULL, &rev, NULL);
rev.prune_data = pathspec;
+ rev.glob_paths = 0; /* git-add has its own filename matching machinery */
rev.diffopt.output_format = DIFF_FORMAT_CALLBACK;
rev.diffopt.format_callback = update_callback;
data.flags = flags;
diff --git a/builtin-blame.c b/builtin-blame.c
index 9bced3b..237d1fe 100644
--- a/builtin-blame.c
+++ b/builtin-blame.c
@@ -343,7 +343,7 @@ static struct origin *find_origin(struct scoreboard *sb,
paths[0] = origin->path;
paths[1] = NULL;
- diff_tree_setup_paths(paths, &diff_opts);
+ diff_tree_setup_paths(paths, &diff_opts, 0);
if (diff_setup_done(&diff_opts) < 0)
die("diff-setup");
@@ -417,7 +417,7 @@ static struct origin *find_rename(struct scoreboard *sb,
diff_opts.output_format = DIFF_FORMAT_NO_OUTPUT;
diff_opts.single_follow = origin->path;
paths[0] = NULL;
- diff_tree_setup_paths(paths, &diff_opts);
+ diff_tree_setup_paths(paths, &diff_opts, 0);
if (diff_setup_done(&diff_opts) < 0)
die("diff-setup");
@@ -1099,7 +1099,7 @@ static int find_copy_in_parent(struct scoreboard *sb,
diff_opts.output_format = DIFF_FORMAT_NO_OUTPUT;
paths[0] = NULL;
- diff_tree_setup_paths(paths, &diff_opts);
+ diff_tree_setup_paths(paths, &diff_opts, 0);
if (diff_setup_done(&diff_opts) < 0)
die("diff-setup");
@@ -2346,6 +2346,11 @@ int cmd_blame(int argc, const char **argv, const char *prefix)
parse_done:
argc = parse_options_end(&ctx);
+ if (revs.glob_paths) {
+ error("git blame does not support `--glob-paths'");
+ usage_with_options(blame_opt_usage, options);
+ }
+
if (!blame_move_score)
blame_move_score = BLAME_DEFAULT_MOVE_SCORE;
if (!blame_copy_score)
diff --git a/builtin-reset.c b/builtin-reset.c
index 2e5a886..6026b34 100644
--- a/builtin-reset.c
+++ b/builtin-reset.c
@@ -128,14 +128,15 @@ static void update_index_from_diff(struct diff_queue_struct *q,
}
static int read_from_tree(const char *prefix, const char **argv,
- unsigned char *tree_sha1)
+ unsigned char *tree_sha1, int glob_paths)
{
struct lock_file *lock = xcalloc(1, sizeof(struct lock_file));
int index_fd, index_was_discarded = 0;
struct diff_options opt;
memset(&opt, 0, sizeof(opt));
- diff_tree_setup_paths(get_pathspec(prefix, (const char **)argv), &opt);
+ diff_tree_setup_paths(get_pathspec(prefix, (const char **)argv),
+ &opt, glob_paths);
opt.output_format = DIFF_FORMAT_CALLBACK;
opt.format_callback = update_index_from_diff;
opt.format_callback_data = &index_was_discarded;
@@ -171,6 +172,7 @@ static const char *reset_type_names[] = { "mixed", "soft", "hard", NULL };
int cmd_reset(int argc, const char **argv, const char *prefix)
{
int i = 0, reset_type = NONE, update_ref_status = 0, quiet = 0;
+ int glob_paths = 0;
const char *rev = "HEAD";
unsigned char sha1[20], *orig = NULL, sha1_orig[20],
*old_orig = NULL, sha1_old_orig[20];
@@ -182,6 +184,8 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
OPT_SET_INT(0, "soft", &reset_type, "reset only HEAD", SOFT),
OPT_SET_INT(0, "hard", &reset_type,
"reset HEAD, index and working tree", HARD),
+ OPT_BOOLEAN(0, "glob-paths", &glob_paths,
+ "match paths with fnmatch"),
OPT_BOOLEAN('q', NULL, &quiet,
"disable showing new HEAD in hard reset and progress message"),
OPT_END()
@@ -246,7 +250,7 @@ int cmd_reset(int argc, const char **argv, const char *prefix)
else if (reset_type != NONE)
die("Cannot do %s reset with paths.",
reset_type_names[reset_type]);
- return read_from_tree(prefix, argv + i, sha1);
+ return read_from_tree(prefix, argv + i, sha1, glob_paths);
}
if (reset_type == NONE)
reset_type = MIXED; /* by default */
diff --git a/builtin-update-index.c b/builtin-update-index.c
index 38eb53c..28b09a3 100644
--- a/builtin-update-index.c
+++ b/builtin-update-index.c
@@ -23,6 +23,7 @@ static int allow_replace;
static int info_only;
static int force_remove;
static int verbose;
+static int glob_paths;
static int mark_valid_only;
#define MARK_VALID 1
#define UNMARK_VALID 2
@@ -534,7 +535,7 @@ static int do_reupdate(int ac, const char **av,
struct cache_entry *old = NULL;
int save_nr;
- if (ce_stage(ce) || !ce_path_match(ce, pathspec))
+ if (ce_stage(ce) || !ce_path_match(ce, pathspec, glob_paths))
continue;
if (has_head)
old = read_one_ent(NULL, head_sha1,
@@ -659,6 +660,10 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
force_remove = 1;
continue;
}
+ if (!strcmp(path, "--glob-paths")) {
+ glob_paths = 1;
+ continue;
+ }
if (!strcmp(path, "-z")) {
line_termination = 0;
continue;
@@ -702,6 +707,8 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
usage(update_index_usage);
die("unknown option %s", path);
}
+ if (glob_paths)
+ die("--glob-paths without -g");
p = prefix_path(prefix, prefix_length, path);
update_one(p, NULL, 0);
if (set_executable_bit)
@@ -712,6 +719,8 @@ int cmd_update_index(int argc, const char **argv, const char *prefix)
if (read_from_stdin) {
struct strbuf buf, nbuf;
+ if (glob_paths)
+ die("--glob-paths without -g");
strbuf_init(&buf, 0);
strbuf_init(&nbuf, 0);
while (strbuf_getline(&buf, stdin, line_termination) != EOF) {
diff --git a/cache.h b/cache.h
index a779d92..5560195 100644
--- a/cache.h
+++ b/cache.h
@@ -387,7 +387,8 @@ extern int ce_same_name(struct cache_entry *a, struct cache_entry *b);
extern int ie_match_stat(const struct index_state *, struct cache_entry *, struct stat *, unsigned int);
extern int ie_modified(const struct index_state *, struct cache_entry *, struct stat *, unsigned int);
-extern int ce_path_match(const struct cache_entry *ce, const char **pathspec);
+extern int ce_path_match(const struct cache_entry *ce, const char **pathspec,
+ int glob_paths);
extern int index_fd(unsigned char *sha1, int fd, struct stat *st, int write_object, enum object_type type, const char *path);
extern int index_pipe(unsigned char *sha1, int fd, const char *type, int write_object);
extern int index_path(unsigned char *sha1, const char *path, struct stat *st, int write_object);
diff --git a/diff-lib.c b/diff-lib.c
index e7eaff9..87925a2 100644
--- a/diff-lib.c
+++ b/diff-lib.c
@@ -77,7 +77,7 @@ int run_diff_files(struct rev_info *revs, unsigned int option)
DIFF_OPT_TST(&revs->diffopt, HAS_CHANGES))
break;
- if (!ce_path_match(ce, revs->prune_data))
+ if (!ce_path_match(ce, revs->prune_data, revs->glob_paths))
continue;
if (ce_stage(ce)) {
@@ -431,7 +431,7 @@ static int oneway_diff(struct cache_entry **src, struct unpack_trees_options *o)
if (tree == o->df_conflict_entry)
tree = NULL;
- if (ce_path_match(idx ? idx : tree, revs->prune_data))
+ if (ce_path_match(idx ? idx : tree, revs->prune_data, revs->glob_paths))
do_oneway_diff(o, idx, tree);
return 0;
@@ -508,6 +508,7 @@ int do_diff_cache(const unsigned char *tree_sha1, struct diff_options *opt)
init_revisions(&revs, NULL);
revs.prune_data = opt->paths;
+ revs.glob_paths = opt->glob_paths;
tree = parse_tree_indirect(tree_sha1);
if (!tree)
die("bad tree object %s", sha1_to_hex(tree_sha1));
diff --git a/diff-no-index.c b/diff-no-index.c
index f6994cf..ec549a7 100644
--- a/diff-no-index.c
+++ b/diff-no-index.c
@@ -240,6 +240,7 @@ void diff_no_index(struct rev_info *revs,
}
else
revs->diffopt.paths = argv + argc - 2;
+ revs->diffopt.glob_paths = 0;
revs->diffopt.nr_paths = 2;
DIFF_OPT_SET(&revs->diffopt, EXIT_WITH_STATUS);
diff --git a/diff.h b/diff.h
index 50fb5dd..56f0857 100644
--- a/diff.h
+++ b/diff.h
@@ -102,6 +102,7 @@ struct diff_options {
FILE *file;
int close_file;
+ int glob_paths;
int nr_paths;
const char **paths;
int *pathlens;
@@ -128,7 +129,8 @@ const char *diff_get_color(int diff_use_color, enum color_diff ix);
extern const char mime_boundary_leader[];
-extern void diff_tree_setup_paths(const char **paths, struct diff_options *);
+extern void diff_tree_setup_paths(const char **paths, struct diff_options *opt,
+ int glob_paths);
extern void diff_tree_release_paths(struct diff_options *);
extern int diff_tree(struct tree_desc *t1, struct tree_desc *t2,
const char *base, struct diff_options *opt);
diff --git a/gitk-git/gitk b/gitk-git/gitk
index fddcb45..18c5cbc 100644
--- a/gitk-git/gitk
+++ b/gitk-git/gitk
@@ -1866,6 +1866,7 @@ proc makewindow {} {
set gm [tk_optionMenu .tf.lbar.gdttype gdttype \
[mc "containing:"] \
[mc "touching paths:"] \
+ [mc "touching paths (glob):"] \
[mc "adding/removing string:"]]
trace add variable gdttype write gdttype_change
pack .tf.lbar.gdttype -side left -fill y
@@ -3588,6 +3589,11 @@ proc do_file_hl {serial} {
set highlight_paths [makepatterns $paths]
highlight_filelist
set gdtargs [concat -- $paths]
+ } elseif {$gdttype eq [mc "touching paths (glob):"]} {
+ if {[catch {set paths [shellsplit $highlight_files]}]} return
+ set highlight_paths $paths
+ highlight_filelist
+ set gdtargs [concat --glob-paths -- $paths]
} elseif {$gdttype eq [mc "adding/removing string:"]} {
set gdtargs [list "-S$highlight_files"]
} else {
diff --git a/read-cache.c b/read-cache.c
index 1648428..c11ded9 100644
--- a/read-cache.c
+++ b/read-cache.c
@@ -582,7 +582,8 @@ int ce_same_name(struct cache_entry *a, struct cache_entry *b)
return ce_namelen(b) == len && !memcmp(a->name, b->name, len);
}
-int ce_path_match(const struct cache_entry *ce, const char **pathspec)
+static int ce_path_match_standard(const struct cache_entry *ce,
+ const char **pathspec)
{
const char *match, *name;
int len;
@@ -608,6 +609,31 @@ int ce_path_match(const struct cache_entry *ce, const char **pathspec)
return 0;
}
+static int ce_path_match_globbed(const struct cache_entry *ce,
+ const char **pathspec)
+{
+ const char *match, *name;
+
+ if (!pathspec)
+ return 1;
+
+ name = ce->name;
+ while ((match = *pathspec++) != NULL) {
+ if (!fnmatch(match, name, 0))
+ return 1;
+ }
+ return 0;
+}
+
+int ce_path_match(const struct cache_entry *ce,
+ const char **pathspec, int glob_paths)
+{
+ if (glob_paths)
+ return ce_path_match_globbed(ce, pathspec);
+ else
+ return ce_path_match_standard(ce, pathspec);
+}
+
/*
* We fundamentally don't like some paths: we don't want
* dot or dot-dot anywhere, and for obvious reasons don't
diff --git a/revision.c b/revision.c
index 3897fec..0dd1091 100644
--- a/revision.c
+++ b/revision.c
@@ -519,6 +519,7 @@ static void cherry_pick_list(struct commit_list *list, struct rev_info *revs)
if (revs->diffopt.nr_paths) {
ids.diffopts.nr_paths = revs->diffopt.nr_paths;
ids.diffopts.paths = revs->diffopt.paths;
+ ids.diffopts.glob_paths = revs->diffopt.glob_paths; /* CHECKME */
ids.diffopts.pathlens = revs->diffopt.pathlens;
}
@@ -826,7 +827,7 @@ static void prepare_show_merge(struct rev_info *revs)
struct cache_entry *ce = active_cache[i];
if (!ce_stage(ce))
continue;
- if (ce_path_match(ce, revs->prune_data)) {
+ if (ce_path_match(ce, revs->prune_data, revs->glob_paths)) {
prune_num++;
prune = xrealloc(prune, sizeof(*prune) * prune_num);
prune[prune_num-2] = ce->name;
@@ -837,6 +838,7 @@ static void prepare_show_merge(struct rev_info *revs)
i++;
}
revs->prune_data = prune;
+ revs->glob_paths = 0;
revs->limited = 1;
}
@@ -1033,6 +1035,8 @@ static int handle_revision_opt(struct rev_info *revs, int argc, const char **arg
revs->min_age = approxidate(arg + 8);
} else if (!strcmp(arg, "--first-parent")) {
revs->first_parent_only = 1;
+ } else if (!strcmp(arg, "--glob-paths")) {
+ revs->glob_paths = 1;
} else if (!strcmp(arg, "-g") || !strcmp(arg, "--walk-reflogs")) {
init_reflog_walk(&revs->reflog_info);
} else if (!strcmp(arg, "--default")) {
@@ -1220,6 +1224,7 @@ void parse_revision_opt(struct rev_info *revs, struct parse_opt_ctx_t *ctx,
int setup_revisions(int argc, const char **argv, struct rev_info *revs, const char *def)
{
int i, flags, left, seen_dashdash;
+ const char **paths = NULL;
/* First, search for "--" */
seen_dashdash = 0;
@@ -1230,7 +1235,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
argv[i] = NULL;
argc = i;
if (argv[i + 1])
- revs->prune_data = get_pathspec(revs->prefix, argv + i + 1);
+ paths = argv + i + 1;
seen_dashdash = 1;
break;
}
@@ -1290,6 +1295,9 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
if (seen_dashdash || *arg == '^')
die("bad revision '%s'", arg);
+ if (revs->glob_paths)
+ die("--glob-paths without --");
+
/* If we didn't have a "--":
* (1) all filenames must exist;
* (2) all rev-args must not be interpretable
@@ -1301,10 +1309,19 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
revs->prune_data = get_pathspec(revs->prefix,
argv + i);
+ revs->glob_paths = 0;
break;
}
}
+ /* Third, handle paths listed after -- */
+ if (paths != NULL) {
+ if (revs->glob_paths)
+ revs->prune_data = paths;
+ else
+ revs->prune_data = get_pathspec(revs->prefix, paths);
+ }
+
if (revs->def == NULL)
revs->def = def;
if (revs->show_merge)
@@ -1333,12 +1350,14 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch
revs->limited = 1;
if (revs->prune_data) {
- diff_tree_setup_paths(revs->prune_data, &revs->pruning);
+ diff_tree_setup_paths(revs->prune_data, &revs->pruning,
+ revs->glob_paths);
/* Can't prune commits with rename following: the paths change.. */
if (!DIFF_OPT_TST(&revs->diffopt, FOLLOW_RENAMES))
revs->prune = 1;
if (!revs->full_diff)
- diff_tree_setup_paths(revs->prune_data, &revs->diffopt);
+ diff_tree_setup_paths(revs->prune_data, &revs->diffopt,
+ revs->glob_paths);
}
if (revs->combine_merges) {
revs->ignore_merges = 0;
diff --git a/revision.h b/revision.h
index fa68c65..a68cdb8 100644
--- a/revision.h
+++ b/revision.h
@@ -32,6 +32,9 @@ struct rev_info {
void *prune_data;
unsigned int early_output;
+ /* whether prune_data contains fnmatch() patterns */
+ unsigned int glob_paths:1;
+
/* Traversal flags */
unsigned int dense:1,
prune:1,
diff --git a/tree-diff.c b/tree-diff.c
index bbb126f..0aa1e9b 100644
--- a/tree-diff.c
+++ b/tree-diff.c
@@ -82,6 +82,11 @@ static int compare_tree_entry(struct tree_desc *t1, struct tree_desc *t2, const
return 0;
}
+static int tree_entry_interesting_globbed(struct tree_desc *, const char *,
+ int, struct diff_options *);
+static int tree_entry_interesting_standard(struct tree_desc *, const char *,
+ int, struct diff_options *);
+
/*
* Is a tree entry interesting given the pathspec we have?
*
@@ -91,7 +96,19 @@ static int compare_tree_entry(struct tree_desc *t1, struct tree_desc *t2, const
* - zero for no
* - negative for "no, and no subsequent entries will be either"
*/
-static int tree_entry_interesting(struct tree_desc *desc, const char *base, int baselen, struct diff_options *opt)
+static int tree_entry_interesting(struct tree_desc *desc,
+ const char *base, int baselen, struct diff_options *opt)
+{
+ if (opt->glob_paths)
+ return tree_entry_interesting_globbed(desc, base,
+ baselen, opt);
+ else
+ return tree_entry_interesting_standard(desc, base,
+ baselen, opt);
+}
+
+static int tree_entry_interesting_standard(struct tree_desc *desc,
+ const char *base, int baselen, struct diff_options *opt)
{
const char *path;
const unsigned char *sha1;
@@ -190,6 +207,41 @@ static int tree_entry_interesting(struct tree_desc *desc, const char *base, int
return never_interesting; /* No matches */
}
+static int tree_entry_interesting_globbed(struct tree_desc *desc,
+ const char *base, int baselen, struct diff_options *opt)
+{
+ const char *path;
+ char *fullpath;
+ const unsigned char *sha1;
+ unsigned mode;
+ int i;
+ int pathlen;
+ int result;
+
+ if (!opt->nr_paths)
+ return 1;
+ sha1 = tree_entry_extract(desc, &path, &mode);
+ if (S_ISDIR(mode))
+ return 1;
+ pathlen = tree_entry_len(path, sha1);
+
+ fullpath = xmalloc(pathlen + baselen + 1);
+ memcpy(fullpath, base, baselen);
+ memcpy(fullpath + baselen, path, pathlen + 1);
+
+ result = 0;
+ for (i = 0; i < opt->nr_paths; i++) {
+ const char *match = opt->paths[i];
+ if (!fnmatch(match, fullpath, 0)) {
+ result = 1;
+ break;
+ }
+ }
+
+ free(fullpath);
+ return result;
+}
+
/* A whole sub-tree went away or appeared */
static void show_tree(struct diff_options *opt, const char *prefix, struct tree_desc *desc, const char *base, int baselen)
{
@@ -338,7 +390,7 @@ static void try_to_follow_renames(struct tree_desc *t1, struct tree_desc *t2, co
diff_opts.single_follow = opt->paths[0];
diff_opts.break_opt = opt->break_opt;
paths[0] = NULL;
- diff_tree_setup_paths(paths, &diff_opts);
+ diff_tree_setup_paths(paths, &diff_opts, 0);
if (diff_setup_done(&diff_opts) < 0)
die("unable to set up diff options to follow renames");
diff_tree(t1, t2, base, &diff_opts);
@@ -362,7 +414,7 @@ static void try_to_follow_renames(struct tree_desc *t1, struct tree_desc *t2, co
/* Update the path we use from now on.. */
diff_tree_release_paths(opt);
opt->paths[0] = xstrdup(p->one->path);
- diff_tree_setup_paths(opt->paths, opt);
+ diff_tree_setup_paths(opt->paths, opt, 0);
break;
}
}
@@ -440,11 +492,13 @@ void diff_tree_release_paths(struct diff_options *opt)
free(opt->pathlens);
}
-void diff_tree_setup_paths(const char **p, struct diff_options *opt)
+void diff_tree_setup_paths(const char **p, struct diff_options *opt,
+ int glob_paths)
{
opt->nr_paths = 0;
opt->pathlens = NULL;
opt->paths = NULL;
+ opt->glob_paths = glob_paths;
if (p) {
int i;

View File

@ -0,0 +1,28 @@
{ stdenv, fetchgit, groff, rake, makeWrapper }:
stdenv.mkDerivation rec {
name = "hub-${version}";
version = "1.10.3";
src = fetchgit {
url = "git://github.com/defunkt/hub.git";
rev = "refs/tags/v${version}";
sha256 = "0j0krmf0sf09hhw3nsn0w1y97d67762g4qrc8080bwcx38lbyvbg";
};
buildInputs = [ rake makeWrapper ];
installPhase = ''
rake install "prefix=$out"
'';
fixupPhase = ''
wrapProgram $out/bin/hub --prefix PATH : ${groff}/bin
'';
meta = {
description = "A GitHub specific wrapper for git";
homepage = "http://defunkt.io/hub/";
license = stdenv.lib.licenses.mit;
};
}

View File

@ -17,8 +17,6 @@ stdenv.mkDerivation {
buildInputs = [ python makeWrapper docutils unzip ]; buildInputs = [ python makeWrapper docutils unzip ];
PYTHONPATH = "${python}/lib/python2.6/site-packages:${python}/lib/python2.7/site-packages:${docutils}/lib/python2.5/site-packages:${docutils}/lib/python2.6/site-packages:${docutils}/lib/python2.7/site-packages";
makeFlags = "PREFIX=$(out)"; makeFlags = "PREFIX=$(out)";
postInstall = (stdenv.lib.optionalString guiSupport postInstall = (stdenv.lib.optionalString guiSupport
@ -47,8 +45,6 @@ stdenv.mkDerivation {
chmod u+x $out/share/cgi-bin/hgweb.cgi chmod u+x $out/share/cgi-bin/hgweb.cgi
''; '';
doCheck = false; # The test suite fails, unfortunately. Not sure why.
meta = { meta = {
description = "A fast, lightweight SCM system for very large distributed projects"; description = "A fast, lightweight SCM system for very large distributed projects";
homepage = "http://www.selenic.com/mercurial/"; homepage = "http://www.selenic.com/mercurial/";

View File

@ -1,23 +0,0 @@
args : with args;
rec {
src = fetchurl {
name = "monotone-viz-1.0.1-nolablgtk.tar.gz";
urls = [
http://ftp.debian.org/debian/pool/main/m/monotone-viz/monotone-viz_1.0.1.orig.tar.gz
#http://oandrieu.nerim.net/monotone-viz/monotone-viz-1.0.1-nolablgtk.tar.gz
];
sha256 = "066qwrknjk5hwk9jblnf0bzvbmfbabq0zhsxkd3nzk469zkpvhl2";
};
buildInputs = [ocaml lablgtk libgnomecanvas gtk graphviz glib pkgconfig];
configureFlags = ["--with-lablgtk-dir=${lablgtk}/lib/ocaml/lablgtk2"];
/* doConfigure should be specified separately */
phaseNames = ["doConfigure" "doMakeInstall"];
name = "monotone-viz-" + version;
meta = {
description = "Monotone commit tree visualizer";
};
}

View File

@ -1,34 +0,0 @@
# patch "agraph.ml"
# from [8ae6c9bb70bbf9fd80e4e62d9f162ac581619b9e]
# to [05aa88921481ac9bfe238daeb4374fbc9993caaa]
#
============================================================
--- a/agraph.ml 8ae6c9bb70bbf9fd80e4e62d9f162ac581619b9e
+++ b/agraph.ml 05aa88921481ac9bfe238daeb4374fbc9993caaa
@@ -50,8 +50,9 @@ let dot_format params agraph =
agraph.nodes in
!+ "digraph \"monotone-viz\"\n{\n" ;
- if params.lr_layout then
- !+ " graph [rankdir=LR] ;\n" ;
+ if params.lr_layout
+ then !+ " graph [rankdir=LR] ;\n"
+ else !+ " graph [rankdir=BT] ;\n" ;
!+ " graph [ranksep=\"0.25\"] ;\n" ;
!+ " node [label=\"\"] ;\n" ;
@@ -222,11 +223,11 @@ let spawn_dot graph status done_cb =
let dot_prg = graph.layout_params.dot_program in
let cmd =
if Viz_misc.debug "dot"
- then [ "/bin/sh" ; "-c" ;
+ then [ "/bin/sh" ; "-c" ;
Printf.sprintf
"set -o pipefail ; \
- tee agraph.in.dot | %s -q -y -s%.0f | tee agraph.out.dot" dot_prg ppi ]
- else [ dot_prg ; "-q" ; "-y" ; Printf.sprintf "-s%.0f" ppi ] in
+ tee agraph.in.dot | %s -q -s%.0f | tee agraph.out.dot" dot_prg ppi ]
+ else [ dot_prg ; "-q" ; Printf.sprintf "-s%.0f" ppi ] in
let error fmt =
Printf.kprintf (fun s -> done_cb (`LAYOUT_ERROR s)) fmt in
try

View File

@ -1,23 +0,0 @@
In NixOS chroot builds, there is no root account. So configure should
not rely on its existence in deciding whether to use getpwuid().
diff -rc -x '*~' rcs-5.7-orig/src/conf.sh rcs-5.7/src/conf.sh
*** rcs-5.7-orig/src/conf.sh 1995-06-16 08:19:24.000000000 +0200
--- rcs-5.7/src/conf.sh 2010-02-12 15:22:37.000000000 +0100
***************
*** 821,827 ****
a= z=
cat >a.c <<EOF
#include "$A_H"
! int main() { exitmain(!getpwuid(0)); }
EOF
$PREPARE_CC || exit
if ($CL a.c $L && $aout) >&2
--- 821,827 ----
a= z=
cat >a.c <<EOF
#include "$A_H"
! int main() { exitmain(!getpwuid(getuid())); }
EOF
$PREPARE_CC || exit
if ($CL a.c $L && $aout) >&2

View File

@ -1,9 +1,9 @@
rec { rec {
version="2.0.0.10822"; version="2.1.0.10979";
name="veracity-2.0.0.10822"; name="veracity-2.1.0.10979";
hash="0zgvrsjxfd1p9pflx1kxggmk953jhjk02h1hili9h1vdasvn2188"; hash="15x3cwwjv9b0cbjx6insqk190wpnhwcm1z4b570hvw3lix3xnxhl";
url="http://download.sourcegear.com/Veracity/release/2.0.0.10822/veracity-source-${version}.tar.gz"; url="http://download.sourcegear.com/Veracity/release/2.1.0.10979/veracity-source-${version}.tar.gz";
advertisedUrl="http://download.sourcegear.com/Veracity/release/2.0.0.10822/veracity-source-2.0.0.10822.tar.gz"; advertisedUrl="http://download.sourcegear.com/Veracity/release/2.1.0.10979/veracity-source-2.1.0.10979.tar.gz";
} }

View File

@ -0,0 +1,36 @@
{ stdenv, fetchsvn, pkgconfig, zlib }:
stdenv.mkDerivation rec {
name = "gpac-0.5.0-svn";
src = fetchsvn {
url = "https://gpac.svn.sourceforge.net/svnroot/gpac/trunk/gpac";
rev = "4253";
sha256 = "0z4bd63c805q53hpb09gq0m0apy12z5a90zxx4jjx3ln64xq0pnn";
};
# this is the bare minimum configuration, as I'm only interested in MP4Box
# For most other functionality, this should probably be extended
buildNativeInputs = [ pkgconfig zlib ];
meta = {
description = "Open Source multimedia framework for research and academic purposes";
longDescription = ''
GPAC is an Open Source multimedia framework for research and academic purposes.
The project covers different aspects of multimedia, with a focus on presentation
technologies (graphics, animation and interactivity) and on multimedia packaging
formats such as MP4.
GPAC provides three sets of tools based on a core library called libgpac:
A multimedia player, called Osmo4 / MP4Client,
A multimedia packager, called MP4Box,
And some server tools included in MP4Box and MP42TS applications.
'';
homepage = http://gpac.wp.mines-telecom.fr;
license = stdenv.lib.licenses.lgpl21;
maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -16,11 +16,11 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "mkvtoolnix-5.6.0"; name = "mkvtoolnix-5.9.0";
src = fetchurl { src = fetchurl {
url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.bz2"; url = "http://www.bunkus.org/videotools/mkvtoolnix/sources/${name}.tar.bz2";
sha256 = "1hzwf4zaamny3qzmd6hyhy4hy9l67s3fjvznbi0avw0ad7g05i89"; sha256 = "1qdxzi72w5p77brlpp7y7llsgzlvl4p8fk1kzg934cqw6cqza4yr";
}; };
buildInputs = [ libmatroska flac libvorbis file boost lzo xdg_utils expat wxGTK zlib ruby gettext pkgconfig curl ]; buildInputs = [ libmatroska flac libvorbis file boost lzo xdg_utils expat wxGTK zlib ruby gettext pkgconfig curl ];

View File

@ -1,15 +0,0 @@
Index: tvtime-1.0.2/src/videoinput.c
===================================================================
--- tvtime-1.0.2.orig/src/videoinput.c
+++ tvtime-1.0.2/src/videoinput.c
@@ -35,8 +35,8 @@
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
-#include "videodev.h"
-#include "videodev2.h"
+#include <linux/videodev.h>
+#include <linux/videodev2.h>
#include "videoinput.h"
#include "mixer.h"

View File

@ -1,18 +0,0 @@
{stdenv, fetchurl, SDL, zlib, which}:
stdenv.mkDerivation {
name = "qemu-0.11.0";
src = fetchurl {
url = http://download.savannah.gnu.org/releases/qemu/qemu-0.11.0.tar.gz;
sha256 = "1w3n61lzwvqg1ygn0vs8syybbmbcbk7lfyya098k201lp5rpwamw";
};
patchFlags = "-p2";
buildInputs = [SDL zlib which];
meta = {
description = "QEmu processor emulator";
};
}

View File

@ -1,19 +0,0 @@
{ stdenv, fetchurl, SDL, zlib, which, ncurses }:
stdenv.mkDerivation rec {
name = "qemu-0.13.0";
src = fetchurl {
url = "mirror://savannah/releases/qemu/${name}.tar.gz";
sha256 = "0xyqbwy78218ja6r9ya5p37j8hcd81l4cpw3ghvnxsjwn18mhvqy";
};
buildInputs = [ SDL zlib which ncurses ];
meta = {
description = "QEmu processor emulator";
license = "GPLv2+";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}

View File

@ -1,19 +0,0 @@
{stdenv, fetchsvn, SDL, zlib, which}:
stdenv.mkDerivation {
name = "qemu-svn-6642";
src = fetchsvn {
url = "svn://svn.sv.gnu.org/qemu/trunk";
rev = "6642";
sha256 = "12445ad91feb72eecd1db0d4319a8fa5d7dc971b89228bd0e121b49c5da9705e";
};
patchFlags = "-p2";
buildInputs = [SDL zlib which];
meta = {
description = "QEmu processor emulator";
};
}

View File

@ -4,13 +4,15 @@
, xorriso, makeself, perl, pkgconfig , xorriso, makeself, perl, pkgconfig
, javaBindings ? false, jdk ? null , javaBindings ? false, jdk ? null
, pythonBindings ? false, python ? null , pythonBindings ? false, python ? null
, enableExtensionPack ? false, requireFile ? null, patchelf ? null
}: }:
with stdenv.lib; with stdenv.lib;
let let
version = "4.2.2"; version = "4.2.4";
extpackRevision = "81684";
forEachModule = action: '' forEachModule = action: ''
for mod in \ for mod in \
@ -29,12 +31,20 @@ let
done done
''; '';
extensionPack = requireFile {
name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}"
+ ".vbox-extpack";
# Has to be base16 because it's used as an input to VBoxExtPackHelperApp!
sha256 = "62078e057a4ab56aec5ac086746522b3d94787333d0444169471fa5152c609ed";
url = "https://www.virtualbox.org/wiki/Downloads";
};
in stdenv.mkDerivation { in stdenv.mkDerivation {
name = "virtualbox-${version}-${kernel.version}"; name = "virtualbox-${version}-${kernel.version}";
src = fetchurl { src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2"; url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
sha256 = "943daa13694605d5d0a23ffef27c398b5e72ada669de89bad4b98f000f029700"; sha256 = "a7c607523c1c10b7b978ab39a92bb646517316548aa4a1a74b6e434ac2bf0adc";
}; };
buildInputs = buildInputs =
@ -108,6 +118,15 @@ in stdenv.mkDerivation {
ln -s "$libexec/$file" $out/bin/$file ln -s "$libexec/$file" $out/bin/$file
done done
${optionalString enableExtensionPack ''
"$libexec/VBoxExtPackHelperApp" install \
--base-dir "$libexec/ExtensionPacks" \
--cert-dir "$libexec/ExtPackCertificates" \
--name "Oracle VM VirtualBox Extension Pack" \
--tarball "${extensionPack}"
--sha-256 "${extensionPack.outputHash}"
''}
# Create and fix desktop item # Create and fix desktop item
mkdir -p $out/share/applications mkdir -p $out/share/applications
sed -i -e "s|Icon=VBox|Icon=$libexec/VBox.png|" $libexec/virtualbox.desktop sed -i -e "s|Icon=VBox|Icon=$libexec/VBox.png|" $libexec/virtualbox.desktop

View File

@ -1,19 +1,20 @@
{ stdenv, fetchurl, lib, patchelf, cdrkit, kernel, which, makeWrapper { stdenv, fetchurl, lib, patchelf, cdrkit, kernel, which, makeWrapper
, libX11, libXt, libXext, libXmu, libXcomposite, libXfixes, libXrandr, libXcursor}: , libX11, libXt, libXext, libXmu, libXcomposite, libXfixes, libXrandr, libXcursor
, dbus }:
let version = "4.2.2"; in let version = "4.2.4"; in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "VirtualBox-GuestAdditions-${version}"; name = "VirtualBox-GuestAdditions-${version}-${kernel.version}";
src = fetchurl { src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso"; url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
sha256 = "26f5390b36a3bb9855846d194dcd287b8e53613b599c6ffd7aff1b451cc7f1f1"; sha256 = "3d7d909a0fe9ac5ffcca6afdd4142b88bad116d2ffed6e95588dbfbcf00ca5e9";
}; };
KERN_DIR = "${kernel}/lib/modules/*/build"; KERN_DIR = "${kernel}/lib/modules/*/build";
buildInputs = [ patchelf cdrkit makeWrapper ]; buildInputs = [ patchelf cdrkit makeWrapper dbus ];
installPhase = '' installPhase = ''
mkdir -p $out mkdir -p $out
@ -56,7 +57,7 @@ stdenv.mkDerivation {
cd .. cd ..
# Change the interpreter for various binaries # Change the interpreter for various binaries
for i in sbin/VBoxService bin/{VBoxClient,VBoxControl} for i in sbin/VBoxService bin/{VBoxClient,VBoxControl} lib/VBoxGuestAdditions/mount.vboxsf
do do
${if stdenv.system == "i686-linux" then '' ${if stdenv.system == "i686-linux" then ''
patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $i patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 $i
@ -66,14 +67,12 @@ stdenv.mkDerivation {
'' ''
else throw ("Architecture: "+stdenv.system+" not supported for VirtualBox guest additions") else throw ("Architecture: "+stdenv.system+" not supported for VirtualBox guest additions")
} }
patchelf --set-rpath ${stdenv.gcc.gcc}/lib:${dbus}/lib:${libX11}/lib:${libXt}/lib:${libXext}/lib:${libXmu}/lib:${libXfixes}/lib:${libXrandr}/lib:${libXcursor}/lib $i
done done
# Change rpath for various binaries and libraries
patchelf --set-rpath ${stdenv.gcc.gcc}/lib:${libX11}/lib:${libXt}/lib:${libXext}/lib:${libXmu}/lib:${libXfixes}/lib:${libXrandr}/lib:${libXcursor}/lib bin/VBoxClient
for i in lib/VBoxOGL*.so for i in lib/VBoxOGL*.so
do do
patchelf --set-rpath $out/lib $i patchelf --set-rpath $out/lib:${dbus}/lib $i
done done
# Remove references to /usr from various scripts and files # Remove references to /usr from various scripts and files
@ -82,6 +81,7 @@ stdenv.mkDerivation {
# Install binaries # Install binaries
mkdir -p $out/sbin mkdir -p $out/sbin
install -m 4755 lib/VBoxGuestAdditions/mount.vboxsf $out/sbin/mount.vboxsf
install -m 755 sbin/VBoxService $out/sbin install -m 755 sbin/VBoxService $out/sbin
mkdir -p $out/bin mkdir -p $out/bin

View File

@ -4,11 +4,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "i3-${version}"; name = "i3-${version}";
version = "4.3"; version = "4.4";
src = fetchurl { src = fetchurl {
url = "http://i3wm.org/downloads/${name}.tar.bz2"; url = "http://i3wm.org/downloads/${name}.tar.bz2";
sha256 = "895bf586092535efb2bc723ba599c71a027768115e56052f111fc8bb148db925"; sha256 = "06s8gzcxxh06zp1586kp4bxaj8yj5i9jacwg0nizbmmnx94mg1wr";
}; };
buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutil bison xcbutilwm buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutil bison xcbutilwm

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, x11, lua, gettext, groff }: { stdenv, fetchurl, x11, lua, gettext, groff }:
stdenv.mkDerivation { stdenv.mkDerivation {
name = "ion-3rc-20070902"; name = "ion-3-20090110";
meta = { meta = {
description = "Ion is a tiling tabbed window manager designed with keyboard users in mind."; description = "Ion is a tiling tabbed window manager designed with keyboard users in mind.";
homepage = http://modeemi.fi/~tuomov/ion; homepage = http://modeemi.fi/~tuomov/ion;
}; };
src = fetchurl { src = fetchurl {
url = http://iki.fi/tuomov/dl/ion-3rc-20070902.tar.gz; url = http://tuomov.iki.fi/software/dl/ion-3-20090110.tar.gz;
sha256 = "062a0rgxzz4h1hih5lp7l2nfvhz095brag9fmnanzqc4dac228xl"; sha256 = "1nkks5a95986nyfkxvg2rik6zmwx0lh7szd5fji7yizccwzc9xns";
}; };
buildInputs = [ x11 lua gettext groff ]; buildInputs = [ x11 lua gettext groff ];
buildFlags = "LUA_DIR=${lua} X11_PREFIX=/no-such-path PREFIX=\${out}"; buildFlags = "LUA_DIR=${lua} X11_PREFIX=/no-such-path PREFIX=\${out}";

View File

@ -1,24 +0,0 @@
source $stdenv/setup
postUnpack() {
cd $sourceRoot
cat >> config.mk << EOF
PREFIX=
DESTDIR=${out}
CFLAGS = -DVERSION=\\"\${VERSION}\\"
LDFLAGS = -lm -lX11 -lixp
AWKPATH=${gawk}/bin/gawk
CONFPREFIX = /etc
MANPREFIX = /share/man
EOF
cd ..
}
postUnpack=postUnpack
genericBuild

View File

@ -1,24 +1,19 @@
{ cabal, extensibleExceptions, mtl, utf8String, X11, xmessage }: { cabal, extensibleExceptions, filepath, mtl, utf8String, X11 }:
cabal.mkDerivation (self: { cabal.mkDerivation (self: {
pname = "xmonad"; pname = "xmonad";
version = "0.10"; version = "0.11";
sha256 = "19z5y36pybsm93x6hlj5hzyys9r4ag7hkdib5spsnryk2mv72xj6"; sha256 = "1nsv88y2b206n3s5hrsp5ginvz1bj818ns7jmikavb2g33akdgg5";
isLibrary = true; isLibrary = true;
isExecutable = true; isExecutable = true;
buildDepends = [ extensibleExceptions mtl utf8String X11 ]; buildDepends = [
extensibleExceptions filepath mtl utf8String X11
];
meta = { meta = {
homepage = "http://xmonad.org"; homepage = "http://xmonad.org";
description = "A tiling window manager"; description = "A tiling window manager";
license = self.stdenv.lib.licenses.bsd3; license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms; platforms = self.ghc.meta.platforms;
maintainers = [ maintainers = [ self.stdenv.lib.maintainers.andres ];
self.stdenv.lib.maintainers.andres
];
}; };
preConfigure = ''
substituteInPlace XMonad/Core.hs --replace \
'"xmessage"' '"${xmessage}/bin/xmessage"'
'';
}) })

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: { cabal.mkDerivation (self: {
pname = "xmonad-contrib"; pname = "xmonad-contrib";
version = "0.10"; version = "0.11";
sha256 = "0lp7qr69rpjy4s3knhdgh2bp6zs81xp0az1lisv4a2i7i1ys7hfq"; sha256 = "188brys16b3wmxd22j4284wnpasm8bixdjfxl1jr2q2xi45nzks0";
buildDepends = [ buildDepends = [
extensibleExceptions mtl random utf8String X11 X11Xft xmonad extensibleExceptions mtl random utf8String X11 X11Xft xmonad
]; ];

View File

@ -11,6 +11,7 @@ cabal.mkDerivation (self: {
xmonadContrib xmonadContrib
]; ];
configureFlags = "-f-with_hlist -fwith_split -fwith_parsec"; configureFlags = "-f-with_hlist -fwith_split -fwith_parsec";
jailbreak = true;
meta = { meta = {
homepage = "http://projects.haskell.org/xmonad-extras"; homepage = "http://projects.haskell.org/xmonad-extras";
description = "Third party extensions for xmonad with wacky dependencies"; description = "Third party extensions for xmonad with wacky dependencies";

View File

@ -44,7 +44,9 @@
# the default download location for Cabal packages is Hackage, # the default download location for Cabal packages is Hackage,
# you still have to specify the checksum # you still have to specify the checksum
src = fetchurl { src = fetchurl {
url = "http://hackage.haskell.org/packages/archive/${self.pname}/${self.version}/${self.fname}.tar.gz"; # cannot use mirrors system because of subtly different directory structures
urls = ["http://hackage.haskell.org/packages/archive/${self.pname}/${self.version}/${self.fname}.tar.gz"
"http://hdiff.luite.com/packages/archive/${self.pname}/${self.fname}.tar.gz"];
inherit (self) sha256; inherit (self) sha256;
}; };

View File

@ -248,8 +248,6 @@ rec {
]; ];
postgresql = [ postgresql = [
http://ftp2.nl.postgresql.org/
ftp://ftp.nl.postgresql.org/pub/mirror/postgresql/
ftp://ftp.postgresql.org/pub/ ftp://ftp.postgresql.org/pub/
ftp://ftp-archives.postgresql.org/pub/ ftp://ftp-archives.postgresql.org/pub/
]; ];

View File

@ -3,3 +3,7 @@ SF_redirect () {
process 'http://[a-z]+[.]dl[.]sourceforge[.]net/' 'mirror://sourceforge/' process 'http://[a-z]+[.]dl[.]sourceforge[.]net/' 'mirror://sourceforge/'
process '[?].*' '' process '[?].*' ''
} }
SF_version_dir () {
version_link 'http://sourceforge.net/.+/[0-9.]+/$'
}

View File

@ -82,20 +82,32 @@ version () {
} }
ensure_version () { ensure_version () {
echo "Ensuring version. CURRENT_VERSION: $CURRENT_VERSION" >&2
[ -z "$CURRENT_VERSION" ] && version '.*-([0-9.]+)[-._].*' '\1' [ -z "$CURRENT_VERSION" ] && version '.*-([0-9.]+)[-._].*' '\1'
} }
ensure_target () { ensure_target () {
[ -z "$CURRENT_TARGET" ] && target default.nix echo "Ensuring target. CURRENT_TARGET: $CURRENT_TARGET" >&2
[ -z "$CURRENT_TARGET" ] && target "$(basename "$CONFIG_NAME" .upstream).nix"
} }
ensure_name () { ensure_name () {
echo "Ensuring name. CURRENT_NAME: $CURRENT_NAME" >&2
[ -z "$CURRENT_NAME" ] && name "$(basename "$CONFIG_DIR")" [ -z "$CURRENT_NAME" ] && name "$(basename "$CONFIG_DIR")"
echo "Resulting name: $CURRENT_NAME" echo "Resulting name: $CURRENT_NAME"
} }
ensure_attribute_name () {
echo "Ensuring attribute name. CURRENT_ATTRIBUTE_NAME: $CURRENT_ATTRIBUTE_NAME" >&2
[ -z "$CURRENT_ATTRIBUTE_NAME" ] && attribute_name "$CURRENT_NAME"
echo "Resulting attribute name: $CURRENT_ATTRIBUTE_NAME"
}
ensure_choice () { ensure_choice () {
[ -n "NEED_TO_CHOOSE_URL" ] && { echo "Ensuring that choice is made." >&2
echo "NEED_TO_CHOOSE_URL: [$NEED_TO_CHOOSE_URL]." >&2
echo "CURRENT_URL: $CURRENT_URL" >&2
[ -n "$NEED_TO_CHOOSE_URL" ] && {
version_link '[.]tar[.]([^./])+$' version_link '[.]tar[.]([^./])+$'
unset NEED_TO_CHOOSE_URL unset NEED_TO_CHOOSE_URL
} }
@ -106,16 +118,28 @@ ensure_choice () {
} }
} }
ensure_hash () {
echo "Ensuring hash. CURRENT_HASH: $CURRENT_HASH" >&2
[ -z "$CURRENT_HASH" ] && hash
}
hash () { hash () {
CURRENT_HASH="$(nix-prefetch-url "$CURRENT_URL")" CURRENT_HASH="$(nix-prefetch-url "$CURRENT_URL")"
echo "CURRENT_HASH: $CURRENT_HASH" >&2
} }
name () { name () {
CURRENT_NAME="$1" CURRENT_NAME="$1"
echo "CURRENT_NAME: $CURRENT_NAME" >&2
}
attribute_name () {
CURRENT_ATTRIBUTE_NAME="$1"
echo "CURRENT_ATTRIBUTE_NAME: $CURRENT_ATTRIBUTE_NAME" >&2
} }
retrieve_version () { retrieve_version () {
PACKAGED_VERSION="$(nix-instantiate --eval-only '<nixpkgs>' -A "$CURRENT_NAME".meta.version | xargs)" PACKAGED_VERSION="$(nix-instantiate --eval-only '<nixpkgs>' -A "$CURRENT_ATTRIBUTE_NAME".meta.version | xargs)"
} }
directory_of () { directory_of () {
@ -128,8 +152,7 @@ full_path () {
target () { target () {
CURRENT_TARGET="$1" CURRENT_TARGET="$1"
test -e "$CURRENT_TARGET" || { [ "$CURRENT_TARGET" = "${CURRENT_TARGET#/}" ] && CURRENT_TARGET="$CONFIG_DIR/$CURRENT_TARGET"; }
{ [ "$CURRENT_TARGET" = "${CURRENT_TARGET#/}" ] && CURRENT_TARGET="$CONFIG_DIR/$CURRENT_TARGET"; }
echo "Target set to: $CURRENT_TARGET" echo "Target set to: $CURRENT_TARGET"
} }
@ -146,7 +169,7 @@ do_write_expression () {
echo "${1}rec {" echo "${1}rec {"
echo "${1} baseName=\"$CURRENT_NAME\";" echo "${1} baseName=\"$CURRENT_NAME\";"
echo "${1} version=\"$CURRENT_VERSION\";" echo "${1} version=\"$CURRENT_VERSION\";"
echo "${1} name=\"$CURRENT_NAME-$CURRENT_VERSION\";" echo "${1} name=\"\${baseName}-\${version}\";"
echo "${1} hash=\"$CURRENT_HASH\";" echo "${1} hash=\"$CURRENT_HASH\";"
echo "${1} url=\"$CURRENT_URL\";" echo "${1} url=\"$CURRENT_URL\";"
echo "${1} sha256=\"$CURRENT_HASH\";" echo "${1} sha256=\"$CURRENT_HASH\";"
@ -166,6 +189,12 @@ replace_once () {
replacement="$3" replacement="$3"
instance="${4:-1}" instance="${4:-1}"
echo "Replacing once:"
echo "file: [[$file]]"
echo "regexp: [[$regexp]]"
echo "replacement: [[$replacement]]"
echo "instance: [[$instance]]"
position="$(line_position "$file" "$regexp" "$instance")" position="$(line_position "$file" "$regexp" "$instance")"
sed -re "${position}s $regexp $replacement " -i "$file" sed -re "${position}s $regexp $replacement " -i "$file"
} }
@ -180,7 +209,7 @@ set_var_value () {
quote='"' quote='"'
let "$no_quotes" && quote="" let "$no_quotes" && quote=""
replace_once "$file" "${var} *= *.*" "${var} = ${quote}${value}${quote};" replace_once "$file" "${var} *= *.*" "${var} = ${quote}${value}${quote};" "$instance"
} }
do_regenerate () { do_regenerate () {
@ -196,16 +225,18 @@ do_regenerate () {
} }
do_overwrite () { do_overwrite () {
hash ensure_hash
do_regenerate "$1" > "$1.new.tmp" do_regenerate "$1" > "$1.new.tmp"
mv "$1.new.tmp" "$1" mv "$1.new.tmp" "$1"
} }
process_config () { process_config () {
CONFIG_DIR="$(directory_of "$1")" CONFIG_DIR="$(directory_of "$1")"
CONFIG_NAME="$(basename "$1")"
BEGIN_EXPRESSION='# Generated upstream information'; BEGIN_EXPRESSION='# Generated upstream information';
source "$CONFIG_DIR/$(basename "$1")" source "$CONFIG_DIR/$CONFIG_NAME"
ensure_name ensure_name
ensure_attribute_name
retrieve_version retrieve_version
ensure_choice ensure_choice
ensure_version ensure_version

View File

@ -11,4 +11,4 @@ echo "URL: $url" >&2
curl -L -k "$url" | sed -re 's/^/-/;s/[hH][rR][eE][fF]="([^"]*)"/\n+\1\n-/g' | \ curl -L -k "$url" | sed -re 's/^/-/;s/[hH][rR][eE][fF]="([^"]*)"/\n+\1\n-/g' | \
sed -e '/^-/d; s/^[+]//; /^#/d;'"s/^\\//$protocol:\\/\\/$server\\//g" | \ sed -e '/^-/d; s/^[+]//; /^#/d;'"s/^\\//$protocol:\\/\\/$server\\//g" | \
sed -re 's~^[^:]*$~'"$protocol://$basepath/&~" sed -re 's`^[^:]*$`'"$protocol://$basepath/&\`"

View File

@ -1,5 +1,5 @@
use strict; use strict;
use Dpkg::Cdata; use Dpkg::Control;
use Dpkg::Deps; use Dpkg::Deps;
use File::Basename; use File::Basename;
@ -7,6 +7,7 @@ my $packagesFile = shift @ARGV;
my $urlPrefix = shift @ARGV; my $urlPrefix = shift @ARGV;
my @toplevelPkgs = @ARGV; my @toplevelPkgs = @ARGV;
my %packages; my %packages;
@ -14,10 +15,10 @@ my %packages;
open PACKAGES, "<$packagesFile" or die; open PACKAGES, "<$packagesFile" or die;
while (1) { while (1) {
my $cdata = parsecdata(\*PACKAGES, $packagesFile); my $cdata = Dpkg::Control->new(type => CTRL_INFO_PKG);
last unless defined $cdata; last if not $cdata->parse(\*PACKAGES, $packagesFile);
#print $cdata->{Package}, "\n";
die unless defined $cdata->{Package}; die unless defined $cdata->{Package};
#print STDERR $cdata->{Package}, "\n";
$packages{$cdata->{Package}} = $cdata; $packages{$cdata->{Package}} = $cdata;
} }
@ -50,7 +51,7 @@ my %provides;
foreach my $cdata (values %packages) { foreach my $cdata (values %packages) {
next unless defined $cdata->{Provides}; next unless defined $cdata->{Provides};
my @provides = getDeps(Dpkg::Deps::parse($cdata->{Provides})); my @provides = getDeps(Dpkg::Deps::deps_parse($cdata->{Provides}));
foreach my $name (@provides) { foreach my $name (@provides) {
#die "conflicting provide: $name\n" if defined $provides{$name}; #die "conflicting provide: $name\n" if defined $provides{$name};
#warn "provide by $cdata->{Package} conflicts with package with the same name: $name\n"; #warn "provide by $cdata->{Package} conflicts with package with the same name: $name\n";
@ -83,7 +84,7 @@ sub closePackage {
$donePkgs{$pkgName} = 1; $donePkgs{$pkgName} = 1;
if (defined $cdata->{Provides}) { if (defined $cdata->{Provides}) {
foreach my $name (getDeps(Dpkg::Deps::parse($cdata->{Provides}))) { foreach my $name (getDeps(Dpkg::Deps::deps_parse($cdata->{Provides}))) {
$provides{$name} = $cdata->{Package}; $provides{$name} = $cdata->{Package};
} }
} }
@ -92,14 +93,14 @@ sub closePackage {
if (defined $cdata->{Depends}) { if (defined $cdata->{Depends}) {
print STDERR " $pkgName: $cdata->{Depends}\n"; print STDERR " $pkgName: $cdata->{Depends}\n";
my $deps = Dpkg::Deps::parse($cdata->{Depends}); my $deps = Dpkg::Deps::deps_parse($cdata->{Depends});
die unless defined $deps; die unless defined $deps;
push @depNames, getDeps($deps); push @depNames, getDeps($deps);
} }
if (defined $cdata->{'Pre-Depends'}) { if (defined $cdata->{'Pre-Depends'}) {
print STDERR " $pkgName: $cdata->{'Pre-Depends'}\n"; print STDERR " $pkgName: $cdata->{'Pre-Depends'}\n";
my $deps = Dpkg::Deps::parse($cdata->{'Pre-Depends'}); my $deps = Dpkg::Deps::deps_parse($cdata->{'Pre-Depends'});
die unless defined $deps; die unless defined $deps;
push @depNames, getDeps($deps); push @depNames, getDeps($deps);
} }

View File

@ -3,7 +3,7 @@
, img ? "bzImage" , img ? "bzImage"
, rootModules ? , rootModules ?
[ "cifs" "virtio_net" "virtio_pci" "virtio_blk" "virtio_balloon" "nls_utf8" "ext2" "ext3" [ "cifs" "virtio_net" "virtio_pci" "virtio_blk" "virtio_balloon" "nls_utf8" "ext2" "ext3"
"unix" "hmac" "md4" "ecb" "des_generic" "ext4" "unix" "hmac" "md4" "ecb" "des_generic"
] ]
}: }:
@ -38,35 +38,19 @@ rec {
# Copy what we need from Glibc. # Copy what we need from Glibc.
cp -p ${pkgs.stdenv.glibc}/lib/ld-linux*.so.? $out/lib cp -p ${pkgs.stdenv.glibc}/lib/ld-linux*.so.? $out/lib
cp -p ${pkgs.stdenv.glibc}/lib/libc.so.* $out/lib cp -p ${pkgs.stdenv.glibc}/lib/libc.so.* $out/lib
cp -p ${pkgs.stdenv.glibc}/lib/librt.so.* $out/lib cp -p ${pkgs.stdenv.glibc}/lib/libm.so.* $out/lib
cp -p ${pkgs.stdenv.glibc}/lib/libdl.so.* $out/lib
# Copy some utillinux stuff. # Copy BusyBox.
cp ${utillinux}/bin/mount ${utillinux}/bin/umount $out/bin cp -pd ${pkgs.busybox}/bin/* ${pkgs.busybox}/sbin/* $out/bin
cp -pd ${utillinux}/lib/libblkid*.so.* $out/lib
cp -pd ${utillinux}/lib/libuuid*.so.* $out/lib
# Copy some coreutils.
cp ${coreutils}/bin/basename $out/bin
cp ${coreutils}/bin/mkdir $out/bin
cp ${coreutils}/bin/mknod $out/bin
cp ${coreutils}/bin/cat $out/bin
cp ${coreutils}/bin/chroot $out/bin
cp ${coreutils}/bin/sleep $out/bin
cp ${coreutils}/bin/ln $out/bin
# Copy some other tools.
cp ${bash}/bin/bash $out/bin
cp ${module_init_tools}/sbin/insmod $out/bin/insmod
cp ${nettools}/sbin/ifconfig $out/bin
cp ${sysvinit}/sbin/halt $out/bin
# Run patchelf to make the programs refer to the copied libraries. # Run patchelf to make the programs refer to the copied libraries.
for i in $out/bin/* $out/lib/*; do if ! test -L $i; then nuke-refs $i; fi; done for i in $out/bin/* $out/lib/*; do if ! test -L $i; then nuke-refs $i; fi; done
for i in $out/bin/*; do for i in $out/bin/*; do
echo "patching $i..." if [ -f "$i" -a ! -L "$i" ]; then
patchelf --set-interpreter $out/lib/ld-linux*.so.? --set-rpath $out/lib $i || true echo "patching $i..."
patchelf --set-interpreter $out/lib/ld-linux*.so.? --set-rpath $out/lib $i || true
fi
done done
''; # */ ''; # */
@ -84,8 +68,7 @@ rec {
stage1Init = writeScript "vm-run-stage1" '' stage1Init = writeScript "vm-run-stage1" ''
#! ${initrdUtils}/bin/bash -e #! ${initrdUtils}/bin/ash -e
echo START
export PATH=${initrdUtils}/bin export PATH=${initrdUtils}/bin
@ -167,8 +150,7 @@ rec {
mount -o remount,ro dummy /fs mount -o remount,ro dummy /fs
echo DONE poweroff -f
halt -d -p -f
''; '';
@ -761,7 +743,7 @@ rec {
debClosureGenerator = debClosureGenerator =
{name, packagesLists, urlPrefix, packages}: {name, packagesLists, urlPrefix, packages}:
runCommand "${name}.nix" {} '' runCommand "${name}.nix" { buildInputs = [ perl dpkg ]; } ''
for i in ${toString packagesLists}; do for i in ${toString packagesLists}; do
echo "adding $i..." echo "adding $i..."
bunzip2 < $i >> ./Packages bunzip2 < $i >> ./Packages
@ -770,7 +752,7 @@ rec {
# Work around this bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=452279 # Work around this bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=452279
sed -i ./Packages -e s/x86_64-linux-gnu/x86-64-linux-gnu/g sed -i ./Packages -e s/x86_64-linux-gnu/x86-64-linux-gnu/g
${perl}/bin/perl -I${dpkg} -w ${deb/deb-closure.pl} \ perl -w ${deb/deb-closure.pl} \
./Packages ${urlPrefix} ${toString packages} > $out ./Packages ${urlPrefix} ${toString packages} > $out
''; '';
@ -1306,6 +1288,40 @@ rec {
packages = commonDebPackages ++ [ "diffutils" ]; packages = commonDebPackages ++ [ "diffutils" ];
}; };
ubuntu1210i386 = {
name = "ubuntu-12.10-quantal-i386";
fullName = "Ubuntu 12.10 Quantal (i386)";
packagesLists =
[ (fetchurl {
url = mirror://ubuntu/dists/quantal/main/binary-i386/Packages.bz2;
sha256 = "bee3200ac8f037700ccd2311fb8b0de665bd02d46bdb2ae946cf50c5885001c3";
})
(fetchurl {
url = mirror://ubuntu/dists/quantal/universe/binary-i386/Packages.bz2;
sha256 = "323036e81c8bf409f71d3bc5cf37cfba72fe1d0fc82e9b5418d4d0cb516646e1";
})
];
urlPrefix = mirror://ubuntu;
packages = commonDebPackages ++ [ "diffutils" ];
};
ubuntu1210x86_64 = {
name = "ubuntu-12.10-quantal-amd64";
fullName = "Ubuntu 12.10 Quantal (amd64)";
packagesList =
[ (fetchurl {
url = mirror://ubuntu/dists/quantal/main/binary-amd64/Packages.bz2;
sha256 = "ef14073f335ef118ebe1c7d45f5a0c17ef28f72abb57c10b9082ab5e04b5d003";
})
(fetchurl {
url = mirror://ubuntu/dists/quantal/universe/binary-amd64/Packages.bz2;
sha256 = "c762bd4ed063326577a62ff783cf9720e772b03d4a2aa38048918ee6287b96ce";
})
];
urlPrefix = mirror://ubuntu;
packages = commonDebPackages ++ [ "diffutils" ];
};
debian40i386 = { debian40i386 = {
name = "debian-4.0r9-etch-i386"; name = "debian-4.0r9-etch-i386";
fullName = "Debian 4.0r9 Etch (i386)"; fullName = "Debian 4.0r9 Etch (i386)";
@ -1351,22 +1367,22 @@ rec {
}; };
debian60i386 = { debian60i386 = {
name = "debian-6.0.4-squeeze-i386"; name = "debian-6.0.6-squeeze-i386";
fullName = "Debian 6.0.4 Squeeze (i386)"; fullName = "Debian 6.0.6 Squeeze (i386)";
packagesList = fetchurl { packagesList = fetchurl {
url = mirror://debian/dists/squeeze/main/binary-i386/Packages.bz2; url = mirror://debian/dists/squeeze/main/binary-i386/Packages.bz2;
sha256 = "1aih4n1iz4gzzm5cy1j14mpx8i25jj1237994j33k7dm0gnqgr2w"; sha256 = "18c0473jacd877nkky1x21dkmp4992d8qra6wj07sq0yz5gdc9c4";
}; };
urlPrefix = mirror://debian; urlPrefix = mirror://debian;
packages = commonDebianPackages; packages = commonDebianPackages;
}; };
debian60x86_64 = { debian60x86_64 = {
name = "debian-6.0.4-squeeze-amd64"; name = "debian-6.0.6-squeeze-amd64";
fullName = "Debian 6.0.4 Squeeze (amd64)"; fullName = "Debian 6.0.6 Squeeze (amd64)";
packagesList = fetchurl { packagesList = fetchurl {
url = mirror://debian/dists/squeeze/main/binary-amd64/Packages.bz2; url = mirror://debian/dists/squeeze/main/binary-amd64/Packages.bz2;
sha256 = "1gb3im7kl8dwd7z82xj4wb5g58r86fjj8cirvq0ssrvcm9bqaiz7"; sha256 = "1n1h3pz6axcaraxq8gfzq0jywlpdrqand1dnd4q79dy6cl788bi2";
}; };
urlPrefix = mirror://debian; urlPrefix = mirror://debian;
packages = commonDebianPackages; packages = commonDebianPackages;

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl }: { stdenv, fetchurl }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "man-pages-3.43"; name = "man-pages-3.45";
src = fetchurl { src = fetchurl {
url = "mirror://kernel/linux/docs/man-pages/Archive/${name}.tar.xz"; url = "mirror://kernel/linux/docs/man-pages/Archive/${name}.tar.xz";
sha256 = "05fjq8llfxm77mnf2jhly98780xbkakim7b7hbx6kafvvs5zisrf"; sha256 = "1lwqrp79xcyhnjlyg1n0imz5wc88lpgv909xxz8bdgbk7c1mky0h";
}; };
preBuild = preBuild =

View File

@ -1,5 +0,0 @@
{fetchurl, ...} :
fetchurl {
url = http://www.kde-look.org/CONTENT/content-files/58501-green.tar.gz;
sha256 = "0sdykpziij1f3w4braq8r8nqg4lnsd7i7gi1k5d7c31m2q3b9a7r";
}

View File

@ -1,5 +0,0 @@
{fetchurl, ...}:
fetchurl {
url = http://dev.gentoo.org/~spock/repos/bootsplash/Theme-GNU.tar.bz2;
sha256 = "1pj91nxvwjphc8r6idl4ih3ldyk34j1w9c4p8gzmwnwg3w34xha0";
}

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