diff options
Diffstat (limited to 'pkgs/tools/misc')
-rw-r--r-- | pkgs/tools/misc/debian-devscripts/default.nix | 36 | ||||
-rw-r--r-- | pkgs/tools/misc/debootstrap/default.nix | 122 | ||||
-rw-r--r-- | pkgs/tools/misc/file/default.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/misc/grub/2.0x.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/misc/grub/fix-bash-completion.patch | 24 | ||||
-rw-r--r-- | pkgs/tools/misc/gsmartcontrol/default.nix | 23 | ||||
-rw-r--r-- | pkgs/tools/misc/jdiskreport/builder.sh | 9 | ||||
-rw-r--r-- | pkgs/tools/misc/jdiskreport/default.nix | 14 | ||||
-rw-r--r-- | pkgs/tools/misc/picocom/default.nix | 23 | ||||
-rw-r--r-- | pkgs/tools/misc/plowshare/default.nix | 12 | ||||
-rw-r--r-- | pkgs/tools/misc/refind/default.nix | 8 | ||||
-rw-r--r-- | pkgs/tools/misc/screen/default.nix | 6 | ||||
-rw-r--r-- | pkgs/tools/misc/testdisk/default.nix | 12 | ||||
-rw-r--r-- | pkgs/tools/misc/timidity/default.nix | 2 | ||||
-rw-r--r-- | pkgs/tools/misc/youtube-dl/default.nix | 6 |
15 files changed, 213 insertions, 88 deletions
diff --git a/pkgs/tools/misc/debian-devscripts/default.nix b/pkgs/tools/misc/debian-devscripts/default.nix new file mode 100644 index 000000000000..ddf30f342d15 --- /dev/null +++ b/pkgs/tools/misc/debian-devscripts/default.nix @@ -0,0 +1,36 @@ +{stdenv, fetchurl, perl, CryptSSLeay, LWP, unzip, xz, dpkg, TimeDate, DBFile + , FileDesktopEntry, libxslt, docbook_xsl, python, setuptools, makeWrapper +}: +stdenv.mkDerivation rec { + version = "2.12.4"; + name = "debian-devscripts-${version}"; + src = fetchurl { + url = "mirror://debian/pool/main/d/devscripts/devscripts_${version}.tar.gz"; + sha256 = "34bcbec78bd4fe34d9f1326b9d1477ff2410e20e2dca6b7bfbf2bf92dbb83904"; + }; + buildInputs = [ perl CryptSSLeay LWP unzip xz dpkg TimeDate DBFile + FileDesktopEntry libxslt python setuptools makeWrapper ]; + preConfigure = '' + export PERL5LIB="$PERL5LIB''${PERL5LIB:+:}${dpkg}"; + sed -e "s@/usr/share/sgml/[^ ]*/manpages/docbook.xsl@${docbook_xsl}/xml/xsl/docbook/manpages/docbook.xsl@" -i scripts/Makefile + sed -e 's/ translated_manpages//; s/--install-layout=deb//; s@--root="[^ ]*"@--prefix="'"$out"'"@' -i Makefile */Makefile + tgtpy="$out/lib/${python.libPrefix}/site-packages" + mkdir -p "$tgtpy" + export PYTHONPATH="$PYTHONPATH''${PYTHONPATH:+:}$tgtpy" + sed -re "s@/usr( |$|/)@$out\\1@" -i Makefile* */Makefile* + sed -re "s@/etc( |$|/)@$out/etc\\1@" -i Makefile* */Makefile* + ''; + postInstall = '' + sed -re 's@(^|[ !`"])/bin/bash@\1${stdenv.shell}@g' -i "$out/bin"/* + for i in "$out/bin"/*; do + wrapProgram "$i" \ + --prefix PERL5LIB : "$PERL5LIB" \ + --prefix PERL5LIB : "$out/share/devscripts" + done + ''; + meta = { + description = ''Debian package maintenance scripts''; + license = "GPL (various)"; # Mix of public domain, Artistic+GPL, GPL1+, GPL2+, GPL3+, and GPL2-only... + maintainers = with stdenv.lib.maintainers; [raskin]; + }; +} diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix index 33a1fc839ce0..388cfa14e41e 100644 --- a/pkgs/tools/misc/debootstrap/default.nix +++ b/pkgs/tools/misc/debootstrap/default.nix @@ -1,55 +1,65 @@ -{ stdenv, fetchurl, dpkg, gettext, gawk, perl, wget }: +{ stdenv, fetchurl, dpkg, gettext, gawk, perl, wget, coreutils, fakeroot }: let - devices = fetchurl { - url = mirror://gentoo/distfiles/devices.tar.gz; - sha256 = "0j4yhajmlgvbksr2ij0dm7jy3q52j3wzhx2fs5lh05i1icygk4qd"; +# USAGE like this: debootstrap sid /tmp/target-chroot-directory + +# There is also cdebootstrap now. Is that easier to maintain? + + makedev = stdenv.mkDerivation { + name = "makedev-for-debootstrap"; + src = fetchurl { + url = mirror://debian/pool/main/m/makedev/makedev_2.3.1.orig.tar.gz; + sha256 = "1yhxlj2mhn1nqkx1f0sn0bl898nf28arxxa4lgp7hdrb5cpp36c5"; + }; + patches = [ + (fetchurl { + url = "http://ftp.de.debian.org/debian/pool/main/m/makedev/makedev_2.3.1-89.diff.gz"; + sha256 = "1zbifw2jkq6471fb67y893nq4lq009xbfbi57jbjwxnhqmrppcy9"; + }) + ]; + # TODO install man + installPhase = '' + ensureDir $out/sbin + ls -l + t=$out/sbin/MAKEDEV + cp MAKEDEV $t + chmod +x $t + ''; }; in stdenv.mkDerivation { - name = "debootstrap-1.0.10lenny"; + + name = "debootstrap-1.0.42"; src = fetchurl { - # I'd like to use the source. However it's lacking the lanny script ? - url = mirror://debian/pool/main/d/debootstrap/debootstrap_1.0.10lenny1_all.deb; - sha256 = "a70af8e3369408ce9d6314fb5219de73f9523b347b75a3b07ee17ea92c445051"; + # git clone git://git.debian.org/d-i/debootstrap.git + # I'd like to use the source. However it's lacking the lanny script ? (still true?) + url = http://ftp.de.debian.org/debian/pool/main/d/debootstrap/debootstrap_1.0.42.tar.gz; + sha256 = "0a5azl22wz1q92b2c91zlpz6krd7wqyi63yk87vyczp363ml0nz0"; }; - + buildInputs = [ dpkg gettext gawk perl ]; - unpackPhase = '' - dpkg-deb --extract "$src" . - ''; - buildPhase = ":"; - patches = [ - # replace /usr/* and /sbin/* executables by @executable@ so that they can be replaced by substitute - # Be careful not to replace code being run in the debian chroot ! - ./subst.patch - ]; - - # from deb + # If you have to update the patch for functions a vim regex like this + # can help you identify which lines are used to write scripts on TARGET and + # which should /bin/ paths should be replaced: + # \<echo\>\|\/bin\/\|^\s*\<cat\>\|EOF\|END installPhase = '' - cp -r . $out; cd $out - t=bin/debootstrap - mkdir -p bin man/man8 - cat >> $t << EOF - #!/bin/sh - export DEBOOTSTRAP_DIR=$out/usr/share/debootstrap - # mount and other tools must be found in chroot. So add default debain paths! - # TODO only add paths which are required by the scripts! - export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - $out/usr/sbin/debootstrap "\$@" - EOF - chmod +x $t - mv usr/share/man/man8/debootstrap.8.gz man/man8 - set -x - for file in usr/share/debootstrap/functions usr/sbin/debootstrap; do + sed -i \ + -e 's@/usr/bin/id@id@' \ + -e 's@/usr/bin/dpkg@${dpkg}/bin/dpkg@' \ + -e 's@/usr/bin/sha@${coreutils}/bin/sha@' \ + -e 's@/bin/sha@${coreutils}/bin/sha@' \ + debootstrap + + + for file in functions debootstrap; do substituteInPlace "$file" \ --subst-var-by gunzip "$(type -p gunzip)" \ --subst-var-by bunzip "$(type -p bunzip)" \ @@ -61,28 +71,36 @@ stdenv.mkDerivation { --subst-var-by uname "$(type -p uname)" \ --subst-var-by wget "${wget}/bin/wget" done - ''; - /* build from source: - installPhase = '' - cp ${devices} devices.tar.gz - mkdir -p $out/{bin,man/man8}; - cp debootstrap.8 $out/man/man8 + sed -i \ - -e 's@-o root@@' \ - -e 's@-g root@@' \ - -e 's@chown@true@' \ - Makefile - make pkgdetails debootstrap-arch - make DESTDIR="''\${out}" install-arch - t=$out/bin/debootstrap - cat >> $t << EOF + -e 's@\<wget\>@${wget}/bin/wget@' \ + functions + + d=$out/share/debootstrap + ensureDir $out/{share/debootstrap,bin} + + ${fakeroot}/bin/fakeroot -- make devices.tar.gz MAKEDEV=${makedev}/sbin/MAKEDEV + + cp -r . $d + + cat >> $out/bin/debootstrap << EOF #!/bin/sh - DEBOOTSTRAP_DIR=$out/usr/share/debootstrap $out/usr/sbin/debootstrap "\$@" + export DEBOOTSTRAP_DIR="''${DEBOOTSTRAP_DIR:-$d}" + # mount and other tools must be found in chroot. So add default debain paths! + # TODO only add paths which are required by the scripts! + export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin + exec $d/debootstrap "\$@" EOF - chmod +x $t + chmod +x $out/bin/debootstrap + + ensureDir $out/man/man8 + mv debootstrap.8 $out/man/man8 ''; - */ + + passthru = { + inherit makedev; + }; meta = { description = "Tool to create a Debian system in a chroot"; diff --git a/pkgs/tools/misc/file/default.nix b/pkgs/tools/misc/file/default.nix index 4e62462b8b35..d7e88ec1a8cd 100644 --- a/pkgs/tools/misc/file/default.nix +++ b/pkgs/tools/misc/file/default.nix @@ -1,5 +1,5 @@ {stdenv, fetchurl, zlib}: - + stdenv.mkDerivation rec { name = "file-5.11"; diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix index e85e8de3dd84..fae10a10a2ea 100644 --- a/pkgs/tools/misc/grub/2.0x.nix +++ b/pkgs/tools/misc/grub/2.0x.nix @@ -55,6 +55,8 @@ stdenv.mkDerivation rec { -e "s|/usr/src/unifont.bdf|$PWD/unifont.bdf|g" ''; + patches = [ ./fix-bash-completion.patch ]; + configureFlags = let arch = if stdenv.system == "i686-linux" then "i386" else if stdenv.system == "x86_64-linux" then "x86_64" diff --git a/pkgs/tools/misc/grub/fix-bash-completion.patch b/pkgs/tools/misc/grub/fix-bash-completion.patch new file mode 100644 index 000000000000..97cecdce373f --- /dev/null +++ b/pkgs/tools/misc/grub/fix-bash-completion.patch @@ -0,0 +1,24 @@ +diff -ubr grub-2.00-orig/util/bash-completion.d/grub-completion.bash.in grub-2.00/util/bash-completion.d/grub-completion.bash.in +--- grub-2.00-orig/util/bash-completion.d/grub-completion.bash.in 2012-10-16 19:02:36.342733957 +0200 ++++ grub-2.00/util/bash-completion.d/grub-completion.bash.in 2012-10-16 19:04:48.262733941 +0200 +@@ -17,6 +17,12 @@ + # along with GRUB. If not, see <http://www.gnu.org/licenses/>. + # bash completion for grub + ++have() ++{ ++ unset -v have ++ _have $1 && have=yes ++} ++ + __grub_dir() { + local i c=1 boot_dir + +@@ -479,6 +485,7 @@ + have ${__grub_script_check_program} && \ + complete -F _grub_script_check -o filenames ${__grub_script_check_program} + ++unset -f have + + # Local variables: + # mode: shell-script diff --git a/pkgs/tools/misc/gsmartcontrol/default.nix b/pkgs/tools/misc/gsmartcontrol/default.nix new file mode 100644 index 000000000000..60003b3b5d53 --- /dev/null +++ b/pkgs/tools/misc/gsmartcontrol/default.nix @@ -0,0 +1,23 @@ +{ fetchurl, stdenv, smartmontools, gtk, gtkmm, libglademm, pkgconfig, pcre }: + +stdenv.mkDerivation rec { + version="0.8.7"; + name = "gsmartcontrol"; + + src = fetchurl { + url = "http://artificialtime.com/gsmartcontrol/gsmartcontrol-${version}.tar.bz2"; + sha256 = "1ipykzqpfvlr84j38hr7q2cag4imrn1gql10slp8bfrs4h1si3vh"; + }; + + buildInputs = [ smartmontools gtk gtkmm libglademm pkgconfig pcre ]; + + #installTargets = "install datainstall"; + + meta = { + description = "GSmartControl is a graphical user interface for smartctl (from smartmontools package), which is a tool for querying and controlling SMART (Self-Monitoring, Analysis, and Reporting Technology) data on modern hard disk drives."; + homepage = http://gsmartcontrol.berlios.de; + license = "GPLv2+"; + maintainers = with stdenv.lib.maintainers; [qknight]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/tools/misc/jdiskreport/builder.sh b/pkgs/tools/misc/jdiskreport/builder.sh index 1e73b674c157..cdc5f94bde0c 100644 --- a/pkgs/tools/misc/jdiskreport/builder.sh +++ b/pkgs/tools/misc/jdiskreport/builder.sh @@ -2,13 +2,14 @@ source $stdenv/setup unzip $src -mkdir -p $out/jars -mv */*.jar $out/jars -jar=$(ls $out/jars/jdiskreport-*.jar) +jar=$(ls */*.jar) + +mkdir -p $out/lib/java +mv $jar $out/lib/java mkdir -p $out/bin cat > $out/bin/jdiskreport <<EOF #! $SHELL -e -exec $jdk/bin/java -jar $jar +exec $jre/bin/java -jar $out/lib/java/$(basename $jar) EOF chmod +x $out/bin/jdiskreport diff --git a/pkgs/tools/misc/jdiskreport/default.nix b/pkgs/tools/misc/jdiskreport/default.nix index 7a4de418a8c3..2457668d5b02 100644 --- a/pkgs/tools/misc/jdiskreport/default.nix +++ b/pkgs/tools/misc/jdiskreport/default.nix @@ -1,22 +1,22 @@ -{ stdenv, fetchurl, unzip, jdk }: +{ stdenv, fetchurl, unzip, jre }: stdenv.mkDerivation rec { name = "jdiskreport-1.4.0"; - + builder = ./builder.sh; - + src = fetchurl { url = http://www.jgoodies.com/download/jdiskreport/jdiskreport-1_4_0.zip; sha256 = "0kx43480p89wlyza94lzqygqfafsdf964syc2c24q28y42psz4kd"; }; - + buildInputs = [ unzip ]; - - inherit jdk; + + inherit jre; meta = { homepage = http://www.jgoodies.com/freeware/jdiskreport/; description = "A graphical utility to visualize disk usage"; license = "unfree-redistributable"; - }; + }; } diff --git a/pkgs/tools/misc/picocom/default.nix b/pkgs/tools/misc/picocom/default.nix new file mode 100644 index 000000000000..bb08091ad57a --- /dev/null +++ b/pkgs/tools/misc/picocom/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl }: + +stdenv.mkDerivation rec { + name = "picocom-1.7"; + + src = fetchurl { + url = "http://picocom.googlecode.com/files/${name}.tar.gz"; + sha256 = "17hjq713naq02xar711aw24qqd52p591mj1h5n97cni1ga7irwyh"; + }; + + installPhase = '' + ensureDir $out/bin $out/share/man/man8 + cp picocom $out/bin + cp picocom.8 $out/share/man/man8 + ''; + + meta = { + description = "Minimal dumb-terminal emulation program"; + homepage = http://code.google.com/p/picocom/; + license = "GPLv2+"; + platforms = stdenv.lib.platforms.gnu; # arbitrary choice + }; +} diff --git a/pkgs/tools/misc/plowshare/default.nix b/pkgs/tools/misc/plowshare/default.nix index 5e684cfa377f..4634585cbd26 100644 --- a/pkgs/tools/misc/plowshare/default.nix +++ b/pkgs/tools/misc/plowshare/default.nix @@ -1,16 +1,14 @@ { stdenv, fetchurl, makeWrapper, curl }: -let +stdenv.mkDerivation rec { - v = "20120807"; + name = "plowshare-${version}"; -in stdenv.mkDerivation { - - name = "plowshare-git${v}"; + version = "20120916"; src = fetchurl { - url = "http://plowshare.googlecode.com/files/plowshare-snapshot-git${v}.tar.gz"; - sha256 = "0clryfssaa4rjvsy760p51ppq1275lwvhm9jh3g4mi973xv4n8si"; + url = "http://plowshare.googlecode.com/files/plowshare-snapshot-git${version}.tar.gz"; + sha256 = "eccdb28d49ac47782abc8614202b3a88426cd587371641ecf2ec008880dc6067"; }; buildInputs = [ makeWrapper ]; diff --git a/pkgs/tools/misc/refind/default.nix b/pkgs/tools/misc/refind/default.nix index bd0a7040adff..1fbb177afa06 100644 --- a/pkgs/tools/misc/refind/default.nix +++ b/pkgs/tools/misc/refind/default.nix @@ -1,22 +1,22 @@ { stdenv, fetchurl, gnu_efi, unzip }: -let version = "0.2.3"; in +let version = "0.4.5"; in stdenv.mkDerivation { name = "refind-${version}"; src = fetchurl { url = "mirror://sourceforge/refind/refind-src-${version}.zip"; - sha256 = "0q3p4mczr6wchk4vbgsb0cq7829vk3b3kg9qaizrb02pdak3s2nf"; + sha256 = "05nbalsl5csgph0v2amzgay9k2vzm47z8n1n6blbh9hvb7j5vn2c"; }; buildInputs = [ unzip ]; - buildFlags = [ "prefix=" "EFIINC=${gnu_efi}/include/efi" "GNUEFILIB=${gnu_efi}/lib" "EFILIB=${gnu_efi}/lib" "EFICRT0=${gnu_efi}/lib" ]; + buildFlags = [ "prefix=" "EFIINC=${gnu_efi}/include/efi" "GNUEFILIB=${gnu_efi}/lib" "EFILIB=${gnu_efi}/lib" "EFICRT0=${gnu_efi}/lib" "LOCAL_CFLAGS=-I${gnu_efi}/include" ]; installPhase = '' mkdir -pv $out - install -v -m644 refind/refind.efi refind.conf-sample $out + install -v -m644 refind/refind*.efi refind.conf-sample $out mv -v icons $out ''; diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix index 329754ab5f5f..930cd67bb135 100644 --- a/pkgs/tools/misc/screen/default.nix +++ b/pkgs/tools/misc/screen/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, ncurses}: +{ stdenv, fetchurl, ncurses, pam }: stdenv.mkDerivation rec { name = "screen-4.0.3"; @@ -9,11 +9,11 @@ stdenv.mkDerivation rec { }; preConfigure = '' - configureFlags="--enable-telnet --infodir=$out/share/info --mandir=$out/share/man" + configureFlags="--enable-telnet --enable-pam --infodir=$out/share/info --mandir=$out/share/man" sed -i -e "s|/usr/local|/non-existent|g" -e "s|/usr|/non-existent|g" configure Makefile.in */Makefile.in ''; - buildInputs = [ ncurses ]; + buildInputs = [ ncurses pam ]; doCheck = true; diff --git a/pkgs/tools/misc/testdisk/default.nix b/pkgs/tools/misc/testdisk/default.nix index fd9f45782940..6ccfea50482b 100644 --- a/pkgs/tools/misc/testdisk/default.nix +++ b/pkgs/tools/misc/testdisk/default.nix @@ -1,18 +1,18 @@ -{stdenv, fetchurl, ncurses, libjpeg, e2fsprogs, zlib, openssl}: +{stdenv, fetchurl, ncurses, libjpeg, e2fsprogs, zlib, openssl, libuuid}: stdenv.mkDerivation { - name = "testdisk-6.8"; + name = "testdisk-6.13"; src = fetchurl { - url = http://www.cgsecurity.org/testdisk-6.8.tar.bz2; - sha256 = "0cyqikcyi6zj671kkr8vydqskh2r7f3n1v3xks1vh1biaffqq2ir"; + url = http://www.cgsecurity.org/testdisk-6.13.tar.bz2; + sha256 = "087jrn41z3ymf1b6njl2bg99pr79v8l1f63f7rn5ni69vz6mq9s8"; }; - buildInputs = [ncurses libjpeg e2fsprogs zlib openssl]; + buildInputs = [ncurses libjpeg e2fsprogs zlib openssl libuuid]; meta = { homepage = http://www.cgsecurity.org/wiki/TestDisk; - license = "GPL"; + license = "GPLv2+"; longDescription = '' TestDisk is a program for data recovery, primarily designed to help recover lost partitions and/or make non-booting disks diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix index 4fae21250cac..89ff6f4677fc 100644 --- a/pkgs/tools/misc/timidity/default.nix +++ b/pkgs/tools/misc/timidity/default.nix @@ -7,7 +7,7 @@ composableDerivation.composableDerivation {} { name = "timidity-2.13.0"; src = fetchurl { - url = http://ovh.dl.sourceforge.net/sourceforge/timidity/TiMidity++-2.13.0.tar.bz2; + url = mirror://sourceforge/timidity/TiMidity++-2.13.0.tar.bz2; sha256 = "1jbmk0m375fh5nj2awqzns7pdjbi7dxpjdwcix04zipfcilppbmf"; }; diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index 0422383ed3bc..1fc5c08042cb 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -1,7 +1,7 @@ {stdenv, fetchgit, python}: let pkgname = "youtube-dl"; - pkgver = "2011.12.08"; + pkgver = "2012.09.27"; in stdenv.mkDerivation { @@ -9,8 +9,8 @@ stdenv.mkDerivation { src = fetchgit { url = "git://github.com/rg3/${pkgname}"; - rev = "661a807c65a154eccdddb875b45e4782ca86132c"; - sha256 = "32fd193b867b122400e9d5d32f6dfaf15704f837a9dc2ff809e1ce06712857ba"; + rev = "refs/tags/${pkgver}"; + sha256 = "a98f3339301324ddd6620f7b1353abed807cd8dea5586d6901d7fe69bc6a397c"; }; buildInputs = [python]; |