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 i686-linux \
--argstr system x86_64-darwin \
--argstr system i686-darwin \
--argstr system i686-cygwin \
--argstr system i686-freebsd \
--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 {
version = "2.0.0";
version = "2.0.2";
name = "audacity-${version}";
src = fetchurl {
url = "http://audacity.googlecode.com/files/audacity-minsrc-${version}.tar.bz2";
sha256 = "0spbib3f86b4qri0g13idyxvysg28hkpsglmjza681zrln62hjfq";
sha256 = "17c7p5jww5zcg2k2fs1751mv5kbadcmgicszi1zxwj2p5b35x2mc";
};
buildInputs = [ pkgconfig wxGTK libsndfile expat alsaLib libsamplerate
libvorbis libmad flac id3lib ffmpeg gettext ];

View File

@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
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; {
description = "A range of synthesiser, electric piano and organ emulations";
homepage = http://bristol.sourceforge.net;

View File

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

View File

@ -8,7 +8,16 @@ stdenv.mkDerivation rec {
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 = {
compileFlags = [ "CC=${stdenv.cross.config}-gcc" ];

View File

@ -18,6 +18,10 @@ stdenv.mkDerivation rec {
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 = {
description = "A GTK2 small and ligthweight IDE.";
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}:
assert stdenv.system == "i686-linux";
assert stdenv.isLinux;
stdenv.mkDerivation {
name = "nedit-5.5";
@ -15,7 +15,7 @@ stdenv.mkDerivation {
inherit motif;
buildInputs = [x11 motif libXpm];
buildFlags = if stdenv.system == "i686-linux" then "linux" else "";
buildFlags = if stdenv.isLinux then "linux" else "";
meta = {
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 }:
stdenv.mkDerivation rec {
name = "zile-2.4.7";
name = "zile-2.4.9";
src = fetchurl {
url = "mirror://gnu/zile/${name}.tar.gz";
sha256 = "1ak7qjb7s4whxg8qpkg7yixfnhinwfmzgav7rzi0kjmm93z35xcc";
sha256 = "0j801c28ypm924rw3lqyb6khxyslg6ycrv16wmmwcam0mk3mj6f7";
};
buildInputs = [ ncurses boehmgc ];
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
# fiddle with the terminal.
doCheck = false;

View File

@ -46,6 +46,8 @@ stdenv.mkDerivation rec {
'' else "";
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;
stdenv.mkDerivation rec {
version = "1.1";
version = "1.1.1";
name = "darktable-${version}";
src = fetchurl {
url = "mirror://sourceforge/darktable/darktable-${version}.tar.gz";
sha256 = "8f2401422ab3e0bb038b3fedf411aaf69994d679674757ee7886b6146b9fdd4f";
sha256 = "0k1m7nd42yn4c2jr1ps1g96fqk9pq20cxjp7dmlza61pj2j9nads";
};
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 ];
# 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 = {
description = "Gnome Diagram drawing software";
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,
python, swig, gfortran, soqt, libf2c, pyqt4, makeWrapper }:
# It builds but fails to install
stdenv.mkDerivation rec {
name = "freecad-${version}";
version = "svn-${src.rev}";
version = "git-20121213";
src = fetchsvn {
url = https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk;
rev = "4184";
sha256 = "26bd8407ce38f070b81ef39145aed093eed3c200d165a605b8169162d66568ce";
src = fetchgit {
url = git://free-cad.git.sourceforge.net/gitroot/free-cad/free-cad;
rev = "d3949cedc7e3c924d426660515e06eaf55d1a67f";
sha256 = "0a07ih0z5d8m69zasmvi7z4lgq0pa67k2g7r1l6nz2d0b30py61w";
};
buildInputs = [ cmake coin3d xercesc ode eigen qt4 opencascade gts boost
@ -19,12 +17,6 @@ stdenv.mkDerivation rec {
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
preBuild = ''
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
'';
patches = [ ./cmakeinstall.patch ./pythonpath.patch ];
patches = [ ./pythonpath.patch ];
meta = {
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
Index: src/Main/MainGui.cpp
===================================================================
--- a/src/Main/MainGui.cpp (revision 4193)
+++ a/src/Main/MainGui.cpp (working copy)
@@ -149,10 +149,10 @@
diff --git a/src/Main/MainGui.cpp b/src/Main/MainGui.cpp
index 03407c5..b029384 100644
--- a/src/Main/MainGui.cpp
+++ b/src/Main/MainGui.cpp
@@ -190,15 +190,15 @@ int main( int argc, char ** argv )
// http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559846
putenv("LANG=C");
putenv("LC_ALL=C");
- putenv("PYTHONPATH=");
+ //putenv("PYTHONPATH=");
#elif defined(FC_OS_MACOSX)
(void)QLocale::system();
putenv("LANG=C");
putenv("LC_ALL=C");
- putenv("PYTHONPATH=");
+ //putenv("PYTHONPATH=");
#else
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
}:
stdenv.mkDerivation rec {
version = "2011.12";
version = "git-20121213";
name = "openscad-${version}";
src = fetchurl {
url = "https://github.com/downloads/openscad/openscad/${name}.src.tar.gz";
sha256 = "0gaqwzxbbzc21lhb4y26j8g0g28dhrwrgkndizp5ddab5axi4zjh";
};
# src = fetchurl {
# url = "https://github.com/downloads/openscad/openscad/${name}.src.tar.gz";
# 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];
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"
'';

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
name = "ikiwiki";
version = "3.20120725";
version = "3.20121212";
lib = stdenv.lib;
in
@ -32,7 +32,7 @@ stdenv.mkDerivation {
src = fetchurl {
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

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 {
name = "librecad-1.0.0";
name = "librecad-1.0.2";
src = fetchurl {
url = https://github.com/LibreCAD/LibreCAD/tarball/v1.0.0;
name = "librecad-1.0.0.tar.gz";
sha256 = "0s1ikyvy98zz1vw3xf5la73n3sykib6292cmhh2z738ggwigicc9";
url = https://github.com/LibreCAD/LibreCAD/tarball/v1.0.2;
name = "librecad-1.0.2.tar.gz";
sha256 = "13ee7e401e4f5fbc68c2e017b7189bec788038f4f6e77f559861ceb8cfb1907d";
};
patchPhase = ''
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";
# It builds, but it does not install
installPhase = "exit 1";
installPhase = ''
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 = {
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

@ -3,19 +3,19 @@
}:
stdenv.mkDerivation rec {
version = "2.0.4";
version = "2.0.5";
name = "lyx-${version}";
src = fetchurl {
url = "ftp://ftp.lyx.org/pub/lyx/stable/2.0.x/${name}.tar.xz";
sha256 = "137dzmz1z6aqz9mdj8gmmi0k60s9sfn6gy916j175cwzq6hpncb8";
sha256 = "00pv2d9p8j1p6x87kalbn1bgxg9l4zqh65zcajrnh10a76isv6nk";
};
configureFlags = [
#"--without-included-boost"
/* 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. */
#"--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 = [

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 =
''
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
NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${freetype}/include/freetype2"
NIX_LDFLAGS="$NIX_LDFLAGS -lfontconfig -lXrender "
@ -36,10 +36,6 @@ stdenv.mkDerivation (rec {
meta = {
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";
};
})

View File

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

View File

@ -4,8 +4,8 @@
cabal.mkDerivation (self: {
pname = "xmobar";
version = "0.15";
sha256 = "1wa141bf3krzr8qcd9cyix3cflbw1yr1l3299ashjs7skqnjadcl";
version = "0.16";
sha256 = "1dx4kwygzp4c5j4jj4lsfgjfvhh863v68s106lmwc86a30h60p8i";
isLibrary = false;
isExecutable = true;
buildDepends = [
@ -13,9 +13,6 @@ cabal.mkDerivation (self: {
];
extraLibraries = [ libXrandr wirelesstools ];
configureFlags = "-fwith_xft -fwith_iwlib";
patchPhase = ''
sed -i -e 's|mtl ==.*$|mtl,|' xmobar.cabal
'';
meta = {
homepage = "http://projects.haskell.org/xmobar/";
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
, bzip2, flac, speex
@ -15,32 +15,24 @@
, libXScrnSaver, libXcursor, mesa
# optional dependencies
, libgnome_keyring # config.gnomeKeyring
, gconf # config.gnome
, libgcrypt # config.gnome || config.cups
, nss, openssl # config.openssl
, pulseaudio # config.pulseaudio
, libselinux # config.selinux
, libgcrypt ? null # gnomeSupport || cupsSupport
# package customization
, channel ? "stable"
, enableSELinux ? false, libselinux ? null
, 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;
let
mkConfigurable = mapAttrs (flag: default: attrByPath ["chromium" flag] default config);
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);
sourceInfo = builtins.getAttr channel (import ./sources.nix);
mkGypFlags =
let
@ -62,7 +54,7 @@ let
use_system_libusb = true;
use_system_libxml = true;
use_system_speex = true;
use_system_ssl = cfg.openssl;
use_system_ssl = useOpenSSL;
use_system_stlport = true;
use_system_xdg_utils = true;
use_system_yasm = true;
@ -87,7 +79,7 @@ let
post23 = !versionOlder sourceInfo.version "24.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;
sha256 = "1w91mirrkqigdhsj892mqxlc0nlv1dsp5shc46w9xf8nl96jxgfb";
});
@ -107,28 +99,28 @@ in stdenv.mkDerivation rec {
which makeWrapper
python perl pkgconfig
nspr udev
(if cfg.openssl then openssl else nss)
(if useOpenSSL then openssl else nss)
utillinux alsaLib
gcc bison gperf
krb5
glib gtk dbus_glib
libXScrnSaver libXcursor mesa
] ++ optional cfg.gnomeKeyring libgnome_keyring
++ optionals cfg.gnome [ gconf libgcrypt ]
++ optional cfg.selinux libselinux
++ optional cfg.cups libgcrypt
++ optional cfg.pulseaudio pulseaudio
] ++ optional gnomeKeyringSupport libgnome_keyring
++ optionals gnomeSupport [ gconf libgcrypt ]
++ optional enableSELinux libselinux
++ optional cupsSupport libgcrypt
++ optional pulseSupport pulseaudio
++ optional post24 pciutils;
opensslPatches = optional cfg.openssl openssl.patches;
opensslPatches = optional useOpenSSL openssl.patches;
prePatch = "patchShebangs .";
patches = optional cfg.cups ./cups_allow_deprecated.patch
++ optional cfg.pulseaudio ./pulseaudio_array_bounds.patch
patches = optional cupsSupport ./cups_allow_deprecated.patch
++ optional pulseSupport ./pulseaudio_array_bounds.patch
++ maybeFixPulseAudioBuild;
postPatch = optionalString cfg.openssl ''
postPatch = optionalString useOpenSSL ''
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_flags = false;
proprietary_codecs = false;
use_gnome_keyring = cfg.gnomeKeyring;
use_gconf = cfg.gnome;
use_gio = cfg.gnome;
use_pulseaudio = cfg.pulseaudio;
disable_nacl = !cfg.nacl;
use_openssl = cfg.openssl;
selinux = cfg.selinux;
use_cups = cfg.cups;
} // optionalAttrs cfg.proprietaryCodecs {
use_gnome_keyring = gnomeKeyringSupport;
use_gconf = gnomeSupport;
use_gio = gnomeSupport;
use_pulseaudio = pulseSupport;
disable_nacl = !enableNaCl;
use_openssl = useOpenSSL;
selinux = enableSELinux;
use_cups = cupsSupport;
} // optionalAttrs proprietaryCodecs {
# enable support for the H.264 codec
proprietary_codecs = true;
ffmpeg_branding = "Chrome";

View File

@ -6,13 +6,13 @@
sha256 = "1i7ga1qhnjvnw2gynmpmsvvl5pxcb5z9sgldp87d9yalim5sra6s";
};
beta = {
version = "24.0.1312.14";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-24.0.1312.14.tar.bz2";
sha256 = "03w8cg4kqmpj82976ax9x6y275y9gcri4vc11cvfjp6r1issxzk8";
version = "24.0.1312.35";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-24.0.1312.35.tar.bz2";
sha256 = "0mb6xz5lrnzjk1zqr83jyprsxv20svy3a7lyxv9iwdb2bh1i13ci";
};
stable = {
version = "23.0.1271.64";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-23.0.1271.64.tar.bz2";
sha256 = "1rzz08sgw07nkmvhhgyrkrcxj3z24lxbx0di6ky6jz3lshibp578";
version = "23.0.1271.97";
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-23.0.1271.97.tar.bz2";
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 {
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 {
@ -27,7 +27,7 @@ rec {
# 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 = "4f5f175c1662d67f70e78403607d8eda600efd8b";
sha1 = "15c09796a388f0a78996427b7bc2c80f4e0496f3";
};
commonConfigureFlags =

View File

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

View File

@ -1,6 +1,6 @@
args: with args;
stdenv.mkDerivation {
name = "libnsbmp-0.0.1";
name = "libnsgif-0.0.1";
src = fetchurl {
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";
buildInputs = [];
meta = {
meta = {
description = "Libnsbmp is a decoding library for gif image file formats"; # used by netsurf
homepage = http://www.netsurf-browser.org/projects/libnsgif/;
license = "MIT";

View File

@ -13,18 +13,18 @@ let
in
stdenv.mkDerivation rec {
name = "opera-12.11-1661";
name = "opera-12.12-1707";
src =
if stdenv.system == "i686-linux" then
fetchurl {
url = "${mirror}/linux/1211/${name}.i386.linux.tar.xz";
sha256 = "0ax2kcnl0hb7fz56c9gcjia3dnwabxl2mq2hvszmbky4i399jlkk";
url = "${mirror}/linux/1212/${name}.i386.linux.tar.xz";
sha256 = "1jkrhxjxa5kz4bhyma0zlnsszdn84sq4pks3x8bfcayn12m6yxkz";
}
else if stdenv.system == "x86_64-linux" then
fetchurl {
url = "${mirror}/linux/1211/${name}.x86_64.linux.tar.xz";
sha256 = "1pnad4kdasrmm27kg6frldipyzcfy1y610rasbqic9frzb9q8dbp";
url = "${mirror}/linux/1212/${name}.x86_64.linux.tar.xz";
sha256 = "0acizxgyqblcvl91dwmvi937fi1kw6whz5qgxyl1fkygbayji90v";
}
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 = ''
oldRPATH=`patchelf --print-rpath $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 = {

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 {
name = "kadu-0.10.1";
name = "kadu-0.12.2";
src = fetchurl {
url = http://download.kadu.im/stable/kadu-0.10.1.tar.bz2;
sha256 = "0j88pyp2nqpc57j38zr135ypfiv4v329gfgiz9rdbqi8j26cyp7g";
url = http://download.kadu.im/stable/kadu-0.12.2.tar.bz2;
sha256 = "0rqhkiyn8c7jigpxmvwh7daxsgjxlvd16zjdss1azdzd9x2dbym1";
};
buildInputs = [ cmake qt4 libgadu libXScrnSaver libsndfile libX11 alsaLib aspell libidn qca2 phonon pkgconfig
@ -21,8 +21,12 @@ stdenv.mkDerivation {
patchShebangs .
'';
# because I was not able to get those working
patches = [ ./disable_some_plugins.patch ];
# Disable the kadu plugins I wasn't able to get to work
patchPhase = ''
sed -i -e '/mpd_mediaplayer/d' \
-e '/encryption_ng/d' \
-e '/encryption_ng_simlite/d' Plugins.cmake
'';
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";
stdenv.mkDerivation rec {
name = "skype-4.0.0.8";
name = "skype-4.1.0.20";
src = fetchurl {
url = "http://download.skype.com/linux/${name}.tar.bz2";
sha256 = "0gq24rbmjd05ihraarn45rwr79gidnwgllvprzrh5zqx02xll17p";
sha256 = "1qhcxkfmlpblpy9rqimzdl79rm781swbldkzi6nyw56bbp6lf7n3";
};
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
, zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile }:
, zlib, curl , pkgconfig, libgcrypt, ruby, lua5, tcl, guile
, pythonPackages, makeWrapper }:
stdenv.mkDerivation rec {
version = "0.3.9";
version = "0.3.9.2";
name = "weechat-${version}";
src = fetchurl {
url = "http://weechat.org/files/src/${name}.tar.gz";
sha256 = "8666c788cbb212036197365df3ba3cf964a23e4f644d76ea51d66dbe3be593bb";
sha256 = "114cffqwnrqx8r4dslz7sc4i4ky4akzh863rnzaw3dnn9ky9r503";
};
buildInputs =
[ 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 = {
homepage = http://http://www.weechat.org/;
description = "A fast, light and extensible chat client";

View File

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

View File

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

View File

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

View File

@ -1,53 +1,63 @@
{ stdenv
, fetchgit
, cmake
, openssl
, printerSupport ? true, cups
, pkgconfig
, zlib
, libX11
, libXcursor
, alsaLib
, cmake
, libxkbfile
, libXinerama
, libXdamage
, libXext
, directfb
, cunit
, alsaLib
, ffmpeg
, libxkbfile
#, xmlto, docbook_xml_dtd_412, docbook_xml_xslt
, libXinerama
#, directfb
#, cunit
, libXv
, pulseaudioSupport ? true, pulseaudio
}:
assert printerSupport -> cups != null;
let rev = "498b88a1da748a4a2b4dbd12c795ca87fee24bab"; in
let rev = "ec6effcb1e7759551cf31f5b18d768afc67db97d"; in
stdenv.mkDerivation rec {
name = "freerdp-1.0pre${rev}";
name = "freerdp-1.1pre${rev}";
src = fetchgit {
url = git://github.com/FreeRDP/FreeRDP.git;
inherit rev;
sha256 = "91ef562e96db483ada28236e524326a75b6942becce4fd2a65ace386186eccf7";
sha256 = "4e5af9a6769c4b34c6b75dffe83a385d1d86068c523ea9f62fabc651a2958455";
};
buildInputs = [
cmake
openssl
pkgconfig
zlib
libX11
libXcursor
libxkbfile
libXinerama
libXdamage
libXext
directfb
# directfb
# cunit
alsaLib
cmake
cunit
ffmpeg
libxkbfile
# xmlto docbook_xml_dtd_412 docbook_xml_xslt
libXinerama
libXv
] ++ stdenv.lib.optional printerSupport cups;
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'';
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 = {
description = "A Remote Desktop Protocol Client";

View File

@ -4,12 +4,24 @@
stdenv.mkDerivation {
name = "abiword-2.8.6";
src = fetchurl {
url = http://www.abisource.org/downloads/abiword/2.8.6/source/abiword-2.8.6.tar.gz;
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 =
[ pkgconfig gtk libglade librsvg bzip2 libgnomecanvas fribidi libpng popt
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 }:
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 {
name = "EProver-1.4";
inherit (s) name;
src = fetchurl {
name = "E-1.4.tar.gz";
url = "http://www4.informatik.tu-muenchen.de/~schulz/WORK/E_DOWNLOAD/V_1.4/E.tgz";
sha256 = "1hxkr21xqkkh4bzqip6qf70w9xvvb8p20zzkvyin631ffgvyvr93";
name = "E-${s.version}.tar.gz";
inherit (s) url sha256;
};
buildInputs = [which texLive];
@ -27,6 +36,7 @@ stdenv.mkDerivation {
'';
meta = {
inherit (s) version;
description = "E automated theorem prover";
maintainers = [stdenv.lib.maintainers.raskin];
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
stdenv.mkDerivation {
name = "hol_light-20120529";
name = "hol_light-20121213";
src = fetchsvn {
url = http://hol-light.googlecode.com/svn/trunk;
rev = "141";
sha256 = "a11d7e5db7c6035a2debcf9e73f43c6322389aeac5bc4d123ebf58918052a57f";
rev = "153";
sha256 = "1n4da5k3jya8mf7dgif8cl5sr2dqf6vl21fw1fcdna215v2x1rc0";
};
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 {
version="2.3-src";
name="golly-2.3-src";
hash="12r1lrrn4c1kafzvz5mmfq3750smqv5dwl1xpj3753h0rl9a9gx1";
url="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.3/golly-2.3-src.tar.gz";
version="2.4-src";
name="golly-2.4-src";
hash="06vajm019q4q4wfy6pc1669fbjqdb4jaxcc419bk0vzky40anl9w";
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.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;
};
hub = import ./hub {
inherit (rubyLibs) rake;
inherit stdenv fetchgit groff makeWrapper;
};
gitFastExport = import ./fast-export {
inherit fetchgit stdenv mercurial coreutils git makeWrapper subversion;
};

View File

@ -12,14 +12,14 @@
}:
let
version = "3.20121126";
version = "3.20130102";
in
stdenv.mkDerivation {
name = "git-annex-${version}";
src = fetchurl {
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";
};

View File

@ -9,7 +9,7 @@
let
version = "1.8.0.1";
version = "1.8.1";
svn = subversionClient.override { perlBindings = true; };
@ -20,7 +20,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://git-core.googlecode.com/files/git-${version}.tar.gz";
sha1 = "4e7492f7558f3ba2a450c43efa7de3b0b1adc6c1";
sha1 = "wfj2pbqf9l56014dm330wb13qgcwx3dc";
};
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 ];
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)";
postInstall = (stdenv.lib.optionalString guiSupport
@ -47,8 +45,6 @@ stdenv.mkDerivation {
chmod u+x $out/share/cgi-bin/hgweb.cgi
'';
doCheck = false; # The test suite fails, unfortunately. Not sure why.
meta = {
description = "A fast, lightweight SCM system for very large distributed projects";
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 {
version="2.0.0.10822";
name="veracity-2.0.0.10822";
hash="0zgvrsjxfd1p9pflx1kxggmk953jhjk02h1hili9h1vdasvn2188";
url="http://download.sourcegear.com/Veracity/release/2.0.0.10822/veracity-source-${version}.tar.gz";
advertisedUrl="http://download.sourcegear.com/Veracity/release/2.0.0.10822/veracity-source-2.0.0.10822.tar.gz";
version="2.1.0.10979";
name="veracity-2.1.0.10979";
hash="15x3cwwjv9b0cbjx6insqk190wpnhwcm1z4b570hvw3lix3xnxhl";
url="http://download.sourcegear.com/Veracity/release/2.1.0.10979/veracity-source-${version}.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 {
name = "mkvtoolnix-5.6.0";
name = "mkvtoolnix-5.9.0";
src = fetchurl {
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 ];

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
, javaBindings ? false, jdk ? null
, pythonBindings ? false, python ? null
, enableExtensionPack ? false, requireFile ? null, patchelf ? null
}:
with stdenv.lib;
let
version = "4.2.2";
version = "4.2.4";
extpackRevision = "81684";
forEachModule = action: ''
for mod in \
@ -29,12 +31,20 @@ let
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 {
name = "virtualbox-${version}-${kernel.version}";
src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
sha256 = "943daa13694605d5d0a23ffef27c398b5e72ada669de89bad4b98f000f029700";
sha256 = "a7c607523c1c10b7b978ab39a92bb646517316548aa4a1a74b6e434ac2bf0adc";
};
buildInputs =
@ -108,6 +118,15 @@ in stdenv.mkDerivation {
ln -s "$libexec/$file" $out/bin/$file
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
mkdir -p $out/share/applications
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
, 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 {
name = "VirtualBox-GuestAdditions-${version}";
name = "VirtualBox-GuestAdditions-${version}-${kernel.version}";
src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
sha256 = "26f5390b36a3bb9855846d194dcd287b8e53613b599c6ffd7aff1b451cc7f1f1";
sha256 = "3d7d909a0fe9ac5ffcca6afdd4142b88bad116d2ffed6e95588dbfbcf00ca5e9";
};
KERN_DIR = "${kernel}/lib/modules/*/build";
buildInputs = [ patchelf cdrkit makeWrapper ];
buildInputs = [ patchelf cdrkit makeWrapper dbus ];
installPhase = ''
mkdir -p $out
@ -56,7 +57,7 @@ stdenv.mkDerivation {
cd ..
# 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
${if stdenv.system == "i686-linux" then ''
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")
}
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
# 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
do
patchelf --set-rpath $out/lib $i
patchelf --set-rpath $out/lib:${dbus}/lib $i
done
# Remove references to /usr from various scripts and files
@ -82,6 +81,7 @@ stdenv.mkDerivation {
# Install binaries
mkdir -p $out/sbin
install -m 4755 lib/VBoxGuestAdditions/mount.vboxsf $out/sbin/mount.vboxsf
install -m 755 sbin/VBoxService $out/sbin
mkdir -p $out/bin

View File

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

View File

@ -1,14 +1,14 @@
{ stdenv, fetchurl, x11, lua, gettext, groff }:
stdenv.mkDerivation {
name = "ion-3rc-20070902";
name = "ion-3-20090110";
meta = {
description = "Ion is a tiling tabbed window manager designed with keyboard users in mind.";
homepage = http://modeemi.fi/~tuomov/ion;
};
src = fetchurl {
url = http://iki.fi/tuomov/dl/ion-3rc-20070902.tar.gz;
sha256 = "062a0rgxzz4h1hih5lp7l2nfvhz095brag9fmnanzqc4dac228xl";
url = http://tuomov.iki.fi/software/dl/ion-3-20090110.tar.gz;
sha256 = "1nkks5a95986nyfkxvg2rik6zmwx0lh7szd5fji7yizccwzc9xns";
};
buildInputs = [ x11 lua gettext groff ];
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: {
pname = "xmonad";
version = "0.10";
sha256 = "19z5y36pybsm93x6hlj5hzyys9r4ag7hkdib5spsnryk2mv72xj6";
version = "0.11";
sha256 = "1nsv88y2b206n3s5hrsp5ginvz1bj818ns7jmikavb2g33akdgg5";
isLibrary = true;
isExecutable = true;
buildDepends = [ extensibleExceptions mtl utf8String X11 ];
buildDepends = [
extensibleExceptions filepath mtl utf8String X11
];
meta = {
homepage = "http://xmonad.org";
description = "A tiling window manager";
license = self.stdenv.lib.licenses.bsd3;
platforms = self.ghc.meta.platforms;
maintainers = [
self.stdenv.lib.maintainers.andres
];
maintainers = [ self.stdenv.lib.maintainers.andres ];
};
preConfigure = ''
substituteInPlace XMonad/Core.hs --replace \
'"xmessage"' '"${xmessage}/bin/xmessage"'
'';
})

View File

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

View File

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

View File

@ -44,7 +44,9 @@
# the default download location for Cabal packages is Hackage,
# you still have to specify the checksum
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;
};

View File

@ -248,8 +248,6 @@ rec {
];
postgresql = [
http://ftp2.nl.postgresql.org/
ftp://ftp.nl.postgresql.org/pub/mirror/postgresql/
ftp://ftp.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 '[?].*' ''
}
SF_version_dir () {
version_link 'http://sourceforge.net/.+/[0-9.]+/$'
}

View File

@ -82,20 +82,32 @@ version () {
}
ensure_version () {
echo "Ensuring version. CURRENT_VERSION: $CURRENT_VERSION" >&2
[ -z "$CURRENT_VERSION" ] && version '.*-([0-9.]+)[-._].*' '\1'
}
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 () {
echo "Ensuring name. CURRENT_NAME: $CURRENT_NAME" >&2
[ -z "$CURRENT_NAME" ] && name "$(basename "$CONFIG_DIR")"
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 () {
[ -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[.]([^./])+$'
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 () {
CURRENT_HASH="$(nix-prefetch-url "$CURRENT_URL")"
echo "CURRENT_HASH: $CURRENT_HASH" >&2
}
name () {
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 () {
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 () {
@ -128,8 +152,7 @@ full_path () {
target () {
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"
}
@ -146,7 +169,7 @@ do_write_expression () {
echo "${1}rec {"
echo "${1} baseName=\"$CURRENT_NAME\";"
echo "${1} version=\"$CURRENT_VERSION\";"
echo "${1} name=\"$CURRENT_NAME-$CURRENT_VERSION\";"
echo "${1} name=\"\${baseName}-\${version}\";"
echo "${1} hash=\"$CURRENT_HASH\";"
echo "${1} url=\"$CURRENT_URL\";"
echo "${1} sha256=\"$CURRENT_HASH\";"
@ -166,6 +189,12 @@ replace_once () {
replacement="$3"
instance="${4:-1}"
echo "Replacing once:"
echo "file: [[$file]]"
echo "regexp: [[$regexp]]"
echo "replacement: [[$replacement]]"
echo "instance: [[$instance]]"
position="$(line_position "$file" "$regexp" "$instance")"
sed -re "${position}s $regexp $replacement " -i "$file"
}
@ -180,7 +209,7 @@ set_var_value () {
quote='"'
let "$no_quotes" && quote=""
replace_once "$file" "${var} *= *.*" "${var} = ${quote}${value}${quote};"
replace_once "$file" "${var} *= *.*" "${var} = ${quote}${value}${quote};" "$instance"
}
do_regenerate () {
@ -196,16 +225,18 @@ do_regenerate () {
}
do_overwrite () {
hash
ensure_hash
do_regenerate "$1" > "$1.new.tmp"
mv "$1.new.tmp" "$1"
}
process_config () {
CONFIG_DIR="$(directory_of "$1")"
CONFIG_NAME="$(basename "$1")"
BEGIN_EXPRESSION='# Generated upstream information';
source "$CONFIG_DIR/$(basename "$1")"
source "$CONFIG_DIR/$CONFIG_NAME"
ensure_name
ensure_attribute_name
retrieve_version
ensure_choice
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' | \
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 Dpkg::Cdata;
use Dpkg::Control;
use Dpkg::Deps;
use File::Basename;
@ -7,6 +7,7 @@ my $packagesFile = shift @ARGV;
my $urlPrefix = shift @ARGV;
my @toplevelPkgs = @ARGV;
my %packages;
@ -14,10 +15,10 @@ my %packages;
open PACKAGES, "<$packagesFile" or die;
while (1) {
my $cdata = parsecdata(\*PACKAGES, $packagesFile);
last unless defined $cdata;
#print $cdata->{Package}, "\n";
my $cdata = Dpkg::Control->new(type => CTRL_INFO_PKG);
last if not $cdata->parse(\*PACKAGES, $packagesFile);
die unless defined $cdata->{Package};
#print STDERR $cdata->{Package}, "\n";
$packages{$cdata->{Package}} = $cdata;
}
@ -50,7 +51,7 @@ my %provides;
foreach my $cdata (values %packages) {
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) {
#die "conflicting provide: $name\n" if defined $provides{$name};
#warn "provide by $cdata->{Package} conflicts with package with the same name: $name\n";
@ -83,7 +84,7 @@ sub closePackage {
$donePkgs{$pkgName} = 1;
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};
}
}
@ -92,14 +93,14 @@ sub closePackage {
if (defined $cdata->{Depends}) {
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;
push @depNames, getDeps($deps);
}
if (defined $cdata->{'Pre-Depends'}) {
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;
push @depNames, getDeps($deps);
}

View File

@ -3,7 +3,7 @@
, img ? "bzImage"
, rootModules ?
[ "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.
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/librt.so.* $out/lib
cp -p ${pkgs.stdenv.glibc}/lib/libdl.so.* $out/lib
cp -p ${pkgs.stdenv.glibc}/lib/libm.so.* $out/lib
# Copy some utillinux stuff.
cp ${utillinux}/bin/mount ${utillinux}/bin/umount $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
# Copy BusyBox.
cp -pd ${pkgs.busybox}/bin/* ${pkgs.busybox}/sbin/* $out/bin
# 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/*; do
echo "patching $i..."
patchelf --set-interpreter $out/lib/ld-linux*.so.? --set-rpath $out/lib $i || true
if [ -f "$i" -a ! -L "$i" ]; then
echo "patching $i..."
patchelf --set-interpreter $out/lib/ld-linux*.so.? --set-rpath $out/lib $i || true
fi
done
''; # */
@ -84,8 +68,7 @@ rec {
stage1Init = writeScript "vm-run-stage1" ''
#! ${initrdUtils}/bin/bash -e
echo START
#! ${initrdUtils}/bin/ash -e
export PATH=${initrdUtils}/bin
@ -167,8 +150,7 @@ rec {
mount -o remount,ro dummy /fs
echo DONE
halt -d -p -f
poweroff -f
'';
@ -761,7 +743,7 @@ rec {
debClosureGenerator =
{name, packagesLists, urlPrefix, packages}:
runCommand "${name}.nix" {} ''
runCommand "${name}.nix" { buildInputs = [ perl dpkg ]; } ''
for i in ${toString packagesLists}; do
echo "adding $i..."
bunzip2 < $i >> ./Packages
@ -770,7 +752,7 @@ rec {
# 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
${perl}/bin/perl -I${dpkg} -w ${deb/deb-closure.pl} \
perl -w ${deb/deb-closure.pl} \
./Packages ${urlPrefix} ${toString packages} > $out
'';
@ -1306,6 +1288,40 @@ rec {
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 = {
name = "debian-4.0r9-etch-i386";
fullName = "Debian 4.0r9 Etch (i386)";
@ -1351,22 +1367,22 @@ rec {
};
debian60i386 = {
name = "debian-6.0.4-squeeze-i386";
fullName = "Debian 6.0.4 Squeeze (i386)";
name = "debian-6.0.6-squeeze-i386";
fullName = "Debian 6.0.6 Squeeze (i386)";
packagesList = fetchurl {
url = mirror://debian/dists/squeeze/main/binary-i386/Packages.bz2;
sha256 = "1aih4n1iz4gzzm5cy1j14mpx8i25jj1237994j33k7dm0gnqgr2w";
sha256 = "18c0473jacd877nkky1x21dkmp4992d8qra6wj07sq0yz5gdc9c4";
};
urlPrefix = mirror://debian;
packages = commonDebianPackages;
};
debian60x86_64 = {
name = "debian-6.0.4-squeeze-amd64";
fullName = "Debian 6.0.4 Squeeze (amd64)";
name = "debian-6.0.6-squeeze-amd64";
fullName = "Debian 6.0.6 Squeeze (amd64)";
packagesList = fetchurl {
url = mirror://debian/dists/squeeze/main/binary-amd64/Packages.bz2;
sha256 = "1gb3im7kl8dwd7z82xj4wb5g58r86fjj8cirvq0ssrvcm9bqaiz7";
sha256 = "1n1h3pz6axcaraxq8gfzq0jywlpdrqand1dnd4q79dy6cl788bi2";
};
urlPrefix = mirror://debian;
packages = commonDebianPackages;

View File

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