From d7b4a0e115bb46309706285e6005a64eae122568 Mon Sep 17 00:00:00 2001 From: aszlig Date: Mon, 14 Jul 2014 14:46:18 +0200 Subject: Move new packages from overrides/ into pkgs/. Those packages aren't actually overrides and thus it doesn't make sense to categorize them into "overrides". Signed-off-by: aszlig --- overrides/axbo/default.nix | 77 ------------------------- overrides/blop/default.nix | 16 ------ overrides/default.nix | 26 +-------- overrides/fish/default.nix | 43 -------------- overrides/gajim/0.16-pre.nix | 89 ----------------------------- overrides/gajim/config.patch | 80 -------------------------- overrides/kpatches/bfqsched.nix | 46 --------------- overrides/kpatches/bfqsched.patch | 13 ----- overrides/libcmt/default.nix | 25 -------- overrides/librxtx-java/default.nix | 29 ---------- overrides/lockdev/default.nix | 23 -------- overrides/nbxmpp/default.nix | 17 ------ overrides/pvolctrl/default.nix | 35 ------------ overrides/tkabber-urgent-plugin/default.nix | 26 --------- pkgs/axbo/default.nix | 77 +++++++++++++++++++++++++ pkgs/blop/default.nix | 16 ++++++ pkgs/default.nix | 25 ++++++++ pkgs/fish/default.nix | 43 ++++++++++++++ pkgs/gajim/0.16-pre.nix | 89 +++++++++++++++++++++++++++++ pkgs/gajim/config.patch | 80 ++++++++++++++++++++++++++ pkgs/kpatches/bfqsched.nix | 46 +++++++++++++++ pkgs/kpatches/bfqsched.patch | 13 +++++ pkgs/libcmt/default.nix | 25 ++++++++ pkgs/librxtx-java/default.nix | 29 ++++++++++ pkgs/lockdev/default.nix | 23 ++++++++ pkgs/nbxmpp/default.nix | 17 ++++++ pkgs/pvolctrl/default.nix | 35 ++++++++++++ pkgs/tkabber-urgent-plugin/default.nix | 26 +++++++++ 28 files changed, 546 insertions(+), 543 deletions(-) delete mode 100644 overrides/axbo/default.nix delete mode 100644 overrides/blop/default.nix delete mode 100644 overrides/fish/default.nix delete mode 100644 overrides/gajim/0.16-pre.nix delete mode 100644 overrides/gajim/config.patch delete mode 100644 overrides/kpatches/bfqsched.nix delete mode 100644 overrides/kpatches/bfqsched.patch delete mode 100644 overrides/libcmt/default.nix delete mode 100644 overrides/librxtx-java/default.nix delete mode 100644 overrides/lockdev/default.nix delete mode 100644 overrides/nbxmpp/default.nix delete mode 100644 overrides/pvolctrl/default.nix delete mode 100644 overrides/tkabber-urgent-plugin/default.nix create mode 100644 pkgs/axbo/default.nix create mode 100644 pkgs/blop/default.nix create mode 100644 pkgs/default.nix create mode 100644 pkgs/fish/default.nix create mode 100644 pkgs/gajim/0.16-pre.nix create mode 100644 pkgs/gajim/config.patch create mode 100644 pkgs/kpatches/bfqsched.nix create mode 100644 pkgs/kpatches/bfqsched.patch create mode 100644 pkgs/libcmt/default.nix create mode 100644 pkgs/librxtx-java/default.nix create mode 100644 pkgs/lockdev/default.nix create mode 100644 pkgs/nbxmpp/default.nix create mode 100644 pkgs/pvolctrl/default.nix create mode 100644 pkgs/tkabber-urgent-plugin/default.nix diff --git a/overrides/axbo/default.nix b/overrides/axbo/default.nix deleted file mode 100644 index d83e891d..00000000 --- a/overrides/axbo/default.nix +++ /dev/null @@ -1,77 +0,0 @@ -{ stdenv, fetchurl, oraclejre, librxtx_java, makeFontsConf, dejavu_fonts }: - -stdenv.mkDerivation rec { - name = "axbo-research-${version}"; - version = "2.0.18"; - - src = fetchurl { - url = let - urlversion = stdenv.lib.replaceChars ["."] ["_"] version; - in "https://www.dropbox.com/s/shy0yqcyivonobi/aXbo_unix_${urlversion}.sh"; - sha256 = "1zc3bpqfa5pdpl7masigvv98mi5phl04p80fyd2ink33xbmik70z"; - }; - - buildInputs = [ oraclejre librxtx_java ]; - - unpackCmd = let - fontconfigFile = makeFontsConf { - fontDirectories = stdenv.lib.singleton dejavu_fonts; - }; - in '' - datalen="$(sed -n 's/^.*totalDataLength=\([0-9]\+\).*$/\1/p' "$src")" - installer_offset="$(sed -n 's/^ *tail *-c *\([0-9]\+\).*$/\1/p' "$src")" - - installer_dir="$(mktemp -d)" - mkdir -p "$installer_dir" - tail -c "$installer_offset" "$src" | tar xz -C "$installer_dir" - - cat > "$installer_dir/responses" < "$out/bin/axbo-research" </type -P/g' configure - ''; - - postFixup = '' - gen_inserts() { - for i in $pythonPath; do - echo -n "; sys.path.insert(0, '$(toPythonPath "$i")')" - done - } - - find "$out/share/fish/tools" -type f -perm +0100 -name '*.py' | - xargs sed -i -r \ - -e '1 { /^#!/c #!${pythonPackages.python}/bin/python - }' \ - -e '0,/^(from|import)/{/^(from|import)/a import sys'"$(gen_inserts)"' - }' - - sed -i -e "/Popen/s/'manpath'/'man', '-w'/p" \ - "$out/share/fish/tools/create_manpage_completions.py" - - sed -i -e 's|nroff|${groff}/bin/nroff|g' \ - "$out/share/fish/functions/__fish_print_help.fish" - ''; - - src = fetchurl { - url = "http://fishshell.com/files/${version}/fish.tar.gz"; - sha1 = "2d28553e2ff975f8e5fed6b266f7a940493b6636"; - }; -} diff --git a/overrides/gajim/0.16-pre.nix b/overrides/gajim/0.16-pre.nix deleted file mode 100644 index c11e0284..00000000 --- a/overrides/gajim/0.16-pre.nix +++ /dev/null @@ -1,89 +0,0 @@ -{ stdenv, fetchurl, fetchhg, python, intltool, pkgconfig, libX11, gtk -, host, pyopenssl, pythonDBus, pythonPackages, nbxmpp - -, enableJingle ? true, farstream ? null, gst_plugins_bad ? null -, libnice ? null -, enableE2E ? true -, enableRST ? true -, enableSpelling ? true, gtkspell ? null -, enableNotifications ? false -, enableLaTeX ? false, texLive ? null - -# FIXME: Remove after final release. -, autoconf, automake, libtool -}: - -assert enableJingle -> farstream != null && gst_plugins_bad != null - && libnice != null; -assert enableE2E -> pythonPackages.pycrypto != null; -assert enableRST -> pythonPackages.docutils != null; -assert enableSpelling -> gtkspell != null; -assert enableNotifications -> pythonPackages.notify != null; -assert enableLaTeX -> texLive != null; - -with stdenv.lib; - -stdenv.mkDerivation rec { - name = "gajim-${version}"; - version = "0.16"; - - src = fetchhg { - url = "http://hg.gajim.org/gajim"; - rev = "f38e5fd4f8e3"; - sha256 = "17wmy355znfkv4fbwa4hzicr17k8if75mh3b14yphszfw3bh3mfw"; - }; - - preConfigure = '' - sed -e 's/\/type -P/' autogen.sh | sh - ''; - - postPatch = '' - sed -i -e '0,/^[^#]/ { - /^[^#]/i export \\\ - PYTHONPATH="'"$PYTHONPATH\''${PYTHONPATH:+:}\$PYTHONPATH"'" \\\ - GST_PLUGIN_PATH="'"\$GST_PLUGIN_PATH''${GST_PLUGIN_PATH:+:}${"" - }$GST_PLUGIN_PATH"'" - }' scripts/gajim.in - - sed -i -e 's/return helpers.is_in_path('"'"'nslookup.*/return True/' \ - src/features_window.py - sed -i -e '/is_in_path\|return \[.host/'"s|'host'|'${host}/bin/host'|" \ - src/common/resolver.py - '' + optionalString enableSpelling '' - sed -i -e 's|=.*find_lib.*|= "${gtkspell}/lib/libgtkspell.so"|' \ - src/gtkspell.py - '' + optionalString enableLaTeX '' - sed -i -e "s|try_run(.'dvipng'|try_run(['${texLive}/bin/dvipng'|" \ - -e "s|try_run(.'latex'|try_run(['${texLive}/bin/latex'|" \ - -e 's/tmpfd.close()/os.close(tmpfd)/' \ - src/common/latex.py - ''; - - buildInputs = [ - python intltool pkgconfig libX11 - pythonPackages.pygobject pythonPackages.pyGtkGlade - pythonPackages.sqlite3 pythonPackages.pyasn1 - pythonPackages.pyxdg nbxmpp - pyopenssl pythonDBus - # FIXME: Remove after final release. - autoconf automake libtool - ] ++ optionals enableJingle [ farstream gst_plugins_bad libnice ] - ++ optional enableE2E pythonPackages.pycrypto - ++ optional enableRST pythonPackages.docutils - ++ optional enableNotifications pythonPackages.notify - ++ optional enableLaTeX texLive; - - postInstall = '' - install -m 644 -t "$out/share/gajim/icons/hicolor" \ - "icons/hicolor/index.theme" - ''; - - enableParallelBuilding = true; - - meta = { - homepage = "http://gajim.org/"; - description = "Jabber client written in PyGTK"; - license = licenses.gpl3Plus; - maintainers = [ maintainers.raskin maintainers.aszlig ]; - }; -} diff --git a/overrides/gajim/config.patch b/overrides/gajim/config.patch deleted file mode 100644 index ef40284f..00000000 --- a/overrides/gajim/config.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff --git a/src/common/optparser.py b/src/common/optparser.py -index f84b18a..0078317 100644 ---- a/src/common/optparser.py -+++ b/src/common/optparser.py -@@ -30,6 +30,7 @@ import os - import sys - import locale - import re -+from itertools import chain - from time import time - from common import gajim - from common import helpers -@@ -46,19 +47,25 @@ class OptionsParser: - - def read(self): - try: -- fd = open(self.__filename) -+ cfg = nixfd = open("@nix_config@", 'r') - except Exception: - if os.path.exists(self.__filename): - #we talk about a file - print _('Error: cannot open %s for reading') % self.__filename - return False - -+ try: -+ fd = open(self.__filename) -+ cfg = chain(cfg, fd) -+ except Exception: -+ fd = None -+ - new_version = gajim.config.get('version') - new_version = new_version.split('-', 1)[0] - seen = set() - regex = re.compile(r"(?P[^.]+)(?:(?:\.(?P.+))?\.(?P[^.]+))?\s=\s(?P.*)") - -- for line in fd: -+ for line in cfg: - try: - line = line.decode('utf-8') - except UnicodeDecodeError: -@@ -79,10 +86,13 @@ class OptionsParser: - self.update_config(old_version, new_version) - self.old_values = {} # clean mem - -- fd.close() -+ if fd is not None: -+ fd.close() -+ -+ nixfd.close() - return True - -- def write_line(self, fd, opt, parents, value): -+ def write_line(self, (fd, nixcfg), opt, parents, value): - if value is None: - return - value = value[1] -@@ -102,17 +112,21 @@ class OptionsParser: - p = p.encode('utf-8') - s += p + '.' - s += opt -- fd.write(s + ' = ' + value + '\n') -+ line = s + ' = ' + value + '\n' -+ if not nixcfg.startswith(line) and not ('\n' + line) in nixcfg: -+ fd.write(line) - - def write(self): - (base_dir, filename) = os.path.split(self.__filename) - self.__tempfile = os.path.join(base_dir, '.' + filename) -+ - try: -+ nixcfg = open("@nix_config@", 'r').read() - f = open(self.__tempfile, 'w') - except IOError, e: - return str(e) - try: -- gajim.config.foreach(self.write_line, f) -+ gajim.config.foreach(self.write_line, (f, nixcfg)) - except IOError, e: - return str(e) - f.flush() diff --git a/overrides/kpatches/bfqsched.nix b/overrides/kpatches/bfqsched.nix deleted file mode 100644 index 3ba7310f..00000000 --- a/overrides/kpatches/bfqsched.nix +++ /dev/null @@ -1,46 +0,0 @@ -{ stdenv, fetchurl }: - -let - bfqVersion = "v7r5"; - kernelVersion = "3.15"; - version = "${kernelVersion}.0-${bfqVersion}"; - - baseURL = "http://algo.ing.unimo.it/people/paolo/disk_sched/patches"; - - fetchPatch = { name, sha256 }: fetchurl { - url = "${baseURL}/${version}/${name}.patch"; - inherit sha256; - }; - - allPatches = [ - (fetchPatch { - name = "0001-block-cgroups-kconfig-build-bits-for-BFQ-" - + "${bfqVersion}-${kernelVersion}"; - sha256 = "16vrdg9ky7q89sb7gp8as7qslqg1zy1n28cnyshm91qnf49wfh7g"; - }) - (fetchPatch { - name = "0002-block-introduce-the-BFQ-" - + "${bfqVersion}-I-O-sched-for-${kernelVersion}"; - sha256 = "1gf4y5i9prhg9ls2g8apaiygm538khhpp35dahgv59hr3sfwsghs"; - }) - (fetchPatch { - name = "0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-" - + "${bfqVersion}-for-${kernelVersion}.0"; - sha256 = "1q3fn6gl3lhvbqfhaarpv399id9sa32zx6ygqx4x98zmixwrsn9z"; - }) - ./bfqsched.patch - ]; - - patch = stdenv.mkDerivation { - name = "bfqsched-${version}.patch"; - inherit allPatches; - buildCommand = '' - sed -e 's/IS_SUBSYS_ENABLED/IS_ENABLED/' \ - -e '/SUBSYS/s/perf/&_event/' $allPatches > "$out" - ''; - }; - -in { - name = "bfqsched-${version}"; - inherit version patch; -} diff --git a/overrides/kpatches/bfqsched.patch b/overrides/kpatches/bfqsched.patch deleted file mode 100644 index ae400155..00000000 --- a/overrides/kpatches/bfqsched.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c -index 4579c6dd..d1d8e67 100644 ---- a/block/bfq-iosched.c -+++ b/block/bfq-iosched.c -@@ -199,7 +199,7 @@ static inline void bfq_schedule_dispatch(struct bfq_data *bfqd) - { - if (bfqd->queued != 0) { - bfq_log(bfqd, "schedule dispatch"); -- kblockd_schedule_work(bfqd->queue, &bfqd->unplug_work); -+ kblockd_schedule_work(&bfqd->unplug_work); - } - } - diff --git a/overrides/libcmt/default.nix b/overrides/libcmt/default.nix deleted file mode 100644 index e255ef25..00000000 --- a/overrides/libcmt/default.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ stdenv, fetchurl, ladspaH }: - -stdenv.mkDerivation rec { - name = "libcmt-${version}"; - version = "1.16"; - - buildInputs = [ ladspaH ]; - - setSourceRoot = '' - sourceRoot=cmt/src - ''; - - makeFlags = [ - "INSTALL_PLUGINS_DIR=$(out)/lib/ladspa" - ]; - - preInstall = '' - mkdir -p "$out/lib/ladspa" - ''; - - src = fetchurl { - url = "http://www.ladspa.org/download/cmt_src_${version}.tgz"; - sha256 = "0dan83pvljij3972bv214balc26p9fgw40i2d5y0x7lbd5z1saji"; - }; -} diff --git a/overrides/librxtx-java/default.nix b/overrides/librxtx-java/default.nix deleted file mode 100644 index 861dc43b..00000000 --- a/overrides/librxtx-java/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv, fetchurl, unzip, jdk, lockdev }: - -stdenv.mkDerivation rec { - name = "rxtx-${version}"; - version = "2.2pre2"; - - src = fetchurl { - urls = [ - "http://rxtx.qbang.org/pub/rxtx/${name}.zip" - "ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/${name}.zip" - ]; - sha256 = "00sv9604hkq81mshih0fhqfzn4mf01d6rish6vplsi0gfqz3fc1w"; - }; - - buildInputs = [ unzip jdk lockdev ]; - - NIX_CFLAGS_COMPILE = "-DUTS_RELEASE=\"3.8.0\""; - - configureFlags = [ "--enable-liblock" ]; - - makeFlags = [ - "JHOME=$(out)/lib/java" - "RXTX_PATH=$(out)/lib" - ]; - - preInstall = '' - mkdir -p "$out/lib/java" - ''; -} diff --git a/overrides/lockdev/default.nix b/overrides/lockdev/default.nix deleted file mode 100644 index 52e78eb5..00000000 --- a/overrides/lockdev/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ stdenv, fetchurl, perl }: - -let - baseurl = "ftp://ftp.debian.org/debian/pool/main/l/lockdev/"; -in stdenv.mkDerivation rec { - name = "lockdev-${version}"; - version = "1.0.3"; - - buildInputs = [ perl ]; - - patches = stdenv.lib.singleton (fetchurl { - url = baseurl + "lockdev_1.0.3-1.5.diff.gz"; - sha256 = "1l3pq1nfb5qx3i91cjaiz3c53368gw6m28a5mv9391n5gmsdmi3r"; - }); - - NIX_CFLAGS_COMPILE = "-fPIC -D_PATH_LOCK=\"/tmp\""; - installFlags = [ "basedir=$(out)" ]; - - src = fetchurl { - url = baseurl + "lockdev_${version}.orig.tar.gz"; - sha256 = "10lzhq6r2dn8y3ki7wlqsa8s3ndkf842bszcjw4dbzf3g9fn7bnc"; - }; -} diff --git a/overrides/nbxmpp/default.nix b/overrides/nbxmpp/default.nix deleted file mode 100644 index fa306432..00000000 --- a/overrides/nbxmpp/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ stdenv, fetchurl, buildPythonPackage }: - -buildPythonPackage rec { - name = "nbxmpp-0.4"; - - src = fetchurl { - name = "${name}.tar.gz"; - url = "https://python-nbxmpp.gajim.org/downloads/4"; - sha256 = "073qhz6vgsym4rkgwj801girl8xqhlbr37xn5lg0za9c61vmwayh"; - }; - - meta = { - homepage = "https://python-nbxmpp.gajim.org/"; - description = "Non-blocking Jabber/XMPP module"; - license = stdenv.lib.licenses.gpl3; - }; -} diff --git a/overrides/pvolctrl/default.nix b/overrides/pvolctrl/default.nix deleted file mode 100644 index 25edb27f..00000000 --- a/overrides/pvolctrl/default.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ stdenv, fetchurl, pkgconfig, pulseaudio }: - -stdenv.mkDerivation rec { - name = "pvolctrl-0.23"; - - unpackPhase = let - baseurl = "https://sites.google.com/site/guenterbartsch/blog/" - + "volumecontrolutilityforpulseaudio/"; - makefile = fetchurl { - url = baseurl + "Makefile"; - sha256 = "0l2ffvb617csk6h29y64v6ywhpcp7la6vvcip1w4nq0yry6jhrqz"; - }; - source = fetchurl { - url = baseurl + "pvolctrl.c"; - sha256 = "0vcd5dlw9l47jpabwmmzdvlkn67fz55dr3sryyh56sl263mibjda"; - }; - in '' - mkdir -p "${name}" - sed -e 's|/usr/bin/||' "${makefile}" > "${name}/Makefile" - sed -e 's/PA_VOLUME_MAX/PA_VOLUME_NORM/ - /avg_vol += (avg_vol \* vol_mod) \/ 100;/ { - s/(avg_vol/((int)PA_VOLUME_NORM/ - } - /if (vol_mod)/i \ - if (info->name == NULL || strncmp(info->name, "combined", 8) != 0) \ - return;' "${source}" > "${name}/pvolctrl.c" - sourceRoot="${name}" - ''; - - installPhase = '' - install -D -T pvolctrl "$out/bin/pvolctrl" - ''; - - buildInputs = [ pkgconfig pulseaudio ]; -} diff --git a/overrides/tkabber-urgent-plugin/default.nix b/overrides/tkabber-urgent-plugin/default.nix deleted file mode 100644 index b39e5ea8..00000000 --- a/overrides/tkabber-urgent-plugin/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ stdenv, fetchsvn, xlibs }: - -stdenv.mkDerivation { - name = "tkabber-urgent-plugin"; - - src = fetchsvn { - url = "http://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/urgent"; - rev = 528; - sha256 = "1qr7i0559ad5y1l5h2gp8aix4nsfgm0bx7jqb030hgbxaw1xnbp5"; - }; - - buildInputs = [ xlibs.libX11 ]; - - patchPhase = '' - sed -i -e 's|exec xwininfo|exec ${xlibs.xwininfo}/bin/xwininfo|' urgent.tcl - ''; - - buildPhase = '' - gcc -lX11 -o urgent urgent.c - ''; - - installPhase = '' - install -vd "$out/share/tkabber-plugins/urgent" - cp -vpt "$out/share/tkabber-plugins/urgent" urgent urgent.tcl - ''; -} diff --git a/pkgs/axbo/default.nix b/pkgs/axbo/default.nix new file mode 100644 index 00000000..d83e891d --- /dev/null +++ b/pkgs/axbo/default.nix @@ -0,0 +1,77 @@ +{ stdenv, fetchurl, oraclejre, librxtx_java, makeFontsConf, dejavu_fonts }: + +stdenv.mkDerivation rec { + name = "axbo-research-${version}"; + version = "2.0.18"; + + src = fetchurl { + url = let + urlversion = stdenv.lib.replaceChars ["."] ["_"] version; + in "https://www.dropbox.com/s/shy0yqcyivonobi/aXbo_unix_${urlversion}.sh"; + sha256 = "1zc3bpqfa5pdpl7masigvv98mi5phl04p80fyd2ink33xbmik70z"; + }; + + buildInputs = [ oraclejre librxtx_java ]; + + unpackCmd = let + fontconfigFile = makeFontsConf { + fontDirectories = stdenv.lib.singleton dejavu_fonts; + }; + in '' + datalen="$(sed -n 's/^.*totalDataLength=\([0-9]\+\).*$/\1/p' "$src")" + installer_offset="$(sed -n 's/^ *tail *-c *\([0-9]\+\).*$/\1/p' "$src")" + + installer_dir="$(mktemp -d)" + mkdir -p "$installer_dir" + tail -c "$installer_offset" "$src" | tar xz -C "$installer_dir" + + cat > "$installer_dir/responses" < "$out/bin/axbo-research" < {} +}: + +let + callPackage = pkgs.lib.callPackageWith (pkgs // self); + + self = { + axbo = callPackage ./axbo { }; + blop = callPackage ./blop { }; + fish = callPackage ./fish { }; + gajim = callPackage ./gajim/0.16-pre.nix { + inherit (pkgs.xlibs) libX11; + }; + libCMT = callPackage ./libcmt { }; + librxtx_java = callPackage ./librxtx-java { }; + lockdev = callPackage ./lockdev { }; + nbxmpp = callPackage ./nbxmpp { }; + pvolctrl = callPackage ./pvolctrl { }; + tkabber_urgent_plugin = callPackage ./tkabber-urgent-plugin { }; + + aszligKernelPatches = { + bfqsched = callPackage ./kpatches/bfqsched.nix { }; + }; + }; +in { aszlig = self; } diff --git a/pkgs/fish/default.nix b/pkgs/fish/default.nix new file mode 100644 index 00000000..bc37837b --- /dev/null +++ b/pkgs/fish/default.nix @@ -0,0 +1,43 @@ +{ stdenv, fetchurl, autoconf, ncurses, groff, pythonPackages }: + +stdenv.mkDerivation rec { + name = "fish-${version}"; + version = "2.0.0"; + + buildInputs = [ autoconf ncurses pythonPackages.python ]; + + pythonPath = [ pythonPackages.curses ]; + + enableParallelBuilding = true; + + preConfigure = '' + autoconf + sed -i 's/\/type -P/g' configure + ''; + + postFixup = '' + gen_inserts() { + for i in $pythonPath; do + echo -n "; sys.path.insert(0, '$(toPythonPath "$i")')" + done + } + + find "$out/share/fish/tools" -type f -perm +0100 -name '*.py' | + xargs sed -i -r \ + -e '1 { /^#!/c #!${pythonPackages.python}/bin/python + }' \ + -e '0,/^(from|import)/{/^(from|import)/a import sys'"$(gen_inserts)"' + }' + + sed -i -e "/Popen/s/'manpath'/'man', '-w'/p" \ + "$out/share/fish/tools/create_manpage_completions.py" + + sed -i -e 's|nroff|${groff}/bin/nroff|g' \ + "$out/share/fish/functions/__fish_print_help.fish" + ''; + + src = fetchurl { + url = "http://fishshell.com/files/${version}/fish.tar.gz"; + sha1 = "2d28553e2ff975f8e5fed6b266f7a940493b6636"; + }; +} diff --git a/pkgs/gajim/0.16-pre.nix b/pkgs/gajim/0.16-pre.nix new file mode 100644 index 00000000..c11e0284 --- /dev/null +++ b/pkgs/gajim/0.16-pre.nix @@ -0,0 +1,89 @@ +{ stdenv, fetchurl, fetchhg, python, intltool, pkgconfig, libX11, gtk +, host, pyopenssl, pythonDBus, pythonPackages, nbxmpp + +, enableJingle ? true, farstream ? null, gst_plugins_bad ? null +, libnice ? null +, enableE2E ? true +, enableRST ? true +, enableSpelling ? true, gtkspell ? null +, enableNotifications ? false +, enableLaTeX ? false, texLive ? null + +# FIXME: Remove after final release. +, autoconf, automake, libtool +}: + +assert enableJingle -> farstream != null && gst_plugins_bad != null + && libnice != null; +assert enableE2E -> pythonPackages.pycrypto != null; +assert enableRST -> pythonPackages.docutils != null; +assert enableSpelling -> gtkspell != null; +assert enableNotifications -> pythonPackages.notify != null; +assert enableLaTeX -> texLive != null; + +with stdenv.lib; + +stdenv.mkDerivation rec { + name = "gajim-${version}"; + version = "0.16"; + + src = fetchhg { + url = "http://hg.gajim.org/gajim"; + rev = "f38e5fd4f8e3"; + sha256 = "17wmy355znfkv4fbwa4hzicr17k8if75mh3b14yphszfw3bh3mfw"; + }; + + preConfigure = '' + sed -e 's/\/type -P/' autogen.sh | sh + ''; + + postPatch = '' + sed -i -e '0,/^[^#]/ { + /^[^#]/i export \\\ + PYTHONPATH="'"$PYTHONPATH\''${PYTHONPATH:+:}\$PYTHONPATH"'" \\\ + GST_PLUGIN_PATH="'"\$GST_PLUGIN_PATH''${GST_PLUGIN_PATH:+:}${"" + }$GST_PLUGIN_PATH"'" + }' scripts/gajim.in + + sed -i -e 's/return helpers.is_in_path('"'"'nslookup.*/return True/' \ + src/features_window.py + sed -i -e '/is_in_path\|return \[.host/'"s|'host'|'${host}/bin/host'|" \ + src/common/resolver.py + '' + optionalString enableSpelling '' + sed -i -e 's|=.*find_lib.*|= "${gtkspell}/lib/libgtkspell.so"|' \ + src/gtkspell.py + '' + optionalString enableLaTeX '' + sed -i -e "s|try_run(.'dvipng'|try_run(['${texLive}/bin/dvipng'|" \ + -e "s|try_run(.'latex'|try_run(['${texLive}/bin/latex'|" \ + -e 's/tmpfd.close()/os.close(tmpfd)/' \ + src/common/latex.py + ''; + + buildInputs = [ + python intltool pkgconfig libX11 + pythonPackages.pygobject pythonPackages.pyGtkGlade + pythonPackages.sqlite3 pythonPackages.pyasn1 + pythonPackages.pyxdg nbxmpp + pyopenssl pythonDBus + # FIXME: Remove after final release. + autoconf automake libtool + ] ++ optionals enableJingle [ farstream gst_plugins_bad libnice ] + ++ optional enableE2E pythonPackages.pycrypto + ++ optional enableRST pythonPackages.docutils + ++ optional enableNotifications pythonPackages.notify + ++ optional enableLaTeX texLive; + + postInstall = '' + install -m 644 -t "$out/share/gajim/icons/hicolor" \ + "icons/hicolor/index.theme" + ''; + + enableParallelBuilding = true; + + meta = { + homepage = "http://gajim.org/"; + description = "Jabber client written in PyGTK"; + license = licenses.gpl3Plus; + maintainers = [ maintainers.raskin maintainers.aszlig ]; + }; +} diff --git a/pkgs/gajim/config.patch b/pkgs/gajim/config.patch new file mode 100644 index 00000000..ef40284f --- /dev/null +++ b/pkgs/gajim/config.patch @@ -0,0 +1,80 @@ +diff --git a/src/common/optparser.py b/src/common/optparser.py +index f84b18a..0078317 100644 +--- a/src/common/optparser.py ++++ b/src/common/optparser.py +@@ -30,6 +30,7 @@ import os + import sys + import locale + import re ++from itertools import chain + from time import time + from common import gajim + from common import helpers +@@ -46,19 +47,25 @@ class OptionsParser: + + def read(self): + try: +- fd = open(self.__filename) ++ cfg = nixfd = open("@nix_config@", 'r') + except Exception: + if os.path.exists(self.__filename): + #we talk about a file + print _('Error: cannot open %s for reading') % self.__filename + return False + ++ try: ++ fd = open(self.__filename) ++ cfg = chain(cfg, fd) ++ except Exception: ++ fd = None ++ + new_version = gajim.config.get('version') + new_version = new_version.split('-', 1)[0] + seen = set() + regex = re.compile(r"(?P[^.]+)(?:(?:\.(?P.+))?\.(?P[^.]+))?\s=\s(?P.*)") + +- for line in fd: ++ for line in cfg: + try: + line = line.decode('utf-8') + except UnicodeDecodeError: +@@ -79,10 +86,13 @@ class OptionsParser: + self.update_config(old_version, new_version) + self.old_values = {} # clean mem + +- fd.close() ++ if fd is not None: ++ fd.close() ++ ++ nixfd.close() + return True + +- def write_line(self, fd, opt, parents, value): ++ def write_line(self, (fd, nixcfg), opt, parents, value): + if value is None: + return + value = value[1] +@@ -102,17 +112,21 @@ class OptionsParser: + p = p.encode('utf-8') + s += p + '.' + s += opt +- fd.write(s + ' = ' + value + '\n') ++ line = s + ' = ' + value + '\n' ++ if not nixcfg.startswith(line) and not ('\n' + line) in nixcfg: ++ fd.write(line) + + def write(self): + (base_dir, filename) = os.path.split(self.__filename) + self.__tempfile = os.path.join(base_dir, '.' + filename) ++ + try: ++ nixcfg = open("@nix_config@", 'r').read() + f = open(self.__tempfile, 'w') + except IOError, e: + return str(e) + try: +- gajim.config.foreach(self.write_line, f) ++ gajim.config.foreach(self.write_line, (f, nixcfg)) + except IOError, e: + return str(e) + f.flush() diff --git a/pkgs/kpatches/bfqsched.nix b/pkgs/kpatches/bfqsched.nix new file mode 100644 index 00000000..3ba7310f --- /dev/null +++ b/pkgs/kpatches/bfqsched.nix @@ -0,0 +1,46 @@ +{ stdenv, fetchurl }: + +let + bfqVersion = "v7r5"; + kernelVersion = "3.15"; + version = "${kernelVersion}.0-${bfqVersion}"; + + baseURL = "http://algo.ing.unimo.it/people/paolo/disk_sched/patches"; + + fetchPatch = { name, sha256 }: fetchurl { + url = "${baseURL}/${version}/${name}.patch"; + inherit sha256; + }; + + allPatches = [ + (fetchPatch { + name = "0001-block-cgroups-kconfig-build-bits-for-BFQ-" + + "${bfqVersion}-${kernelVersion}"; + sha256 = "16vrdg9ky7q89sb7gp8as7qslqg1zy1n28cnyshm91qnf49wfh7g"; + }) + (fetchPatch { + name = "0002-block-introduce-the-BFQ-" + + "${bfqVersion}-I-O-sched-for-${kernelVersion}"; + sha256 = "1gf4y5i9prhg9ls2g8apaiygm538khhpp35dahgv59hr3sfwsghs"; + }) + (fetchPatch { + name = "0003-block-bfq-add-Early-Queue-Merge-EQM-to-BFQ-" + + "${bfqVersion}-for-${kernelVersion}.0"; + sha256 = "1q3fn6gl3lhvbqfhaarpv399id9sa32zx6ygqx4x98zmixwrsn9z"; + }) + ./bfqsched.patch + ]; + + patch = stdenv.mkDerivation { + name = "bfqsched-${version}.patch"; + inherit allPatches; + buildCommand = '' + sed -e 's/IS_SUBSYS_ENABLED/IS_ENABLED/' \ + -e '/SUBSYS/s/perf/&_event/' $allPatches > "$out" + ''; + }; + +in { + name = "bfqsched-${version}"; + inherit version patch; +} diff --git a/pkgs/kpatches/bfqsched.patch b/pkgs/kpatches/bfqsched.patch new file mode 100644 index 00000000..ae400155 --- /dev/null +++ b/pkgs/kpatches/bfqsched.patch @@ -0,0 +1,13 @@ +diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c +index 4579c6dd..d1d8e67 100644 +--- a/block/bfq-iosched.c ++++ b/block/bfq-iosched.c +@@ -199,7 +199,7 @@ static inline void bfq_schedule_dispatch(struct bfq_data *bfqd) + { + if (bfqd->queued != 0) { + bfq_log(bfqd, "schedule dispatch"); +- kblockd_schedule_work(bfqd->queue, &bfqd->unplug_work); ++ kblockd_schedule_work(&bfqd->unplug_work); + } + } + diff --git a/pkgs/libcmt/default.nix b/pkgs/libcmt/default.nix new file mode 100644 index 00000000..e255ef25 --- /dev/null +++ b/pkgs/libcmt/default.nix @@ -0,0 +1,25 @@ +{ stdenv, fetchurl, ladspaH }: + +stdenv.mkDerivation rec { + name = "libcmt-${version}"; + version = "1.16"; + + buildInputs = [ ladspaH ]; + + setSourceRoot = '' + sourceRoot=cmt/src + ''; + + makeFlags = [ + "INSTALL_PLUGINS_DIR=$(out)/lib/ladspa" + ]; + + preInstall = '' + mkdir -p "$out/lib/ladspa" + ''; + + src = fetchurl { + url = "http://www.ladspa.org/download/cmt_src_${version}.tgz"; + sha256 = "0dan83pvljij3972bv214balc26p9fgw40i2d5y0x7lbd5z1saji"; + }; +} diff --git a/pkgs/librxtx-java/default.nix b/pkgs/librxtx-java/default.nix new file mode 100644 index 00000000..861dc43b --- /dev/null +++ b/pkgs/librxtx-java/default.nix @@ -0,0 +1,29 @@ +{ stdenv, fetchurl, unzip, jdk, lockdev }: + +stdenv.mkDerivation rec { + name = "rxtx-${version}"; + version = "2.2pre2"; + + src = fetchurl { + urls = [ + "http://rxtx.qbang.org/pub/rxtx/${name}.zip" + "ftp://ftp.freebsd.org/pub/FreeBSD/ports/distfiles/${name}.zip" + ]; + sha256 = "00sv9604hkq81mshih0fhqfzn4mf01d6rish6vplsi0gfqz3fc1w"; + }; + + buildInputs = [ unzip jdk lockdev ]; + + NIX_CFLAGS_COMPILE = "-DUTS_RELEASE=\"3.8.0\""; + + configureFlags = [ "--enable-liblock" ]; + + makeFlags = [ + "JHOME=$(out)/lib/java" + "RXTX_PATH=$(out)/lib" + ]; + + preInstall = '' + mkdir -p "$out/lib/java" + ''; +} diff --git a/pkgs/lockdev/default.nix b/pkgs/lockdev/default.nix new file mode 100644 index 00000000..52e78eb5 --- /dev/null +++ b/pkgs/lockdev/default.nix @@ -0,0 +1,23 @@ +{ stdenv, fetchurl, perl }: + +let + baseurl = "ftp://ftp.debian.org/debian/pool/main/l/lockdev/"; +in stdenv.mkDerivation rec { + name = "lockdev-${version}"; + version = "1.0.3"; + + buildInputs = [ perl ]; + + patches = stdenv.lib.singleton (fetchurl { + url = baseurl + "lockdev_1.0.3-1.5.diff.gz"; + sha256 = "1l3pq1nfb5qx3i91cjaiz3c53368gw6m28a5mv9391n5gmsdmi3r"; + }); + + NIX_CFLAGS_COMPILE = "-fPIC -D_PATH_LOCK=\"/tmp\""; + installFlags = [ "basedir=$(out)" ]; + + src = fetchurl { + url = baseurl + "lockdev_${version}.orig.tar.gz"; + sha256 = "10lzhq6r2dn8y3ki7wlqsa8s3ndkf842bszcjw4dbzf3g9fn7bnc"; + }; +} diff --git a/pkgs/nbxmpp/default.nix b/pkgs/nbxmpp/default.nix new file mode 100644 index 00000000..fa306432 --- /dev/null +++ b/pkgs/nbxmpp/default.nix @@ -0,0 +1,17 @@ +{ stdenv, fetchurl, buildPythonPackage }: + +buildPythonPackage rec { + name = "nbxmpp-0.4"; + + src = fetchurl { + name = "${name}.tar.gz"; + url = "https://python-nbxmpp.gajim.org/downloads/4"; + sha256 = "073qhz6vgsym4rkgwj801girl8xqhlbr37xn5lg0za9c61vmwayh"; + }; + + meta = { + homepage = "https://python-nbxmpp.gajim.org/"; + description = "Non-blocking Jabber/XMPP module"; + license = stdenv.lib.licenses.gpl3; + }; +} diff --git a/pkgs/pvolctrl/default.nix b/pkgs/pvolctrl/default.nix new file mode 100644 index 00000000..25edb27f --- /dev/null +++ b/pkgs/pvolctrl/default.nix @@ -0,0 +1,35 @@ +{ stdenv, fetchurl, pkgconfig, pulseaudio }: + +stdenv.mkDerivation rec { + name = "pvolctrl-0.23"; + + unpackPhase = let + baseurl = "https://sites.google.com/site/guenterbartsch/blog/" + + "volumecontrolutilityforpulseaudio/"; + makefile = fetchurl { + url = baseurl + "Makefile"; + sha256 = "0l2ffvb617csk6h29y64v6ywhpcp7la6vvcip1w4nq0yry6jhrqz"; + }; + source = fetchurl { + url = baseurl + "pvolctrl.c"; + sha256 = "0vcd5dlw9l47jpabwmmzdvlkn67fz55dr3sryyh56sl263mibjda"; + }; + in '' + mkdir -p "${name}" + sed -e 's|/usr/bin/||' "${makefile}" > "${name}/Makefile" + sed -e 's/PA_VOLUME_MAX/PA_VOLUME_NORM/ + /avg_vol += (avg_vol \* vol_mod) \/ 100;/ { + s/(avg_vol/((int)PA_VOLUME_NORM/ + } + /if (vol_mod)/i \ + if (info->name == NULL || strncmp(info->name, "combined", 8) != 0) \ + return;' "${source}" > "${name}/pvolctrl.c" + sourceRoot="${name}" + ''; + + installPhase = '' + install -D -T pvolctrl "$out/bin/pvolctrl" + ''; + + buildInputs = [ pkgconfig pulseaudio ]; +} diff --git a/pkgs/tkabber-urgent-plugin/default.nix b/pkgs/tkabber-urgent-plugin/default.nix new file mode 100644 index 00000000..b39e5ea8 --- /dev/null +++ b/pkgs/tkabber-urgent-plugin/default.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchsvn, xlibs }: + +stdenv.mkDerivation { + name = "tkabber-urgent-plugin"; + + src = fetchsvn { + url = "http://svn.xmpp.ru/repos/tkabber-3rd-party/trunk/plugins/urgent"; + rev = 528; + sha256 = "1qr7i0559ad5y1l5h2gp8aix4nsfgm0bx7jqb030hgbxaw1xnbp5"; + }; + + buildInputs = [ xlibs.libX11 ]; + + patchPhase = '' + sed -i -e 's|exec xwininfo|exec ${xlibs.xwininfo}/bin/xwininfo|' urgent.tcl + ''; + + buildPhase = '' + gcc -lX11 -o urgent urgent.c + ''; + + installPhase = '' + install -vd "$out/share/tkabber-plugins/urgent" + cp -vpt "$out/share/tkabber-plugins/urgent" urgent urgent.tcl + ''; +} -- cgit 1.4.1