Merge branch 'master.upstream' into staging.upstream

This commit is contained in:
William A. Kennington III
2015-09-29 15:54:33 -07:00
546 changed files with 25528 additions and 2488 deletions

View File

@@ -1,7 +1,8 @@
{ stdenv, fetchurl, lib, qtscriptgenerator, perl, gettext, curl
, libxml2, mysql, taglib, taglib_extras, loudmouth , kdelibs
, qca2, libmtp, liblastfm, libgpod, pkgconfig, automoc4, phonon
, strigi, soprano, qjson, ffmpeg, libofa, nepomuk_core ? null }:
{ stdenv, fetchurl, lib, automoc4, cmake, perl, pkgconfig
, qtscriptgenerator, gettext, curl , libxml2, mysql, taglib
, taglib_extras, loudmouth , kdelibs , qca2, libmtp, liblastfm, libgpod
, phonon , strigi, soprano, qjson, ffmpeg, libofa, nepomuk_core ? null
}:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
@@ -16,9 +17,13 @@ stdenv.mkDerivation rec {
QT_PLUGIN_PATH="${qtscriptgenerator}/lib/qt4/plugins";
buildInputs = [ qtscriptgenerator stdenv.cc.libc gettext curl
libxml2 mysql.lib taglib taglib_extras loudmouth kdelibs automoc4 phonon strigi
soprano qca2 libmtp liblastfm libgpod pkgconfig qjson ffmpeg libofa nepomuk_core ];
nativeBuildInputs = [ automoc4 cmake perl pkgconfig ];
buildInputs = [
qtscriptgenerator stdenv.cc.libc gettext curl libxml2 mysql.lib
taglib taglib_extras loudmouth kdelibs phonon strigi soprano qca2
libmtp liblastfm libgpod qjson ffmpeg libofa nepomuk_core
];
cmakeFlags = "-DKDE4_BUILD_TESTS=OFF";

View File

@@ -1,6 +1,6 @@
{ stdenv, fetchurl, cmake
, withQt4 ? false, qt4
, withQt5 ? true, qt5
, withQt5 ? true, qtbase, qtsvg, qttools
# I'm unable to make KDE work here, crashes at runtime so I simply
# make Qt4 the default until someone who wants KDE can figure it out.
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
buildInputs =
[ cmake ]
++ stdenv.lib.optional withQt4 qt4
++ stdenv.lib.optionals withQt5 (with qt5; [ base svg tools ])
++ stdenv.lib.optionals withQt5 [ qtbase qtsvg qttools ]
++ stdenv.lib.optional withKDE4 kde4.kdelibs
++ stdenv.lib.optionals withTaglib [ taglib taglib_extras ]
++ stdenv.lib.optionals withReplaygain [ ffmpeg speex mpg123 ]
@@ -91,6 +91,10 @@ stdenv.mkDerivation rec {
"-DENABLE_UDISKS2=ON"
];
postInstall = ''
wrapQtProgram "$out/bin/cantata"
'';
meta = with stdenv.lib; {
homepage = http://code.google.com/p/cantata/;
description = "A graphical client for MPD";

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, fftw, libsndfile, qt5 }:
{ stdenv, fetchFromGitHub, fftw, libsndfile, qtbase, qtmultimedia }:
let
@@ -39,7 +39,7 @@ in stdenv.mkDerivation {
owner = "gillesdegottex";
};
buildInputs = [ fftw libsndfile qt5.base qt5.multimedia ];
buildInputs = [ fftw libsndfile qtbase qtmultimedia ];
postPatch = ''
substituteInPlace dfasma.pro --replace '$$DFASMAVERSIONGITPRO' '${version}'
@@ -53,6 +53,10 @@ in stdenv.mkDerivation {
enableParallelBuilding = true;
postInstall = ''
wrapQtProgram "$out/bin/dfasma"
'';
meta = with stdenv.lib; {
inherit version;
description = "Analyse and compare audio files in time and frequency";

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, fftw, freeglut, qt5
{ stdenv, fetchFromGitHub, fftw, freeglut, qtbase, qtmultimedia
, alsaSupport ? true, alsaLib ? null
, jackSupport ? false, libjack2 ? null
, portaudioSupport ? false, portaudio ? null }:
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
owner = "gillesdegottex";
};
buildInputs = [ fftw freeglut qt5.base qt5.multimedia ]
buildInputs = [ fftw freeglut qtbase qtmultimedia ]
++ stdenv.lib.optional alsaSupport [ alsaLib ]
++ stdenv.lib.optional jackSupport [ libjack2 ]
++ stdenv.lib.optional portaudioSupport [ portaudio ];

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, libav_0_8, libkeyfinder, qt5, taglib }:
{ stdenv, fetchFromGitHub, libav_0_8, libkeyfinder, qtbase, qtxmlpatterns, taglib }:
let version = "2.00"; in
stdenv.mkDerivation {
@@ -30,7 +30,7 @@ stdenv.mkDerivation {
};
# TODO: upgrade libav when "Audio sample format conversion failed" is fixed
buildInputs = [ libav_0_8 libkeyfinder qt5.base qt5.xmlpatterns taglib ];
buildInputs = [ libav_0_8 libkeyfinder qtbase qtxmlpatterns taglib ];
postPatch = ''
substituteInPlace is_KeyFinder.pro \

View File

@@ -1,6 +1,7 @@
{ stdenv, fetchurl, cmake, pkgconfig
, alsaLib, freetype, libjack2, lame, libogg, libpulseaudio, libsndfile, libvorbis
, portaudio, qt5 #, tesseract
, portaudio, qtbase, qtdeclarative, qtenginio, qtscript, qtsvg, qttools
, qtwebkit, qtxmlpatterns
}:
stdenv.mkDerivation rec {
@@ -36,8 +37,8 @@ stdenv.mkDerivation rec {
buildInputs = [
alsaLib libjack2 freetype lame libogg libpulseaudio libsndfile libvorbis
portaudio qt5.base qt5.declarative qt5.enginio qt5.script qt5.svg qt5.tools
qt5.webkit qt5.xmlpatterns #tesseract
portaudio qtbase qtdeclarative qtenginio qtscript qtsvg qttools
qtwebkit qtxmlpatterns #tesseract
];
meta = with stdenv.lib; {

View File

@@ -1,40 +1,34 @@
# Based on Richard Wallace's post here: http://comments.gmane.org/gmane.linux.distributions.nixos/14734
{ fetchFromGitHub, stdenv, pythonPackages, gtk3, gobjectIntrospection, libnotify
, gst_all_1, wrapGAppsHook }:
{ fetchurl, stdenv, pythonPackages, gtk3, libnotify, gst_all_1 }:
pythonPackages.buildPythonPackage rec {
name = "pithos-${version}";
version = "1.0.1";
version = "1.1.1";
src = fetchurl {
url = "https://github.com/pithos/pithos/archive/${version}.tar.gz";
sha256 = "67b83927d5111067aefbf034d23880f96b1a2d300464e8491efa80e97e67f50f";
namePrefix = "";
src = fetchFromGitHub {
owner = "pithos";
repo = "pithos";
rev = version;
sha256 = "0373z7g1wd3g1xl8m4ipx5n2ka67a2wcn387nyk8yvgdikm14jm3";
};
postPatch = ''
substituteInPlace setup.py --replace "/usr/share" "$out/share"
'';
buildInputs = with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad libnotify ];
buildInputs = [ wrapGAppsHook ];
pythonPath = with pythonPackages; [ pygobject3 dbus pylast ];
propogatedBuildInputs = pythonPath;
postInstall = ''
wrapProgram "$out/bin/pithos" --prefix GST_PLUGIN_SYSTEM_PATH_1_0 ":" "$GST_PLUGIN_SYSTEM_PATH_1_0"
'';
propagatedBuildInputs =
[ gtk3 gobjectIntrospection libnotify ] ++
(with gst_all_1; [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad ]) ++
(with pythonPackages; [ pygobject3 pylast ]);
meta = with stdenv.lib; {
description = "Pandora player";
longDescription = ''
Pandora Internet Radio player for GNOME
'';
homepage = http://pithos.github.io/ ;
description = "Pandora Internet Radio player for GNOME";
homepage = https://pithos.github.io/;
license = licenses.gpl3;
maintainers = with maintainers; [ obadz ];
maintainers = with maintainers; [ obadz jgeerds ];
};
}

View File

@@ -2,7 +2,7 @@
{ stdenv, fetchurl, alsaLib, bzip2, fftw, libjack2, libX11, liblo
, libmad, libogg, librdf, librdf_raptor, librdf_rasqal, libsamplerate
, libsndfile, pkgconfig, libpulseaudio, qt5, redland
, libsndfile, pkgconfig, libpulseaudio, qtbase, redland
, rubberband, serd, sord, vampSDK, fftwFloat
}:
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
};
buildInputs =
[ libsndfile qt5.base fftw fftwFloat bzip2 librdf rubberband
[ libsndfile qtbase fftw fftwFloat bzip2 librdf rubberband
libsamplerate vampSDK alsaLib librdf_raptor librdf_rasqal redland
serd
sord
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
mkdir -p $out/{bin,share/sonic-visualiser}
cp sonic-visualiser $out/bin/
cp -r samples $out/share/sonic-visualiser/
wrapQtProgram "$out/bin/sonic-visualiser"
'';
meta = with stdenv.lib; {

View File

@@ -1,6 +1,12 @@
{stdenv, fetchurl, libogg, libvorbis, libao, pkgconfig, curl, glibc
, speex, flac}:
{ stdenv, fetchurl, fetchzip, libogg, libvorbis, libao, pkgconfig, curl
, speex, flac }:
let
debPatch = fetchzip {
url = "mirror://debian/pool/main/v/vorbis-tools/vorbis-tools_1.4.0-6.debian.tar.xz";
sha256 = "1xmmpdvxyr84lazlg23c6ck5ic97ga2rkiqabb1d98ix2zdzyqz5";
};
in
stdenv.mkDerivation {
name = "vorbis-tools-1.4.0";
src = fetchurl {
@@ -8,14 +14,23 @@ stdenv.mkDerivation {
sha256 = "1g12bnh5ah08v529y72kfdz5lhvy75iaz7f9jskyby23m9dkk2d3";
};
buildInputs = [ libogg libvorbis libao pkgconfig curl speex glibc flac ];
postPatch = ''
for patch in $(ls "${debPatch}"/patches/*.{diff,patch} | grep -v debian_subdir)
do patch -p1 < "$patch"
done
'';
meta = {
buildInputs = [ libogg libvorbis libao pkgconfig curl speex flac ];
meta = with stdenv.lib; {
description = "Extra tools for Ogg-Vorbis audio codec";
longDescription = ''
A set of command-line tools to manipulate Ogg Vorbis audio
files, notably the `ogg123' player and the `oggenc' encoder.
'';
homepage = http://xiph.org/vorbis/;
license = stdenv.lib.licenses.gpl2;
license = licenses.gpl2;
platforms = platforms.all;
};
}

View File

@@ -1,6 +1,7 @@
{ stdenv, fetchurl, pam, pkgconfig, libxcb, glib, libXdmcp, itstool, libxml2
, intltool, xlibsWrapper, libxklavier, libgcrypt, libaudit
, qt4 ? null, qt5 ? null
, qt4 ? null
, withQt5 ? false, qtbase
}:
let
@@ -20,14 +21,14 @@ stdenv.mkDerivation rec {
buildInputs = [
pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt
qt4 libaudit
] ++ stdenv.lib.optional (qt5 != null) qt5.base;
] ++ stdenv.lib.optional withQt5 qtbase;
configureFlags = [
"--localstatedir=/var"
"--sysconfdir=/etc"
"--disable-tests"
] ++ stdenv.lib.optional (qt4 != null) "--enable-liblightdm-qt"
++ stdenv.lib.optional ((qt5.base or null) != null) "--enable-liblightdm-qt5";
++ stdenv.lib.optional withQt5 "--enable-liblightdm-qt5";
installFlags = [
"sysconfdir=\${out}/etc"

View File

@@ -1,5 +1,7 @@
{ stdenv, fetchpatch, makeWrapper, fetchFromGitHub, cmake, pkgconfig, libxcb, libpthreadstubs
, libXdmcp, libXau, qt5, pam, systemd }:
{ stdenv, fetchpatch, fetchFromGitHub, cmake, pkgconfig, libxcb
, libpthreadstubs, libXdmcp, libXau, qtbase, qtdeclarative, qttools, pam
, systemd
}:
let
version = "0.11.0";
@@ -14,9 +16,9 @@ stdenv.mkDerivation rec {
sha256 = "1s1gm0xvgwzrpxgni3ngdj8phzg21gkk1jyiv2l2i5ayl0jdm7ig";
};
nativeBuildInputs = [ cmake pkgconfig qt5.tools makeWrapper ];
nativeBuildInputs = [ cmake pkgconfig qttools ];
buildInputs = [ libxcb libpthreadstubs libXdmcp libXau qt5.base pam systemd ];
buildInputs = [ libxcb libpthreadstubs libXdmcp libXau qtbase qtdeclarative pam systemd ];
patches = [ (fetchpatch {
url = "https://github.com/sddm/sddm/commit/9bc21ee7da5de6b2531d47d1af4d7b0a169990b9.patch";
@@ -32,8 +34,8 @@ stdenv.mkDerivation rec {
'';
postInstall = ''
wrapProgram $out/bin/sddm-greeter \
--set QML2_IMPORT_PATH "${qt5.declarative}/lib/qt5/qml/"
wrapQtProgram $out/bin/sddm
wrapQtProgram $out/bin/sddm-greeter
'';
enableParallelBuilding = true;

View File

@@ -237,25 +237,25 @@ in
idea-community = buildIdea rec {
name = "idea-community-${version}";
version = "14.1.4";
build = "IC-141.1532.4";
version = "14.1.5";
build = "IC-141.2735.5";
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
sha256 = "1yx93dfbajk2icm2jkfp5s5jnr1czyk179va3n5zndzzhzags4xx";
sha256 = "196rijl2k24ysjihdsisfy8hjl21wcn98fn8wagvxsvjf7anyg9k";
};
};
idea-ultimate = buildIdea rec {
name = "idea-ultimate-${version}";
version = "14.1.4";
build = "IU-141.1532.4";
version = "14.1.5";
build = "IU-141.2735.5";
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIU-${version}.tar.gz";
sha256 = "1hxs0mh35r43iqd1i1s2g1ha91q2wnb6xs95w572khzjm5dznvaw";
sha256 = "0wxb7m0k3kbjnr42rwzsk4g09qxqsmnpsdj769azamvsr4p904k9";
};
};

View File

@@ -1,11 +1,12 @@
{ stdenv, fetchurl } :
stdenv.mkDerivation rec {
name = "joe-4.0";
version = "4.1";
name = "joe-${version}";
src = fetchurl {
url = "mirror://sourceforge/joe-editor/${name}.tar.gz";
sha256 = "0599xp90idl3dkplz72p33d2rfg0hb5yd38rhqdvz5zxfzzssmn5";
sha256 = "1nznzr9h0rh8g15c56yxzwpn2labx9sgsak0wcnpj7wmpnr12ql1";
};
meta = with stdenv.lib; {

View File

@@ -1,4 +1,6 @@
{stdenv, fetchurl, kdelibs, cmake, gettext }:
{ stdenv, fetchurl, automoc4, cmake, gettext, perl, pkgconfig
, shared_mime_info, kdelibs
}:
stdenv.mkDerivation rec {
name = "kile-2.1.3";
@@ -8,7 +10,9 @@ stdenv.mkDerivation rec {
sha256 = "18nfi37s46v9xav7vyki3phasddgcy4m7nywzxis198vr97yqqx0";
};
nativeBuildInputs = [ cmake gettext ];
nativeBuildInputs = [
automoc4 cmake gettext perl pkgconfig shared_mime_info
];
buildInputs = [ kdelibs ];
# for KDE 4.7 the nl translations fail since kile-2.1.2

View File

@@ -1,23 +1,24 @@
diff --git a/src/auto/configure b/src/auto/configure
index a9755a0..4a0e2a4 100755
--- a/auto/configure
+++ b/auto/configure
@@ -5638,10 +5638,6 @@ __:
@@ -5895,13 +5895,6 @@
eof
eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
rm -f -- "${tmp_mkf}"
- if test "x$MACOSX" = "xyes" && ${vi_cv_path_python} -c \
- "import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then
- vi_cv_path_python_plibs="-framework Python"
- if test "x${vi_cv_path_python}" != "x/usr/bin/python" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then
- vi_cv_path_python_plibs="-F${python_PYTHONFRAMEWORKPREFIX} -framework Python"
- fi
- else
if test "${vi_cv_var_python_version}" = "1.4"; then
vi_cv_path_python_plibs="${PYTHON_CONFDIR}/libModules.a ${PYTHON_CONFDIR}/libPython.a ${PYTHON_CONFDIR}/libObjects.a ${PYTHON_CONFDIR}/libParser.a"
else
@@ -5649,7 +5645,6 @@ eof
fi
@@ -5921,7 +5914,6 @@
vi_cv_path_python_plibs="${vi_cv_path_python_plibs} ${python_BASEMODLIBS} ${python_LIBS} ${python_SYSLIBS} ${python_LINKFORSHARED}"
vi_cv_path_python_plibs=`echo $vi_cv_path_python_plibs | sed s/-ltermcap//`
- fi
fi
-fi
if ${vi_cv_dll_name_python+:} false; then :
$as_echo_n "(cached) " >&6

View File

@@ -1,32 +0,0 @@
{ stdenv, fetchurl, cmake, qt4, kdelibs, automoc4, phonon, qimageblitz, qca2, eigen,
lcms, jasper, libgphoto2, kdepimlibs, gettext, soprano, libjpeg, libtiff,
liblqr1, lensfun, pkgconfig, qjson, libkdcraw, opencv, libkexiv2, libkipi, boost,
shared_desktop_ontologies, marble, libmysql }:
stdenv.mkDerivation rec {
name = "digikam-2.9.0";
src = fetchurl {
url = "mirror://sourceforge/digikam/${name}.tar.bz2";
sha256 = "181vf065j1zz26zahkb7hy3fk4837nvwm61cnykvni7w40w0zpbk";
};
nativeBuildInputs = [ cmake automoc4 pkgconfig ];
buildInputs = [ qt4 kdelibs phonon qimageblitz qca2 eigen lcms libjpeg libtiff
jasper libgphoto2 kdepimlibs gettext soprano liblqr1 lensfun qjson libkdcraw
opencv libkexiv2 libkipi boost shared_desktop_ontologies marble libmysql ];
# Make digikam find some FindXXXX.cmake
KDEDIRS="${marble}:${qjson}";
enableParallelBuilding = true;
meta = {
description = "Photo Management Program";
license = "GPL";
homepage = http://www.digikam.org;
maintainers = with stdenv.lib.maintainers; [ viric urkud ];
inherit (kdelibs.meta) platforms;
};
}

View File

@@ -1,8 +1,8 @@
{ stdenv, fetchurl, automoc4, boost, shared_desktop_ontologies, cmake
, eigen, lcms, gettext, jasper, kdelibs, kdepimlibs, lensfun
, libgphoto2, libjpeg, libkdcraw, libkexiv2, libkipi, libpgf, libtiff
, libusb1, liblqr1, marble, mysql, opencv, phonon, pkgconfig, qca2
, qimageblitz, qjson, qt4, soprano
, libusb1, liblqr1, marble, mysql, opencv, perl, phonon, pkgconfig
, qca2, qimageblitz, qjson, qt4, soprano
}:
stdenv.mkDerivation rec {
@@ -13,12 +13,12 @@ stdenv.mkDerivation rec {
sha256 = "081ldsaf3frf5khznjd3sxkjmi4dyp6w6nqnc2a0agkk0kxkl10m";
};
nativeBuildInputs = [ cmake automoc4 pkgconfig ];
nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ];
buildInputs = [
boost eigen gettext jasper kdelibs kdepimlibs lcms lensfun
libgphoto2 libjpeg libkdcraw libkexiv2 libkipi liblqr1 libpgf
libtiff marble mysql.lib opencv phonon qca2 qimageblitz qjson qt4
boost eigen jasper kdelibs kdepimlibs lcms lensfun libgphoto2
libjpeg libkdcraw libkexiv2 libkipi liblqr1 libpgf libtiff marble
mysql.lib opencv phonon qca2 qimageblitz qjson qt4
shared_desktop_ontologies soprano
];
@@ -26,7 +26,11 @@ stdenv.mkDerivation rec {
KDEDIRS="${marble}:${qjson}";
# Help digiKam find libusb, otherwise gphoto2 support is disabled
cmakeFlags = "-DLIBUSB_LIBRARIES=${libusb1}/lib -DLIBUSB_INCLUDE_DIR=${libusb1}/include/libusb-1.0 -DDIGIKAMSC_COMPILE_LIBKFACE=ON";
cmakeFlags = [
"-DLIBUSB_LIBRARIES=${libusb1}/lib"
"-DLIBUSB_INCLUDE_DIR=${libusb1}/include/libusb-1.0"
"-DDIGIKAMSC_COMPILE_LIBKFACE=ON"
];
enableParallelBuilding = true;

View File

@@ -1,4 +1,6 @@
{ stdenv, fetchurl, kdelibs, automoc4, boost, pkgconfig, graphviz, gettext }:
{ stdenv, fetchurl, automoc4, cmake, gettext, perl, pkgconfig
, kdelibs, boost, graphviz
}:
stdenv.mkDerivation rec {
name = "kgraphviewer-${version}";
@@ -9,7 +11,8 @@ stdenv.mkDerivation rec {
sha256 = "13zhjs57xavzrj4nrlqs35n35ihvzij7hgbszf5fhlp2a4d4rrqs";
};
buildInputs = [ kdelibs automoc4 boost pkgconfig graphviz gettext ];
buildInputs = [ kdelibs boost graphviz ];
nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ];
meta = with stdenv.lib; {
description = "A Graphviz dot graph viewer for KDE";

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchurl, kdelibs, imlib, cmake, pkgconfig, gettext }:
{ stdenv, fetchurl, automoc4, kdelibs, imlib, cmake, pkgconfig, gettext }:
stdenv.mkDerivation rec {
name = "kuickshow-0.9.1";
@@ -10,5 +10,5 @@ stdenv.mkDerivation rec {
buildInputs = [ kdelibs imlib ];
nativeBuildInputs = [ cmake gettext pkgconfig ];
nativeBuildInputs = [ automoc4 cmake gettext pkgconfig ];
}

View File

@@ -0,0 +1,43 @@
{ kdeApp
, lib
, extra-cmake-modules
, kdoctools
, karchive
, kconfig
, kcrash
, kdbusaddons
, ki18n
, kiconthemes
, khtml
, kio
, kservice
, kpty
, kwidgetsaddons
, libarchive
}:
kdeApp {
name = "ark";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
karchive
kconfig
kcrash
kdbusaddons
ki18n
kiconthemes
khtml
kio
kservice
kpty
kwidgetsaddons
libarchive
];
meta = {
license = with lib.licenses; [ gpl2 lgpl3 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,33 @@
{ kdeApp
, lib
, extra-cmake-modules
, kdoctools
, kconfig
, kio
, ki18n
, kservice
, kfilemetadata
, baloo
, kdelibs4support
}:
kdeApp {
name = "baloo-widgets";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kconfig
kio
ki18n
kservice
kfilemetadata
baloo
kdelibs4support
];
meta = {
license = [ lib.licenses.lgpl21 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,68 @@
# Maintainer's Notes:
#
# Minor updates:
# 1. Edit ./manifest.sh to point to the updated URL. Upstream sometimes
# releases updates that include only the changed packages; in this case,
# multiple URLs can be provided and the results will be merged.
# 2. Run ./manifest.sh and ./dependencies.sh.
# 3. Build and enjoy.
#
# Major updates:
# We prefer not to immediately overwrite older versions with major updates, so
# make a copy of this directory first. After copying, be sure to delete ./tmp
# if it exists. Then follow the minor update instructions.
{ pkgs, debug ? false }:
let
inherit (pkgs) lib stdenv;
srcs = import ./srcs.nix { inherit (pkgs) fetchurl; inherit mirror; };
mirror = "mirror://kde";
kdeApp = args:
let
inherit (args) name;
sname = args.sname or name;
inherit (srcs."${sname}") src version;
in stdenv.mkDerivation (args // {
name = "${name}-${version}";
inherit src;
cmakeFlags =
(args.cmakeFlags or [])
++ [ "-DBUILD_TESTING=OFF" ]
++ lib.optional debug "-DCMAKE_BUILD_TYPE=Debug";
meta = {
platforms = lib.platforms.linux;
homepage = "http://www.kde.org";
} // (args.meta or {});
});
packages = self: with self; {
kdelibs = callPackage ./kdelibs { inherit (pkgs) attica phonon; };
ark = callPackage ./ark.nix {};
baloo-widgets = callPackage ./baloo-widgets.nix {};
dolphin = callPackage ./dolphin.nix {};
dolphin-plugins = callPackage ./dolphin-plugins.nix {};
ffmpegthumbs = callPackage ./ffmpegthumbs.nix {};
gpgmepp = callPackage ./gpgmepp.nix {};
gwenview = callPackage ./gwenview.nix {};
kate = callPackage ./kate.nix {};
kdegraphics-thumbnailers = callPackage ./kdegraphics-thumbnailers.nix {};
kgpg = callPackage ./kgpg.nix { inherit (pkgs.kde4) kdepimlibs; };
konsole = callPackage ./konsole.nix {};
ksnapshot = callPackage ./ksnapshot.nix {};
libkdcraw = callPackage ./libkdcraw.nix {};
libkexiv2 = callPackage ./libkexiv2.nix {};
libkipi = callPackage ./libkipi.nix {};
okular = callPackage ./okular.nix {};
print-manager = callPackage ./print-manager.nix {};
};
newScope = scope: pkgs.kf513.newScope ({ inherit kdeApp; } // scope);
in lib.makeScope newScope packages

View File

@@ -0,0 +1,29 @@
{ kdeApp
, lib
, extra-cmake-modules
, kdoctools
, kxmlgui
, ki18n
, kio
, kdelibs4support
, dolphin
}:
kdeApp {
name = "dolphin-plugins";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kxmlgui
ki18n
kio
kdelibs4support
dolphin
];
meta = {
license = [ lib.licenses.gpl2 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,63 @@
{ kdeApp
, lib
, extra-cmake-modules
, kdoctools
, kinit
, kcmutils
, kcoreaddons
, knewstuff
, ki18n
, kdbusaddons
, kbookmarks
, kconfig
, kio
, kparts
, solid
, kiconthemes
, kcompletion
, ktexteditor
, kwindowsystem
, knotifications
, kactivities
, phonon
, baloo
, baloo-widgets
, kfilemetadata
, kdelibs4support
}:
kdeApp {
name = "dolphin";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
kinit
kcmutils
kcoreaddons
knewstuff
ki18n
kdbusaddons
kbookmarks
kconfig
kio
kparts
solid
kiconthemes
kcompletion
ktexteditor
kwindowsystem
knotifications
kactivities
phonon
baloo
baloo-widgets
kfilemetadata
kdelibs4support
];
meta = {
license = with lib.licenses; [ gpl2 fdl12 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,47 @@
#! /usr/bin/env nix-shell
#! nix-shell -i bash -p coreutils findutils gnused nix wget
set -x
# The trailing slash at the end is necessary!
RELEASE_URL="http://download.kde.org/stable/applications/15.08.1/"
EXTRA_WGET_ARGS='-A *.tar.xz'
mkdir tmp; cd tmp
wget -nH -r -c --no-parent $RELEASE_URL $EXTRA_WGET_ARGS
cat >../srcs.nix <<EOF
# DO NOT EDIT! This file is generated automatically by manifest.sh
{ fetchurl, mirror }:
{
EOF
workdir=$(pwd)
find . | while read src; do
if [[ -f "${src}" ]]; then
url="${src:2}"
# Sanitize file name
filename=$(basename "$src" | tr '@' '_')
nameversion="${filename%.tar.*}"
name=$(echo "$nameversion" | sed -e 's,-[[:digit:]].*,,' | sed -e 's,-opensource-src$,,')
version=$(echo "$nameversion" | sed -e 's,^\([[:alpha:]][[:alnum:]]*-\)\+,,')
sha256=$(nix-hash --type sha256 --base32 --flat "$src")
cat >>../srcs.nix <<EOF
$name = {
version = "$version";
src = fetchurl {
url = "\${mirror}/$url";
sha256 = "$sha256";
name = "$filename";
};
};
EOF
fi
done
echo "}" >>../srcs.nix
cd ..

View File

@@ -0,0 +1,27 @@
{ kdeApp
, lib
, automoc4
, cmake
, perl
, pkgconfig
, kdelibs
, ffmpeg
}:
kdeApp {
name = "ffmpegthumbs";
nativeBuildInputs = [
automoc4
cmake
perl
pkgconfig
];
buildInputs = [
kdelibs
ffmpeg
];
meta = {
license = with lib.licenses; [ gpl2 bsd3 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,21 @@
{ kdeApp
, lib
, extra-cmake-modules
, boost
, gpgme
}:
kdeApp {
name = "gpgmepp";
nativeBuildInputs = [
extra-cmake-modules
];
buildInputs = [
boost
gpgme
];
meta = {
license = with lib.licenses; [ lgpl21 bsd3 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,37 @@
{ kdeApp
, lib
, extra-cmake-modules
, kdoctools
, baloo
, exiv2
, kactivities
, kdelibs4support
, kio
, lcms2
, phonon
, qtsvg
, qtx11extras
}:
kdeApp {
name = "gwenview";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
baloo
exiv2
kactivities
kdelibs4support
kio
lcms2
phonon
qtsvg
qtx11extras
];
meta = {
license = with lib.licenses; [ gpl2 fdl12 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,63 @@
{ kdeApp
, lib
, extra-cmake-modules
, kdoctools
, qtscript
, kactivities
, kconfig
, kcrash
, kguiaddons
, kiconthemes
, ki18n
, kinit
, kjobwidgets
, kio
, kparts
, ktexteditor
, kwindowsystem
, kxmlgui
, kdbusaddons
, kwallet
, plasma-framework
, kitemmodels
, knotifications
, threadweaver
, knewstuff
, libgit2
}:
kdeApp {
name = "kate";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
qtscript
kactivities
kconfig
kcrash
kguiaddons
kiconthemes
ki18n
kinit
kjobwidgets
kio
kparts
ktexteditor
kwindowsystem
kxmlgui
kdbusaddons
kwallet
plasma-framework
kitemmodels
knotifications
threadweaver
knewstuff
libgit2
];
meta = {
license = with lib.licenses; [ gpl3 lgpl3 lgpl2 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,29 @@
{ kdeApp
, lib
, automoc4
, cmake
, perl
, pkgconfig
, kdelibs
, libkexiv2
, libkdcraw
}:
kdeApp {
name = "kdegraphics-thumbnailers";
nativeBuildInputs = [
automoc4
cmake
perl
pkgconfig
];
buildInputs = [
kdelibs
libkexiv2
libkdcraw
];
meta = {
license = [ lib.licenses.lgpl21 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,56 @@
From b43c49109694940f0a26240753e879eb629dd02d Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Mon, 7 Sep 2015 13:54:57 -0500
Subject: [PATCH 1/2] old kde4 cmake policies
---
cmake/modules/FindKDE4Internal.cmake | 33 +++++++++++++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git a/cmake/modules/FindKDE4Internal.cmake b/cmake/modules/FindKDE4Internal.cmake
index 7d54b9b..c435571 100644
--- a/cmake/modules/FindKDE4Internal.cmake
+++ b/cmake/modules/FindKDE4Internal.cmake
@@ -345,6 +345,39 @@
# Redistribution and use is allowed according to the terms of the BSD license.
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+# this is required now by cmake 2.6 and so must not be skipped by if(KDE4_FOUND) below
+cmake_minimum_required(VERSION 2.8.9 FATAL_ERROR)
+# set the cmake policies to the 2.4.x compatibility settings (may change for KDE 4.3)
+cmake_policy(VERSION 2.4.5)
+
+# CMake 2.6, set compatibility behaviour to cmake 2.4
+# this must be executed always, because the CMAKE_MINIMUM_REQUIRED() command above
+# resets the policy settings, so we get a lot of warnings
+
+# CMP0000: don't require cmake_minimum_version() directly in the top level CMakeLists.txt, FindKDE4Internal.cmake is good enough
+cmake_policy(SET CMP0000 OLD)
+# CMP0002: in KDE4 we have multiple targets with the same name for the unit tests
+cmake_policy(SET CMP0002 OLD)
+# CMP0003: add the link paths to the link command as with cmake 2.4
+cmake_policy(SET CMP0003 OLD)
+# CMP0005: keep escaping behaviour for definitions added via add_definitions()
+cmake_policy(SET CMP0005 OLD)
+# since cmake 2.6.3: NEW behaviour is that setting policies doesn't "escape" the file
+# where this is done, macros and functions are executed with the policies as they
+# were when the were defined. Keep the OLD behaviour so we can set the policies here
+# for all KDE software without the big warning
+cmake_policy(SET CMP0011 OLD)
+
+# since cmake 2.8.4: when include()ing from inside cmake's module dir, prefer the files
+# in this directory over those from CMAKE_MODULE_PATH
+cmake_policy(SET CMP0017 NEW)
+
+# since cmake 3.0: use of the LOCATION target property is disallowed while it is used in KDE4Macros.cmake
+if (POLICY CMP0026)
+ cmake_policy(SET CMP0026 OLD)
+endif (POLICY CMP0026)
+
+
# Only do something if it hasn't been found yet
if(NOT KDE4_FOUND)
--
2.5.0

View File

@@ -0,0 +1,25 @@
From fab35bac146a817f3af80f45531355fd70cd226b Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Mon, 7 Sep 2015 13:56:03 -0500
Subject: [PATCH 2/2] polkit install path
---
kdecore/auth/ConfigureChecks.cmake | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kdecore/auth/ConfigureChecks.cmake b/kdecore/auth/ConfigureChecks.cmake
index 7cf9cb5..c8334ae 100644
--- a/kdecore/auth/ConfigureChecks.cmake
+++ b/kdecore/auth/ConfigureChecks.cmake
@@ -150,7 +150,7 @@ elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "POLKITQT-1")
${CMAKE_INSTALL_PREFIX} _KDE4_AUTH_POLICY_FILES_INSTALL_DIR
${POLKITQT-1_POLICY_FILES_INSTALL_DIR})
- set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR ${_KDE4_AUTH_POLICY_FILES_INSTALL_DIR} CACHE STRING
+ set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions" CACHE STRING
"Where policy files generated by KAuth will be installed" FORCE)
elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "FAKE")
set (KAUTH_COMPILING_FAKE_BACKEND TRUE)
--
2.5.0

View File

@@ -0,0 +1,43 @@
{ kdeApp, attica, attr, automoc4, avahi, bison, cmake
, docbook_xml_dtd_42, docbook_xsl, flex, giflib, herqq, ilmbase
, libdbusmenu_qt, libjpeg, libxml2, libxslt, perl, phonon, pkgconfig
, polkit_qt4, qca2, qt4, shared_desktop_ontologies, shared_mime_info
, soprano, strigi, udev, xz
, lib
}:
kdeApp {
name = "kdelibs";
buildInputs = [
attica attr avahi giflib herqq libdbusmenu_qt libjpeg libxml2
polkit_qt4 qca2 shared_desktop_ontologies udev xz
];
propagatedBuildInputs = [ qt4 soprano phonon strigi ];
nativeBuildInputs = [
automoc4 bison cmake flex libxslt perl pkgconfig shared_mime_info
];
patches = [
./0001-old-kde4-cmake-policies.patch
./0002-polkit-install-path.patch
];
# cmake does not detect path to `ilmbase`
NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
cmakeFlags = [
"-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
"-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
"-DHUPNP_ENABLED=ON"
"-DWITH_SOLID_UDISKS2=ON"
"-DKDE_DEFAULT_HOME=.kde"
];
setupHook = ./setup-hook.sh;
meta = {
licenses = with lib.licenses; [ gpl2 fdl12 lgpl21 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,12 @@
diff -ru -x '*~' kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake
--- kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake 2011-05-20 22:24:54.000000000 +0200
+++ kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake 2011-07-12 14:03:00.000000000 +0200
@@ -139,7 +139,7 @@
${CMAKE_INSTALL_PREFIX} _KDE4_AUTH_POLICY_FILES_INSTALL_DIR
${POLKITQT-1_POLICY_FILES_INSTALL_DIR})
- set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR ${_KDE4_AUTH_POLICY_FILES_INSTALL_DIR} CACHE STRING
+ set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions" CACHE STRING
"Where policy files generated by KAuth will be installed" FORCE)
elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "FAKE")
set (KAUTH_COMPILING_FAKE_BACKEND TRUE)

View File

@@ -0,0 +1,10 @@
addQt4Plugins() {
if [[ -d "$1/lib/qt4/plugins" ]]; then
propagatedUserEnvPkgs+=" $1"
fi
if [[ -d "$1/lib/kde4/plugins" ]]; then
propagatedUserEnvPkgs+=" $1"
fi
}
envHooks+=(addQt4Plugins)

View File

@@ -0,0 +1,31 @@
{ kdeApp
, lib
, automoc4
, cmake
, perl
, pkgconfig
, boost
, gpgme
, kdelibs
, kdepimlibs
}:
kdeApp {
name = "kgpg";
nativeBuildInputs = [
automoc4
cmake
perl
pkgconfig
];
buildInputs = [
boost
gpgme
kdelibs
kdepimlibs
];
meta = {
license = [ lib.licenses.gpl2 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,61 @@
{ kdeApp
, lib
, extra-cmake-modules
, kdoctools
, qtscript
, kbookmarks
, kcompletion
, kconfig
, kconfigwidgets
, kcoreaddons
, kguiaddons
, ki18n
, kiconthemes
, kinit
, kdelibs4support
, kio
, knotifications
, knotifyconfig
, kparts
, kpty
, kservice
, ktextwidgets
, kwidgetsaddons
, kwindowsystem
, kxmlgui
}:
kdeApp {
name = "konsole";
nativeBuildInputs = [
extra-cmake-modules
kdoctools
];
buildInputs = [
qtscript
kbookmarks
kcompletion
kconfig
kconfigwidgets
kcoreaddons
kguiaddons
ki18n
kiconthemes
kinit
kdelibs4support
kio
knotifications
knotifyconfig
kparts
kpty
kservice
ktextwidgets
kwidgetsaddons
kwindowsystem
kxmlgui
];
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,29 @@
{ kdeApp
, lib
, automoc4
, cmake
, perl
, pkgconfig
, kdelibs
, libkipi
, libXfixes
}:
kdeApp {
name = "ksnapshot";
nativeBuildInputs = [
automoc4
cmake
perl
pkgconfig
];
buildInputs = [
kdelibs
libkipi
libXfixes
];
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,27 @@
{ kdeApp
, lib
, automoc4
, cmake
, perl
, pkgconfig
, libraw
, kdelibs
}:
kdeApp {
name = "libkdcraw";
nativeBuildInputs = [
automoc4
cmake
perl
pkgconfig
];
buildInputs = [
kdelibs
libraw
];
meta = {
license = with lib.licenses; [ gpl2 lgpl21 bsd3 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,27 @@
{ kdeApp
, lib
, automoc4
, cmake
, perl
, pkgconfig
, exiv2
, kdelibs
}:
kdeApp {
name = "libkexiv2";
nativeBuildInputs = [
automoc4
cmake
perl
pkgconfig
];
buildInputs = [
exiv2
kdelibs
];
meta = {
license = with lib.licenses; [ gpl2 lgpl21 bsd3 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,25 @@
{ kdeApp
, lib
, automoc4
, cmake
, perl
, pkgconfig
, kdelibs
}:
kdeApp {
name = "libkipi";
nativeBuildInputs = [
automoc4
cmake
perl
pkgconfig
];
buildInputs = [
kdelibs
];
meta = {
license = with lib.licenses; [ gpl2 lgpl21 bsd3 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,41 @@
{ kdeApp
, lib
, automoc4
, cmake
, perl
, pkgconfig
, kdelibs
, qimageblitz
, poppler_qt4
, libspectre
, libkexiv2
, djvulibre
, libtiff
, freetype
, ebook_tools
}:
kdeApp {
name = "okular";
nativeBuildInputs = [
automoc4
cmake
perl
pkgconfig
];
buildInputs = [
kdelibs
qimageblitz
poppler_qt4
libspectre
libkexiv2
djvulibre
libtiff
freetype
ebook_tools
];
meta = {
license = with lib.licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

View File

@@ -0,0 +1,45 @@
{ kdeApp
, lib
, extra-cmake-modules
, qtdeclarative
, cups
, kconfig
, kconfigwidgets
, kdbusaddons
, kiconthemes
, ki18n
, kcmutils
, kio
, knotifications
, plasma-framework
, kwidgetsaddons
, kwindowsystem
, kitemviews
}:
kdeApp {
name = "print-manager";
nativeBuildInputs = [
extra-cmake-modules
];
buildInputs = [
qtdeclarative
cups
kconfig
kconfigwidgets
kdbusaddons
kiconthemes
ki18n
kcmutils
kio
knotifications
plasma-framework
kwidgetsaddons
kwindowsystem
kitemviews
];
meta = {
license = [ lib.licenses.gpl2 ];
maintainers = [ lib.maintainers.ttuegel ];
};
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,11 +1,11 @@
{ stdenv, fetchurl, cmake }:
stdenv.mkDerivation rec {
name = "soxr-0.1.1";
name = "soxr-0.1.2";
src = fetchurl {
url = "mirror://sourceforge/soxr/${name}-Source.tar.xz";
sha256 = "1hmadwqfpg15vhwq9pa1sl5xslibrjpk6hpq2s9hfmx1s5l6ihfw";
sha256 = "0xf2w3piwz9gfr1xqyrj4k685q5dy53kq3igv663i4f4y4sg9rjl";
};
preConfigure = if stdenv.isDarwin then ''
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:"`pwd`/build/src
'';
buildInputs = [ cmake ];
nativeBuildInputs = [ cmake ];
meta = {
description = "An audio resampling library";

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchgit, makeWrapper, qt5, qmltermwidget }:
{ stdenv, fetchgit, makeWrapper, qtbase, qtquick1, qmltermwidget }:
stdenv.mkDerivation rec {
version = "1.0.0";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
sed -i -e '/qmltermwidget/d' cool-retro-term.pro
'';
buildInputs = [ makeWrapper qt5.base qt5.quick1 qmltermwidget ];
buildInputs = [ makeWrapper qtbase qtquick1 qmltermwidget ];
configurePhase = "qmake PREFIX=$out";
@@ -26,8 +26,7 @@ stdenv.mkDerivation rec {
mv $out/usr/bin $out/bin
rmdir $out/usr
wrapProgram $out/bin/cool-retro-term \
--prefix QML2_IMPORT_PATH : "${qmltermwidget}/lib/qml/"
wrapQtProgram $out/bin/cool-retro-term
'';
enableParallelBuilding = true;

View File

@@ -1,24 +1,16 @@
{ stdenv, fetchurl, pkgconfig, qt4, libXtst, libvorbis, phonon, hunspell }:
{ stdenv, fetchFromGitHub, pkgconfig, qt4, libXtst, libvorbis, hunspell, libao, ffmpeg, libeb, lzo, xz, libtiff }:
stdenv.mkDerivation rec {
name = "goldendict-1.0.1";
src = fetchurl {
url = "mirror://sourceforge/goldendict/${name}-src.tar.bz2";
sha256 = "19p99dd5jgs0k66sy30vck7ymqj6dv1lh6w8xw18zczdll2h9yxk";
name = "goldendict-1.5.0.20150801";
src = fetchFromGitHub {
owner = "goldendict";
repo = "goldendict";
rev = "b4bb1e9635c764aa602fbeaeee661f35e461d062";
sha256 = "0dhaa0nii226541al3i2d8x8h7cfh96w5vkw3pa3l74llgrj7yx2";
};
buildInputs = [ pkgconfig qt4 libXtst libvorbis phonon hunspell ];
unpackPhase = ''
mkdir ${name}-src
cd ${name}-src
tar xf ${src}
'';
patches = [ ./goldendict-paths.diff ./gcc47.patch ];
patchFlags = "-p 0";
buildInputs = [ pkgconfig qt4 libXtst libvorbis hunspell libao ffmpeg libeb lzo xz libtiff ];
configurePhase = ''
qmake
'';
installPhase = ''
make INSTALL_ROOT="$out" install
rm -rf "$out/share/app-install"
qmake PREFIX=$out 'CONFIG+=zim_support'
'';
meta = {

View File

@@ -1,40 +0,0 @@
From b00d081da20b9a6b257573c6b23a6bc640c4dab1 Mon Sep 17 00:00:00 2001
From: Michael Palimaka <kensington@gentoo.org>
Date: Fri, 20 Jul 2012 03:27:38 +1000
Subject: [PATCH] Fix build with GCC 4.7 by adding missing includes.
---
processwrapper.cc | 4 ++++
qtsingleapplication/src/qtlocalpeer.cpp | 1 +
2 files changed, 5 insertions(+)
diff --git processwrapper.cc processwrapper.cc
index f7f3f19..86b985d 100644
--- processwrapper.cc
+++ processwrapper.cc
@@ -2,6 +2,10 @@
#include <QtCore>
+#if defined(Q_OS_UNIX)
+#include <unistd.h>
+#endif
+
#ifdef Q_OS_WIN32
#include <windows.h>
diff --git qtsingleapplication/src/qtlocalpeer.cpp qtsingleapplication/src/qtlocalpeer.cpp
index 382d182..506c142 100644
--- qtsingleapplication/src/qtlocalpeer.cpp
+++ qtsingleapplication/src/qtlocalpeer.cpp
@@ -50,6 +50,7 @@ static PProcessIdToSessionId pProcessIdToSessionId = 0;
#endif
#if defined(Q_OS_UNIX)
#include <time.h>
+#include <unistd.h>
#endif
namespace QtLP_Private {
--
1.7.11.1

View File

@@ -1,10 +0,0 @@
--- goldendict.pro~ 2010-12-27 22:52:21.000000000 +0100
+++ goldendict.pro 2010-12-27 22:52:21.000000000 +0100
@@ -63,2 +63,2 @@
- isEmpty( PREFIX ):PREFIX = /usr/local
- DEFINES += PROGRAM_DATA_DIR=\\\"$$PREFIX/share/apps/goldendict/\\\"
+ isEmpty( PREFIX ):PREFIX = /
+ DEFINES += PROGRAM_DATA_DIR=\\\"$$PREFIX/share/goldendict/\\\"
@@ -66 +66 @@
- locale.path = $$PREFIX/share/apps/goldendict/locale/
+ locale.path = $$PREFIX/share/goldendict/locale/

View File

@@ -2,3 +2,4 @@ source "https://rubygems.org"
gem 'jekyll'
gem 'rdiscount'
gem 'RedCloth'

View File

@@ -1,6 +1,7 @@
GEM
remote: https://rubygems.org/
specs:
RedCloth (4.2.9)
blankslate (2.1.2.4)
celluloid (0.16.0)
timers (~> 4.0.0)
@@ -68,5 +69,9 @@ PLATFORMS
ruby
DEPENDENCIES
RedCloth
jekyll
rdiscount
BUNDLED WITH
1.10.6

View File

@@ -1,4 +1,11 @@
{
"RedCloth" = {
version = "4.2.9";
source = {
type = "gem";
sha256 = "06pahxyrckhgb7alsxwhhlx1ib2xsx33793finj01jk8i054bkxl";
};
};
"blankslate" = {
version = "2.1.2.4";
source = {

View File

@@ -1,24 +1,25 @@
{ stdenv, fetchurl, makeWrapper, cmake, qt4, perl, shared_mime_info, libvorbis, taglib
, flac, libsamplerate, libdvdread, lame, libsndfile, libmad, gettext
, transcode, cdrdao, cdrtools, dvdplusrwtools, vcdimager, cdparanoia
, kdelibs, kdemultimedia, automoc4, phonon, libkcddb ? null
{ stdenv, fetchurl, makeWrapper, automoc4, cmake, perl, pkgconfig
, shared_mime_info, libvorbis, taglib , flac, libsamplerate
, libdvdread, lame, libsndfile, libmad, gettext , transcode, cdrdao
, cdrtools, dvdplusrwtools, vcdimager, cdparanoia , kdelibs
, kdemultimedia, phonon, libkcddb ? null
}:
stdenv.mkDerivation rec {
name = "k3b-2.0.3a";
src = fetchurl {
url = "http://download.kde.org/stable/k3b/${name}.tar.xz";
sha256 = "10f07465g9860chfnvrp9w3m686g6j9f446xgnnx7h82d1sb42rd";
};
buildInputs =
[ cmake qt4 perl shared_mime_info libvorbis taglib
flac libsamplerate libdvdread lame libsndfile
libmad gettext stdenv.cc.libc
kdelibs kdemultimedia automoc4 phonon
libkcddb makeWrapper cdparanoia
];
nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ];
buildInputs = [
shared_mime_info libvorbis taglib flac libsamplerate libdvdread
lame libsndfile libmad stdenv.cc.libc kdelibs
kdemultimedia phonon libkcddb makeWrapper cdparanoia
];
enableParallelBuilding = true;
@@ -31,7 +32,7 @@ stdenv.mkDerivation rec {
wrapProgram $out/bin/k3b \
--prefix LD_LIBRARY_PATH ":" "${cdparanoia}/lib"
'';
meta = with stdenv.lib; {
description = "CD/DVD Burning Application for KDE";
license = licenses.gpl2Plus;

View File

@@ -1,4 +1,5 @@
{ stdenv, fetchurl, kdelibs, gettext, xf86_input_wacom }:
{ stdenv, fetchurl, automoc4, cmake, gettext, perl, pkgconfig
, kdelibs, xf86_input_wacom }:
stdenv.mkDerivation rec {
name = "wacomtablet-2.1.0";
@@ -10,7 +11,7 @@ stdenv.mkDerivation rec {
buildInputs = [ kdelibs xf86_input_wacom ];
nativeBuildInputs = [ gettext ];
nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ];
meta = with stdenv.lib; {
description = "KDE Wacom graphic tablet configuration tool";

View File

@@ -1,5 +1,5 @@
{ stdenv, fetchurl, gettext, kdelibs, libXtst, libfakekey, makeWrapper, pkgconfig, qca2
, qjson
{ stdenv, fetchurl, automoc4, cmake, perl, pkgconfig
, gettext, kdelibs, libXtst, libfakekey, makeWrapper, qca2, qjson
}:
stdenv.mkDerivation rec {
@@ -11,7 +11,9 @@ stdenv.mkDerivation rec {
sha256 = "1vrr047bq5skxvibv5pb9ch9dxh005zmar017jzbyb9hilxr8kg4";
};
buildInputs = [ gettext kdelibs libXtst libfakekey makeWrapper pkgconfig qca2 qjson ];
buildInputs = [ gettext kdelibs libXtst libfakekey makeWrapper qca2 qjson ];
nativeBuildInputs = [ automoc4 cmake perl pkgconfig ];
meta = with stdenv.lib; {
description = "A tool to connect and sync your devices with KDE";

View File

@@ -0,0 +1,110 @@
{ stdenv, fetchurl, makeWrapper, pkgconfig, zip, python
, zlib, xapian, which , icu, libmicrohttpd , lzma, zimlib
, ctpp2, aria2, wget , bc, libuuid , glibc, libX11
, libXext, libXt, libXrender , glib, dbus, dbus_glib, gtk
, gdk_pixbuf, pango, cairo , freetype, fontconfig, alsaLib
, atk
}:
let
xulrunner64_tar = fetchurl {
url = http://download.kiwix.org/dev/xulrunner-29.0.en-US.linux-x86_64.tar.bz2;
sha256 = "0i3m30gm5z7qmas14id6ypvbmnb2k7jhz8aby2wz5vvv49zqmx3s";
};
xulrunnersdk64_tar = fetchurl {
url = http://download.kiwix.org/dev/xulrunner-29.0.en-US.linux-x86_64.sdk.tar.bz2;
sha256 = "0z90v7c4mq15g5klmsj8vs2r10fbygj3qzynx4952hkv8ihw8n3a";
};
xulrunner32_tar = fetchurl {
url = http://download.kiwix.org/dev/xulrunner-29.0.en-US.linux-i686.tar.bz2;
sha256 = "0yln6pxz8f6b9wm9124sx049z8mgi17lgd63rcv2hnix825y8gjb";
};
xulrunnersdk32_tar = fetchurl {
url = http://download.kiwix.org/dev/xulrunner-29.0.en-US.linux-i686.sdk.tar.bz2;
sha256 = "1h9vcbvf8wgds6i2z20y7krpys0mqsqhv1ijyfljanp6vyll9fvi";
};
xulrunner_tar = if stdenv.system == "x86_64-linux" then xulrunner64_tar else xulrunner32_tar;
xulrunnersdk_tar = if stdenv.system == "x86_64-linux" then xulrunnersdk64_tar else xulrunnersdk32_tar;
pugixml_tar = fetchurl {
url = http://download.kiwix.org/dev/pugixml-1.2.tar.gz;
sha256 = "0sqk0vdwjq44jxbbkj1cy8qykrmafs1sickzldb2w2nshsnjshhg";
};
in
with stdenv.lib;
stdenv.mkDerivation rec {
name = "kiwix-${version}";
version = "0.9";
src = fetchurl {
url = "http://download.kiwix.org/src/kiwix-${version}-src.tar.xz";
sha256 = "0577phhy2na59cpcqjgldvksp0jwczyg0l6c9ghnr19i375l7yqc";
};
buildInputs = [
zip
pkgconfig
python
zlib
xapian
which
icu
libmicrohttpd
lzma
zimlib
ctpp2
aria2
wget
bc
libuuid
makeWrapper
];
postUnpack = ''
cd kiwix-*
mkdir static
cp Makefile.in static/
cd src/dependencies
cp ${pugixml_tar} pugixml-1.2.tar.gz
tar -xf ${xulrunner_tar}
tar -xf ${xulrunnersdk_tar}
cd ../../..
'';
configurePhase = ''
bash ./configure --disable-static --disable-dependency-tracking --prefix=$out --with-libpugixml=SELF
'';
buildPhase = ''
cd src/dependencies
make pugixml-1.2/libpugixml.a
cd ../..
bash ./configure --disable-static --disable-dependency-tracking --prefix=$out --with-libpugixml=SELF
make
'';
installPhase = ''
make install
cp -r src/dependencies/xulrunner $out/lib/kiwix
patchelf --set-interpreter ${glibc}/lib/ld-linux${optionalString (stdenv.system == "x86_64-linux") "-x86-64"}.so.2 $out/lib/kiwix/xulrunner/xulrunner
rm $out/bin/kiwix
makeWrapper $out/lib/kiwix/kiwix-launcher $out/bin/kiwix \
--suffix LD_LIBRARY_PATH : `cat ${stdenv.cc}/nix-support/orig-cc`/lib:${makeLibraryPath [libX11 libXext libXt libXrender glib dbus dbus_glib gtk gdk_pixbuf pango cairo freetype fontconfig alsaLib atk]} \
--suffix PATH : ${aria2}/bin
'';
meta = {
description = "An offline reader for Web content";
homepage = http://kiwix.org;
license = licenses.gpl3;
maintainers = with maintainers; [ robbinch ];
};
}

View File

@@ -1,4 +1,6 @@
{ stdenv, fetchurl, cmake, automoc4, kdelibs, taglib, exiv2, podofo, gettext, qt4, phonon }:
{ stdenv, fetchurl, automoc4, cmake, gettext, perl, pkgconfig
, kdelibs, taglib, exiv2, podofo, qt4, phonon
}:
stdenv.mkDerivation rec {
name = "krename-4.0.9";
@@ -8,7 +10,8 @@ stdenv.mkDerivation rec {
sha256 = "11bdg5vdcs393n0aibhm3jh3wxlk5kz78jhkwf7cj9086qkg9wds";
};
buildInputs = [ cmake automoc4 kdelibs taglib exiv2 podofo gettext qt4 phonon ];
buildInputs = [ kdelibs taglib exiv2 podofo qt4 phonon ];
nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ];
meta = {
homepage = http://www.krename.net;

View File

@@ -1,4 +1,6 @@
{stdenv, fetchurl, gettext, kdelibs, kde_baseapps}:
{ stdenv, fetchurl, automoc4, cmake, gettext, perl, pkgconfig
, kdelibs, kde_baseapps
}:
stdenv.mkDerivation rec {
name = "krusader-2.4.0-beta1";
@@ -6,7 +8,8 @@ stdenv.mkDerivation rec {
url = "mirror://sourceforge/krusader/${name}.tar.bz2";
sha256 = "1q1m4cjzz2m41pdpxnwrsiczc7990785b700lv64midjjgjnr7j6";
};
buildInputs = [ gettext kdelibs kde_baseapps ];
buildInputs = [ kdelibs kde_baseapps ];
nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ];
NIX_CFLAGS_COMPILE = "-fpermissive"; # fix build with newer gcc versions
meta = {
description = "Norton/Total Commander clone for KDE";

View File

@@ -0,0 +1,21 @@
{ stdenv, fetchurl, ocamlPackages, ncurses, gsl }:
stdenv.mkDerivation rec {
name = "orpie-${version}";
version = "1.5.2";
src = fetchurl {
url = "http://pessimization.com/software/orpie/${name}.tar.gz";
sha256 = "0v9xgpcf186ni55rkmx008msyszw0ypd6rd98hgwpih8yv3pymfy";
};
buildInputs = [ ncurses gsl ] ++ (with ocamlPackages; [ ocaml ]);
meta = {
homepage = http://pessimization.com/software/orpie/;
description = "A fullscreen RPN calculator for the console";
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.all;
maintainers = with stdenv.lib.maintainers; [ obadz ];
};
}

View File

@@ -1,10 +1,9 @@
{ fetchurl, stdenv, gettext, intltool, pkgconfig, makeWrapper
, geoclue, python, pygobject3, pyxdg
, libdrm, libX11, libxcb, libXxf86vm
, guiSupport ? true
, drmSupport ? true
, randrSupport ? true
, vidModeSupport ? true
{ fetchurl, stdenv, gettext, intltool, makeWrapper, pkgconfig
, geoclue
, guiSupport ? true, gtk3, python, pygobject3, pyxdg
, drmSupport ? true, libdrm
, randrSupport ? true, libxcb
, vidModeSupport ? true, libX11, libXxf86vm
}:
let
@@ -19,10 +18,10 @@ stdenv.mkDerivation {
};
buildInputs = [ geoclue ]
++ stdenv.lib.optional guiSupport [ python pygobject3 pyxdg ]
++ stdenv.lib.optional drmSupport [ libdrm ]
++ stdenv.lib.optional randrSupport [ libxcb ]
++ stdenv.lib.optional vidModeSupport [ libX11 libXxf86vm ];
++ stdenv.lib.optionals guiSupport [ gtk3 python pygobject3 pyxdg ]
++ stdenv.lib.optionals drmSupport [ libdrm ]
++ stdenv.lib.optionals randrSupport [ libxcb ]
++ stdenv.lib.optionals vidModeSupport [ libX11 libXxf86vm ];
nativeBuildInputs = [ gettext intltool makeWrapper pkgconfig ];
configureFlags = [
@@ -33,12 +32,14 @@ stdenv.mkDerivation {
];
preInstall = stdenv.lib.optionalString guiSupport ''
substituteInPlace src/redshift-gtk/redshift-gtk python \
substituteInPlace src/redshift-gtk/redshift-gtk \
--replace "/usr/bin/env python3" "${python}/bin/${python.executable}"
'';
postInstall = stdenv.lib.optionalString guiSupport ''
wrapProgram "$out/bin/redshift-gtk" --prefix PYTHONPATH : "$PYTHONPATH"
wrapProgram "$out/bin/redshift-gtk" \
--prefix PYTHONPATH : "$PYTHONPATH" \
--prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH"
'';
meta = with stdenv.lib; {

View File

@@ -1,4 +1,5 @@
{ stdenv, fetchurl, kdelibs, kdebase_workspace, gettext }:
{ stdenv, fetchurl, automoc4, cmake, gettext, perl, pkgconfig
, kdelibs, kdebase_workspace }:
let version = "0.11";
in
@@ -10,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "0g27aswh8iz5v67v1wkjny4p100vs2gm0lw0qzfkg6sw1pb4i519";
};
nativeBuildInputs = [ gettext ];
nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ];
buildInputs = [ kdelibs kdebase_workspace ];

View File

@@ -1,4 +1,5 @@
{ stdenv, fetchurl, kdelibs, gettext, konsole }:
{ stdenv, fetchurl, automoc4, cmake, gettext, perl, pkgconfig
, kdelibs, konsole }:
let
pname = "yakuake";
@@ -14,7 +15,7 @@ stdenv.mkDerivation {
buildInputs = [ kdelibs ];
nativeBuildInputs = [ gettext ];
nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ];
patchPhase = ''
substituteInPlace app/terminal.cpp --replace \"konsolepart\" "\"${konsole}/lib/kde4/libkonsolepart.so\""

View File

@@ -1,10 +1,10 @@
# This file is autogenerated from update.sh in the parent directory.
{
dev = {
version = "47.0.2516.0";
sha256 = "05caz427lis89rrh1885mp84q4lsavkn7d1x519drmjvyz3djal8";
sha256bin32 = "0fylv375j7wypwbjpccsjiyzzijkj6v96nvmal2x6fqyzz1qcx2s";
sha256bin64 = "1n4vyibv9jvm12cxpj3grvafc0x7izw71hz83dr9q5r73q43bkkk";
version = "47.0.2508.0";
sha256 = "1jmcvbimj3x91czvclnqbp8w2nfqhk2bd7bw9yd37c576md1wnw2";
sha256bin32 = "10spq63yfyzw419bz22r2g5rmnaxy5861715mkrcbpfm8cylzmzh";
sha256bin64 = "1ycdp37ikdc9w4hp9qgpzjp47zh37g01ax8x4ack202vrv0dxhsh";
};
beta = {
version = "46.0.2490.33";

View File

@@ -4,7 +4,7 @@
, yasm, mesa, sqlite, unzip, makeWrapper, pysqlite
, hunspell, libevent, libstartup_notification, libvpx
, cairo, gstreamer, gst_plugins_base, icu, libpng, jemalloc, libpulseaudio
, enableGTK3 ? false, fetchpatch
, enableGTK3 ? false
, debugBuild ? false
, # If you want the resulting program to call itself "Firefox" instead
# of "Shiretoko" or whatever, enable this option. However, those
@@ -28,17 +28,6 @@ common = { pname, version, sha1 }: stdenv.mkDerivation rec {
inherit sha1;
};
patches = if !enableGTK3 then null else [(fetchpatch {
name = "crash_OTMC+GTK3.patch";
# backported from 40.1
# https://bugzilla.mozilla.org/show_bug.cgi?id=1127752
# https://bugzilla.redhat.com/show_bug.cgi?id=1256875
url = "http://pkgs.fedoraproject.org/cgit/firefox.git/plain/"
+ "mozilla-1127752.patch?id=571fefe2c8f741b92c865e9122af56f6258b3fc1";
sha256 = "04yq4lcq8ln2fmknz4c0zah77wxqp2mcgr8pjx860dmcmzvyi3p5";
})];
patchFlags = "-p2";
buildInputs =
[ pkgconfig gtk perl zip libIDL libjpeg zlib bzip2
python dbus dbus_glib pango freetype fontconfig xorg.libXi

View File

@@ -1,4 +1,4 @@
{ stdenv, fetchgit, kdelibs }:
{ stdenv, fetchgit, automoc4, cmake, perl, pkgconfig, kdelibs }:
stdenv.mkDerivation rec {
name = "kwebkitpart-${version}";
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
buildInputs = [ kdelibs ];
nativeBuildInputs = [ automoc4 cmake perl pkgconfig ];
meta = with stdenv.lib; {
platforms = platforms.linux;
maintainers = [ maintainers.phreedom ];

View File

@@ -1,4 +1,5 @@
{ stdenv, fetchurl, kde4, gettext, pkgconfig, shared_desktop_ontologies, qca2, qoauth }:
{ stdenv, fetchurl, automoc4, cmake, gettext, perl, pkgconfig
, kde4, shared_desktop_ontologies, qca2, qoauth }:
assert builtins.compareVersions "4.8.3" kde4.release != 1; # https://bugs.kde.org/show_bug.cgi?id=306077
@@ -12,7 +13,9 @@ stdenv.mkDerivation rec {
buildInputs = [ kde4.kdelibs qca2 qoauth ];
nativeBuildInputs = [ gettext pkgconfig shared_desktop_ontologies ];
nativeBuildInputs = [
automoc4 cmake gettext perl pkgconfig shared_desktop_ontologies
];
meta = with stdenv.lib; {
platforms = platforms.linux;

View File

@@ -1,6 +1,7 @@
{ stdenv, fetchurl, makeDesktopItem, makeWrapper
{ stdenv, fetchurl, makeDesktopItem, makeWrapper, patchelf
, dbus_libs, gcc, glib, libdrm, libffi, libICE, libSM
, libX11, libXmu, ncurses, popt, qt5, zlib
, qtbase, qtdeclarative, qtwebkit
}:
# this package contains the daemon version of dropbox
@@ -32,20 +33,13 @@ let
"i686-linux" = "x86";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
interpreter =
{
"x86_64-linux" = "ld-linux-x86-64.so.2";
"i686-linux" = "ld-linux.so.2";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
# relative location where the dropbox libraries are stored
appdir = "opt/dropbox";
ldpath = stdenv.lib.makeSearchPath "lib"
[
dbus_libs gcc glib libdrm libffi libICE libSM libX11
libXmu ncurses popt qt5.base qt5.declarative qt5.webkit
zlib
dbus_libs gcc.cc glib libdrm libffi libICE libSM libX11 libXmu
ncurses popt qtbase qtdeclarative qtwebkit zlib
];
desktopItem = makeDesktopItem {
@@ -58,24 +52,22 @@ let
};
in stdenv.mkDerivation {
name = "dropbox-${version}-bin";
name = "dropbox-${version}";
src = fetchurl {
name = "dropbox-${version}.tar.gz";
url = "https://dl-web.dropbox.com/u/17/dropbox-lnx.${arch}-${version}.tar.gz";
inherit sha256;
};
sourceRoot = ".";
sourceRoot = ".dropbox-dist";
patchPhase = ''
rm -f .dropbox-dist/dropboxd
'';
buildInputs = [ makeWrapper ];
buildInputs = [ makeWrapper patchelf ];
dontPatchELF = true; # patchelf invoked explicitly below
dontStrip = true; # already done
installPhase = ''
mkdir -p "$out/${appdir}"
cp -r ".dropbox-dist/dropbox-lnx.${arch}-${version}"/* "$out/${appdir}/"
cp -r "dropbox-lnx.${arch}-${version}"/* "$out/${appdir}/"
rm "$out/${appdir}/libdrm.so.2"
rm "$out/${appdir}/libffi.so.6"
@@ -101,28 +93,62 @@ in stdenv.mkDerivation {
rm "$out/${appdir}/qt.conf"
rm -fr "$out/${appdir}/plugins"
find "$out/${appdir}" -type f -a -perm -0100 \
-print -exec patchelf --set-interpreter ${stdenv.glibc}/lib/${interpreter} {} \;
RPATH=${ldpath}:${gcc.cc}/lib:$out/${appdir}
echo "updating rpaths to: $RPATH"
find "$out/${appdir}" -type f -a -perm -0100 \
-print -exec patchelf --force-rpath --set-rpath "$RPATH" {} \;
mkdir -p "$out/share/applications"
cp "${desktopItem}/share/applications/"* $out/share/applications
mkdir -p "$out/bin"
makeWrapper "$out/${appdir}/dropbox" "$out/bin/dropbox" \
--prefix LD_LIBRARY_PATH : "${ldpath}"
mkdir -p "$out/share/icons"
ln -s "$out/${appdir}/images/hicolor" "$out/share/icons/hicolor"
mkdir -p "$out/bin"
RPATH="${ldpath}:$out/${appdir}"
makeWrapper "$out/${appdir}/dropbox" "$out/bin/dropbox" \
--prefix LD_LIBRARY_PATH : "$RPATH"
'';
fixupPhase = ''
INTERP=$(cat $NIX_CC/nix-support/dynamic-linker)
RPATH="${ldpath}:$out/${appdir}"
getType='s/ *Type: *\([A-Z]*\) (.*/\1/'
find "$out/${appdir}" -type f -a -perm -0100 -print | while read obj; do
dynamic=$(readelf -S "$obj" 2>/dev/null | grep "DYNAMIC" || true)
if [[ -n "$dynamic" ]]; then
type=$(readelf -h "$obj" 2>/dev/null | grep 'Type:' | sed -e "$getType")
if [[ "$type" == "EXEC" ]]; then
echo "patching interpreter path in $type $obj"
patchelf --set-interpreter "$INTERP" "$obj"
echo "patching RPATH in $type $obj"
oldRPATH=$(patchelf --print-rpath "$obj")
patchelf --set-rpath "''${oldRPATH:+$oldRPATH:}$RPATH" "$obj"
echo "shrinking RPATH in $type $obj"
patchelf --shrink-rpath "$obj"
elif [[ "$type" == "DYN" ]]; then
echo "patching RPATH in $type $obj"
oldRPATH=$(patchelf --print-rpath "$obj")
patchelf --set-rpath "''${oldRPATH:+$oldRPATH:}$RPATH" "$obj"
echo "shrinking RPATH in $type $obj"
patchelf --shrink-rpath "$obj"
else
echo "unknown ELF type \"$type\"; not patching $obj"
fi
fi
done
'';
meta = {
homepage = "http://www.dropbox.com";
description = "Online stored folders (daemon version)";
maintainers = with stdenv.lib.maintainers; [ ttuegel ];
platforms = [ "i686-linux" "x86_64-linux" ];
};
}

View File

@@ -2,13 +2,17 @@
libsodium, libXScrnSaver, glib, gdk_pixbuf, gtk2, cairo,
pango, atk, qrencode, ffmpeg, filter-audio, makeWrapper }:
let
revision = "1673b43e26c853f6446f228fec083af166cbf446";
in
stdenv.mkDerivation rec {
name = "qtox-dev-20150821";
name = "qtox-dev-20150925";
src = fetchgit {
url = "https://github.com/tux3/qTox.git";
rev = "2f6b5e052f2a625d506e83f880c5d68b49118f95";
md5 = "b2f9cf283136b6e558876ca2e6d128a3";
rev = "${revision}";
md5 = "785f5b305cdcdf777d93ee823a5b9f49";
};
buildInputs =
@@ -21,6 +25,10 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
preConfigure = ''
# patch .pro file for proper set of the git hash
sed -i '/git rev-parse/d' qtox.pro
sed -i 's/$$quote($$GIT_VERSION)/${revision}/' qtox.pro
# since .pro have hardcoded paths, we need to explicitly set paths here
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags glib-2.0)"
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gdk-pixbuf-2.0)"
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-2.0)"
@@ -44,9 +52,9 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "QT Tox client";
description = "Qt Tox client";
license = licenses.gpl3;
maintainers = with maintainers; [ viric jgeerds ];
maintainers = with maintainers; [ viric jgeerds akaWolf ];
platforms = platforms.all;
};
}

View File

@@ -1,12 +1,19 @@
{ stdenv, fetchurl, fetchgit, telepathy_qt, kdelibs, kde_workspace, gettext, dbus_libs, farstream
, pkgconfigUpstream , qt_gstreamer1, telepathy_glib, telepathy_logger, qjson, flex, bison, qca2 }:
{ stdenv, fetchurl, fetchgit, automoc4, cmake, gettext, perl, pkgconfig
, telepathy_qt, kdelibs, kde_workspace, dbus_glib, dbus_libs, farstream
, qt_gstreamer1, telepathy_glib, telepathy_logger
, qjson, flex, bison, qca2 }:
let
pkgconfig = pkgconfigUpstream;
version = "0.8.80";
manifest = import (./. + "/${version}.nix");
overrides = {
call_ui = x : x // {
NIX_CFLAGS_COMPILE =
"-I${telepathy_glib}/include/telepathy-1.0"
+ " -I${dbus_glib}/include/dbus-1.0"
+ " -I${dbus_libs}/include/dbus-1.0";
};
telepathy_logger_qt = x : x // {
NIX_CFLAGS_COMPILE = "-I${dbus_libs}/include/dbus-1.0";
};
@@ -38,7 +45,9 @@ let
inherit sha256;
};
nativeBuildInputs = [ gettext pkgconfig ] ++ (stdenv.lib.attrByPath [ key ] [] extraNativeBuildInputs);
nativeBuildInputs =
[ automoc4 cmake gettext perl pkgconfig ]
++ (stdenv.lib.attrByPath [ key ] [] extraNativeBuildInputs);
buildInputs = [ kdelibs telepathy_qt ]
++ stdenv.lib.optional (name != "ktp-common-internals") ktp.common_internals
++ (stdenv.lib.attrByPath [ key ] [] extraBuildInputs);

View File

@@ -3,15 +3,12 @@
, client ? false # build Quassel client
, previews ? false # enable webpage previews on hovering over URLs
, tag ? "" # tag added to the package name
, useQt5 ? false, phonon_qt5, libdbusmenu_qt5, qca-qt5
, withKDE ? stdenv.isLinux # enable KDE integration
, kf5 ? null, kdelibs ? null
, kdelibs ? null
, stdenv, fetchurl, cmake, makeWrapper, qt, automoc4, phonon, dconf, qca2 }:
let useKF5 = useQt5 && withKDE;
useKDE4 = withKDE && !useQt5;
buildClient = monolithic || client;
let buildClient = monolithic || client;
buildCore = monolithic || daemon;
in
@@ -19,8 +16,7 @@ assert stdenv.isLinux;
assert monolithic -> !client && !daemon;
assert client || daemon -> !monolithic;
assert useKDE4 -> kdelibs != null;
assert useKF5 -> kf5 != null;
assert withKDE -> kdelibs != null;
assert !buildClient -> !withKDE; # KDE is used by the client only
let
@@ -39,20 +35,9 @@ in with stdenv; mkDerivation rec {
enableParallelBuilding = true;
buildInputs =
[ cmake makeWrapper ]
++ [(if useQt5 then qt.base else qt)]
++ lib.optionals buildCore (if useQt5 then [qt.script qca-qt5] else [qca2])
++ lib.optionals buildClient
( lib.optionals (previews && useQt5) [qt.webkit qt.webkitwidgets]
++ lib.optionals useQt5 [libdbusmenu_qt5 phonon_qt5]
++ lib.optionals useKDE4 [automoc4 kdelibs phonon]
++ lib.optionals useKF5
(with kf5; [
extra-cmake-modules kconfigwidgets kcoreaddons
knotifications knotifyconfig ktextwidgets kwidgetsaddons
kxmlgui
])
);
[ cmake makeWrapper qt ]
++ lib.optionals buildCore [qca2]
++ lib.optionals withKDE [automoc4 kdelibs phonon];
NIX_CFLAGS_COMPILE = "-fPIC";
@@ -63,8 +48,7 @@ in with stdenv; mkDerivation rec {
++ edf daemon "WANT_CORE"
++ edf client "WANT_QTCLIENT"
++ edf withKDE "WITH_KDE"
++ edf previews "WITH_WEBKIT"
++ edf useQt5 "USE_QT5";
++ edf previews "WITH_WEBKIT";
preFixup =
lib.optionalString buildClient ''
@@ -85,6 +69,6 @@ in with stdenv; mkDerivation rec {
license = stdenv.lib.licenses.gpl3;
maintainers = with maintainers; [ phreedom ttuegel ];
repositories.git = https://github.com/quassel/quassel.git;
inherit ((if useQt5 then qt.base else qt).meta) platforms;
inherit (qt.meta) platforms;
};
}

View File

@@ -0,0 +1,91 @@
{ monolithic ? true # build monolithic Quassel
, daemon ? false # build Quassel daemon
, client ? false # build Quassel client
, previews ? false # enable webpage previews on hovering over URLs
, tag ? "" # tag added to the package name
, stdenv, fetchurl, cmake, makeWrapper, dconf
, qtbase, qtscript, qtwebkit
, phonon, libdbusmenu, qca-qt5
, withKDE ? stdenv.isLinux # enable KDE integration
, extra-cmake-modules
, kconfigwidgets
, kcoreaddons
, knotifications
, knotifyconfig
, ktextwidgets
, kwidgetsaddons
, kxmlgui
}:
let
buildClient = monolithic || client;
buildCore = monolithic || daemon;
in
assert stdenv.isLinux;
assert monolithic -> !client && !daemon;
assert client || daemon -> !monolithic;
assert !buildClient -> !withKDE; # KDE is used by the client only
let
edf = flag: feature: [("-D" + feature + (if flag then "=ON" else "=OFF"))];
in with stdenv; mkDerivation rec {
version = "0.12.2";
name = "quassel${tag}-${version}";
src = fetchurl {
url = "http://quassel-irc.org/pub/quassel-${version}.tar.bz2";
sha256 = "15vqjiw38mifvnc95bhvy0zl23xxldkwg2byx9xqbyw8rfgggmkb";
};
enableParallelBuilding = true;
buildInputs =
[ cmake makeWrapper qtbase ]
++ lib.optionals buildCore [qtscript qca-qt5]
++ lib.optionals buildClient [libdbusmenu phonon]
++ lib.optionals (buildClient && previews) [qtwebkit]
++ lib.optionals (buildClient && withKDE) [
extra-cmake-modules kconfigwidgets kcoreaddons
knotifications knotifyconfig ktextwidgets kwidgetsaddons
kxmlgui
];
cmakeFlags = [
"-DEMBED_DATA=OFF"
"-DSTATIC=OFF"
"-DUSE_QT5=ON"
]
++ edf monolithic "WANT_MONO"
++ edf daemon "WANT_CORE"
++ edf client "WANT_QTCLIENT"
++ edf withKDE "WITH_KDE"
++ edf previews "WITH_WEBKIT";
preFixup =
lib.optionalString buildClient ''
wrapProgram "$out/bin/quassel${lib.optionalString client "client"}" \
--prefix GIO_EXTRA_MODULES : "${dconf}/lib/gio/modules"
'';
meta = with stdenv.lib; {
homepage = http://quassel-irc.org/;
description = "Qt/KDE distributed IRC client suppporting a remote daemon";
longDescription = ''
Quassel IRC is a cross-platform, distributed IRC client,
meaning that one (or multiple) client(s) can attach to
and detach from a central core -- much like the popular
combination of screen and a text-based IRC client such
as WeeChat, but graphical (based on Qt4/KDE4 or Qt5/KF5).
'';
license = stdenv.lib.licenses.gpl3;
maintainers = with maintainers; [ phreedom ttuegel ];
repositories.git = https://github.com/quassel/quassel.git;
inherit (qtbase.meta) platforms;
};
}

View File

@@ -17,14 +17,14 @@ assert saslSupport -> cyrus_sasl != null;
assert gpgmeSupport -> gpgme != null;
let
version = "1.5.23";
version = "1.5.24";
in
stdenv.mkDerivation rec {
name = "mutt${stdenv.lib.optionalString withSidebar "-with-sidebar"}-${version}";
src = fetchurl {
url = "mirror://sourceforge/mutt/mutt-${version}.tar.gz";
sha256 = "0dzx4qk50pjfsb6cs5jahng96a52k12f7pm0sc78iqdrawg71w1s";
url = "http://ftp.mutt.org/pub/mutt/mutt-${version}.tar.gz";
sha256 = "0012njrgxf1barjksqkx7ccid2l0xyikhna9mjs9vcfpbrvcm4m2";
};
buildInputs = with stdenv.lib;
@@ -59,11 +59,16 @@ stdenv.mkDerivation rec {
];
# Adding the sidebar
patches = [] ++
(stdenv.lib.optional withSidebar (fetchurl {
url = http://lunar-linux.org/~tchan/mutt/patch-1.5.23.sidebar.20140412.txt;
sha256 = "1i2r7dj0pd1k0z3jjxn2szi6sf0k28i8dwhr4f65pn8r2lh3wisz";
}));
patches = stdenv.lib.optional withSidebar [
./trash-folder.patch
./sidebar.patch
./sidebar-dotpathsep.patch
./sidebar-utf8.patch
./sidebar-newonly.patch
./sidebar-delimnullwide.patch
./sidebar-compose.patch
./sidebar-new.patch
];
meta = with stdenv.lib; {
description = "A small but very powerful text-based mail client";

View File

@@ -0,0 +1,40 @@
From: Evgeni Golov <evgeni@debian.org>
Date: Fri, 14 Mar 2014 08:54:47 +0100
Subject: sidebar-compose
draw_sidebar sets SidebarWidth to 0 when sidebar_visible is false.
However, if you start mutt in compose mode, draw_sidebar won't be
called until the next redraw and your header lines will be off by
the width of the sidebar, even when you did not want a sidebar at
all.
Can be tested with:
HOME=/ LC_ALL=C mutt -e 'unset sidebar_visible' -s test recipient
Closes: #502627
Gbp-Pq: Topic mutt-patched
---
compose.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/compose.c b/compose.c
index b63695f..0fa6df2 100644
--- a/compose.c
+++ b/compose.c
@@ -32,6 +32,7 @@
#include "mailbox.h"
#include "sort.h"
#include "charset.h"
+#include "sidebar.h"
#ifdef MIXMASTER
#include "remailer.h"
@@ -248,6 +249,7 @@ static void draw_envelope_addr (int line, ADDRESS *addr)
static void draw_envelope (HEADER *msg, char *fcc)
{
+ draw_sidebar (MENU_COMPOSE);
draw_envelope_addr (HDR_FROM, msg->env->from);
draw_envelope_addr (HDR_TO, msg->env->to);
draw_envelope_addr (HDR_CC, msg->env->cc);

View File

@@ -0,0 +1,38 @@
From: Evgeni Golov <sargentd@die-welt.net>
Date: Wed, 5 Mar 2014 17:46:07 +0100
Subject: sidebar-delimnullwide
SidebarDelim can be NULL and strlen(NULL) is a bad idea, as it will segfault.
Wrap it with NONULL().
While at it, change strlen to mbstowcs for better utf8 support.
Closes: #696145, #663883
Gbp-Pq: Topic mutt-patched
---
sidebar.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sidebar.c b/sidebar.c
index 51a25ca..c3ea338 100644
--- a/sidebar.c
+++ b/sidebar.c
@@ -88,7 +88,7 @@ char *make_sidebar_entry(char *box, int size, int new, int flagged)
int box_len, box_bytes;
int int_len;
int right_offset = 0;
- int delim_len = strlen(SidebarDelim);
+ int delim_len = mbstowcs(NULL, NONULL(SidebarDelim), 0);
static char *entry;
right_width = left_width = 0;
@@ -178,7 +178,7 @@ int draw_sidebar(int menu) {
#ifndef USE_SLANG_CURSES
attr_t attrs;
#endif
- short delim_len = strlen(SidebarDelim);
+ short delim_len = mbstowcs(NULL, NONULL(SidebarDelim), 0);
short color_pair;
static bool initialized = false;

View File

@@ -0,0 +1,98 @@
From: Fabian Groffen <grobian@gentoo.org>
Date: Tue, 4 Mar 2014 21:12:15 +0100
Subject: sidebar-dotpathsep
Make path separators for sidebar folders configurable.
When using IMAP, a '.' is often used as path separator, hence make the
path separators configurable through sidebar_delim_chars variable.
It defaults to "/." to work for both mboxes as well as IMAP folders. It
can be set to only "/" or "." or whichever character desired as needed.
Gbp-Pq: Topic mutt-patched
---
globals.h | 1 +
init.h | 8 ++++++++
sidebar.c | 31 ++++++++++++++++++++++++-------
3 files changed, 33 insertions(+), 7 deletions(-)
diff --git a/globals.h b/globals.h
index 004c795..602f932 100644
--- a/globals.h
+++ b/globals.h
@@ -119,6 +119,7 @@ WHERE char *SendCharset;
WHERE char *Sendmail;
WHERE char *Shell;
WHERE char *SidebarDelim;
+WHERE char *SidebarDelimChars INITVAL (NULL);
WHERE char *Signature;
WHERE char *SimpleSearch;
#if USE_SMTP
diff --git a/init.h b/init.h
index c664e5f..166671b 100644
--- a/init.h
+++ b/init.h
@@ -2051,6 +2051,14 @@ struct option_t MuttVars[] = {
** .pp
** The width of the sidebar.
*/
+ { "sidebar_delim_chars", DT_STR, R_NONE, UL &SidebarDelimChars, UL "/." },
+ /*
+ ** .pp
+ ** This contains the list of characters which you would like to treat
+ ** as folder separators for displaying paths in the sidebar. If
+ ** you're not using IMAP folders, you probably prefer setting this to "/"
+ ** alone.
+ */
{ "pgp_use_gpg_agent", DT_BOOL, R_NONE, OPTUSEGPGAGENT, 0},
/*
** .pp
diff --git a/sidebar.c b/sidebar.c
index 6098c2a..4356ffc 100644
--- a/sidebar.c
+++ b/sidebar.c
@@ -249,20 +249,37 @@ int draw_sidebar(int menu) {
// calculate depth of current folder and generate its display name with indented spaces
int sidebar_folder_depth = 0;
char *sidebar_folder_name;
- sidebar_folder_name = basename(tmp->path);
+ int i;
+ sidebar_folder_name = tmp->path;
+ /* disregard a trailing separator, so strlen() - 2
+ * https://bugs.gentoo.org/show_bug.cgi?id=373197#c16 */
+ for (i = strlen(sidebar_folder_name) - 2; i >= 0; i--) {
+ if (SidebarDelimChars &&
+ strchr(SidebarDelimChars, sidebar_folder_name[i]))
+ {
+ sidebar_folder_name += i + 1;
+ break;
+ }
+ }
if ( maildir_is_prefix ) {
char *tmp_folder_name;
- int i;
+ int lastsep = 0;
tmp_folder_name = tmp->path + strlen(Maildir);
- for (i = 0; i < strlen(tmp->path) - strlen(Maildir); i++) {
- if (tmp_folder_name[i] == '/') sidebar_folder_depth++;
- }
+ for (i = 0; i < strlen(tmp_folder_name) - 1; i++) {
+ if (SidebarDelimChars &&
+ strchr(SidebarDelimChars, tmp_folder_name[i]))
+ {
+ sidebar_folder_depth++;
+ lastsep = i + 1;
+ }
+ }
if (sidebar_folder_depth > 0) {
- sidebar_folder_name = malloc(strlen(basename(tmp->path)) + sidebar_folder_depth + 1);
+ tmp_folder_name += lastsep; /* basename */
+ sidebar_folder_name = malloc(strlen(tmp_folder_name) + sidebar_folder_depth + 1);
for (i=0; i < sidebar_folder_depth; i++)
sidebar_folder_name[i]=' ';
sidebar_folder_name[i]=0;
- strncat(sidebar_folder_name, basename(tmp->path), strlen(basename(tmp->path)) + sidebar_folder_depth);
+ strncat(sidebar_folder_name, tmp_folder_name, strlen(tmp_folder_name) + sidebar_folder_depth);
}
}
printw( "%.*s", SidebarWidth - delim_len + 1,

View File

@@ -0,0 +1,97 @@
From 355399bde98203af59d20821f9e840fc056bd383 Mon Sep 17 00:00:00 2001
From: Julius Haertl <jus@bitgrid.net>
Date: Tue, 9 Sep 2014 22:31:49 +0200
Subject: Patch for sidebar iteration functionality
sidebar-new will move the selected folder to the next with new messages.
If the end is reached, it will start at the top.
Useful macros would be:
macro index <esc>a "<sidebar-new><sidebar-open>"
macro pager <esc>a "<exit><sidebar-new><sidebar-open>"
---
OPS | 1 +
curs_main.c | 1 +
functions.h | 2 ++
pager.c | 1 +
sidebar.c | 10 ++++++++++
5 files changed, 15 insertions(+)
diff --git a/OPS b/OPS
index 1ed9c96..3ffb82a 100644
--- a/OPS
+++ b/OPS
@@ -187,3 +187,4 @@ OP_SIDEBAR_PREV "go to previous mailbox"
OP_SIDEBAR_OPEN "open hilighted mailbox"
OP_SIDEBAR_NEXT_NEW "go down to next mailbox with new mail"
OP_SIDEBAR_PREV_NEW "go to previous mailbox with new mail"
+OP_SIDEBAR_NEW "iterate though mailboxes with new mail"
diff --git a/curs_main.c b/curs_main.c
index acb106d..2e35f90 100644
--- a/curs_main.c
+++ b/curs_main.c
@@ -2328,6 +2328,7 @@ int mutt_index_menu (void)
case OP_SIDEBAR_PREV:
case OP_SIDEBAR_NEXT_NEW:
case OP_SIDEBAR_PREV_NEW:
+ case OP_SIDEBAR_NEW:
scroll_sidebar(op, menu->menu);
break;
default:
diff --git a/functions.h b/functions.h
index 363b4d5..1485080 100644
--- a/functions.h
+++ b/functions.h
@@ -176,6 +176,7 @@ const struct binding_t OpMain[] = { /* map: index */
{ "sidebar-prev", OP_SIDEBAR_PREV, NULL },
{ "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL},
{ "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL},
+ { "sidebar-new", OP_SIDEBAR_NEW, NULL },
{ "sidebar-open", OP_SIDEBAR_OPEN, NULL },
{ NULL, 0, NULL }
};
@@ -287,6 +288,7 @@ const struct binding_t OpPager[] = { /* map: pager */
{ "sidebar-prev", OP_SIDEBAR_PREV, NULL },
{ "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL},
{ "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL},
+ { "sidebar-new", OP_SIDEBAR_NEW, NULL },
{ "sidebar-open", OP_SIDEBAR_OPEN, NULL },
{ NULL, 0, NULL }
};
diff --git a/pager.c b/pager.c
index 8d64fe1..696e55c 100644
--- a/pager.c
+++ b/pager.c
@@ -2791,6 +2791,7 @@ search_next:
case OP_SIDEBAR_PREV:
case OP_SIDEBAR_NEXT_NEW:
case OP_SIDEBAR_PREV_NEW:
+ case OP_SIDEBAR_NEW:
scroll_sidebar(ch, MENU_PAGER);
break;
diff --git a/sidebar.c b/sidebar.c
index c3ea338..eb8ecd2 100644
--- a/sidebar.c
+++ b/sidebar.c
@@ -429,6 +429,16 @@ void scroll_sidebar(int op, int menu)
CurBuffy = CurBuffy->next;
}
break;
+ case OP_SIDEBAR_NEW:
+ if ( (tmp = exist_next_new()) == NULL)
+ tmp = TopBuffy;
+ if ( tmp->msg_unread == 0 ) {
+ CurBuffy = tmp;
+ tmp = exist_next_new();
+ }
+ if ( tmp != NULL )
+ CurBuffy = tmp;
+ break;
default:
return;
}
--
2.6.0.rc0.2.g7662973.dirty

View File

@@ -0,0 +1,198 @@
From: Steve Kemp <steve@steve.org.uk>
Date: Tue, 4 Mar 2014 22:07:06 +0100
Subject: sidebar-newonly
patches written by Steve Kemp, it adds two new functionalities to the sidebar,
so only the mailbox with new messages will be shown (and/or) selected
See Debian bug http://bugs.debian.org/532510
Gbp-Pq: Topic mutt-patched
---
OPS | 2 ++
curs_main.c | 2 ++
functions.h | 4 ++++
init.h | 5 +++++
mutt.h | 2 ++
pager.c | 2 ++
sidebar.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
7 files changed, 70 insertions(+), 2 deletions(-)
diff --git a/OPS b/OPS
index b036db9..1ed9c96 100644
--- a/OPS
+++ b/OPS
@@ -185,3 +185,5 @@ OP_SIDEBAR_SCROLL_DOWN "scroll the mailbox pane down 1 page"
OP_SIDEBAR_NEXT "go down to next mailbox"
OP_SIDEBAR_PREV "go to previous mailbox"
OP_SIDEBAR_OPEN "open hilighted mailbox"
+OP_SIDEBAR_NEXT_NEW "go down to next mailbox with new mail"
+OP_SIDEBAR_PREV_NEW "go to previous mailbox with new mail"
diff --git a/curs_main.c b/curs_main.c
index ea530a6..acb106d 100644
--- a/curs_main.c
+++ b/curs_main.c
@@ -2326,6 +2326,8 @@ int mutt_index_menu (void)
case OP_SIDEBAR_SCROLL_DOWN:
case OP_SIDEBAR_NEXT:
case OP_SIDEBAR_PREV:
+ case OP_SIDEBAR_NEXT_NEW:
+ case OP_SIDEBAR_PREV_NEW:
scroll_sidebar(op, menu->menu);
break;
default:
diff --git a/functions.h b/functions.h
index ef8937a..363b4d5 100644
--- a/functions.h
+++ b/functions.h
@@ -174,6 +174,8 @@ const struct binding_t OpMain[] = { /* map: index */
{ "sidebar-scroll-down", OP_SIDEBAR_SCROLL_DOWN, NULL },
{ "sidebar-next", OP_SIDEBAR_NEXT, NULL },
{ "sidebar-prev", OP_SIDEBAR_PREV, NULL },
+ { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL},
+ { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL},
{ "sidebar-open", OP_SIDEBAR_OPEN, NULL },
{ NULL, 0, NULL }
};
@@ -283,6 +285,8 @@ const struct binding_t OpPager[] = { /* map: pager */
{ "sidebar-scroll-down", OP_SIDEBAR_SCROLL_DOWN, NULL },
{ "sidebar-next", OP_SIDEBAR_NEXT, NULL },
{ "sidebar-prev", OP_SIDEBAR_PREV, NULL },
+ { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL},
+ { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL},
{ "sidebar-open", OP_SIDEBAR_OPEN, NULL },
{ NULL, 0, NULL }
};
diff --git a/init.h b/init.h
index 166671b..a5d4238 100644
--- a/init.h
+++ b/init.h
@@ -2059,6 +2059,11 @@ struct option_t MuttVars[] = {
** you're not using IMAP folders, you probably prefer setting this to "/"
** alone.
*/
+ {"sidebar_newmail_only", DT_BOOL, R_BOTH, OPTSIDEBARNEWMAILONLY, 0 },
+ /*
+ ** .pp
+ ** Show only new mail in the sidebar.
+ */
{ "pgp_use_gpg_agent", DT_BOOL, R_NONE, OPTUSEGPGAGENT, 0},
/*
** .pp
diff --git a/mutt.h b/mutt.h
index 5f25406..d73e514 100644
--- a/mutt.h
+++ b/mutt.h
@@ -529,6 +529,8 @@ enum
OPTDONTHANDLEPGPKEYS, /* (pseudo) used to extract PGP keys */
OPTUNBUFFEREDINPUT, /* (pseudo) don't use key buffer */
+ OPTSIDEBARNEWMAILONLY,
+
OPTMAX
};
diff --git a/pager.c b/pager.c
index 5cfcb75..8d64fe1 100644
--- a/pager.c
+++ b/pager.c
@@ -2789,6 +2789,8 @@ search_next:
case OP_SIDEBAR_SCROLL_DOWN:
case OP_SIDEBAR_NEXT:
case OP_SIDEBAR_PREV:
+ case OP_SIDEBAR_NEXT_NEW:
+ case OP_SIDEBAR_PREV_NEW:
scroll_sidebar(ch, MENU_PAGER);
break;
diff --git a/sidebar.c b/sidebar.c
index 8f58f85..51a25ca 100644
--- a/sidebar.c
+++ b/sidebar.c
@@ -269,8 +269,21 @@ int draw_sidebar(int menu) {
SETCOLOR(MT_COLOR_NEW);
else if ( tmp->msg_flagged > 0 )
SETCOLOR(MT_COLOR_FLAGGED);
- else
- SETCOLOR(MT_COLOR_NORMAL);
+ else {
+ /* make sure the path is either:
+ 1. Containing new mail.
+ 2. The inbox.
+ 3. The current box.
+ */
+ if ((option (OPTSIDEBARNEWMAILONLY)) &&
+ ( (tmp->msg_unread <= 0) &&
+ ( tmp != Incoming ) &&
+ Context &&
+ ( strcmp( tmp->path, Context->path ) != 0 ) ) )
+ continue;
+ else
+ SETCOLOR(MT_COLOR_NORMAL);
+ }
move( lines, 0 );
if ( Context && !strcmp( tmp->path, Context->path ) ) {
@@ -336,6 +349,29 @@ int draw_sidebar(int menu) {
return 0;
}
+BUFFY * exist_next_new()
+{
+ BUFFY *tmp = CurBuffy;
+ if(tmp == NULL) return NULL;
+ while (tmp->next != NULL)
+ {
+ tmp = tmp->next;
+ if(tmp->msg_unread) return tmp;
+ }
+ return NULL;
+}
+
+BUFFY * exist_prev_new()
+{
+ BUFFY *tmp = CurBuffy;
+ if(tmp == NULL) return NULL;
+ while (tmp->prev != NULL)
+ {
+ tmp = tmp->prev;
+ if(tmp->msg_unread) return tmp;
+ }
+ return NULL;
+}
void set_buffystats(CONTEXT* Context)
{
@@ -352,18 +388,33 @@ void set_buffystats(CONTEXT* Context)
void scroll_sidebar(int op, int menu)
{
+ BUFFY *tmp;
if(!SidebarWidth) return;
if(!CurBuffy) return;
switch (op) {
case OP_SIDEBAR_NEXT:
+ if (!option (OPTSIDEBARNEWMAILONLY)) {
if ( CurBuffy->next == NULL ) return;
CurBuffy = CurBuffy->next;
break;
+ }
+ case OP_SIDEBAR_NEXT_NEW:
+ if ( (tmp = exist_next_new()) == NULL)
+ return;
+ else CurBuffy = tmp;
+ break;
case OP_SIDEBAR_PREV:
+ if (!option (OPTSIDEBARNEWMAILONLY)) {
if ( CurBuffy->prev == NULL ) return;
CurBuffy = CurBuffy->prev;
break;
+ }
+ case OP_SIDEBAR_PREV_NEW:
+ if ( (tmp = exist_prev_new()) == NULL)
+ return;
+ else CurBuffy = tmp;
+ break;
case OP_SIDEBAR_SCROLL_UP:
CurBuffy = TopBuffy;
if ( CurBuffy != Incoming ) {

View File

@@ -0,0 +1,132 @@
From: Antonio Radici <antonio@debian.org>
Date: Tue, 4 Mar 2014 15:39:14 +0100
Subject: sidebar-utf8
This patch fixes a problem with utf-8 strings and the sidebar,
it rewrites entirely make_sidebar_entry so it also fixes some
segfaults due to misallocations and overflows.
See:
http://bugs.debian.org/584581
http://bugs.debian.org/603287
Gbp-Pq: Topic mutt-patched
---
sidebar.c | 97 +++++++++++++++++++++++++++++++++++++++++++--------------------
1 file changed, 67 insertions(+), 30 deletions(-)
diff --git a/sidebar.c b/sidebar.c
index 4356ffc..8f58f85 100644
--- a/sidebar.c
+++ b/sidebar.c
@@ -30,6 +30,7 @@
#include <libgen.h>
#include "keymap.h"
#include <stdbool.h>
+#include <wchar.h>
/*BUFFY *CurBuffy = 0;*/
static BUFFY *TopBuffy = 0;
@@ -82,36 +83,72 @@ void calc_boundaries (int menu)
char *make_sidebar_entry(char *box, int size, int new, int flagged)
{
- static char *entry = 0;
- char *c;
- int i = 0;
- int delim_len = strlen(SidebarDelim);
-
- c = realloc(entry, SidebarWidth - delim_len + 2);
- if ( c ) entry = c;
- entry[SidebarWidth - delim_len + 1] = 0;
- for (; i < SidebarWidth - delim_len + 1; entry[i++] = ' ' );
- i = strlen(box);
- strncpy( entry, box, i < (SidebarWidth - delim_len + 1) ? i : (SidebarWidth - delim_len + 1) );
-
- if (size == -1)
- sprintf(entry + SidebarWidth - delim_len - 3, "?");
- else if ( new ) {
- if (flagged > 0) {
- sprintf(
- entry + SidebarWidth - delim_len - 5 - quick_log10(size) - quick_log10(new) - quick_log10(flagged),
- "% d(%d)[%d]", size, new, flagged);
- } else {
- sprintf(
- entry + SidebarWidth - delim_len - 3 - quick_log10(size) - quick_log10(new),
- "% d(%d)", size, new);
- }
- } else if (flagged > 0) {
- sprintf( entry + SidebarWidth - delim_len - 3 - quick_log10(size) - quick_log10(flagged), "% d[%d]", size, flagged);
- } else {
- sprintf( entry + SidebarWidth - delim_len - 1 - quick_log10(size), "% d", size);
- }
- return entry;
+ char int_store[20]; // up to 64 bits integers
+ int right_width, left_width;
+ int box_len, box_bytes;
+ int int_len;
+ int right_offset = 0;
+ int delim_len = strlen(SidebarDelim);
+ static char *entry;
+
+ right_width = left_width = 0;
+ box_len = box_bytes = 0;
+
+ // allocate an entry big enough to contain SidebarWidth wide chars
+ entry = malloc((SidebarWidth*4)+1); // TODO: error check
+
+ // determine the right space (i.e.: how big are the numbers that we want to print)
+ if ( size > 0 ) {
+ int_len = snprintf(int_store, sizeof(int_store), "%d", size);
+ right_width += int_len;
+ } else {
+ right_width = 1; // to represent 0
+ }
+ if ( new > 0 ) {
+ int_len = snprintf(int_store, sizeof(int_store), "%d", new);
+ right_width += int_len + 2; // 2 is for ()
+ }
+ if ( flagged > 0 ) {
+ int_len = snprintf(int_store, sizeof(int_store), "%d", flagged);
+ right_width += int_len + 2; // 2 is for []
+ }
+
+ // determine how much space we have for *box and its padding (if any)
+ left_width = SidebarWidth - right_width - 1 - delim_len; // 1 is for the space
+ //fprintf(stdout, "left_width: %d right_width: %d\n", left_width, right_width);
+ // right side overflow case
+ if ( left_width <= 0 ) {
+ snprintf(entry, SidebarWidth*4, "%-*.*s ...", SidebarWidth-4-delim_len, SidebarWidth-4-delim_len, box);
+ return entry;
+ }
+ right_width -= delim_len;
+
+ // to support utf-8 chars we need to add enough space padding in case there
+ // are less chars than bytes in *box
+ box_len = mbstowcs(NULL, box, 0);
+ box_bytes = strlen(box);
+ // debug
+ //fprintf(stdout, "box_len: %d box_bytes: %d (diff: %d)\n", box_len, box_bytes, (box_bytes-box_len));
+ // if there is less string than the space we allow, then we will add the
+ // spaces
+ if ( box_len != -1 && box_len < left_width ) {
+ left_width += (box_bytes - box_len);
+ }
+ // otherwise sprintf will truncate the string for us (therefore, no else case)
+
+ // print the sidebar entry (without new and flagged messages, at the moment)
+ //fprintf(stdout, "left_width: %d right_width: %d\n", left_width, right_width);
+ right_offset = snprintf(entry, SidebarWidth*4, "%-*.*s %d", left_width, left_width, box, size);
+
+ // then pad new and flagged messages if any
+ if ( new > 0 ) {
+ right_offset += snprintf(entry+right_offset, SidebarWidth*4-right_offset, "(%d)", new);
+ }
+ if ( flagged > 0 ) {
+ right_offset += snprintf(entry+right_offset, SidebarWidth*4-right_offset, "[%d]", flagged);
+ }
+
+ return entry;
}
void set_curbuffy(char buf[LONG_STRING])

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,316 @@
From: Cedric Duval <cedricduval@free.fr>
Date: Thu, 27 Feb 2014 12:27:41 +0100
Subject: trash-folder
With this patch, if the trash variable is set to a path (unset by default), the
deleted mails will be moved to a trash folder instead of being irremediably
purged when syncing the mailbox.
For instance, set trash="~/Mail/trash" will cause every deleted mail to go to
this folder.
Note that the append to the trash folder doesn't occur until the resync is
done. This allows you to change your mind and undo deletes, and thus the moves
to the trash folder are unnecessary.
Notes
* You might also want to have a look at the purge message feature below
which is related to this patch.
* IMAP is now supported. To retain the previous behavior, add this to your
muttrc:
folder-hook ^imap:// 'unset trash'
FAQ
Every once in a while, someone asks what are the advantages of this patch over
a macro based solution. Here's an attempt to answer this question:
* The folder history doesn't clutter up with unwanted trash entries.
* Delayed move to the trash allows to change one's mind.
* No need to treat the case of "normal folders" and trash folders
separately with folder-hooks, and to create two sets of macros (one for
the index, one for the pager).
* Works not only with delete-message, but also with every deletion
functions like delete-pattern, delete-thread or delete-subthread.
To sum up, it's more integrated and transparent to the user.
* Patch last synced with upstream:
- Date: 2007-02-15
- File: http://cedricduval.free.fr/mutt/patches/download/patch-1.5.5.1.cd.trash_folder.3.4
* Changes made:
- Updated to 1.5.13:
- structure of _mutt_save_message changed (commands.c)
- context of option (OPTCONFIRMAPPEND) changed (muttlib.c)
- Fixed indentation of "appended" in mutt.h.
Signed-off-by: Matteo F. Vescovi <mfvescovi@gmail.com>
Gbp-Pq: Topic features
---
commands.c | 1 +
flags.c | 19 +++++++++++++++++-
globals.h | 1 +
imap/message.c | 2 ++
init.h | 10 ++++++++++
mutt.h | 3 +++
muttlib.c | 4 +++-
mx.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
postpone.c | 3 +++
9 files changed, 103 insertions(+), 2 deletions(-)
diff --git a/commands.c b/commands.c
index 5dbd100..7fd014b 100644
--- a/commands.c
+++ b/commands.c
@@ -720,6 +720,7 @@ int _mutt_save_message (HEADER *h, CONTEXT *ctx, int delete, int decode, int dec
if (option (OPTDELETEUNTAG))
mutt_set_flag (Context, h, M_TAG, 0);
}
+ mutt_set_flag (Context, h, M_APPENDED, 1);
return 0;
}
diff --git a/flags.c b/flags.c
index f0f3d81..dfa6a50 100644
--- a/flags.c
+++ b/flags.c
@@ -65,7 +65,13 @@ void _mutt_set_flag (CONTEXT *ctx, HEADER *h, int flag, int bf, int upd_ctx)
{
h->deleted = 0;
update = 1;
- if (upd_ctx) ctx->deleted--;
+ if (upd_ctx)
+ {
+ ctx->deleted--;
+ if (h->appended)
+ ctx->appended--;
+ }
+ h->appended = 0; /* when undeleting, also reset the appended flag */
#ifdef USE_IMAP
/* see my comment above */
if (ctx->magic == M_IMAP)
@@ -87,6 +93,17 @@ void _mutt_set_flag (CONTEXT *ctx, HEADER *h, int flag, int bf, int upd_ctx)
}
break;
+ case M_APPENDED:
+ if (bf)
+ {
+ if (!h->appended)
+ {
+ h->appended = 1;
+ if (upd_ctx) ctx->appended++;
+ }
+ }
+ break;
+
case M_NEW:
if (!mutt_bit_isset(ctx->rights,M_ACL_SEEN))
diff --git a/globals.h b/globals.h
index e77030c..6a1b8da 100644
--- a/globals.h
+++ b/globals.h
@@ -144,6 +144,7 @@ WHERE char *Tochars;
WHERE char *TSStatusFormat;
WHERE char *TSIconFormat;
WHERE short TSSupported;
+WHERE char *TrashPath;
WHERE char *Username;
WHERE char *Visual;
diff --git a/imap/message.c b/imap/message.c
index 3877381..039fda6 100644
--- a/imap/message.c
+++ b/imap/message.c
@@ -884,6 +884,7 @@ int imap_copy_messages (CONTEXT* ctx, HEADER* h, char* dest, int delete)
if (ctx->hdrs[n]->tagged)
{
mutt_set_flag (ctx, ctx->hdrs[n], M_DELETE, 1);
+ mutt_set_flag (ctx, ctx->hdrs[n], M_APPENDED, 1);
if (option (OPTDELETEUNTAG))
mutt_set_flag (ctx, ctx->hdrs[n], M_TAG, 0);
}
@@ -891,6 +892,7 @@ int imap_copy_messages (CONTEXT* ctx, HEADER* h, char* dest, int delete)
else
{
mutt_set_flag (ctx, h, M_DELETE, 1);
+ mutt_set_flag (ctx, h, M_APPENDED, 1);
if (option (OPTDELETEUNTAG))
mutt_set_flag (ctx, h, M_TAG, 0);
}
diff --git a/init.h b/init.h
index 6b49341..d3206f9 100644
--- a/init.h
+++ b/init.h
@@ -3341,6 +3341,16 @@ struct option_t MuttVars[] = {
** provided that ``$$ts_enabled'' has been set. This string is identical in
** formatting to the one used by ``$$status_format''.
*/
+ { "trash", DT_PATH, R_NONE, UL &TrashPath, 0 },
+ /*
+ ** .pp
+ ** If set, this variable specifies the path of the trash folder where the
+ ** mails marked for deletion will be moved, instead of being irremediably
+ ** purged.
+ ** .pp
+ ** NOTE: When you delete a message in the trash folder, it is really
+ ** deleted, so that you have a way to clean the trash.
+ */
#ifdef USE_SOCKET
{ "tunnel", DT_STR, R_NONE, UL &Tunnel, UL 0 },
/*
diff --git a/mutt.h b/mutt.h
index f8565fa..29bb6c2 100644
--- a/mutt.h
+++ b/mutt.h
@@ -185,6 +185,7 @@ enum
M_DELETE,
M_UNDELETE,
M_DELETED,
+ M_APPENDED,
M_FLAG,
M_TAG,
M_UNTAG,
@@ -713,6 +714,7 @@ typedef struct header
unsigned int mime : 1; /* has a MIME-Version header? */
unsigned int flagged : 1; /* marked important? */
unsigned int tagged : 1;
+ unsigned int appended : 1; /* has been saved */
unsigned int deleted : 1;
unsigned int changed : 1;
unsigned int attach_del : 1; /* has an attachment marked for deletion */
@@ -885,6 +887,7 @@ typedef struct _context
int new; /* how many new messages? */
int unread; /* how many unread messages? */
int deleted; /* how many deleted messages */
+ int appended; /* how many saved messages? */
int flagged; /* how many flagged messages */
int msgnotreadyet; /* which msg "new" in pager, -1 if none */
diff --git a/muttlib.c b/muttlib.c
index 02067cc..0fd9766 100644
--- a/muttlib.c
+++ b/muttlib.c
@@ -1505,7 +1505,9 @@ int mutt_save_confirm (const char *s, struct stat *st)
if (magic > 0 && !mx_access (s, W_OK))
{
- if (option (OPTCONFIRMAPPEND))
+ if (option (OPTCONFIRMAPPEND) &&
+ (!TrashPath || (mutt_strcmp (s, TrashPath) != 0)))
+ /* if we're appending to the trash, there's no point in asking */
{
snprintf (tmp, sizeof (tmp), _("Append messages to %s?"), s);
if ((rc = mutt_yesorno (tmp, M_YES)) == M_NO)
diff --git a/mx.c b/mx.c
index 4c5cb07..c0a6d30 100644
--- a/mx.c
+++ b/mx.c
@@ -776,6 +776,53 @@ static int sync_mailbox (CONTEXT *ctx, int *index_hint)
return rc;
}
+/* move deleted mails to the trash folder */
+static int trash_append (CONTEXT *ctx)
+{
+ CONTEXT *ctx_trash;
+ int i = 0;
+ struct stat st, stc;
+
+ if (!TrashPath || !ctx->deleted ||
+ (ctx->magic == M_MAILDIR && option (OPTMAILDIRTRASH)))
+ return 0;
+
+ for (;i < ctx->msgcount && (!ctx->hdrs[i]->deleted ||
+ ctx->hdrs[i]->appended); i++);
+ if (i == ctx->msgcount)
+ return 0; /* nothing to be done */
+
+ if (mutt_save_confirm (TrashPath, &st) != 0)
+ {
+ mutt_error _("message(s) not deleted");
+ return -1;
+ }
+
+ if (lstat (ctx->path, &stc) == 0 && stc.st_ino == st.st_ino
+ && stc.st_dev == st.st_dev && stc.st_rdev == st.st_rdev)
+ return 0; /* we are in the trash folder: simple sync */
+
+ if ((ctx_trash = mx_open_mailbox (TrashPath, M_APPEND, NULL)) != NULL)
+ {
+ for (i = 0 ; i < ctx->msgcount ; i++)
+ if (ctx->hdrs[i]->deleted && !ctx->hdrs[i]->appended
+ && mutt_append_message (ctx_trash, ctx, ctx->hdrs[i], 0, 0) == -1)
+ {
+ mx_close_mailbox (ctx_trash, NULL);
+ return -1;
+ }
+
+ mx_close_mailbox (ctx_trash, NULL);
+ }
+ else
+ {
+ mutt_error _("Can't open trash folder");
+ return -1;
+ }
+
+ return 0;
+}
+
/* save changes and close mailbox */
int mx_close_mailbox (CONTEXT *ctx, int *index_hint)
{
@@ -912,6 +959,7 @@ int mx_close_mailbox (CONTEXT *ctx, int *index_hint)
if (mutt_append_message (&f, ctx, ctx->hdrs[i], 0, CH_UPDATE_LEN) == 0)
{
mutt_set_flag (ctx, ctx->hdrs[i], M_DELETE, 1);
+ mutt_set_flag (ctx, ctx->hdrs[i], M_APPENDED, 1);
}
else
{
@@ -936,6 +984,14 @@ int mx_close_mailbox (CONTEXT *ctx, int *index_hint)
return 0;
}
+ /* copy mails to the trash before expunging */
+ if (purge && ctx->deleted && mutt_strcmp(ctx->path, TrashPath))
+ if (trash_append (ctx) != 0)
+ {
+ ctx->closing = 0;
+ return -1;
+ }
+
#ifdef USE_IMAP
/* allow IMAP to preserve the deleted flag across sessions */
if (ctx->magic == M_IMAP)
@@ -1133,6 +1189,12 @@ int mx_sync_mailbox (CONTEXT *ctx, int *index_hint)
msgcount = ctx->msgcount;
deleted = ctx->deleted;
+ if (purge && ctx->deleted && mutt_strcmp(ctx->path, TrashPath))
+ {
+ if (trash_append (ctx) == -1)
+ return -1;
+ }
+
#ifdef USE_IMAP
if (ctx->magic == M_IMAP)
rc = imap_sync_mailbox (ctx, purge, index_hint);
diff --git a/postpone.c b/postpone.c
index a703161..7a4cbb1 100644
--- a/postpone.c
+++ b/postpone.c
@@ -277,6 +277,9 @@ int mutt_get_postponed (CONTEXT *ctx, HEADER *hdr, HEADER **cur, char *fcc, size
/* finished with this message, so delete it. */
mutt_set_flag (PostContext, h, M_DELETE, 1);
+ /* and consider it saved, so that it won't be moved to the trash folder */
+ mutt_set_flag (PostContext, h, M_APPENDED, 1);
+
/* update the count for the status display */
PostCount = PostContext->msgcount - PostContext->deleted;

View File

@@ -13,7 +13,7 @@
enableOfficialBranding ? false
}:
let version = "38.1.0"; in
let version = "38.2.0"; in
let verName = "${version}"; in
stdenv.mkDerivation rec {
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
url = "http://archive.mozilla.org/pub/thunderbird/releases/${verName}/source/thunderbird-${verName}.source.tar.bz2";
# https://archive.mozilla.org/pub/thunderbird/releases/${verName}/SHA1SUMS
sha1 = "7bb0c85e889e397e53dcbcbd36957dbd7c8c10bd";
sha1 = "0e27c54ee63b71cd7e8ff4fd87bbe66e0a16ffc1";
};
buildInputs = # from firefox30Pkgs.xulrunner, but without gstreamer and libvpx

View File

@@ -0,0 +1,33 @@
From 6b5730e729d72c8d9242163e7061b956abee61f5 Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Sat, 12 Sep 2015 16:14:10 -0500
Subject: [PATCH] search paths
---
src/utilities/utility.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/utilities/utility.cpp b/src/utilities/utility.cpp
index 2e322aa..2e9e4d2 100644
--- a/src/utilities/utility.cpp
+++ b/src/utilities/utility.cpp
@@ -299,6 +299,7 @@ QString Utility::searchExternalPrograms(const QString& programToSearch, bool& pr
QString programPathName;
QStringList searchPathList = Settings::searchPathList();
+ searchPathList << "/usr/bin/unpar" << "/usr/bin/unrar" << "/usr/bin/7z";
QStringList programsWithDifferentNames = programToSearch.split(";");
@@ -368,7 +369,7 @@ QStringList Utility::buildPriorityArgument(const int& processPriority, const int
QStringList niceProcessArgs;
// look for 'nice' location :
- QString nicePath = KStandardDirs::findExe("nice");
+ QString nicePath = QString("/usr/bin/nice");
niceProcessArgs.append(nicePath);
niceProcessArgs.append("-n");
--
2.5.0

View File

@@ -5,17 +5,17 @@
, unrar, p7zip, par2cmdline, coreutils
}:
let version = "0.8.4";
let version = "1.1.0";
name = "kwooty-${version}";
in stdenv.mkDerivation {
inherit name;
src = fetchurl {
url = "mirror://sourceforge/kwooty/${name}.tar.gz";
sha256 = "0i3zmh7y52n5k0yn3xc6zjpjz75f48nly40n394i6sxy89psgfc2";
url = "http://kde-apps.org/CONTENT/content-files/114385-${name}.tar.gz";
sha256 = "10a9asjv6ja1xdjli2399dyka2rbia3qdm5bdpmcng6xdsbhx3ap";
};
patches = [ ./searchPath.patch ];
patches = [ ./0001-search-paths.patch ];
postPatch = ''
echo "Changing paths to archive utilities to the nix store";
@@ -31,7 +31,7 @@ in stdenv.mkDerivation {
kdelibs kdebase_workspace phonon
libX11 libXext libXft
];
meta = {
description = "Binary news reader of KDE";
};

View File

@@ -1,19 +0,0 @@
--- kwooty-kwooty/src/utility.cpp 2012-01-24 22:22:45.091383072 +0100
+++ kwooty-kwooty/src/utility.cpp 2012-01-24 22:29:08.526208140 +0100
@@ -299,6 +299,7 @@
QString programPathName;
QStringList searchPathList = Settings::searchPathList();
+ searchPathList << "/usr/bin/unpar" << "/usr/bin/unrar" << "/usr/bin/7z";
QStringList programsWithDifferentNames = programToSearch.split(";");
@@ -363,7 +364,7 @@
QStringList niceProcessArgs;
// look for 'nice' location :
- QString nicePath = KStandardDirs::findExe("nice");
+ QString nicePath = QString("/usr/bin/nice");
niceProcessArgs.append(nicePath);
niceProcessArgs.append("-n");

View File

@@ -1,4 +1,6 @@
{ stdenv, fetchurl, cmake, gettext, kdelibs, qimageblitz, kdepimlibs, gpgme }:
{ stdenv, fetchurl, automoc4, cmake, gettext, perl, pkgconfig
, kdelibs, qimageblitz, kdepimlibs, gpgme
}:
stdenv.mkDerivation rec {
name = "basket-1.81";
@@ -12,8 +14,8 @@ stdenv.mkDerivation rec {
buildInputs = [ kdelibs qimageblitz kdepimlibs gpgme ];
nativeBuildInputs = [ cmake gettext ];
nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ];
meta = {
description = "A multi-purpose note-taking application";
homepage = http://basket.kde.org/;

View File

@@ -1,10 +1,10 @@
{ stdenv, fetchurl, cmake, kdelibs, attica, perl, zlib, libpng, boost, mesa
{ stdenv, fetchurl, automoc4, cmake, kdelibs, attica, perl, zlib, libpng, boost, mesa
, kdepimlibs, createresources ? null, eigen, qca2, exiv2, soprano, marble, lcms2
, fontconfig, freetype, sqlite, icu, libwpd, libwpg, pkgconfig, poppler_qt4
, libkdcraw, libxslt, fftw, glew, gsl, shared_desktop_ontologies, okular
, libvisio, kactivities, mysql, postgresql, freetds, xbase, openexr, ilmbase
, libodfgen, opencolorio, openjpeg, pstoedit, librevenge
}:
}:
stdenv.mkDerivation rec {
name = "calligra-2.8.7";
@@ -14,12 +14,13 @@ stdenv.mkDerivation rec {
sha256 = "1d8fx0xn8n8y6jglw8hhpk7kr6kbhsbaxqwqlfzmnzh7x9s8nsxg";
};
nativeBuildInputs = [ cmake perl pkgconfig ];
nativeBuildInputs = [ automoc4 cmake perl pkgconfig ];
# TODO: package Vc, libWPS, Spnav, m2mml, LibEtonyek, poppler-qt4-xpdf-headers
# not found: xbase, openjpeg(too new)
buildInputs = [ kdelibs attica zlib libpng boost mesa kdepimlibs
buildInputs = [
kdelibs attica zlib libpng boost mesa kdepimlibs
createresources eigen qca2 exiv2 soprano marble lcms2 fontconfig freetype
sqlite icu libwpd libwpg poppler_qt4 libkdcraw libxslt fftw glew gsl
shared_desktop_ontologies okular libodfgen opencolorio openjpeg

View File

@@ -1,4 +1,5 @@
{ stdenv, fetchurl, kdelibs, kdepimlibs, akonadi, gettext, boost }:
{ stdenv, fetchurl, automoc4, cmake, gettext, perl, pkgconfig
, kdelibs, kdepimlibs, akonadi, boost }:
stdenv.mkDerivation rec {
name = "plasmoid-eventlist-0.6.96";
@@ -8,7 +9,8 @@ stdenv.mkDerivation rec {
sha256 = "26cc7bd1c465bf1379fd0ba1fa8592eaa62f2553734d1b283e17359103908eea";
};
buildInputs = [ kdelibs kdepimlibs akonadi gettext boost ];
nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ];
buildInputs = [ kdelibs kdepimlibs akonadi boost ];
meta = {
inherit (kdelibs.meta) platforms;

View File

@@ -1,4 +1,6 @@
{ stdenv, fetchurl, kdelibs, libxslt, poppler_qt4 }:
{ stdenv, fetchurl, automoc4, cmake, perl, pkgconfig
, kdelibs, libxslt, poppler_qt4
}:
stdenv.mkDerivation rec {
pname = "kbibtex";
@@ -15,4 +17,5 @@ stdenv.mkDerivation rec {
'';
buildInputs = [ kdelibs libxslt poppler_qt4 ];
nativeBuildInputs = [ automoc4 cmake perl pkgconfig ];
}

View File

@@ -1,4 +1,5 @@
{ stdenv, fetchurl, libxslt, kdelibs, kdepimlibs, grantlee, qjson, qca2, libofx, sqlite, gettext, boost }:
{ stdenv, fetchurl, automoc4, cmake, gettext, perl, pkgconfig, shared_mime_info
, libxslt, kdelibs, kdepimlibs, grantlee, qjson, qca2, libofx, sqlite, boost }:
stdenv.mkDerivation rec {
name = "skrooge-1.10.0";
@@ -10,7 +11,7 @@ stdenv.mkDerivation rec {
buildInputs = [ libxslt kdelibs kdepimlibs grantlee qjson qca2 libofx sqlite boost ];
nativeBuildInputs = [ gettext ];
nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig shared_mime_info ];
meta = {
inherit (kdelibs.meta) platforms;

View File

@@ -1,4 +1,5 @@
{ stdenv, fetchurl, kdelibs, kdepimlibs, boost }:
{ stdenv, fetchurl, automoc4, cmake, perl, pkgconfig
, kdelibs, kdepimlibs, boost }:
stdenv.mkDerivation rec {
name = "zanshin-0.2.1";
@@ -8,6 +9,8 @@ stdenv.mkDerivation rec {
sha256 = "155k72vk7kw0p0x9dhlky6q017kanzcbwvp4dpf1hcbr1dsr55fx";
};
nativeBuildInputs = [ automoc4 cmake perl pkgconfig ];
buildInputs = [ kdelibs kdepimlibs boost ];
meta = {

View File

@@ -0,0 +1,13 @@
Index: Makefile
===================================================================
--- a/Makefile (révision 199)
+++ b/Makefile (copie de travail)
@@ -59,7 +59,7 @@
then cp pa_j_3.1x_6.02.1.ml pa_j.ml; \
else if test ${CAMLP5_VERSION} = "6.02.2" -o ${CAMLP5_VERSION} = "6.02.3" -o ${CAMLP5_VERSION} = "6.03" -o ${CAMLP5_VERSION} = "6.04" -o ${CAMLP5_VERSION} = "6.05" -o ${CAMLP5_VERSION} = "6.06" ; \
then cp pa_j_3.1x_6.02.2.ml pa_j.ml; \
- else if test ${CAMLP5_VERSION} = "6.06" -o ${CAMLP5_VERSION} = "6.07" -o ${CAMLP5_VERSION} = "6.08" -o ${CAMLP5_VERSION} = "6.09" -o ${CAMLP5_VERSION} = "6.10" -o ${CAMLP5_VERSION} = "6.11" -o ${CAMLP5_VERSION} = "6.12" ; \
+ else if test ${CAMLP5_VERSION} = "6.06" -o ${CAMLP5_VERSION} = "6.07" -o ${CAMLP5_VERSION} = "6.08" -o ${CAMLP5_VERSION} = "6.09" -o ${CAMLP5_VERSION} = "6.10" -o ${CAMLP5_VERSION} = "6.11" -o ${CAMLP5_VERSION} = "6.12" -o ${CAMLP5_VERSION} = "6.13" -o ${CAMLP5_VERSION} = "6.14" ; \
then cp pa_j_3.1x_6.11.ml pa_j.ml; \
else cp pa_j_3.1x_${CAMLP5_BINARY_VERSION}.xx.ml pa_j.ml; \
fi \

View File

@@ -20,6 +20,8 @@ stdenv.mkDerivation rec {
buildInputs = [ ocaml camlp5 ];
patches = [ ./Makefile.patch ];
installPhase = ''
mkdir -p "$out/lib/hol_light" "$out/bin"
cp -a . $out/lib/hol_light

View File

@@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "git-extras-${version}";
version = "2.2.0";
version = "3.0.0";
src = fetchurl {
url = "https://github.com/tj/git-extras/archive/${version}.tar.gz";
sha256 = "0qwgaj0r9lsmwricpnma9rm7llfrcqarcfk5iq3ilxkns8a334va";
sha256 = "01x8n9i5sgl1s53sgglg9sd9lyp35dhvdhwlx03yimi4i11441s9";
};
phases = [ "unpackPhase" "installPhase" ];

View File

@@ -1,4 +1,6 @@
{ stdenv, fetchurl, gettext, apr, aprutil, subversion, db, kdelibs, expat }:
{ stdenv, fetchurl, automoc4, cmake, gettext, perl, pkgconfig
, apr, aprutil, subversion, db, kdelibs, expat
}:
# the homepage mentions this is the final release.
# from now on, kdesvn will be part of the official kde software distribution
@@ -16,7 +18,7 @@ stdenv.mkDerivation rec {
buildInputs = [ apr aprutil subversion db kdelibs expat ];
nativeBuildInputs = [ gettext ];
nativeBuildInputs = [ automoc4 cmake gettext perl pkgconfig ];
meta = {
description = "KDE SVN front-end";

View File

@@ -1,5 +1,5 @@
{ stdenv, fetchurl, python, makeWrapper, docutils, unzip, hg-git, dulwich
, guiSupport ? false, tk ? null, curses
, guiSupport ? false, tk ? null, hg-crecord ? null, curses
, ApplicationServices }:
let
@@ -36,6 +36,13 @@ stdenv.mkDerivation {
WRAP_TK=" --set TK_LIBRARY \"${tk}/lib/${tk.libPrefix}\"
--set HG \"$out/bin/hg\"
--prefix PATH : \"${tk}/bin\" "
'') + (stdenv.lib.optionalString (hg-crecord != null)
''
mkdir -p $out/etc/mercurial
cat >> $out/etc/mercurial/hgrc << EOF
[extensions]
crecord=${hg-crecord}/${python.sitePackages}/crecord
EOF
'') +
''
for i in $(cd $out/bin && ls); do

View File

@@ -8,11 +8,11 @@
stdenv.mkDerivation rec {
name = "smartgithg-${version}";
version = "7_0_0";
version = "7_0_2";
src = fetchurl {
url = "http://www.syntevo.com/downloads/smartgit/smartgit-generic-${version}.tar.gz";
sha256 = "099hnpczh2c0s86nsdybymmm4903n0bsjdq1fpdmm0x5w4216iy6";
sha256 = "1jpi424aqy6niq31j750rgbspwii013c8kbi965i4jzjpba1pagi";
};
buildInputs = [
@@ -23,6 +23,7 @@ stdenv.mkDerivation rec {
buildCommand = let
pkg_path = "$out/${name}";
bin_path = "$out/bin";
install_freedesktop_items = ./install_freedesktop_items.sh;
runtime_paths = lib.makeSearchPath "bin" [
jre
git mercurial subversion
@@ -48,6 +49,8 @@ stdenv.mkDerivation rec {
--prefix SMARTGITHG_JAVA_HOME : ${jre}
patchShebangs $out
cp ${bin_path}/smartgit ${bin_path}/smartgithg
${install_freedesktop_items} "${pkg_path}/bin" "$out"
'';
meta = with stdenv.lib; {

View File

@@ -0,0 +1,11 @@
#!/bin/sh
inBinDir=$1
out=$2
cat $inBinDir/add-menuitem.sh | \
sed -re 's#xdg-icon-resource[ ]+install[ ]+--size[ ]+([0-9]+)[ ]+("[^"]+")[ ]+([$0-9a-zA-Z_]+)#mkdir -p '${out}'/share/icons/hicolor/\1x\1/apps \&\& cp \2 '${out}'/share/icons/hicolor/\1x\1/apps/\3\.png #' | \
sed -re 's#xdg-desktop-menu[ ]+install[ ]+([$0-9a-zA-Z_]+)#mkdir -p '${out}'/share/applications \&\& cp \1 '${out}'/share/applications/#' | \
sed -re 's#Exec="[^"]+"#Exec=smartgit#' |
sed -re 's#SMARTGIT_BIN=.*#'SMARTGIT_BIN=${inBinDir}'#' \
| bash

View File

@@ -1,4 +1,8 @@
{ stdenv, fetchurl, cmake, qt4, kdelibs, automoc4, phonon, soprano, shared_desktop_ontologies, kdemultimedia, taglib, glibc, gettext }:
{ stdenv, fetchurl, automoc4, cmake, perl, pkgconfig
, kdelibs, phonon, soprano, shared_desktop_ontologies
, kdemultimedia, taglib, glibc, gettext
}:
stdenv.mkDerivation rec {
name = "bangarang-2.1";
@@ -7,8 +11,12 @@ stdenv.mkDerivation rec {
sha256 = "1g4pap79k8qaqi0py34xqvisxln1nc5hbvph692ah3af06n6cly1";
};
buildInputs = [ kdelibs phonon soprano shared_desktop_ontologies kdemultimedia taglib gettext ];
nativeBuildInputs = [ cmake ];
buildInputs = [
kdelibs phonon soprano shared_desktop_ontologies kdemultimedia
taglib gettext
];
nativeBuildInputs = [ automoc4 cmake perl pkgconfig ];
patches = [ ./gcc-4.7.patch ];

View File

@@ -1,5 +1,9 @@
{ stdenv, fetchurl, cmake, automoc4, qt5, kf5, dvdauthor, xineLib, libmpeg2, libav,
libdvdread, libdvdnav, dvdplusrwtools, phonon_qt5 }:
{ stdenv, fetchurl
, cmake, automoc4
, dvdauthor, xineLib, libmpeg2, libav, libdvdread, libdvdnav, dvdplusrwtools
, phonon, qtx11extras
, extra-cmake-modules, kio, kiconthemes, ki18n, kdesu, kdoctools, solid
}:
stdenv.mkDerivation rec {
version = "3.0.3";
@@ -30,18 +34,17 @@ stdenv.mkDerivation rec {
libdvdread
libdvdnav
dvdplusrwtools
automoc4
phonon_qt5
] ++ (with kf5; [
#automoc4
phonon
extra-cmake-modules
kio
solid
qt5.x11extras
qtx11extras
kiconthemes
ki18n
kdesu
kdoctools
]);
];
nativeBuildInputs = [ kdoctools ];
meta = {
description = "DVD backup and DVD authoring program";

View File

@@ -14,9 +14,12 @@ stdenv.mkDerivation rec {
};
buildInputs = [
automoc4 cmake frei0r gettext kdelibs libv4l makeWrapper mlt perl
phonon pkgconfig qimageblitz qjson qt4 shared_desktop_ontologies
shared_mime_info soprano
frei0r kdelibs libv4l mlt phonon qimageblitz qjson qt4
shared_desktop_ontologies soprano
];
nativeBuildInputs = [
automoc4 cmake gettext makeWrapper perl pkgconfig shared_mime_info
];
propagatedUserEnvPkgs = [ oxygen_icons ];

Some files were not shown because too many files have changed in this diff Show More