diff --git a/pkgs/applications/misc/procmail/default.nix b/pkgs/applications/misc/procmail/default.nix new file mode 100644 index 000000000000..b1d54ef5fc93 --- /dev/null +++ b/pkgs/applications/misc/procmail/default.nix @@ -0,0 +1,17 @@ +args: with args; stdenv.mkDerivation { + name="procmail-3.22"; + buildInputs = [stdenv.gcc.libc]; + installPhase = " + ensureDir \$out/bin + find . -exec sed -e \"s%^RM[ \\t]*=%RM=`type -f rm | awk '{print $3;}'`%\" -i '{}' ';' + sed -e 's%\\(LDFLAGS = \$(LDFLAGS1) -lnsl -ldl -lc\\)%\\1 -m%' -i src/Makefile + sed -e \"s%^BASENAME.*%\BASENAME=$out%\" -i Makefile + make DESTDIR=\$out install + "; + phases ="installPhase"; + src = fetchurl { + url = ftp://ftp.fu-berlin.de/pub/unix/mail/procmail/procmail-3.22.tar.gz; + sha256 = "05z1c803n5cppkcq99vkyd5myff904lf9sdgynfqngfk9nrpaz08"; + }; + o=62; +} diff --git a/pkgs/applications/misc/pstree/default.nix b/pkgs/applications/misc/pstree/default.nix new file mode 100644 index 000000000000..c59148e854e4 --- /dev/null +++ b/pkgs/applications/misc/pstree/default.nix @@ -0,0 +1,22 @@ +args: +args.stdenv.mkDerivation { + name = "pstree-2.31"; + + src = args.fetchurl { + url = http://fresh.t-systems-sfr.com/unix/src/misc/pstree-2.31.tar.gz; + sha256 = "1zzz29gsyra8csk54cyq0pcdxxg3l4gmksq8q1skv2z84g2yxdhh"; + }; + + unpackPhase="unpackFile \$src; sourceRoot=."; + #buildInputs =(with args; []); + + buildPhase="pwd; gcc -o pstree pstree.c"; + installPhase="ensureDir \$out/bin; cp pstree \$out/bin"; + + meta = { + description = "show the running processes as tree"; + # don't know the correct homepage.. + homepage = http://fresh.t-systems-sfr.com/unix/src/misc/pstree-2.31.tar.gz; + license = "GPL"; + }; +} diff --git a/pkgs/applications/networking/msmtp/default.nix b/pkgs/applications/networking/msmtp/default.nix new file mode 100644 index 000000000000..523620a403e0 --- /dev/null +++ b/pkgs/applications/networking/msmtp/default.nix @@ -0,0 +1,17 @@ +args: +args.stdenv.mkDerivation { + name = "msmtp-1.4.13"; + + src = args.fetchurl { + url = http://dfn.dl.sourceforge.net/sourceforge/msmtp/msmtp-1.4.13.tar.bz2; + sha256 = "1x8q8dhcpnjym3icz6070l13hz98fvdvgc5j5psj4pmxbswx0r4p"; + }; + + buildInputs =(with args; []); + + meta = { + description = "a MUA"; + homepage = http://msmtp.sourceforge.net/; + license = "GPL"; + }; +} diff --git a/pkgs/applications/window-managers/wmii/default.nix b/pkgs/applications/window-managers/wmii/default.nix index faeb8d0640a8..f00df902a868 100644 --- a/pkgs/applications/window-managers/wmii/default.nix +++ b/pkgs/applications/window-managers/wmii/default.nix @@ -1,15 +1,29 @@ -{ stdenv, fetchurl, libixp, x11, gawk}: +args: with args; stdenv.mkDerivation { + name = "wmii-20070516"; -stdenv.mkDerivation { - name = "wmii-snap20070304"; - description = "a really nice window manager which can be entirely driven by keyboard"; - homepage = "http://www.suckless.org/wiki/wmii/"; - builder = ./builder.sh; src = fetchurl { - url = http://www.suckless.org/snaps/wmii-snap20070304.tgz; - sha256 = "06dd2e58c5cbb4adb9a8ba9cb8f19625a15df99b8ab7adec7ddc5844260e6a05"; + url = http://www.suckless.org/snaps/wmii-snap20070304.tgz; + sha256 = "01ba1qk48n6wgpnavdwakgwmv895jvqvi75sm2wsvd6bqmc2xp86"; }; - buildInputs = [ libixp ]; - propagatedBuildInputs = [ x11 ]; - inherit gawk; + + buildInputs = [ libX11 libixp ]; + inherit libixp; + + phases = "installPhase"; + + installPhase = " + export CFLAGS=\$NIX_CFLAGS_COMPILE + export LDFLAGS\=$(echo \$NIX_LDFLAGS | sed -e 's/-rpath/-L/g') + sed -i -e \"s%^PREFIX.*%PREFIX=\$out%\" \\ + -e \"s%^\\(INCS.*\\)%\\1 \$NIX_CFLAGS_COMPILE%\" \\ + -e \"s%^\\(LIBS.*\\)%\\1 \$LDFLAGS%\" \\ + config.mk + # don't use the default one installed by nixos! + sed -i -e \"s%ixpc%\$libixp/bin/ixpc%\" wmiir + make install + "; + meta = { homepage = "www.suckless.org"; + description = "a really cool window manager which can by driven by keyboard only"; + license="MIT"; + }; } diff --git a/pkgs/applications/window-managers/wmii31/default.nix b/pkgs/applications/window-managers/wmii31/default.nix new file mode 100644 index 000000000000..eb018716a22d --- /dev/null +++ b/pkgs/applications/window-managers/wmii31/default.nix @@ -0,0 +1,35 @@ +args: with args; stdenv.mkDerivation { + name = "wmiimenu-3.1"; + + src = fetchurl { + url = http://suckless.org/download/wmii-3.1.tar.gz; + sha256 = "0sviwxbanpsfdm55zvx9hflncw35slkz41xr517y3yfgxx6qlhlk"; + }; + + buildInputs = [ libX11 libixp ]; + inherit libixp; + + phases = "installPhase"; + + installPhase = " + export CFLAGS=\$NIX_CFLAGS_COMPILE + export LDFLAGS\=$(echo \$NIX_LDFLAGS | sed -e 's/-rpath/-L/g') + sed -i -e \"s%^PREFIX.*%PREFIX=\$out%\" \\ + -e \"s%^\\(INCS.*\\)%\\1 \$NIX_CFLAGS_COMPILE%\" \\ + -e \"s%^\\(LIBS.*\\)%\\1 \$LDFLAGS%\" \\ + config.mk + # don't use the default one installed by nixos! + # sed -i -e \"s%ixpc%\$libixp/bin/ixpc%\" wmiir + + # This will fail but wmiimenu has been built (hack!) + set +e + make &> /dev/null + set -e + ensureDir \$out/bin + cp cmd/wmiimenu \$out/bin + "; + meta = { homepage = "www.suckless.org"; + description = "one small tool of the wmii window manger to let the user select an item from a list by filtering.."; + license="MIT"; + }; +} diff --git a/pkgs/development/libraries/libixp_for_wmii/default.nix b/pkgs/development/libraries/libixp_for_wmii/default.nix new file mode 100644 index 000000000000..7461f76d2350 --- /dev/null +++ b/pkgs/development/libraries/libixp_for_wmii/default.nix @@ -0,0 +1,18 @@ +args: with args; +stdenv.mkDerivation { + name = "libixp_for_wmii"; + phases = "installPhase"; + installPhase = " + + export LDFLAGS\=$(echo \$NIX_LDFLAGS | sed -e 's/-rpath/-L/g') + sed -i -e \"s%^PREFIX.*%PREFIX=\$out%\" \\ + -e \"s%^\\(INCLUDE.*\\)%\\1 \$NIX_CFLAGS_COMPILE%\" \\ + -e \"s%^\\(LIBS.*\\)%\\1 \$LDFLAGS%\" \\ + config.mk + make install + "; + src = fetchurl { + url = http://www.suckless.org/snaps/libixp-20070220.tar.gz; + sha256 = "0bhqgrxp0lnwyf3c9165nldyw300mifyh0mlyfg1i5qr54rk7p79"; + }; +} diff --git a/pkgs/development/tools/misc/uisp/default.nix b/pkgs/development/tools/misc/uisp/default.nix new file mode 100644 index 000000000000..c6810939dd4a --- /dev/null +++ b/pkgs/development/tools/misc/uisp/default.nix @@ -0,0 +1,19 @@ +args: +args.stdenv.mkDerivation { + name = "uisp-20050207"; + + configureFlags="--disable-dependency-tracking"; + + src = args.fetchurl { + url = http://mirror.switch.ch/mirror/gentoo/distfiles/uisp-20050207.tar.gz; + sha256 = "1bncxp5yxh9r1yrp04vvhfiva8livi1pwic7v8xj99q09zrwahvw"; + }; + + #buildInputs =(with args; []); + + meta = { + description = "tool for AVR microcontrollers which can interface to many hardware in-system programmers"; + license = "GPL-2"; + homepage = http://savannah.nongnu.org/projects/uisp; + }; +} diff --git a/pkgs/misc/gxemul/default.nix b/pkgs/misc/gxemul/default.nix new file mode 100644 index 000000000000..e7fdc96d32ed --- /dev/null +++ b/pkgs/misc/gxemul/default.nix @@ -0,0 +1,34 @@ +args: with args.lib; with args; +let + name="gxemul-0.4.6"; + co = chooseOptionsByFlags { + inherit args; + flagDescr = { + mandatory = { install = "ensureDir \$out/bin; cp gxemul \$out/bin;"; }; + doc = { install = "ensureDir \$out/share/${name}; cp -r doc \$out/share/${name};"; implies = "man"; }; + demos = { install = "ensureDir \$out/share/${name}; cp -r demos \$out/share/${name};"; }; + man = { install = "cp -r ./man \$out/;";}; + }; + optionals = ["libX11"]; + defaultFlags = [ "demos" "doc" ]; + }; +in args.stdenv.mkDerivation { + + inherit name; + inherit (co) /* flags */ buildInputs configureFlags; + + src = fetchurl { + url = http://gavare.se/gxemul/src/gxemul-0.4.6.tar.gz; + sha256 = "0hf3gi6hfd2qr5090zimfiddcjgank2q6m7dfsr81wwpxfbhb2z3"; + }; + + configurePhase="./configure"; + + installPhase = concatStrings ( catAttrs "install" co.flatOptions ); + + meta = { + license = "BSD"; + description = "A Machine Emulator, Mainly emulates MIPS, but supports other CPU type"; + homepage = http://gavare.se/gxemul/; + }; +} diff --git a/pkgs/os-specific/linux/kernel/acerhk/builder.sh b/pkgs/os-specific/linux/kernel/acerhk/builder.sh new file mode 100644 index 000000000000..c9a2cbf4f13b --- /dev/null +++ b/pkgs/os-specific/linux/kernel/acerhk/builder.sh @@ -0,0 +1,45 @@ +source $stdenv/setup + +unpackPhase(){ + sourceRoot=. +} + +buildPhase(){ + # it's not possible to unpack only one directory, is it ? :( + # The linux folks should start using 7zip + #unpackFile $kernel + ln -s /tmp/linux-2.6.21.7/ . + #mv linux* /tmp + ensureDir orig/drivers/ + ensureDir patched/drivers/ + cp -r linux-*/drivers/misc orig/drivers + cp -r linux-*/drivers/misc patched/drivers + + unpackFile $acerhk + mv acerhk* patched/drivers/misc/acerhk + if test -n debug; then + sed -i -e 's/.*define ACERDEBUG.*/#define ACERDEBUG/' patched/drivers/misc/acerhk/acerhk.c + fi + +cat > ./sedscript << EOF +/menu/a config ACERHK\\ + tristate "Acerhk driver"\\ + depends on EXPERIMENTAL\\ + default m\\ + ---help---\\ + This is an experimental acer keyboard driver for\\ + acer laptops\\ +EOF + sed -i -f ./sedscript patched/drivers/misc/Kconfig + echo 'obj-$(CONFIG_ACERHK) += acerhk/' >> patched/drivers/misc/Makefile + + set +e + diff -urN orig patched > diff + set -e + ensureDir $out + tar jcf ${out}/acerhk-patch.tar.bz2 diff +} + + +phases="buildPhase"; +genericBuild diff --git a/pkgs/os-specific/linux/kernel/acerhk/default.nix b/pkgs/os-specific/linux/kernel/acerhk/default.nix new file mode 100644 index 000000000000..577d0f51027b --- /dev/null +++ b/pkgs/os-specific/linux/kernel/acerhk/default.nix @@ -0,0 +1,20 @@ +args: +args.stdenv.mkDerivation { + name = "acerhk_kernel_patch-0.5.35"; + kernel = args.kernel.src; + inherit (args) debug; + acerhk = args.fetchurl { + url = http://mirror.switch.ch/mirror/gentoo/distfiles/acerhk-0.5.35.tar.bz2; + sha256 = "1kg002qraa8vha2cgza3z74d9j46g180g5b44zbv64dsa9n2j4b0"; + }; + + buildInputs =(with args; [gnupatch]); + + builder = ./builder.sh; + + meta = { + description = "Hotkey driver for some Acer"; + homepage = http://www.cakey.de/acerhk/; + license = "GPL-2"; + }; +} diff --git a/pkgs/os-specific/linux/radeontools/default.nix b/pkgs/os-specific/linux/radeontools/default.nix new file mode 100644 index 000000000000..67d6cc4575fa --- /dev/null +++ b/pkgs/os-specific/linux/radeontools/default.nix @@ -0,0 +1,31 @@ +args: +args.stdenv.mkDerivation { + name = "radeontool-1.5"; + + inherit (args) pciutils; + + # Don't know wether it's a good idea to hardcode the lspci path.. + # But it will work on nix.. + postUnpack = " + cd $sourceRoot; + sed -i \"s%lspci%\$pciutils/sbin/lspci%g\" radeontool.c + cd .. + "; + + src = args.fetchurl { + url = http://fdd.com/software/radeon/radeontool-1.5.tar.gz; + sha256 = "0qbkawhhq0y0gqbbql7q04y0v0hims5c4jkjsbc1y03rf9kr10ar"; + }; + + installPhase = " + ensureDir \$out/bin + chmod +x lightwatch.pl + cp radeontool lightwatch.pl \$out/bin + "; + + meta = { + description = "Control the backlight and external video output of ATI Radeon Mobility graphics cards"; + homepage = http://fdd.com/software/radeon/; + license = "ZLIB"; + }; +} diff --git a/pkgs/os-specific/linux/reiserfsprogs/default.nix b/pkgs/os-specific/linux/reiserfsprogs/default.nix new file mode 100644 index 000000000000..49d018175d2c --- /dev/null +++ b/pkgs/os-specific/linux/reiserfsprogs/default.nix @@ -0,0 +1,15 @@ +args: with args; + +stdenv.mkDerivation { + name = "reiserfsprogs-3.6.19"; + src = fetchurl { + url = ftp://ftp.namesys.com/pub/reiserfsprogs/reiserfsprogs-3.6.19.tar.gz; + sha256 = "1gv8gr0l5l2j52540y2wj9c9h7fn0r3vabykf95748ydmr9jr1n0"; + }; + + homepage=http://www.namesys.com/; + + description="Reiserfs Utilities"; + + license="GPL-2"; +} diff --git a/pkgs/os-specific/linux/uml-utilities/default.nix b/pkgs/os-specific/linux/uml-utilities/default.nix index 4b01ad912534..108f87a424aa 100644 --- a/pkgs/os-specific/linux/uml-utilities/default.nix +++ b/pkgs/os-specific/linux/uml-utilities/default.nix @@ -1,6 +1,8 @@ -{stdenv, fetchurl}: +{stdenv, fetchurl, kernelHeaders , tunctl ? false}: stdenv.mkDerivation { + inherit tunctl; + buildInputs = if tunctl then kernelHeaders else null; name = "uml-utilities-20040114"; builder = ./builder.sh; src = fetchurl { diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix new file mode 100644 index 000000000000..7b3cd59ba6c8 --- /dev/null +++ b/pkgs/tools/networking/dnsmasq/default.nix @@ -0,0 +1,19 @@ +args: +args.stdenv.mkDerivation { + name = "dnsmasq-2.40"; + + src = args.fetchurl { + url = http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.40.tar.gz; + sha256 = "1q346l403rvvmvr14fk2l201p8fl3p5417vkp95zlx00jdb7hl8n"; + }; + + installPhase = "ensureDir \$out; make DESTDIR=\$out PREFIX=ôônstall"; + + buildInputs =(with args; []); + + meta = { + description = "DNS forwarder and DHCP server"; + homepage = http://www.thekelleys.org.uk/dnsmasq/doc.html; + license = "GPL"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2fc4e33bb6a2..6b294dfd215d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -224,6 +224,11 @@ rec { sshSupport = true; }; + # TODO do some testing + fetchhg = import ../build-support/fetchhg { + inherit stdenv mercurial nix; + }; + # Allow the stdenv to determine fetchurl, to cater for strange # requirements. fetchurl = useFromStdenv (stdenv ? fetchurl) stdenv.fetchurl @@ -326,6 +331,11 @@ rec { curl = if stdenv ? curl then stdenv.curl else (assert false; null); + dnsmasq = import ../tools/networking/dnsmasq { + # TODO i18n can be installed as well, implement it? + inherit fetchurl stdenv; + }; + dhcp = import ../tools/networking/dhcp { inherit fetchurl stdenv groff nettools coreutils iputils gnused bash; }; @@ -1121,6 +1131,10 @@ rec { inherit fetchurl stdenv perl autoconf; }; + avrdude = import ../development/tools/misc/avrdude { + inherit lib fetchurl stdenv flex yacc; + }; + binutils = useFromStdenv (stdenv ? binutils) stdenv.binutils (import ../development/tools/misc/binutils { inherit fetchurl stdenv noSysDirs; @@ -1270,6 +1284,10 @@ rec { inherit fetchurl stdenv ncurses; }; + uisp = import ../development/tools/misc/uisp { + inherit fetchurl stdenv; + }; + uuagc = import ../development/tools/haskell/uuagc { inherit fetchurl stdenv; ghc = ghc66; @@ -1428,6 +1446,7 @@ rec { inherit fetchurl stdenv; }; + # commented out because it's using the new configuration style proposal which is unstable # needs some testing .. #fltk20 = (import ../development/libraries/fltk) { @@ -1760,6 +1779,10 @@ rec { inherit fetchurl stdenv; }; + libixp_for_wmii = lowPrio (import ../development/libraries/libixp_for_wmii { + inherit fetchurl stdenv; + }); + mesaSupported = system == "i686-linux" || system == "x86_64-linux"; @@ -2410,6 +2433,12 @@ rec { ### OS-SPECIFIC + # this creates a patch which can be applied to the kernel to integrate this module.. + kernel_module_acerhk = import ../os-specific/linux/kernel/acerhk { + inherit fetchurl stdenv gnupatch; + kernel = kernel_2_6_21; + debug = true; + }; _915resolution = import ../os-specific/linux/915resolution { inherit fetchurl stdenv; @@ -2592,6 +2621,14 @@ rec { "CONFIG_EXT3COW_FS_POSIX_ACL=y\n" + "CONFIG_EXT3COW_FS_SECURITY=y\n"; } + /* commented out because only acer users have need for it.. + It takes quite a while to create the patch when unpacking the kernel sources only for that task + { name = "acerhk"; + patch = kernel_module_acerhk + "/acerhk-patch.tar.bz2" ; + extraConfig = + "CONFIG_ACERHK=m\n"; + } + */ { name = "paravirt-nvidia"; patch = ../os-specific/linux/kernel/2.6.20-paravirt-nvidia.patch; } @@ -2788,6 +2825,15 @@ rec { inherit fetchurl stdenv pam openssl libnscd; }; + reiserfsprogs = import ../os-specific/linux/reiserfsprogs { + inherit fetchurl stdenv; + }; + + radeontools = import ../os-specific/linux/radeontools { + inherit pciutils; + inherit fetchurl stdenv; + }; + shadowutils = import ../os-specific/linux/shadow { inherit fetchurl stdenv; }; @@ -2833,7 +2879,8 @@ rec { }; umlutilities = import ../os-specific/linux/uml-utilities { - inherit fetchurl stdenv; + inherit fetchurl kernelHeaders stdenv; + tunctl = true; }; upstart = import ../os-specific/linux/upstart { @@ -2962,6 +3009,11 @@ rec { inherit fetchurl stdenv unzip; }; + # commented out because it's using the new configuration style proposal which is unstable + #biew = import ../applications/misc/biew { + # inherit lib stdenv fetchurl ncurses; + #}; + bmp = import ../applications/audio/bmp { inherit fetchurl stdenv pkgconfig libogg libvorbis alsaLib id3lib; inherit (gnome) esound libglade; @@ -3088,6 +3140,10 @@ rec { xftSupport = true; }; + fetchmail = import ../applications/misc/fetchmail { + inherit stdenv fetchurl; + }; + wireshark = import ../applications/networking/sniffers/wireshark { inherit fetchurl stdenv perl pkgconfig libpcap; inherit (gtkLibs) gtk; @@ -3279,6 +3335,10 @@ rec { inherit fetchurl stdenv ncurses which openssl; }; + msmtp = import ../applications/networking/msmtp { + inherit fetchurl stdenv; + }; + mythtv = import ../applications/video/mythtv { inherit fetchurl stdenv which qt3 x11 lame zlib mesa; inherit (xlibs) libX11 libXinerama libXv libXxf86vm libXrandr libXmu; @@ -3335,6 +3395,16 @@ rec { inherit fetchurl stdenv ncurses; }; + # perhaps there are better apps for this task? It's how I had configured my preivous system. + # And I don't want to rewrite all rules + procmail = import ../applications/misc/procmail { + inherit fetchurl stdenv autoconf; + }; + + pstree = import ../applications/misc/pstree { + inherit stdenv fetchurl; + }; + pythonmagick = import ../applications/graphics/PythonMagick { inherit fetchurl stdenv pkgconfig imagemagick boost; python = python25; @@ -3467,9 +3537,17 @@ rec { inherit (gtkLibs1x) gdkpixbuf; }; - wmii = import ../applications/window-managers/wmii { + # I'm keen on wmiimenu only >wmii-3.5 no longer has it... + wmiimenu = import ../applications/window-managers/wmii31 { libixp = libixp03; - inherit fetchurl stdenv x11 gawk; + inherit fetchurl /* fetchhg */ stdenv gawk; + inherit (xlibs) libX11; + }; + + wmiiSnap = import ../applications/window-managers/wmii { + libixp = libixp_for_wmii; + inherit fetchurl /* fetchhg */ stdenv gawk; + inherit (xlibs) libX11; }; wrapFirefox = firefox: import ../applications/networking/browsers/firefox-wrapper { @@ -3747,6 +3825,11 @@ rec { inherit fetchurl stdenv libjpeg libpng zlib x11; x11Support = true; })); + + #gxemul = (import ../misc/gxemul) { + #inherit lib stdenv fetchurl; + #inherit (xlibs) libX11; + #}; keynav = import ../tools/X11/keynav { inherit stdenv fetchurl;