From e7a94d6fefb86f39c000f747974c0d093f8eac6e Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 17 Jan 2009 13:08:51 +0000 Subject: * Ghostscript: build the CUPS filter. This allows CUPS to print to non-Postscript printers. svn path=/nixpkgs/trunk/; revision=13793 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'pkgs/top-level') diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 738d4e42364d..7a320aac3ed5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8672,8 +8672,10 @@ let }; ghostscript = import ../misc/ghostscript { - inherit fetchurl stdenv libjpeg libpng zlib x11; + inherit fetchurl stdenv libjpeg libpng libtiff zlib x11 pkgconfig + fontconfig cups openssl; x11Support = false; + cupsSupport = true; }; ghostscriptX = lowPrio (appendToName "with-X" (import ../misc/ghostscript { -- cgit 1.4.1 From 4e9b120ad2c2a5c4e65df65dcf8a8de7051550d1 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sat, 17 Jan 2009 13:40:12 +0000 Subject: small fixes to build custom kernel svn path=/nixpkgs/trunk/; revision=13795 --- pkgs/os-specific/linux/kernel/generic.nix | 4 ++++ pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'pkgs/top-level') diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 11bac64ced7c..4db485c2c47c 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -34,6 +34,8 @@ , # A list of additional statements to be appended to the # configuration file. extraConfig ? [] + +, preConfigure ? "" }: assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux"; @@ -55,6 +57,8 @@ stdenv.mkDerivation { builder = ./builder.sh; + inherit preConfigure; + inherit src config; patches = map (p: p.patch) kernelPatches; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7a320aac3ed5..0db0171a001a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6445,7 +6445,7 @@ let kernelPackages = kernelPackages_2_6_25; customKernel = composedArgsAndFun (lib.sumTwoArgs (import ../os-specific/linux/kernel/generic.nix) { - inherit fetchurl stdenv perl mktemp module_init_tools lib; + inherit fetchurl stdenv perl mktemp module_init_tools; }); libselinux = import ../os-specific/linux/libselinux { -- cgit 1.4.1 From b8cbf3b794093bbf445beaa4175b6bd217c3d9d3 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sat, 17 Jan 2009 13:49:42 +0000 Subject: Syncing ghostscriptX to main gs expression svn path=/nixpkgs/trunk/; revision=13797 --- pkgs/top-level/all-packages.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'pkgs/top-level') diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0db0171a001a..1da8ebbaf616 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8679,8 +8679,10 @@ let }; ghostscriptX = lowPrio (appendToName "with-X" (import ../misc/ghostscript { - inherit fetchurl stdenv libjpeg libpng zlib x11; + inherit fetchurl stdenv libjpeg libpng libtiff zlib x11 pkgconfig + fontconfig cups openssl; x11Support = true; + cupsSupport = true; })); gxemul = (import ../misc/gxemul) { -- cgit 1.4.1 From 443bb3960a64f1067aca14e99a40234a40f0f5e2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 17 Jan 2009 21:17:57 +0000 Subject: PulseAudio: Use aDNS and X11 libraries. svn path=/nixpkgs/trunk/; revision=13800 --- pkgs/servers/pulseaudio/default.nix | 7 ++++--- pkgs/top-level/all-packages.nix | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'pkgs/top-level') diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix index 705151d8987c..ec58da3f7fad 100644 --- a/pkgs/servers/pulseaudio/default.nix +++ b/pkgs/servers/pulseaudio/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, gnum4, gdbm, libtool, glib, dbus, hal, avahi -, gconf, liboil, intltool, gettext +, gconf, liboil, libX11, libICE, libSM, adns, intltool, gettext , libsamplerate, libsndfile, speex }: stdenv.mkDerivation rec { @@ -11,13 +11,14 @@ stdenv.mkDerivation rec { }; buildInputs = [ - pkgconfig gnum4 gdbm libtool glib dbus hal avahi gconf liboil + pkgconfig gnum4 gdbm libtool glib dbus hal avahi gconf liboil adns libsamplerate libsndfile speex + libX11 libICE libSM intltool gettext ]; configureFlags = '' - --disable-solaris --disable-jack --disable-bluez --disable-polkit --localstatedir=/var + --disable-solaris --disable-jack --disable-bluez --disable-polkit --with-x --localstatedir=/var ''; meta = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1da8ebbaf616..66a7928c325a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5781,10 +5781,11 @@ let }; pulseaudio = import ../servers/pulseaudio { - inherit fetchurl stdenv pkgconfig gnum4 libtool gdbm + inherit fetchurl stdenv pkgconfig gnum4 libtool gdbm adns dbus hal avahi liboil libsamplerate libsndfile speex intltool gettext; inherit (gtkLibs) glib; + inherit (xlibs) libX11 libICE libSM; gconf = gnome.GConf; }; -- cgit 1.4.1 From 2034ecb0461b201ba2bf99f0c2dbd9c73601acd1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 17 Jan 2009 21:25:26 +0000 Subject: PulseAudio: Remove aDNS since what it really wants is `libasyncns'. svn path=/nixpkgs/trunk/; revision=13801 --- pkgs/servers/pulseaudio/default.nix | 6 +++--- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'pkgs/top-level') diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix index ec58da3f7fad..c23df0c0ab04 100644 --- a/pkgs/servers/pulseaudio/default.nix +++ b/pkgs/servers/pulseaudio/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, gnum4, gdbm, libtool, glib, dbus, hal, avahi -, gconf, liboil, libX11, libICE, libSM, adns, intltool, gettext +, gconf, liboil, libX11, libICE, libSM, intltool, gettext , libsamplerate, libsndfile, speex }: stdenv.mkDerivation rec { @@ -11,14 +11,14 @@ stdenv.mkDerivation rec { }; buildInputs = [ - pkgconfig gnum4 gdbm libtool glib dbus hal avahi gconf liboil adns + pkgconfig gnum4 gdbm libtool glib dbus hal avahi gconf liboil libsamplerate libsndfile speex libX11 libICE libSM intltool gettext ]; configureFlags = '' - --disable-solaris --disable-jack --disable-bluez --disable-polkit --with-x --localstatedir=/var + --disable-solaris --disable-jack --disable-bluez --disable-polkit --with-x --enable-asyncdns --localstatedir=/var ''; meta = { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 66a7928c325a..e50e7af7ee21 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5781,7 +5781,7 @@ let }; pulseaudio = import ../servers/pulseaudio { - inherit fetchurl stdenv pkgconfig gnum4 libtool gdbm adns + inherit fetchurl stdenv pkgconfig gnum4 libtool gdbm dbus hal avahi liboil libsamplerate libsndfile speex intltool gettext; inherit (gtkLibs) glib; -- cgit 1.4.1 From d17d9dfb39197b9ca02d65a6bb55e6046799c632 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 19 Jan 2009 20:21:23 +0000 Subject: ALSA 1.0.19. svn path=/nixpkgs/trunk/; revision=13808 --- pkgs/os-specific/linux/alsa/1.0.19.nix | 14 ++++++++++++++ pkgs/os-specific/linux/alsa/common.nix | 11 ++++++++++- pkgs/top-level/all-packages.nix | 9 ++++++++- 3 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 pkgs/os-specific/linux/alsa/1.0.19.nix (limited to 'pkgs/top-level') diff --git a/pkgs/os-specific/linux/alsa/1.0.19.nix b/pkgs/os-specific/linux/alsa/1.0.19.nix new file mode 100644 index 000000000000..60c848fcaccd --- /dev/null +++ b/pkgs/os-specific/linux/alsa/1.0.19.nix @@ -0,0 +1,14 @@ +args: with args; + +rec { + alsaLib = (import ./common.nix) { + aName = "lib"; + sha256 = "11i898dc6qbachn046gl6dg6g7bl2k8crddl97f3z5i57bcjdvij"; + } args; + + alsaUtils = (import ./common.nix) { + aName = "utils"; + sha256 = "1bcchd5nwgb2hy0z9c6jxbqlzirkh6wvxv6nldjcwmvqmvsj8j8z"; + buildInputs = [alsaLib ncurses gettext]; + } args; +} diff --git a/pkgs/os-specific/linux/alsa/common.nix b/pkgs/os-specific/linux/alsa/common.nix index 218a4b91c8e7..b14d458d7378 100644 --- a/pkgs/os-specific/linux/alsa/common.nix +++ b/pkgs/os-specific/linux/alsa/common.nix @@ -9,5 +9,14 @@ args: with args; stdenv.mkDerivation rec { inherit buildInputs propagatedBuildInputs; - meta = { homepage = http://www.alsa-project.org; }; + meta = { + description = "ALSA, the Advanced Linux Sound Architecture (${aName})"; + + longDescription = '' + The Advanced Linux Sound Architecture (ALSA) provides audio and + MIDI functionality to the Linux-based operating system. + ''; + + homepage = http://www.alsa-project.org/; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e50e7af7ee21..343656730fc9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5921,9 +5921,16 @@ let }; alsaLib = alsa.alsaLib; - alsaUtils = alsa.alsaUtils; + # A newer ALSA. Make it the default during the next `stdenv-updates' merge. + alsa_1_0_19 = import ../os-specific/linux/alsa/1.0.19.nix { + inherit fetchurl stdenv ncurses gettext; + version = "1.0.19"; + }; + alsaLib_1_0_19 = alsa_1_0_19.alsaLib; + alsaUtils_1_0_19 = alsa_1_0_19.alsaUtils; + blcr = builderDefsPackage (selectVersion ../os-specific/linux/blcr "0.6.5"){ inherit perl; }; -- cgit 1.4.1 From 5bc0b549f0b1b25b187734dac959d07c770b267e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 19 Jan 2009 20:22:54 +0000 Subject: PulseAudio: Use new ALSA, disable ConsoleKit. svn path=/nixpkgs/trunk/; revision=13809 --- pkgs/servers/pulseaudio/default.nix | 11 +++++++++-- pkgs/top-level/all-packages.nix | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'pkgs/top-level') diff --git a/pkgs/servers/pulseaudio/default.nix b/pkgs/servers/pulseaudio/default.nix index c23df0c0ab04..1e2ffd31d944 100644 --- a/pkgs/servers/pulseaudio/default.nix +++ b/pkgs/servers/pulseaudio/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, gnum4, gdbm, libtool, glib, dbus, hal, avahi -, gconf, liboil, libX11, libICE, libSM, intltool, gettext +, gconf, liboil, libX11, libICE, libSM, intltool, gettext, alsaLib , libsamplerate, libsndfile, speex }: stdenv.mkDerivation rec { @@ -12,11 +12,18 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig gnum4 gdbm libtool glib dbus hal avahi gconf liboil - libsamplerate libsndfile speex + libsamplerate libsndfile speex alsaLib libX11 libICE libSM intltool gettext ]; + preConfigure = '' + # Disable the ConsoleKit module since we don't currently have that + # on NixOS. + sed -i "src/daemon/default.pa.in" \ + -e 's/^\( *load-module \+module-console-kit\)/# \1/g' + ''; + configureFlags = '' --disable-solaris --disable-jack --disable-bluez --disable-polkit --with-x --enable-asyncdns --localstatedir=/var ''; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 343656730fc9..edb9c2ba8e03 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5787,6 +5787,7 @@ let inherit (gtkLibs) glib; inherit (xlibs) libX11 libICE libSM; gconf = gnome.GConf; + alsaLib = alsa_1_0_19.alsaLib; # Needs ALSA >= 1.0.17. }; tomcat_connectors = import ../servers/http/apache-modules/tomcat-connectors { -- cgit 1.4.1 From 269f914ab7d98a1f9cfa6892323a2e6440799fca Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 20 Jan 2009 09:50:15 +0000 Subject: Add `libcanberra'. svn path=/nixpkgs/trunk/; revision=13814 --- pkgs/development/libraries/libcanberra/default.nix | 29 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 6 +++++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/development/libraries/libcanberra/default.nix (limited to 'pkgs/top-level') diff --git a/pkgs/development/libraries/libcanberra/default.nix b/pkgs/development/libraries/libcanberra/default.nix new file mode 100644 index 000000000000..abe062af5366 --- /dev/null +++ b/pkgs/development/libraries/libcanberra/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, pkgconfig, libtool, gtk +, alsaLib, pulseaudio, gstreamer, libvorbis }: + +stdenv.mkDerivation rec { + name = "libcanberra-0.10"; + + src = fetchurl { + url = "http://0pointer.de/lennart/projects/libcanberra/${name}.tar.gz"; + sha256 = "0wl2hd8zqwzbbp4icng6siim85jb6hvczy9c6m92lh85wrcwpqxh"; + }; + + buildInputs = [ pkgconfig libtool gtk alsaLib pulseaudio gstreamer libvorbis ]; + + meta = { + description = "libcanberra, an implementation of the XDG Sound Theme and Name Specifications"; + + longDescription = '' + libcanberra is an implementation of the XDG Sound Theme and Name + Specifications, for generating event sounds on free desktops + such as GNOME. It comes with several backends (ALSA, + PulseAudio, OSS, GStreamer, null) and is designed to be + portable. + ''; + + homepage = http://0pointer.de/lennart/projects/libcanberra/; + + license = "LGPLv2+"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index edb9c2ba8e03..05326730d7c7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3205,6 +3205,12 @@ let inherit fetchurl stdenv ncurses; }; + libcanberra = import ../development/libraries/libcanberra { + inherit fetchurl stdenv pkgconfig libtool alsaLib pulseaudio libvorbis; + inherit (gtkLibs) gtk; + gstreamer = gst_all.gstreamer; + }; + libcdaudio = import ../development/libraries/libcdaudio { inherit fetchurl stdenv; }; -- cgit 1.4.1 From 0ad62a0edb185c4fea6fad6c489d8a4e4479a183 Mon Sep 17 00:00:00 2001 From: Marc Weber Date: Tue, 20 Jan 2009 22:15:42 +0000 Subject: adding gitAttr now containing qgit, stgit, topGit, hg2git updating gitGit (git dev version), adding qgit-git (dev version) svn path=/nixpkgs/trunk/; revision=13816 --- .../version-management/git-and-tools/default.nix | 71 +++ .../git-and-tools/git/default.nix | 98 ++++ .../git-and-tools/git/docbook2texi-2.patch | 28 ++ .../git-and-tools/git/docbook2texi.patch | 37 ++ .../git-and-tools/git/git-git.nix | 100 ++++ .../git-and-tools/git/glob-path.patch | 529 +++++++++++++++++++++ .../git-and-tools/hg2git/default.nix | 26 + .../git-and-tools/qgit/default.nix | 18 + .../git-and-tools/qgit/qgit-git.nix | 17 + .../git-and-tools/stgit/default.nix | 25 + .../version-management/git/default.nix | 98 ---- .../version-management/git/docbook2texi.patch | 37 -- .../version-management/git/git-git.nix | 95 ---- .../version-management/git/glob-path.patch | 529 --------------------- .../version-management/qgit/default.nix | 18 - .../version-management/stgit/default.nix | 25 - pkgs/misc/bleeding-edge-fetch-infos.nix | 20 +- pkgs/tools/misc/hg2git/default.nix | 26 - pkgs/top-level/all-packages.nix | 39 +- 19 files changed, 967 insertions(+), 869 deletions(-) create mode 100644 pkgs/applications/version-management/git-and-tools/default.nix create mode 100644 pkgs/applications/version-management/git-and-tools/git/default.nix create mode 100644 pkgs/applications/version-management/git-and-tools/git/docbook2texi-2.patch create mode 100644 pkgs/applications/version-management/git-and-tools/git/docbook2texi.patch create mode 100644 pkgs/applications/version-management/git-and-tools/git/git-git.nix create mode 100644 pkgs/applications/version-management/git-and-tools/git/glob-path.patch create mode 100644 pkgs/applications/version-management/git-and-tools/hg2git/default.nix create mode 100644 pkgs/applications/version-management/git-and-tools/qgit/default.nix create mode 100644 pkgs/applications/version-management/git-and-tools/qgit/qgit-git.nix create mode 100644 pkgs/applications/version-management/git-and-tools/stgit/default.nix delete mode 100644 pkgs/applications/version-management/git/default.nix delete mode 100644 pkgs/applications/version-management/git/docbook2texi.patch delete mode 100644 pkgs/applications/version-management/git/git-git.nix delete mode 100644 pkgs/applications/version-management/git/glob-path.patch delete mode 100644 pkgs/applications/version-management/qgit/default.nix delete mode 100644 pkgs/applications/version-management/stgit/default.nix delete mode 100644 pkgs/tools/misc/hg2git/default.nix (limited to 'pkgs/top-level') diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix new file mode 100644 index 000000000000..9506e7a5f0ef --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/default.nix @@ -0,0 +1,71 @@ +/* moving all git tools into one attribute set because git is unlikely to be + * referenced by other packages and you can get a fast overview. +*/ +args: with args; with pkgs; +let + inherit (pkgs) stdenv fetchurl getConfig; + inherit (pkgs.bleedingEdgeRepos) sourceByName; +in +rec { + + git = import ./git { + inherit fetchurl stdenv curl openssl zlib expat perl gettext + asciidoc texinfo xmlto docbook2x + docbook_xsl docbook_xml_dtd_42 libxslt + cpio tcl tk makeWrapper subversion; + svnSupport = getConfig ["git" "svnSupport"] false; # for git-svn support + guiSupport = getConfig ["git" "guiSupport"] false; + perlLibs = [perlLWP perlURI perlTermReadKey subversion]; + }; + + gitGit = import ./git/git-git.nix { + inherit fetchurl stdenv curl openssl zlib expat perl gettext + asciidoc texinfo xmlto docbook2x + docbook_xsl docbook_xml_dtd_42 libxslt + cpio tcl tk makeWrapper subversion autoconf; + inherit (bleedingEdgeRepos) sourceByName; + svnSupport = getConfig ["git" "svnSupport"] false; # for git-svn support + guiSupport = getConfig ["git" "guiSupport"] false; + perlLibs = [perlLWP perlURI perlTermReadKey subversion]; + }; + + qgit = import ./qgit { + inherit fetchurl stdenv; + inherit (xlibs) libXext libX11; + qt = qt3; + }; + + qgitGit = import ./qgit/qgit-git.nix { + inherit fetchurl stdenv; + inherit (xlibs) libXext libX11; + inherit (bleedingEdgeRepos) sourceByName; + qt = qt4; + }; + + + stgit = import ./stgit { + inherit fetchurl stdenv python git; + }; + + topGit = stdenv.mkDerivation { + name = "TopGit-git-patched"; + src = sourceByName "topGit"; # destination directory is patched + installPhase = '' + mkdir -p $out/etc/bash_completion.d + make install + mv contrib/tg-completion.bash $out/etc/bash_completion.d + ''; + dontPatchELF = 1; + meta = { + description = "TopGit aims to make handling of large amount of interdependent topic branches easier"; + homepage = http://repo.or.cz/w/topgit.git; # maybe there is also another one, I haven't checked + license = "GPLv2"; + }; + }; + + hg2git = import ./hg2git { + inherit fetchurl stdenv mercurial coreutils git makeWrapper; + inherit (bleedingEdgeRepos) sourceByName; + }; + +} diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix new file mode 100644 index 000000000000..7824eaf69735 --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/git/default.nix @@ -0,0 +1,98 @@ +{ fetchurl, stdenv, curl, openssl, zlib, expat, perl, gettext, cpio +, asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_42 +, libxslt, tcl, tk, makeWrapper +, svnSupport, subversion, perlLibs +, guiSupport +}: + +# `git-svn' support requires Subversion and various Perl libraries. +assert svnSupport -> (subversion != null && perlLibs != [] && subversion.perlBindings); + + +stdenv.mkDerivation rec { + name = "git-1.6.0.4"; + + src = fetchurl { + url = "mirror://kernel/software/scm/git/${name}.tar.bz2"; + sha256 = "0q5jnix65zn58dhd9xc3sjpamli0lh1bnsz1b9riwwicgwssrk7q"; + }; + + patches = [ ./docbook2texi.patch ]; + + buildInputs = [curl openssl zlib expat gettext cpio makeWrapper] + ++ # documentation tools + [ asciidoc texinfo xmlto docbook2x + docbook_xsl docbook_xml_dtd_42 libxslt ] + ++ stdenv.lib.optionals guiSupport [tcl tk]; + + makeFlags = "prefix=\${out} PERL_PATH=${perl}/bin/perl SHELL_PATH=${stdenv.shell}"; + + # FIXME: "make check" requires Sparse; the Makefile must be tweaked + # so that `SPARSE_FLAGS' corresponds to the current architecture... + #doCheck = true; + + postInstall = + '' + notSupported(){ + echo -e "#\!/bin/sh\necho '`basename $1` not supported, $2'\nexit 1" > "$1" + chmod +x $1 + } + + # Install Emacs mode. + echo "installing Emacs mode..." + ensureDir $out/share/emacs/site-lisp + cp -p contrib/emacs/*.el $out/share/emacs/site-lisp + '' # */ + + + (if svnSupport then + + ''# wrap git-svn + gitperllib=$out/lib/site_perl + for i in ${builtins.toString perlLibs}; do + gitperllib=$gitperllib:$i/lib/site_perl + done + wrapProgram "$out/libexec/git-core/git-svn" \ + --set GITPERLLIB "$gitperllib" \ + --prefix PATH : "${subversion}/bin" '' + else '' # replace git-svn by notification script + notSupported $out/bin/git-svn "reinstall with config git = { svnSupport = true } set" + '') + + + ''# Install man pages and Info manual + make PERL_PATH="${perl}/bin/perl" cmd-list.made install install-info \ + -C Documentation '' + + + (if guiSupport then '' + # Wrap Tcl/Tk programs + for prog in bin/gitk libexec/git-core/git-gui + do + wrapProgram "$out/$prog" \ + --set TK_LIBRARY "${tk}/lib/tk8.4" \ + --prefix PATH : "${tk}/bin" + done + '' else '' + # Don't wrap Tcl/Tk, replace them by notification scripts + for prog in bin/gitk libexec/git-core/git-gui + do + notSupported "$out/$prog" \ + "reinstall with config git = { guiSupport = true; } set" + done + '') + + + ''# install bash completion script + d="$out/etc/bash_completion.d" + ensureDir $d; cp contrib/completion/git-completion.bash "$d" + ''; + + meta = { + license = "GPLv2"; + homepage = http://git.or.cz; + description = "Git, a popular distributed version control system"; + + longDescription = '' + Git, a popular distributed version control system designed to + handle very large projects with speed and efficiency. + ''; + + }; +} diff --git a/pkgs/applications/version-management/git-and-tools/git/docbook2texi-2.patch b/pkgs/applications/version-management/git-and-tools/git/docbook2texi-2.patch new file mode 100644 index 000000000000..25a76ea3dd23 --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/git/docbook2texi-2.patch @@ -0,0 +1,28 @@ + +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 diff --git a/pkgs/applications/version-management/git-and-tools/git/docbook2texi.patch b/pkgs/applications/version-management/git-and-tools/git/docbook2texi.patch new file mode 100644 index 000000000000..b2a6fbcaec5f --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/git/docbook2texi.patch @@ -0,0 +1,37 @@ +This patch does two things: (1) use the right name for `docbook2texi', +and (2) 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 +@@ -48,7 +48,7 @@ DOC_REF = origin/man + infodir?=$(prefix)/share/info + MAKEINFO=makeinfo + INSTALL_INFO=install-info +-DOCBOOK2X_TEXI=docbook2x-texi ++DOCBOOK2X_TEXI=docbook2texi + ifndef PERL_PATH + PERL_PATH = /usr/bin/perl + endif +@@ -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 diff --git a/pkgs/applications/version-management/git-and-tools/git/git-git.nix b/pkgs/applications/version-management/git-and-tools/git/git-git.nix new file mode 100644 index 000000000000..a711f399a82f --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/git/git-git.nix @@ -0,0 +1,100 @@ +{ fetchurl, stdenv, curl, openssl, zlib, expat, perl, gettext, cpio +, asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_42 +, libxslt, tcl, tk, makeWrapper +, svnSupport, subversion, perlLibs +, guiSupport +, sourceByName +, autoconf +}: + +# `git-svn' support requires Subversion and various Perl libraries. +# FIXME: We should make sure Subversion comes with its Perl bindings. +assert svnSupport -> (subversion != null && perlLibs != [] && subversion.perlBindings); + +assert svnSupport -> subversion.perlBindings; + +stdenv.mkDerivation rec { + # the glob patch adds the filter [touching paths (glob)] to gitk + # contact marco-oweber@gmx.de if you want to know more details + name = "git-git-with-glob-patch"; + + src = sourceByName "git"; + + patchePhase = '' + patch -p1 < ${./docbook2texi-2.patch} + sed -i 's/docbook2x-texi/docbook2texi/gc' Documentation/Makefile + ''; + # maybe this introduces unneccessary dependencies ? + patchPhase = " + unset patchPhase; patchPhase; + sed -i 's=/usr/bin/perl=$perl/bin/perl=g' `find -type f` + sed -i 's=/bin/pwd=pwd=g' `find -type f` + "; + + inherit perl; + buildInputs = [curl openssl zlib expat gettext cpio makeWrapper autoconf] + ++ # documentation tools + [ asciidoc texinfo xmlto docbook2x + docbook_xsl docbook_xml_dtd_42 libxslt ] + ++ stdenv.lib.optionals guiSupport [tcl tk]; + + preConfigure = "autoconf"; + makeFlags = "install install-doc prefix=\${out} PERL_PATH=${perl}/bin/perl SHELL_PATH=${stdenv.shell}"; + + postInstall = + '' + # Install Emacs mode. + echo "installing Emacs mode..." + ensureDir $out/share/emacs/site-lisp + cp -p contrib/emacs/*.el $out/share/emacs/site-lisp + + wrapArgs= + '' # */ + + + (if svnSupport then + + ''# wrap git-svn + gitperllib=$out/lib/site_perl + for i in ${builtins.toString perlLibs}; do + gitperllib=$gitperllib:$i/lib/site_perl + done +#cp git-svn "$out/bin" + wrapArgs="$wrapArgs --set GITPERLLIB $gitperllib" + wrapArgs="$wrapArgs --prefix PATH : ${subversion}/bin" + '' else "") + + + ''# Install man pages and Info manual + make PERL_PATH="${perl}/bin/perl" cmd-list.made install install-info \ + -C Documentation '' + + + (if guiSupport then '' + # Wrap Tcl/Tk programs + wrapArgs="$wrapArgs --set TK_LIBRARY ${tk}/lib/tk8.4" + wrapArgs="$wrapArgs --prefix PATH : ${tk}/bin" + '' else "") + + + ''# Wrap `git-clone' + wrapArgs="$wrapArgs --prefix PATH : ${cpio}/bin" + + for b in $out/bin/{git,gitk}; do + [ -f "$b" ] && eval "wrapProgram $b $wrapArgs" + done + '' + + + ''# install bash completion script + d="$out/etc/bash_completion.d" + ensureDir $d; cp contrib/completion/git-completion.bash "$d" + ''; + + meta = { + license = "GPLv2"; + homepage = http://git.or.cz; + description = "Git, a popular distributed version control system"; + + longDescription = '' + Git, a popular distributed version control system designed to + handle very large projects with speed and efficiency. + ''; + + }; +} diff --git a/pkgs/applications/version-management/git-and-tools/git/glob-path.patch b/pkgs/applications/version-management/git-and-tools/git/glob-path.patch new file mode 100644 index 000000000000..7515ade57875 --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/git/glob-path.patch @@ -0,0 +1,529 @@ +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; diff --git a/pkgs/applications/version-management/git-and-tools/hg2git/default.nix b/pkgs/applications/version-management/git-and-tools/hg2git/default.nix new file mode 100644 index 000000000000..291391b67191 --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/hg2git/default.nix @@ -0,0 +1,26 @@ +args: with args; +stdenv.mkDerivation { + name = "hg2git"; + + src = sourceByName "hg2git"; + + buildInputs =([mercurial.python mercurial makeWrapper]); + + installPhase = '' + ensureDir $out/bin; + cp hg2git.sh hg2git.py $out/bin + cat >> $out/bin/hg2git-doc << EOF + #!${coreutils}/bin/cat + $(cat hg2git.txt) + EOF + chmod +x $out/bin/hg2git-doc + wrapProgram $out/bin/hg2git.sh \ + --set PYTHONPATH "$(echo ${mercurial}/lib/python*/site-packages)" + ''; + + meta = { + description = "mercurial to git one way conversion"; + homepage = "http://git.grml.org/?p=hg-to-git.git;a=summary"; + license = "?"; # the .py file is GPLv2 + }; +} diff --git a/pkgs/applications/version-management/git-and-tools/qgit/default.nix b/pkgs/applications/version-management/git-and-tools/qgit/default.nix new file mode 100644 index 000000000000..e84f447f505f --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/qgit/default.nix @@ -0,0 +1,18 @@ +{stdenv, fetchurl, qt, libXext, libX11}: + +stdenv.mkDerivation rec { + name = "qgit-1.5.8"; + meta = + { + license = "GPLv2"; + homepage = "http://digilander.libero.it/mcostalba/"; + description = "Graphical front-end to Git"; + }; + src = fetchurl + { + url = "mirror://sourceforge/qgit/${name}.tar.bz2"; + sha256 = "0qmgd1cjny5aciljpvn2bczgdvlpgd2f7wzafda24zj4mzqnppsq"; + }; + buildInputs = [qt libXext libX11]; + configureFlags = "CXXFLAGS=-O3"; +} diff --git a/pkgs/applications/version-management/git-and-tools/qgit/qgit-git.nix b/pkgs/applications/version-management/git-and-tools/qgit/qgit-git.nix new file mode 100644 index 000000000000..b794b34052cb --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/qgit/qgit-git.nix @@ -0,0 +1,17 @@ +{stdenv, fetchurl, qt, libXext, libX11, sourceByName}: + +stdenv.mkDerivation rec { + name = "qgit-git"; + meta = + { + license = "GPLv2"; + homepage = "http://digilander.libero.it/mcostalba/"; + description = "Graphical front-end to Git"; + }; + src = sourceByName "qgit"; + buildInputs = [qt libXext libX11]; + buildPhase = '' + qmake PREFIX=$out + make + ''; +} diff --git a/pkgs/applications/version-management/git-and-tools/stgit/default.nix b/pkgs/applications/version-management/git-and-tools/stgit/default.nix new file mode 100644 index 000000000000..f31e6ec16b03 --- /dev/null +++ b/pkgs/applications/version-management/git-and-tools/stgit/default.nix @@ -0,0 +1,25 @@ +args: +args.stdenv.mkDerivation { + name = "stgit-0.14.3"; + + src = args.fetchurl { + url = http://homepage.ntlworld.com/cmarinas/stgit/stgit-0.14.3.tar.gz; + sha256 = "13gcvz6x91m2860n26xp12j0xsshzvwij03sfzm5g3ckm18ffkw7"; + }; + + buildInputs =(with args; [python git]); + + buildPhase = "true"; + + installPhase = '' + python ./setup.py install --prefix=$out + d="$out/etc/bash_completion.d" + ensureDir $d; ln -s "$out/share/stgit/contrib/stgit-completion.bash" "$d" + ''; + + meta = { + description = "quilt for git (stacking patches)"; + homepage = http://procode.org/stgit/; + license = "GPL"; + }; +} diff --git a/pkgs/applications/version-management/git/default.nix b/pkgs/applications/version-management/git/default.nix deleted file mode 100644 index 7824eaf69735..000000000000 --- a/pkgs/applications/version-management/git/default.nix +++ /dev/null @@ -1,98 +0,0 @@ -{ fetchurl, stdenv, curl, openssl, zlib, expat, perl, gettext, cpio -, asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_42 -, libxslt, tcl, tk, makeWrapper -, svnSupport, subversion, perlLibs -, guiSupport -}: - -# `git-svn' support requires Subversion and various Perl libraries. -assert svnSupport -> (subversion != null && perlLibs != [] && subversion.perlBindings); - - -stdenv.mkDerivation rec { - name = "git-1.6.0.4"; - - src = fetchurl { - url = "mirror://kernel/software/scm/git/${name}.tar.bz2"; - sha256 = "0q5jnix65zn58dhd9xc3sjpamli0lh1bnsz1b9riwwicgwssrk7q"; - }; - - patches = [ ./docbook2texi.patch ]; - - buildInputs = [curl openssl zlib expat gettext cpio makeWrapper] - ++ # documentation tools - [ asciidoc texinfo xmlto docbook2x - docbook_xsl docbook_xml_dtd_42 libxslt ] - ++ stdenv.lib.optionals guiSupport [tcl tk]; - - makeFlags = "prefix=\${out} PERL_PATH=${perl}/bin/perl SHELL_PATH=${stdenv.shell}"; - - # FIXME: "make check" requires Sparse; the Makefile must be tweaked - # so that `SPARSE_FLAGS' corresponds to the current architecture... - #doCheck = true; - - postInstall = - '' - notSupported(){ - echo -e "#\!/bin/sh\necho '`basename $1` not supported, $2'\nexit 1" > "$1" - chmod +x $1 - } - - # Install Emacs mode. - echo "installing Emacs mode..." - ensureDir $out/share/emacs/site-lisp - cp -p contrib/emacs/*.el $out/share/emacs/site-lisp - '' # */ - - + (if svnSupport then - - ''# wrap git-svn - gitperllib=$out/lib/site_perl - for i in ${builtins.toString perlLibs}; do - gitperllib=$gitperllib:$i/lib/site_perl - done - wrapProgram "$out/libexec/git-core/git-svn" \ - --set GITPERLLIB "$gitperllib" \ - --prefix PATH : "${subversion}/bin" '' - else '' # replace git-svn by notification script - notSupported $out/bin/git-svn "reinstall with config git = { svnSupport = true } set" - '') - - + ''# Install man pages and Info manual - make PERL_PATH="${perl}/bin/perl" cmd-list.made install install-info \ - -C Documentation '' - - + (if guiSupport then '' - # Wrap Tcl/Tk programs - for prog in bin/gitk libexec/git-core/git-gui - do - wrapProgram "$out/$prog" \ - --set TK_LIBRARY "${tk}/lib/tk8.4" \ - --prefix PATH : "${tk}/bin" - done - '' else '' - # Don't wrap Tcl/Tk, replace them by notification scripts - for prog in bin/gitk libexec/git-core/git-gui - do - notSupported "$out/$prog" \ - "reinstall with config git = { guiSupport = true; } set" - done - '') - - + ''# install bash completion script - d="$out/etc/bash_completion.d" - ensureDir $d; cp contrib/completion/git-completion.bash "$d" - ''; - - meta = { - license = "GPLv2"; - homepage = http://git.or.cz; - description = "Git, a popular distributed version control system"; - - longDescription = '' - Git, a popular distributed version control system designed to - handle very large projects with speed and efficiency. - ''; - - }; -} diff --git a/pkgs/applications/version-management/git/docbook2texi.patch b/pkgs/applications/version-management/git/docbook2texi.patch deleted file mode 100644 index b2a6fbcaec5f..000000000000 --- a/pkgs/applications/version-management/git/docbook2texi.patch +++ /dev/null @@ -1,37 +0,0 @@ -This patch does two things: (1) use the right name for `docbook2texi', -and (2) 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 -@@ -48,7 +48,7 @@ DOC_REF = origin/man - infodir?=$(prefix)/share/info - MAKEINFO=makeinfo - INSTALL_INFO=install-info --DOCBOOK2X_TEXI=docbook2x-texi -+DOCBOOK2X_TEXI=docbook2texi - ifndef PERL_PATH - PERL_PATH = /usr/bin/perl - endif -@@ -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 diff --git a/pkgs/applications/version-management/git/git-git.nix b/pkgs/applications/version-management/git/git-git.nix deleted file mode 100644 index cb885280b5a3..000000000000 --- a/pkgs/applications/version-management/git/git-git.nix +++ /dev/null @@ -1,95 +0,0 @@ -{ fetchurl, stdenv, curl, openssl, zlib, expat, perl, gettext, cpio -, asciidoc, texinfo, xmlto, docbook2x, docbook_xsl, docbook_xml_dtd_42 -, libxslt, tcl, tk, makeWrapper -, svnSupport, subversion, perlLibs -, guiSupport -, sourceByName -, autoconf -}: - -# `git-svn' support requires Subversion and various Perl libraries. -# FIXME: We should make sure Subversion comes with its Perl bindings. -assert svnSupport -> (subversion != null && perlLibs != [] && subversion.perlBindings); - -assert svnSupport -> subversion.perlBindings; - -stdenv.mkDerivation rec { - name = "git-git-with-glob-patch"; - - src = sourceByName "git"; - - patches = [ ./glob-path.patch ./docbook2texi.patch ]; - # maybe this introduces unneccessary dependencies ? - patchPhase = " - unset patchPhase; patchPhase; - sed -i 's=/usr/bin/perl=$perl/bin/perl=g' `find -type f` - sed -i 's=/bin/pwd=pwd=g' `find -type f` - "; - - inherit perl; - buildInputs = [curl openssl zlib expat gettext cpio makeWrapper autoconf] - ++ # documentation tools - [ asciidoc texinfo xmlto docbook2x - docbook_xsl docbook_xml_dtd_42 libxslt ] - ++ stdenv.lib.optionals guiSupport [tcl tk]; - - preConfigure = "autoconf"; - makeFlags = "install install-doc prefix=\${out} PERL_PATH=${perl}/bin/perl SHELL_PATH=${stdenv.shell}"; - - postInstall = - '' - # Install Emacs mode. - echo "installing Emacs mode..." - ensureDir $out/share/emacs/site-lisp - cp -p contrib/emacs/*.el $out/share/emacs/site-lisp - - wrapArgs= - '' # */ - - + (if svnSupport then - - ''# wrap git-svn - gitperllib=$out/lib/site_perl - for i in ${builtins.toString perlLibs}; do - gitperllib=$gitperllib:$i/lib/site_perl - done -#cp git-svn "$out/bin" - wrapArgs="$wrapArgs --set GITPERLLIB $gitperllib" - wrapArgs="$wrapArgs --prefix PATH : ${subversion}/bin" - '' else "") - - + ''# Install man pages and Info manual - make PERL_PATH="${perl}/bin/perl" cmd-list.made install install-info \ - -C Documentation '' - - + (if guiSupport then '' - # Wrap Tcl/Tk programs - wrapArgs="$wrapArgs --set TK_LIBRARY ${tk}/lib/tk8.4" - wrapArgs="$wrapArgs --prefix PATH : ${tk}/bin" - '' else "") - - + ''# Wrap `git-clone' - wrapArgs="$wrapArgs --prefix PATH : ${cpio}/bin" - - for b in $out/bin/{git,gitk}; do - [ -f "$b" ] && eval "wrapProgram $b $wrapArgs" - done - '' - - + ''# install bash completion script - d="$out/etc/bash_completion.d" - ensureDir $d; cp contrib/completion/git-completion.bash "$d" - ''; - - meta = { - license = "GPLv2"; - homepage = http://git.or.cz; - description = "Git, a popular distributed version control system"; - - longDescription = '' - Git, a popular distributed version control system designed to - handle very large projects with speed and efficiency. - ''; - - }; -} diff --git a/pkgs/applications/version-management/git/glob-path.patch b/pkgs/applications/version-management/git/glob-path.patch deleted file mode 100644 index 7515ade57875..000000000000 --- a/pkgs/applications/version-management/git/glob-path.patch +++ /dev/null @@ -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; diff --git a/pkgs/applications/version-management/qgit/default.nix b/pkgs/applications/version-management/qgit/default.nix deleted file mode 100644 index e84f447f505f..000000000000 --- a/pkgs/applications/version-management/qgit/default.nix +++ /dev/null @@ -1,18 +0,0 @@ -{stdenv, fetchurl, qt, libXext, libX11}: - -stdenv.mkDerivation rec { - name = "qgit-1.5.8"; - meta = - { - license = "GPLv2"; - homepage = "http://digilander.libero.it/mcostalba/"; - description = "Graphical front-end to Git"; - }; - src = fetchurl - { - url = "mirror://sourceforge/qgit/${name}.tar.bz2"; - sha256 = "0qmgd1cjny5aciljpvn2bczgdvlpgd2f7wzafda24zj4mzqnppsq"; - }; - buildInputs = [qt libXext libX11]; - configureFlags = "CXXFLAGS=-O3"; -} diff --git a/pkgs/applications/version-management/stgit/default.nix b/pkgs/applications/version-management/stgit/default.nix deleted file mode 100644 index f31e6ec16b03..000000000000 --- a/pkgs/applications/version-management/stgit/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -args: -args.stdenv.mkDerivation { - name = "stgit-0.14.3"; - - src = args.fetchurl { - url = http://homepage.ntlworld.com/cmarinas/stgit/stgit-0.14.3.tar.gz; - sha256 = "13gcvz6x91m2860n26xp12j0xsshzvwij03sfzm5g3ckm18ffkw7"; - }; - - buildInputs =(with args; [python git]); - - buildPhase = "true"; - - installPhase = '' - python ./setup.py install --prefix=$out - d="$out/etc/bash_completion.d" - ensureDir $d; ln -s "$out/share/stgit/contrib/stgit-completion.bash" "$d" - ''; - - meta = { - description = "quilt for git (stacking patches)"; - homepage = http://procode.org/stgit/; - license = "GPL"; - }; -} diff --git a/pkgs/misc/bleeding-edge-fetch-infos.nix b/pkgs/misc/bleeding-edge-fetch-infos.nix index 3ab6bcd44f56..e398fd08b7f5 100644 --- a/pkgs/misc/bleeding-edge-fetch-infos.nix +++ b/pkgs/misc/bleeding-edge-fetch-infos.nix @@ -15,9 +15,9 @@ url = http://mawercer.de/~nix/repos/ghc_lambdavm.tar.gz; sha256 = "3d10e839b8226987383e870258ff38b56442ff254688f7c50983850676f992cb"; }; - git = args: with args; fetchurl { - url = http://mawercer.de/~nix/repos/git.tar.gz; - sha256 = "1f0df3da8d6c9425ab80bd9c623570b7a35e5a622fbf56b903e1bf82a01d4e5f"; + git = args: with args; fetchurl { # Tue Jan 20 22:28:04 UTC 2009 + url = "http://mawercer.de/~nix/repos/git-a227bce65f3fcdfbf28f109809b7e2e518b906f8.tar.gz"; + sha256 = "7420a385718c7edec956fb0cba1a8a11d4b45edc833d7c06bf7c4764188ce180"; }; happs_data = args: with args; fetchurl { url = http://mawercer.de/~nix/repos/happs_data.tar.gz; @@ -219,9 +219,9 @@ url = "http://mawercer.de/~nix/repos/cinelerra-9f9adf2ad5472886d5bc43a05c6aa8077cabd967.tar.gz"; sha256 = "1e84ff59dcd7a3c80343eb9be302f822e510c95398fd1a6c8f2e4b163fd51e45"; }; - hg2git = args: with args; fetchurl { # Sat Oct 18 21:02:44 UTC 2008 - url = "http://mawercer.de/~nix/repos/hg2git-4c77e121b739d2aac8a23352503763343823f870.tar.gz"; - sha256 = "22354d36937bf9e5d3e3dfc1a3ef9e3f2bc183b8e114a23958a2b10f83abc97e"; + hg2git = args: with args; fetchurl { # Tue Jan 20 22:49:27 UTC 2009 + url = "http://mawercer.de/~nix/repos/hg2git-0fabb998a19c850cb8fcfcf72414b18070d94378.tar.gz"; + sha256 = "ce7cd089681e6eee24f5bc9ab3b73f1e49d368b83a32d00695eadca00533ac5d"; }; octave = args: with args; fetchurl { # Mon Dec 1 23:23:49 UTC 2008 url = "http://mawercer.de/~nix/repos/octave-03b414516dd8.tar.gz"; @@ -231,4 +231,12 @@ url = "http://mawercer.de/~nix/repos/zsh-2008-12-21_12-50-23.tar.gz"; sha256 = "9af16f89205759d7ade51268dbdfa02cec3db10b35dc7a56ffe8e1fde2074ae7"; }; + topGit = args: with args; fetchurl { # Tue Jan 20 21:29:50 UTC 2009 + url = "http://mawercer.de/~nix/repos/topGit-5b823563a678fe46ddf768977ab9d00525945ec6.tar.gz"; + sha256 = "e027311b2b058bab05a7175546854d61325bba591109e68c59209edc6939e5cb"; + }; + qgit = args: with args; fetchurl { # Tue Jan 20 21:35:00 UTC 2009 + url = "http://mawercer.de/~nix/repos/qgit-b5dd5fd691e9423124cf356abe26e641bc33d159.tar.gz"; + sha256 = "e04de308feb40716a6b02d1f69dc834f4fa859865b64e8f91beb6018fa953f96"; + }; } diff --git a/pkgs/tools/misc/hg2git/default.nix b/pkgs/tools/misc/hg2git/default.nix deleted file mode 100644 index 291391b67191..000000000000 --- a/pkgs/tools/misc/hg2git/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -args: with args; -stdenv.mkDerivation { - name = "hg2git"; - - src = sourceByName "hg2git"; - - buildInputs =([mercurial.python mercurial makeWrapper]); - - installPhase = '' - ensureDir $out/bin; - cp hg2git.sh hg2git.py $out/bin - cat >> $out/bin/hg2git-doc << EOF - #!${coreutils}/bin/cat - $(cat hg2git.txt) - EOF - chmod +x $out/bin/hg2git-doc - wrapProgram $out/bin/hg2git.sh \ - --set PYTHONPATH "$(echo ${mercurial}/lib/python*/site-packages)" - ''; - - meta = { - description = "mercurial to git one way conversion"; - homepage = "http://git.grml.org/?p=hg-to-git.git;a=summary"; - license = "?"; # the .py file is GPLv2 - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 05326730d7c7..b07f2e16ab78 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -867,11 +867,6 @@ let inherit fetchurl stdenv ocaml; }; - hg2git = import ../tools/misc/hg2git { - inherit fetchurl stdenv mercurial coreutils git makeWrapper; - inherit (bleedingEdgeRepos) sourceByName; - }; - highlight = builderDefsPackage (selectVersion ../tools/text/highlight "2.6.10") { inherit getopt; }; @@ -7440,32 +7435,10 @@ let inherit (gnome) gtk libgtkhtml libart_lgpl; }; - git = import ../applications/version-management/git { - inherit fetchurl stdenv curl openssl zlib expat perl gettext - asciidoc texinfo xmlto docbook2x - docbook_xsl docbook_xml_dtd_42 libxslt - cpio tcl tk makeWrapper subversion; - svnSupport = getConfig ["git" "svnSupport"] false; # for git-svn support - guiSupport = getConfig ["git" "guiSupport"] false; - perlLibs = [perlLWP perlURI perlTermReadKey subversion]; - }; - - gitGit = import ../applications/version-management/git/git-git.nix { - inherit fetchurl stdenv curl openssl zlib expat perl gettext - asciidoc texinfo xmlto docbook2x - docbook_xsl docbook_xml_dtd_42 libxslt - cpio tcl tk makeWrapper subversion autoconf; - inherit (bleedingEdgeRepos) sourceByName; - svnSupport = getConfig ["git" "svnSupport"] false; # for git-svn support - guiSupport = getConfig ["git" "guiSupport"] false; - perlLibs = [perlLWP perlURI perlTermReadKey subversion]; - }; - - qgit = import ../applications/version-management/qgit { - inherit fetchurl stdenv; - inherit (xlibs) libXext libX11; - qt = qt3; - }; + gitAndTools = recurseIntoAttrs (import ../applications/version-management/git-and-tools { + inherit pkgs; + }); + git = gitAndTools.git; qjackctl = import ../applications/audio/qjackctl { inherit fetchurl stdenv alsaLib jackaudio; @@ -7964,10 +7937,6 @@ let }; - stgit = import ../applications/version-management/stgit { - inherit fetchurl stdenv python git; - }; - stumpwm = builderDefsPackage (import ../applications/window-managers/stumpwm) { inherit clisp texinfo; }; -- cgit 1.4.1 From 3e20a89b3d2e0d72900fc69f0f9c3e83f18f04ac Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 22 Jan 2009 22:32:02 +0000 Subject: GTK+ 2.14.7 and companion libraries. svn path=/nixpkgs/trunk/; revision=13821 --- .../libraries/gtk-libs/2.14/atk/default.nix | 30 ++++++++++++++++++ .../libraries/gtk-libs/2.14/default.nix | 25 +++++++++++++++ .../libraries/gtk-libs/2.14/glib/default.nix | 27 ++++++++++++++++ .../libraries/gtk-libs/2.14/gtk+/default.nix | 37 ++++++++++++++++++++++ .../libraries/gtk-libs/2.14/pango/default.nix | 34 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 7 ++++ 6 files changed, 160 insertions(+) create mode 100644 pkgs/development/libraries/gtk-libs/2.14/atk/default.nix create mode 100644 pkgs/development/libraries/gtk-libs/2.14/default.nix create mode 100644 pkgs/development/libraries/gtk-libs/2.14/glib/default.nix create mode 100644 pkgs/development/libraries/gtk-libs/2.14/gtk+/default.nix create mode 100644 pkgs/development/libraries/gtk-libs/2.14/pango/default.nix (limited to 'pkgs/top-level') diff --git a/pkgs/development/libraries/gtk-libs/2.14/atk/default.nix b/pkgs/development/libraries/gtk-libs/2.14/atk/default.nix new file mode 100644 index 000000000000..320033bad009 --- /dev/null +++ b/pkgs/development/libraries/gtk-libs/2.14/atk/default.nix @@ -0,0 +1,30 @@ +args: with args; + +stdenv.mkDerivation rec { + name = "atk-1.24.0"; + + src = fetchurl { + url = "mirror://gnome/sources/atk/1.24/${name}.tar.bz2"; + sha256 = "0mjxliarzcy7iksh6v1npxsqdpc9sjj3q4wcl567asbdzdpbd803"; + }; + + buildInputs = [pkgconfig perl]; + propagatedBuildInputs = [glib]; + + meta = { + description = "ATK, the accessibility toolkit"; + + longDescription = '' + ATK is the Accessibility Toolkit. It provides a set of generic + interfaces allowing accessibility technologies such as screen + readers to interact with a graphical user interface. Using the + ATK interfaces, accessibility tools have full access to view and + control running applications. + ''; + + homepage = http://library.gnome.org/devel/atk/; + + license = "LGPLv2+"; + }; + +} diff --git a/pkgs/development/libraries/gtk-libs/2.14/default.nix b/pkgs/development/libraries/gtk-libs/2.14/default.nix new file mode 100644 index 000000000000..72e7b0bbf6bc --- /dev/null +++ b/pkgs/development/libraries/gtk-libs/2.14/default.nix @@ -0,0 +1,25 @@ +args: with args; + +# FIXME: Someone please upgrade the remaining libraries in `legacy'. +let legacy = { + inherit ((import ../2.12) args) glibmm gtkmm; + }; +in + + rec { + + glib = (import ./glib) args; + + atk = (import ./atk) (args // { inherit glib; }); + + pango = (import ./pango) (args // { inherit glib; }); + + gtk = (import ./gtk+) (args // { + inherit glib atk pango; + }); + + } + + // + + legacy diff --git a/pkgs/development/libraries/gtk-libs/2.14/glib/default.nix b/pkgs/development/libraries/gtk-libs/2.14/glib/default.nix new file mode 100644 index 000000000000..fa575b13a6e5 --- /dev/null +++ b/pkgs/development/libraries/gtk-libs/2.14/glib/default.nix @@ -0,0 +1,27 @@ +args: with args; + +stdenv.mkDerivation rec { + name = "glib-2.18.4"; + + src = fetchurl { + url = "mirror://gnome/sources/glib/2.18/${name}.tar.bz2"; + sha256 = "00711nscyya6j1kdda7sbxy01qspccpvmnmc8f4kip4zbs22rsva"; + }; + + buildInputs = [pkgconfig gettext perl]; + + meta = { + description = "GLib, a C library of programming buildings blocks"; + + longDescription = '' + GLib provides the core application building blocks for libraries + and applications written in C. It provides the core object + system used in GNOME, the main loop implementation, and a large + set of utility functions for strings and common data structures. + ''; + + homepage = http://www.gtk.org/; + + license = "LGPLv2+"; + }; +} diff --git a/pkgs/development/libraries/gtk-libs/2.14/gtk+/default.nix b/pkgs/development/libraries/gtk-libs/2.14/gtk+/default.nix new file mode 100644 index 000000000000..99d84d622855 --- /dev/null +++ b/pkgs/development/libraries/gtk-libs/2.14/gtk+/default.nix @@ -0,0 +1,37 @@ +args: with args; + +stdenv.mkDerivation rec { + name = "gtk+-2.14.7"; + + src = fetchurl { + url = "mirror://gnome/sources/gtk+/2.14/${name}.tar.bz2"; + sha256 = "053yn2fdxhqd4jhds4j96daw2zd4cfw5wx9vf4szrfidwll4fbz8"; + }; + + buildInputs = [ pkgconfig perl jasper ]; + + propagatedBuildInputs = [ + x11 glib atk pango libtiff libjpeg libpng cairo libXrandr + ] ++ stdenv.lib.optional xineramaSupport libXinerama; + + passthru = { inherit libtiff libjpeg libpng; }; + + meta = { + description = "A multi-platform toolkit for creating graphical user interfaces"; + + longDescription = '' + GTK+ is a highly usable, feature rich toolkit for creating + graphical user interfaces which boasts cross platform + compatibility and an easy to use API. GTK+ it is written in C, + but has bindings to many other popular programming languages + such as C++, Python and C# among others. GTK+ is licensed + under the GNU LGPL 2.1 allowing development of both free and + proprietary software with GTK+ without any license fees or + royalties. + ''; + + homepage = http://www.gtk.org/; + + license = "LGPLv2+"; + }; +} diff --git a/pkgs/development/libraries/gtk-libs/2.14/pango/default.nix b/pkgs/development/libraries/gtk-libs/2.14/pango/default.nix new file mode 100644 index 000000000000..9c69cfc226bc --- /dev/null +++ b/pkgs/development/libraries/gtk-libs/2.14/pango/default.nix @@ -0,0 +1,34 @@ +args: with args; + +stdenv.mkDerivation rec { + name = "pango-1.20.5"; + + src = fetchurl { + url = "mirror://gnome/sources/pango/1.20/${name}.tar.bz2"; + sha256 = "1cpsm32prbxwq7hhfpc2f6a1hhz61nnllpy9sqr4r8hqmm5skxc6"; + }; + + buildInputs = [pkgconfig]; + + propagatedBuildInputs = [x11 glib cairo libpng]; + + # The configure script doesn't seem to pick up the Cairo cflags. + preConfigure = '' + CAIRO_CFLAGS=$(pkg-config --cflags cairo --debug) + ''; + + meta = { + description = "A library for laying out and rendering of text, with an emphasis on internationalization"; + + longDescription = '' + Pango is a library for laying out and rendering of text, with an + emphasis on internationalization. Pango can be used anywhere + that text layout is needed, though most of the work on Pango so + far has been done in the context of the GTK+ widget toolkit. + Pango forms the core of text and font handling for GTK+-2.x. + ''; + + homepage = http://www.pango.org/; + license = "LGPLv2+"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b07f2e16ab78..e87773f3f799 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3066,6 +3066,13 @@ let xineramaSupport = true; }; + gtkLibs214 = import ../development/libraries/gtk-libs/2.14 { + inherit fetchurl stdenv pkgconfig gettext perl x11 jasper + libtiff libjpeg libpng cairo libsigcxx cairomm; + inherit (xlibs) libXinerama libXrandr; + xineramaSupport = true; + }; + gtkmozembedsharp = import ../development/libraries/gtkmozembed-sharp { inherit fetchurl stdenv mono pkgconfig monoDLLFixer; inherit (gnome) gtk; -- cgit 1.4.1 From 7137c6dea806c116f84ed5a53eb207dba0309da4 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 22 Jan 2009 22:34:06 +0000 Subject: libcanberra: Use the right GTK+ version, use GThread as well, disable OSS support (recommended). svn path=/nixpkgs/trunk/; revision=13822 --- pkgs/development/libraries/libcanberra/default.nix | 4 +++- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'pkgs/top-level') diff --git a/pkgs/development/libraries/libcanberra/default.nix b/pkgs/development/libraries/libcanberra/default.nix index abe062af5366..f36bfa0d1441 100644 --- a/pkgs/development/libraries/libcanberra/default.nix +++ b/pkgs/development/libraries/libcanberra/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, libtool, gtk +{ stdenv, fetchurl, pkgconfig, libtool, gtk, gthread , alsaLib, pulseaudio, gstreamer, libvorbis }: stdenv.mkDerivation rec { @@ -11,6 +11,8 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig libtool gtk alsaLib pulseaudio gstreamer libvorbis ]; + configureFlags = "--disable-oss"; + meta = { description = "libcanberra, an implementation of the XDG Sound Theme and Name Specifications"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e87773f3f799..78b08707858b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3209,7 +3209,7 @@ let libcanberra = import ../development/libraries/libcanberra { inherit fetchurl stdenv pkgconfig libtool alsaLib pulseaudio libvorbis; - inherit (gtkLibs) gtk; + inherit (gtkLibs214) gtk gthread; gstreamer = gst_all.gstreamer; }; -- cgit 1.4.1 From 71cbd0995a069e962f909a6bdf5f664e85a16dce Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 22 Jan 2009 22:46:39 +0000 Subject: Enlightenment 0.16.8.15. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Patch by John Altobelli , minor edits by Ludovic Courtès . svn path=/nixpkgs/trunk/; revision=13823 --- pkgs/desktops/enlightenment/default.nix | 29 +++++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++++ 2 files changed, 33 insertions(+) create mode 100644 pkgs/desktops/enlightenment/default.nix (limited to 'pkgs/top-level') diff --git a/pkgs/desktops/enlightenment/default.nix b/pkgs/desktops/enlightenment/default.nix new file mode 100644 index 000000000000..61f58719b272 --- /dev/null +++ b/pkgs/desktops/enlightenment/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, pkgconfig, x11, xlibs, dbus, imlib2, freetype }: + +let version = "0.16.8.15"; in + stdenv.mkDerivation { + name = "enlightenment-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/enlightenment/e16-${version}.tar.gz"; + sha256 = "0f8hg79mrk6b3fsvynvsrnqh1zgmvnnza0lf7qn4pq2mqyigbhgk"; + }; + + buildInputs = [pkgconfig imlib2 freetype + xlibs.libX11 xlibs.libXt xlibs.libXext xlibs.libXrender xlibs.libXft ]; + + meta = { + description = "Desktop shell built on the Enlightenment Foundation Libraries"; + + longDescription = '' + Enlightenment is a window manager. Enlightenment is a desktop + shell. Enlightenment is the building blocks to create + beautiful applications. Enlightenment, or simply e, is a + group of people trying to make a new generation of software. + ''; + + homepage = http://enlightenment.org/; + + license = "BSD-style"; + }; + } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 78b08707858b..e18f2f8a57d4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8481,6 +8481,10 @@ let ### DESKTOP ENVIRONMENTS + enlightenment = import ../desktops/enlightenment { + inherit stdenv fetchurl pkgconfig x11 xlibs dbus imlib2 freetype; + }; + gnome = recurseIntoAttrs (import ../desktops/gnome { inherit fetchurl stdenv pkgconfig -- cgit 1.4.1 From 50d8df47b297a973c8f10e7b6797b8d4ba28e15d Mon Sep 17 00:00:00 2001 From: Lluís Batlle i Rossell Date: Sat, 24 Jan 2009 21:00:53 +0000 Subject: Making wxGTK-2.8 to provide wxGLCanvas. Adding dependence on mesa. svn path=/nixpkgs/trunk/; revision=13831 --- pkgs/development/libraries/wxGTK-2.8/default.nix | 8 ++++++-- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'pkgs/top-level') diff --git a/pkgs/development/libraries/wxGTK-2.8/default.nix b/pkgs/development/libraries/wxGTK-2.8/default.nix index e8543444140a..11d7a1e29f35 100644 --- a/pkgs/development/libraries/wxGTK-2.8/default.nix +++ b/pkgs/development/libraries/wxGTK-2.8/default.nix @@ -1,5 +1,5 @@ { stdenv, fetchurl, pkgconfig, gtk, libXinerama, libSM, libXxf86vm, xf86vidmodeproto -, compat24 ? false, compat26 ? true, unicode ? true +, mesa, compat24 ? false, compat26 ? true, unicode ? true, }: assert pkgconfig != null && gtk != null; @@ -18,7 +18,7 @@ stdenv.mkDerivation { buildInputs = [ pkgconfig gtk gtk.libtiff gtk.libjpeg gtk.libpng gtk.libpng.zlib - libXinerama libSM libXxf86vm xf86vidmodeproto + libXinerama libSM libXxf86vm xf86vidmodeproto mesa ]; configureFlags = [ @@ -27,17 +27,21 @@ stdenv.mkDerivation { (if compat26 then "--enable-compat26" else "--disable-compat26") "--disable-precomp-headers" (if unicode then "--enable-unicode" else "") + "--with-opengl" ]; # This variable is used by configure to find some dependencies. SEARCH_INCLUDE = "${libXinerama}/include ${libSM}/include ${libXxf86vm}/include"; + SEARCH_LIB = "${mesa}/lib"; + # Work around a bug in configure. NIX_CFLAGS_COMPILE = "-DHAVE_X11_XLIB_H=1"; preConfigure = " substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE=' + substituteInPlace configure --replace 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB=' substituteInPlace configure --replace /usr /no-such-path "; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e18f2f8a57d4..16fc9ffb2ba5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3846,7 +3846,7 @@ let wxGTK28fun = lib.sumArgs (import ../development/libraries/wxGTK-2.8); wxGTK28deps = wxGTK28fun { - inherit fetchurl stdenv pkgconfig; + inherit fetchurl stdenv pkgconfig mesa; inherit (gtkLibs) gtk; inherit (xlibs) libXinerama libSM libXxf86vm xf86vidmodeproto; }; -- cgit 1.4.1 From 00756b63b0bbdea9bc18987bcb3b685a816cf18d Mon Sep 17 00:00:00 2001 From: Lluís Batlle i Rossell Date: Sat, 24 Jan 2009 21:01:17 +0000 Subject: Adding a qt3gcc3 package, for opera. svn path=/nixpkgs/trunk/; revision=13832 --- pkgs/top-level/all-packages.nix | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'pkgs/top-level') diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 16fc9ffb2ba5..67189895a183 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3681,6 +3681,15 @@ let inherit fetchurl stdenv; }; + qt3gcc33 = import ../development/libraries/qt-3 { + stdenv = overrideGCC stdenv gcc33; + inherit fetchurl x11 zlib libjpeg libpng which mysql mesa; + inherit (xlibs) xextproto libXft libXrender libXrandr randrproto + libXmu libXinerama xineramaproto libXcursor; + openglSupport = false; + mysqlSupport = false; + }; + qt3 = import ../development/libraries/qt-3 { inherit fetchurl stdenv x11 zlib libjpeg libpng which mysql mesa; inherit (xlibs) xextproto libXft libXrender libXrandr randrproto @@ -7784,9 +7793,9 @@ let inherit fetchurl zlib glibc stdenv; # stdenv = overrideGCC stdenv gcc40; inherit (xlibs) libX11 libSM libICE libXt libXext; - qt = qt3; + qt = qt3gcc33; #33motif = lesstif; - libstdcpp5 = (if (stdenv.system == "i686-linux") then gcc33 /* stdc++ 3.8 is used */ else gcc42).gcc; + libstdcpp5 = gcc33.gcc; }; pan = import ../applications/networking/newsreaders/pan { -- cgit 1.4.1 From aad3e77b448a07946e504c776c0494276325f1e9 Mon Sep 17 00:00:00 2001 From: Lluís Batlle i Rossell Date: Sat, 24 Jan 2009 21:01:27 +0000 Subject: Adding cdecl-2.5 svn path=/nixpkgs/trunk/; revision=13833 --- pkgs/development/tools/cdecl/cdecl-2.5.patch | 64 ++++++++++++++++++++++++++++ pkgs/development/tools/cdecl/default.nix | 19 +++++++++ pkgs/top-level/all-packages.nix | 4 ++ 3 files changed, 87 insertions(+) create mode 100644 pkgs/development/tools/cdecl/cdecl-2.5.patch create mode 100644 pkgs/development/tools/cdecl/default.nix (limited to 'pkgs/top-level') diff --git a/pkgs/development/tools/cdecl/cdecl-2.5.patch b/pkgs/development/tools/cdecl/cdecl-2.5.patch new file mode 100644 index 000000000000..b66ee1a2c4e7 --- /dev/null +++ b/pkgs/development/tools/cdecl/cdecl-2.5.patch @@ -0,0 +1,64 @@ +diff --git a/Makefile b/Makefile +index 9e85686..b8e6e02 100644 +--- a/Makefile ++++ b/Makefile +@@ -15,13 +15,14 @@ + # + # add -DUSE_READLINE To compile in support for the GNU readline library. + +-CFLAGS= -s -O2 -DUSE_READLINE ++ + CC= gcc +-LIBS= -lreadline -ltermcap ++ + ALLFILES= makefile cdgram.y cdlex.l cdecl.c cdecl.1 testset testset++ +-BINDIR= /usr/bin +-MANDIR= /usr/man/man1 +-CATDIR= /usr/man/cat1 ++PREFIX?= /usr ++BINDIR= $(PREFIX)/bin ++MANDIR= $(PREFIX)/man/man1 ++CATDIR= $(PREFIX)/man/cat1 + INSTALL= install -c + INSTALL_DATA= install -c -m 644 + +@@ -33,7 +34,7 @@ c++decl: cdgram.c cdlex.c cdecl.c + rm -f cdecl + + cdlex.c: cdlex.l +- lex cdlex.l && mv lex.yy.c cdlex.c ++ flex cdlex.l && mv lex.yy.c cdlex.c + + cdgram.c: cdgram.y + yacc cdgram.y && mv y.tab.c cdgram.c +@@ -43,8 +44,10 @@ test: + ./c++decl < testset++ + + install: cdecl ++ $(INSTALL) -d $(BINDIR) + $(INSTALL) cdecl $(BINDIR) + ln $(BINDIR)/cdecl $(BINDIR)/c++decl ++ $(INSTALL) -d $(MANDIR) + $(INSTALL_DATA) cdecl.1 $(MANDIR) + $(INSTALL_DATA) c++decl.1 $(MANDIR) + +diff --git a/cdecl.c b/cdecl.c +index f03f01e..1fdde9f 100644 +--- a/cdecl.c ++++ b/cdecl.c +@@ -67,6 +67,7 @@ char cdeclsccsid[] = "@(#)cdecl.c 2.5 1/15/96"; + # include + # include + # include ++# include + #else + # ifndef NOVARARGS + # include +@@ -124,7 +125,6 @@ char real_prompt[MAX_NAME+3]; + + #if __STDC__ + char *ds(char *), *cat(char *, ...), *visible(int); +- int getopt(int,char **,char *); + int main(int, char **); + int yywrap(void); + int dostdin(void); diff --git a/pkgs/development/tools/cdecl/default.nix b/pkgs/development/tools/cdecl/default.nix new file mode 100644 index 000000000000..65377508d9f4 --- /dev/null +++ b/pkgs/development/tools/cdecl/default.nix @@ -0,0 +1,19 @@ +{stdenv, fetchurl, yacc, flex, readline}: + +stdenv.mkDerivation { + name = "cdecl-2.5"; + src = fetchurl { + url = ftp://metalab.unc.edu/pub/linux/devel/lang/c/cdecl-2.5.tar.gz; + md5 = "29895dab52e85b2474a59449e07b7996"; + }; + + patches = [ ./cdecl-2.5.patch ]; + preBuild = " + makeFlags=\"PREFIX=$out\" + "; + buildInputs = [yacc flex readline]; + + meta = { + description = "Translator English -- C/C++ declarations"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 67189895a183..dbea6c8cb3e7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -565,6 +565,10 @@ let inherit fetchurl stdenv; }; + cdecl = import ../development/tools/cdecl { + inherit fetchurl stdenv yacc flex readline; + }; + cdrdao = import ../tools/cd-dvd/cdrdao { inherit fetchurl stdenv; }; -- cgit 1.4.1 From f5b2036a60134c354a783a0fb6556a544f9f5ebe Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 24 Jan 2009 21:55:16 +0000 Subject: Cairomm 1.7.2. svn path=/nixpkgs/trunk/; revision=13836 --- pkgs/development/libraries/cairomm/default.nix | 28 ++++++++++++++++++++++---- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 25 insertions(+), 5 deletions(-) (limited to 'pkgs/top-level') diff --git a/pkgs/development/libraries/cairomm/default.nix b/pkgs/development/libraries/cairomm/default.nix index a22788c288ec..712a5068a995 100644 --- a/pkgs/development/libraries/cairomm/default.nix +++ b/pkgs/development/libraries/cairomm/default.nix @@ -1,15 +1,35 @@ -args: with args; +{ fetchurl, stdenv, pkgconfig, cairo, x11, fontconfig, freetype, libsigcxx }: stdenv.mkDerivation rec { - name = "cairomm-1.4.6"; + name = "cairomm-1.7.2"; src = fetchurl { url = "http://cairographics.org/releases/${name}.tar.gz"; - sha256 = "1zd5pq5jd507w1v994awpsl7m26g4dfl0rwgrxig2823hl3rqmrp"; + sha256 = "0rcbkk16yj9k1y491ms5j6f9z5wrvv4qkd7wbx44nziwhw6hc0qx"; }; buildInputs = [pkgconfig]; - propagatedBuildInputs = [cairo x11 fontconfig freetype]; + propagatedBuildInputs = [ cairo x11 fontconfig freetype libsigcxx ]; configureFlags = "--enable-shared --disable-static"; + + meta = { + description = "A 2D graphics library with support for multiple output devices"; + + longDescription = '' + Cairo is a 2D graphics library with support for multiple output + devices. Currently supported output targets include the X + Window System, Quartz, Win32, image buffers, PostScript, PDF, + and SVG file output. Experimental backends include OpenGL + (through glitz), XCB, BeOS, OS/2, and DirectFB. + + Cairo is designed to produce consistent output on all output + media while taking advantage of display hardware acceleration + when available (e.g., through the X Render Extension). + ''; + + homepage = http://cairographics.org/; + + licenses = [ "LGPLv2+" "MPLv1" ]; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dbea6c8cb3e7..066eb8be7c6b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2728,7 +2728,7 @@ let }; cairomm = import ../development/libraries/cairomm { - inherit fetchurl stdenv pkgconfig cairo x11 fontconfig freetype; + inherit fetchurl stdenv pkgconfig cairo x11 fontconfig freetype libsigcxx; }; chipmunk = builderDefsPackage (import ../development/libraries/chipmunk) { -- cgit 1.4.1 From e44ec52b45a869e9b0403d15a17a03b4509f849f Mon Sep 17 00:00:00 2001 From: Lluís Batlle i Rossell Date: Sun, 25 Jan 2009 14:31:24 +0000 Subject: Adding dev86 (I'll try to get virtualbox built) svn path=/nixpkgs/trunk/; revision=13844 --- pkgs/development/compilers/dev86/default.nix | 17 +++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++++ 2 files changed, 21 insertions(+) create mode 100644 pkgs/development/compilers/dev86/default.nix (limited to 'pkgs/top-level') diff --git a/pkgs/development/compilers/dev86/default.nix b/pkgs/development/compilers/dev86/default.nix new file mode 100644 index 000000000000..deb74a96e32c --- /dev/null +++ b/pkgs/development/compilers/dev86/default.nix @@ -0,0 +1,17 @@ +{stdenv, fetchurl}: + +stdenv.mkDerivation { + name = "dev86-0.16.17"; + src = fetchurl { + url = http://homepage.ntlworld.com/robert.debath/dev86/Dev86src-0.16.17.tar.gz; + md5 = "e7bbfdbe61c2fb964994a087e29b0087"; + }; + + preBuild = " + makeFlags=\"PREFIX=$out\" + "; + + meta = { + description = "Linux 8086 development environment"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 066eb8be7c6b..a65061c93ad3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -642,6 +642,10 @@ let ddrescue = builderDefsPackage (selectVersion ../tools/system/ddrescue "1.8") {}; + dev86 = import ../development/compilers/dev86 { + inherit fetchurl stdenv; + }; + dnsmasq = import ../tools/networking/dnsmasq { # TODO i18n can be installed as well, implement it? inherit fetchurl stdenv; -- cgit 1.4.1 From fb1fd1115f4a16b1cafaf69fce33068688721cba Mon Sep 17 00:00:00 2001 From: Lluís Batlle i Rossell Date: Sun, 25 Jan 2009 14:31:42 +0000 Subject: Adding Intel ACPI Compiler (trying to build virtualbox) svn path=/nixpkgs/trunk/; revision=13845 --- pkgs/development/compilers/iasl/default.nix | 27 +++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++++ 2 files changed, 31 insertions(+) create mode 100644 pkgs/development/compilers/iasl/default.nix (limited to 'pkgs/top-level') diff --git a/pkgs/development/compilers/iasl/default.nix b/pkgs/development/compilers/iasl/default.nix new file mode 100644 index 000000000000..383b8183cc71 --- /dev/null +++ b/pkgs/development/compilers/iasl/default.nix @@ -0,0 +1,27 @@ +{stdenv, fetchurl, bison, flex}: + +stdenv.mkDerivation { + name = "iasl-20090123.tar.gz"; + src = fetchurl { + url = http://www.acpica.org/download/acpica-unix-20090123.tar.gz; + md5 = "4ca6484acbf16cf67fd4ba91d32fd0a0"; + }; + + buildPhase = " + cd compiler + make + cd .. + "; + + installPhase = " + install -d $out/bin + install compiler/iasl $out/bin + "; + + buildInputs = [ bison flex ]; + + meta = { + description = "Intel ACPI Compiler"; + homepage = http://www.acpica.org/; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a65061c93ad3..3fc042bcfb8c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -494,6 +494,10 @@ let inherit fetchurl stdenv bison flex pam ssmtp; }; + iasl = import ../development/compilers/iasl { + inherit fetchurl stdenv bison flex; + }; + avahi = let qt4Support = getConfig [ "avahi" "qt4Support" ] false; in -- cgit 1.4.1 From c844c68142eef5540eeadd29cd602a7446bf663c Mon Sep 17 00:00:00 2001 From: Lluís Batlle i Rossell Date: Sun, 25 Jan 2009 14:31:51 +0000 Subject: Adding yafc-1.1.1 svn path=/nixpkgs/trunk/; revision=13846 --- pkgs/applications/networking/yafc/default.nix | 20 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++++ 2 files changed, 24 insertions(+) create mode 100644 pkgs/applications/networking/yafc/default.nix (limited to 'pkgs/top-level') diff --git a/pkgs/applications/networking/yafc/default.nix b/pkgs/applications/networking/yafc/default.nix new file mode 100644 index 000000000000..ae3ce06ca50f --- /dev/null +++ b/pkgs/applications/networking/yafc/default.nix @@ -0,0 +1,20 @@ +{stdenv, fetchurl, readline, openssh}: + +stdenv.mkDerivation { + name = "yafc-1.1.1"; + src = fetchurl { + url = mirror://sourceforge/yafc/yafc-1.1.1.tar.bz2; + sha256 = "ab72b2ed89fb75dbe8ebd119458cf513392225f367cccfad881e9780aefcd7e6"; + }; + + buildInputs = [readline openssh]; + + patchPhase = " + sed -e 's@/usr/bin/ssh@${openssh}/bin/ssh@' -i src/main.c + "; + + meta = { + description = "ftp/sftp client with readline, autocompletion and bookmarks"; + homepage = http://yafc.sourceforge.net; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3fc042bcfb8c..913fc627bff8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8941,6 +8941,10 @@ let inherit (xlibs) libX11; }; + yafc = import ../applications/networking/yafc { + inherit fetchurl stdenv readline openssh; + }; + myEnvFun = import ../misc/my-env { inherit substituteAll pkgs; inherit (stdenv) mkDerivation; -- cgit 1.4.1 From 09d68fcad28b418712b41fcb2de439dcd8bfa404 Mon Sep 17 00:00:00 2001 From: Lluís Batlle i Rossell Date: Sun, 25 Jan 2009 20:09:17 +0000 Subject: First steps trying to build VirtualBox. I haven't finished. I left before trying to install and run the files compiled. svn path=/nixpkgs/trunk/; revision=13863 --- .../virtualization/virtualbox/2.1.2.nix | 47 ++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 9 +++++ 2 files changed, 56 insertions(+) create mode 100644 pkgs/applications/virtualization/virtualbox/2.1.2.nix (limited to 'pkgs/top-level') diff --git a/pkgs/applications/virtualization/virtualbox/2.1.2.nix b/pkgs/applications/virtualization/virtualbox/2.1.2.nix new file mode 100644 index 000000000000..b33c58455fa2 --- /dev/null +++ b/pkgs/applications/virtualization/virtualbox/2.1.2.nix @@ -0,0 +1,47 @@ +{stdenv, fetchurl, iasl, dev86, libxslt, libxml2, libX11, xproto, libXext, libXcursor, qt3, qt4, libIDL, SDL, hal, libcap, zlib, libpng, glib, kernel}: + +stdenv.mkDerivation { + name = "virtualbox-2.1.2"; + + src = fetchurl { + url = http://download.virtualbox.org/virtualbox/2.1.2/VirtualBox-2.1.2-OSE.tar.bz2; + sha256 = "d3c1ae8ed7594094aaf8496204c5415479e1943e5b5179c5baae8a66885362de"; + }; + + buildInputs = [iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor qt3 qt4 libIDL SDL hal libcap glib kernel]; + + patchPhase = " + set -x + MODULES_BUILD_DIR=`echo ${kernel}/lib/modules/*/build` + sed -e 's@/lib/modules/`uname -r`/build@'$MODULES_BUILD_DIR@ \\ + -i configure + ls kBuild/bin/linux.x86/k* tools/linux.x86/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux.so.2 + export USER=nix + set +x + "; + + configurePhase = '' + # It wants the qt utils from qt3, and it takes them from QTDIR + export QTDIR=${qt3} + ./configure --with-qt-dir=${qt3} --with-qt4-dir=${qt4} --disable-python --disable-alsa --disable-pulse --disable-hardening + sed -e 's@PKG_CONFIG_PATH=.*@PKG_CONFIG_PATH=${libIDL}/lib/pkgconfig:${glib}/lib/pkgconfig ${libIDL}/bin/libIDL-config-2@' \ + -i AutoConfig.kmk + sed -e 's@arch/x86/@@' \ + -i Config.kmk + cat >> AutoConfig.kmk << END_PATHS + VBOX_PATH_APP_PRIVATE := $out + VBOX_PATH_APP_DOCS := $out/doc + END_PATHS + ''; + + buildPhase = " + source env.sh + kmk + "; + + + meta = { + description = "PC emulator"; + homepage = http://www.virtualbox.org/; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 913fc627bff8..82f8c3232a38 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6470,6 +6470,15 @@ let inherit fetchurl stdenv binutils pkgconfig kernel; inherit (gnome) gtk glib pango libglade; }; + + # Broken build, still. The install step fails, and I never tried to run that compiled. + virtualbox = import ../applications/virtualization/virtualbox/2.1.2.nix { + inherit stdenv fetchurl iasl dev86 libxslt libxml2 qt3 qt4 SDL hal + libcap libpng zlib kernel; + inherit (gtkLibs) glib; + inherit (xlibs) xproto libX11 libXext libXcursor; + inherit (gnome) libIDL; + }; }; # Build the kernel modules for the some of the kernels. -- cgit 1.4.1 From 6c2c6d7fe49415da707a2e8d7b49c1623f900410 Mon Sep 17 00:00:00 2001 From: Lluís Batlle i Rossell Date: Sun, 25 Jan 2009 21:03:07 +0000 Subject: Fixing commits I did, which didn't follow well the writing rules. svn path=/nixpkgs/trunk/; revision=13868 --- pkgs/development/compilers/dev86/default.nix | 1 + pkgs/top-level/all-packages.nix | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) (limited to 'pkgs/top-level') diff --git a/pkgs/development/compilers/dev86/default.nix b/pkgs/development/compilers/dev86/default.nix index deb74a96e32c..867eeeddfc99 100644 --- a/pkgs/development/compilers/dev86/default.nix +++ b/pkgs/development/compilers/dev86/default.nix @@ -13,5 +13,6 @@ stdenv.mkDerivation { meta = { description = "Linux 8086 development environment"; + homepage = http://www.debath.co.uk/; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 82f8c3232a38..c03287e7a1ad 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -494,10 +494,6 @@ let inherit fetchurl stdenv bison flex pam ssmtp; }; - iasl = import ../development/compilers/iasl { - inherit fetchurl stdenv bison flex; - }; - avahi = let qt4Support = getConfig [ "avahi" "qt4Support" ] false; in @@ -896,6 +892,10 @@ let }; */ + iasl = import ../development/compilers/iasl { + inherit fetchurl stdenv bison flex; + }; + idutils = import ../tools/misc/idutils { inherit fetchurl stdenv emacs; }; -- cgit 1.4.1 From c5a95e894e673847a5d25379352890157db2ca1f Mon Sep 17 00:00:00 2001 From: Lluís Batlle i Rossell Date: Tue, 27 Jan 2009 08:14:27 +0000 Subject: Adding opencascade 6.4.0. svn path=/nixpkgs/trunk/; revision=13874 --- pkgs/development/libraries/opencascade/default.nix | 18 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++++ 2 files changed, 22 insertions(+) create mode 100644 pkgs/development/libraries/opencascade/default.nix (limited to 'pkgs/top-level') diff --git a/pkgs/development/libraries/opencascade/default.nix b/pkgs/development/libraries/opencascade/default.nix new file mode 100644 index 000000000000..60feea3a5b3b --- /dev/null +++ b/pkgs/development/libraries/opencascade/default.nix @@ -0,0 +1,18 @@ +{stdenv, fetchurl, mesa, qt4, tcl, tk}: + +stdenv.mkDerivation { + name = "opencascade-6.3.0"; + src = fetchurl { + url = http://files.opencascade.com/OCC_6.3_release/OpenCASCADE_src.tgz; + md5 = "52778127974cb3141c2827f9d40d1f11"; + }; + + buildInputs = [ mesa qt4 tcl tk]; + + preConfigure = "cd ros"; + + meta = { + description = "Open CASCADE Technology, libraries for 3D modeling and numerical simulation"; + homepage = http://www.opencascade.org/; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c03287e7a1ad..367bfae51dd0 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3622,6 +3622,10 @@ let inherit fetchurl stdenv zlib libxml2; }; + opencascade = import ../development/libraries/opencascade { + inherit fetchurl stdenv mesa qt4 tcl tk; + }; + # this ctl version is needed by openexr_viewers openexr_ctl = import ../development/libraries/openexr_ctl { inherit fetchurl stdenv ilmbase ctl; -- cgit 1.4.1 From 507ab31cbe4af13e1de6b12f5cabb00a2643543f Mon Sep 17 00:00:00 2001 From: Nicolas Pierron Date: Tue, 27 Jan 2009 14:00:54 +0000 Subject: Add ragel: A state machine compiler. svn path=/nixpkgs/trunk/; revision=13881 --- pkgs/development/tools/parsing/ragel/default.nix | 44 ++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 +++ 2 files changed, 48 insertions(+) create mode 100644 pkgs/development/tools/parsing/ragel/default.nix (limited to 'pkgs/top-level') diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix new file mode 100644 index 000000000000..f60d32f09ea2 --- /dev/null +++ b/pkgs/development/tools/parsing/ragel/default.nix @@ -0,0 +1,44 @@ +{composableDerivation, fetchurl, transfig, texLive}: + +let + version = "6.3"; + name = "ragel-${version}"; +in + +composableDerivation.composableDerivation { + initial = rec { + inherit name; + src = fetchurl { + url = "http://www.complang.org/ragel/${name}.tar.gz"; + sha256 = "018cedc8a68be85cda330fc53d0bb8a1ca6ad39b1cf790eed0311e7baa5a2520"; + }; + + flags = { + doc = { + # require fig2dev & pdflatex (see README) + buildInputs = [transfig texLive]; + # use post* because default values of buildPhase is empty. + postBuild = '' + pushd doc + make + popd + ''; + postInstall = '' + pushd doc + make install + popd + ''; + }; + }; + + cfg = { + docSupport = false; + }; + + meta = { + homepage = http://www.complang.org/ragel; + description = "State machine compiler"; + license = "GPL-2"; + }; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 367bfae51dd0..366a743d377e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2533,6 +2533,10 @@ let inherit fetchurl stdenv; }); + ragel = import ../development/tools/parsing/ragel { + inherit composableDerivation fetchurl transfig texLive; + }; + # couldn't find the source yet selenium_rc_binary = import ../development/tools/selenium/remote-control { inherit fetchurl stdenv unzip; -- cgit 1.4.1 From 0604fa4ed8795eb8684deb482b370e6fafaf13a7 Mon Sep 17 00:00:00 2001 From: Armijn Hemel Date: Wed, 28 Jan 2009 17:16:27 +0000 Subject: pass intltool to new pidgin svn path=/nixpkgs/trunk/; revision=13898 --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'pkgs/top-level') diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 366a743d377e..8df2807e02d3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7835,7 +7835,7 @@ let pidgin = import ../applications/networking/instant-messengers/pidgin { inherit fetchurl stdenv pkgconfig perl perlXMLParser libxml2 nss - gtkspell aspell gettext ncurses avahi dbus dbus_glib lib; + gtkspell aspell gettext ncurses avahi dbus dbus_glib lib intltool; openssl = if (getConfig ["pidgin" "openssl"] true) then openssl else null; gnutls = if (getConfig ["pidgin" "gnutls"] false) then gnutls else null; GStreamer = gst_all.gstreamer; -- cgit 1.4.1 From b48cc44ebf28032d2a932ffc93e23d74b9561791 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 29 Jan 2009 15:44:37 +0000 Subject: * klibc: install statically linked binaries as well. * klibc: build against the regular kernel headers instead of depending on a kernel build. This way we don't have to rebuild klibc every time the kernel changes. * splashutils 1.3: compile properly with a klibc that uses unpatched kernel headers. svn path=/nixpkgs/trunk/; revision=13900 --- pkgs/os-specific/linux/klibc/default.nix | 40 +++++----- pkgs/os-specific/linux/splashutils/1.3.nix | 2 + .../linux/splashutils/no-fbsplash.patch | 88 ++++++++++++++++------ pkgs/top-level/all-packages.nix | 25 +++--- 4 files changed, 103 insertions(+), 52 deletions(-) (limited to 'pkgs/top-level') diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix index 024b1ffe9fa3..3a92c2f4d297 100644 --- a/pkgs/os-specific/linux/klibc/default.nix +++ b/pkgs/os-specific/linux/klibc/default.nix @@ -1,30 +1,34 @@ -{stdenv, fetchurl, perl, bison, mktemp, kernel - , version ? "1.5" - , sha256 ? "1izhf8kscjymsvsvhcqw9awnmp94vwv70zdj09srg9bkpjj0n017" - , subdir ? "" - , addPreBuild ? "" -}: +{stdenv, fetchurl, perl, bison, mktemp, kernelHeaders}: assert stdenv.isLinux; +let version = "1.5"; in + stdenv.mkDerivation { name = "klibc-${version}"; - #builder = ./builder.sh; + + src = fetchurl { + url = "mirror://kernel/linux/libs/klibc/klibc-${version}.tar.bz2"; + sha256 = "1izhf8kscjymsvsvhcqw9awnmp94vwv70zdj09srg9bkpjj0n017"; + }; + makeFlags = ["V=1" "prefix=$out" "SHLIBDIR=$out/lib"]; + preBuild = '' makeFlags=$(eval "echo $makeFlags") - mkdir -p linux/include - cp -prd $kernel/lib/modules/*/build/include/* linux/include/ + mkdir linux + cp -prsd ${kernelHeaders}/include linux/ chmod -R u+w linux/include/ - '' + addPreBuild; - src = fetchurl { - url = "mirror://kernel/linux/libs/klibc/${subdir}klibc-${version}.tar.bz2"; - inherit sha256; -# url = mirror://kernel/linux/libs/klibc/Testing/klibc-1.5.14.tar.bz2; -# sha256 = "1cmrqpgamnv2ns7dlxjm61zc88dxm4ff0aya413ij1lmhp2h2sfc"; - }; - inherit kernel; + ''; # */ + + # Install static binaries as well. + postInstall = '' + dir=$out/lib/klibc/bin.static + mkdir $dir + cp $(find $(find . -name static) -type f ! -name "*.g" -a ! -name ".*") $dir/ + cp usr/dash/sh $dir/ + ''; + buildInputs = [perl bison mktemp]; - #patches = [./install.patch]; } diff --git a/pkgs/os-specific/linux/splashutils/1.3.nix b/pkgs/os-specific/linux/splashutils/1.3.nix index 9775f66a1b79..51c53dd2a799 100644 --- a/pkgs/os-specific/linux/splashutils/1.3.nix +++ b/pkgs/os-specific/linux/splashutils/1.3.nix @@ -2,10 +2,12 @@ stdenv.mkDerivation { name = "splashutils-1.3"; + src = fetchurl { url = http://dev.gentoo.org/~spock/projects/splashutils/archive/splashutils-1.3.tar.bz2; md5 = "c7c92b98e34b860511aa57bd29d62f76"; }; + patches = [ ./purity.patch ./no-fbsplash.patch diff --git a/pkgs/os-specific/linux/splashutils/no-fbsplash.patch b/pkgs/os-specific/linux/splashutils/no-fbsplash.patch index a39fda6591c3..f83275ea84a1 100644 --- a/pkgs/os-specific/linux/splashutils/no-fbsplash.patch +++ b/pkgs/os-specific/linux/splashutils/no-fbsplash.patch @@ -1,21 +1,67 @@ -diff --git a/splash.h b/splash.h -index 5dccfe0..eae2939 100644 ---- a/splash.h -+++ b/splash.h -@@ -30,10 +30,14 @@ #endif - */ - #ifdef TARGET_KERNEL - #include -- #include -+ #ifdef CONFIG_FBSPLASH -+ #include -+ #endif - #else - #include -- #include -+ #ifdef CONFIG_FBSPLASH -+ #include -+ #endif - #endif - - /* +diff -rc splashutils-1.3-orig/splash.h splashutils-1.3/splash.h +*** splashutils-1.3-orig/splash.h 2006-07-15 00:02:23.000000000 +0200 +--- splashutils-1.3/splash.h 2009-01-29 16:41:00.000000000 +0100 +*************** +*** 21,40 **** + */ + #ifdef TARGET_KERNEL + #include +- #include + #else + #include +- #include + #endif + + /* + * Necessary to avoid compilation errors when fbsplash support is + * disabled. + */ +- #if !defined(CONFIG_FBSPLASH) + #define FB_SPLASH_IO_ORIG_USER 0 + #define FB_SPLASH_IO_ORIG_KERNEL 1 +! #endif + + /* + * Adjustable settings +--- 21,60 ---- + */ + #ifdef TARGET_KERNEL + #include + #else + #include + #endif + + /* + * Necessary to avoid compilation errors when fbsplash support is + * disabled. + */ + #define FB_SPLASH_IO_ORIG_USER 0 + #define FB_SPLASH_IO_ORIG_KERNEL 1 +! +! #define FBIOSPLASH_SETCFG _IOWR('F', 0x19, struct fb_splash_iowrapper) +! #define FBIOSPLASH_GETCFG _IOR('F', 0x1A, struct fb_splash_iowrapper) +! #define FBIOSPLASH_SETSTATE _IOWR('F', 0x1B, struct fb_splash_iowrapper) +! #define FBIOSPLASH_GETSTATE _IOR('F', 0x1C, struct fb_splash_iowrapper) +! #define FBIOSPLASH_SETPIC _IOWR('F', 0x1D, struct fb_splash_iowrapper) +! +! #define FB_SPLASH_THEME_LEN 128 /* Maximum lenght of a theme name */ +! +! struct fb_splash_iowrapper +! { +! unsigned short vc; /* Virtual console */ +! unsigned char origin; /* Point of origin of the request */ +! void *data; +! }; +! +! /* A structure used by the framebuffer splash code (drivers/video/fbsplash.c) */ +! struct vc_splash { +! __u8 bg_color; /* The color that is to be treated as transparent */ +! __u8 state; /* Current splash state: 0 = off, 1 = on */ +! __u16 tx, ty; /* Top left corner coordinates of the text field */ +! __u16 twidth, theight; /* Width and height of the text field */ +! char* theme; +! }; + + /* + * Adjustable settings +Only in splashutils-1.3/: splash.h~ diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 8df2807e02d3..412c201a522b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6213,7 +6213,7 @@ let "# CONFIG_PROC_MM_DUMPABLE is not set\n"; } { name = "fbsplash-0.9.2-r5-2.6.21"; - patch = fetchurl { + patch = fetchurl { # !!! missing! url = http://dev.gentoo.org/~dsd/genpatches/trunk/2.6.21/4200_fbsplash-0.9.2-r5.patch; sha256 = "00s8074fzsly2zpir885zqkvq267qyzg6vhsn7n1z2v1z78avxd8"; }; @@ -6227,7 +6227,7 @@ let kernelPatches = [ { name = "fbsplash-0.9.2-r5-2.6.21"; patch = fetchurl { - url = http://dev.gentoo.org/~dsd/genpatches/trunk/2.6.22/4200_fbsplash-0.9.2-r5.patch; + url = http://nixos.org/tarballs/4200_fbsplash-0.9.2-r5.patch; sha256 = "0822wwlf2dqsap5qslnnp0yl1nbvvvb76l73w2dd8zsyn0bqg3px"; }; extraConfig = "CONFIG_FB_SPLASH=y"; @@ -6261,7 +6261,7 @@ let */ { name = "fbsplash-0.9.2-r5-2.6.21"; patch = fetchurl { - url = http://dev.gentoo.org/~dsd/genpatches/trunk/2.6.22/4200_fbsplash-0.9.2-r5.patch; + url = http://nixos.org/tarballs/4200_fbsplash-0.9.2-r5.patch; sha256 = "0822wwlf2dqsap5qslnnp0yl1nbvvvb76l73w2dd8zsyn0bqg3px"; }; extraConfig = "CONFIG_FB_SPLASH=y"; @@ -6415,16 +6415,6 @@ let inherit kernel; }; - # Actually, klibc builds fine with the static kernelHeaders, but - # splashutils expects a klibc with patched headers... - klibc = composedArgsAndFun (import ../os-specific/linux/klibc) { - inherit fetchurl stdenv perl bison mktemp kernel; - }; - - klibcShrunk = composedArgsAndFun (import ../os-specific/linux/klibc/shrunk.nix) { - inherit stdenv klibc; - }; - splashutils = if kernel.features ? fbSplash then splashutils_13 else if kernel.features ? fbConDecor && system != "x86_64-linux" then splashutils_15 else @@ -6530,6 +6520,15 @@ let inherit fetchurl stdenv bison flex perl; }; + klibc = composedArgsAndFun (import ../os-specific/linux/klibc) { + inherit fetchurl stdenv perl bison mktemp; + kernelHeaders = glibc.kernelHeaders; + }; + + klibcShrunk = composedArgsAndFun (import ../os-specific/linux/klibc/shrunk.nix) { + inherit stdenv klibc; + }; + kvm = kvm76; kvm57 = import ../os-specific/linux/kvm/57.nix { -- cgit 1.4.1 From edc5cdaf98c7f1e5965bf99ed1529f95a76ce5a5 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 29 Jan 2009 15:56:01 +0000 Subject: * splashutils_13 / splashutils_15: these don't depend on the kernel version. * Add klibc and splashutils to the channel. svn path=/nixpkgs/trunk/; revision=13901 --- pkgs/top-level/all-packages.nix | 24 ++++++++++++------------ pkgs/top-level/build-for-release.nix | 13 +++---------- 2 files changed, 15 insertions(+), 22 deletions(-) (limited to 'pkgs/top-level') diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 412c201a522b..4a514450f327 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6420,18 +6420,6 @@ let if kernel.features ? fbConDecor && system != "x86_64-linux" then splashutils_15 else null; - splashutils_13 = import ../os-specific/linux/splashutils/1.3.nix { - inherit fetchurl stdenv klibc; - zlib = zlibStatic; - libjpeg = libjpegStatic; - }; - - splashutils_15 = import ../os-specific/linux/splashutils/1.5.nix { - inherit fetchurl stdenv klibc; - zlib = zlibStatic; - libjpeg = libjpegStatic; - }; - ext3cowtools = import ../os-specific/linux/ext3cow-tools { inherit stdenv fetchurl; kernel_ext3cowpatched = kernel; @@ -6678,6 +6666,18 @@ let inherit fetchurl stdenv; }; + splashutils_13 = import ../os-specific/linux/splashutils/1.3.nix { + inherit fetchurl stdenv klibc; + zlib = zlibStatic; + libjpeg = libjpegStatic; + }; + + splashutils_15 = import ../os-specific/linux/splashutils/1.5.nix { + inherit fetchurl stdenv klibc; + zlib = zlibStatic; + libjpeg = libjpegStatic; + }; + squashfsTools = import ../os-specific/linux/squashfs { inherit fetchurl stdenv zlib; }; diff --git a/pkgs/top-level/build-for-release.nix b/pkgs/top-level/build-for-release.nix index 884a22a0e08b..75d35134b759 100644 --- a/pkgs/top-level/build-for-release.nix +++ b/pkgs/top-level/build-for-release.nix @@ -98,6 +98,7 @@ let kbd kcachegrind kdebase + klibc ktorrent kvm less @@ -160,6 +161,8 @@ let seccure slim spidermonkey + splashutils_13 + splashutils_15 ssmtp strace su @@ -242,36 +245,26 @@ let inherit (pkgs.kernelPackages_2_6_23) iwlwifi kernel - klibc - splashutils ; }; kernelPackages_2_6_25 = pkgs.recurseIntoAttrs { inherit (pkgs.kernelPackages_2_6_25) kernel - klibc -# splashutils ; }; kernelPackages_2_6_26 = pkgs.recurseIntoAttrs { inherit (pkgs.kernelPackages_2_6_26) kernel - klibc -# splashutils ; }; kernelPackages_2_6_27 = pkgs.recurseIntoAttrs { inherit (pkgs.kernelPackages_2_6_27) kernel - klibc -# splashutils ; }; kernelPackages_2_6_28 = pkgs.recurseIntoAttrs { inherit (pkgs.kernelPackages_2_6_28) kernel - klibc -# splashutils ; }; }; -- cgit 1.4.1