Merge remote-tracking branch 'origin/master' into stdenv-updates.
This commit is contained in:
commit
c7dee1a5a5
@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
|
|||||||
description = "A GTK2 frontend for Music Player Daemon";
|
description = "A GTK2 frontend for Music Player Daemon";
|
||||||
license = licenses.gpl2;
|
license = licenses.gpl2;
|
||||||
maintainers = [ maintainers.rickynils ];
|
maintainers = [ maintainers.rickynils ];
|
||||||
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -1,24 +1,31 @@
|
|||||||
{ stdenv, fetchurl, alsaLib, autoconf, automake, fftw, gettext, glib,
|
{ stdenv, fetchurl, alsaLib, autoconf, automake, fftw, gettext, glib
|
||||||
libX11, libtool, tcl, tk }:
|
, jackaudio, libX11, libtool, makeWrapper, pkgconfig, tcl, tk
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "puredata-${version}";
|
name = "puredata-${version}";
|
||||||
version = "0.43-0";
|
version = "0.44-0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/pure-data/pd-${version}.src.tar.gz";
|
url = "mirror://sourceforge/pure-data/pd-${version}.src.tar.gz";
|
||||||
sha256 = "1qfq7x8vj12kr0cdrnbvmxfhc03flicc6vcc8bz6hwrrakwciyz2";
|
sha256 = "031bvqfnlpfx0y5n0l5rmslziqc6jgmk99x1prgh1rmhjhjdnijw";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ alsaLib autoconf automake fftw gettext glib libX11
|
buildInputs = [
|
||||||
libtool tcl tk ];
|
alsaLib autoconf automake fftw gettext glib jackaudio libX11
|
||||||
|
libtool makeWrapper pkgconfig tcl tk
|
||||||
|
];
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
./autogen.sh
|
./autogen.sh
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
wrapProgram $out/bin/pd --prefix PATH : ${tk}/bin
|
||||||
|
'';
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
meta = with stdenv.lib; {
|
||||||
description = ''Real-time graphical programming environment for
|
description = ''A real-time graphical programming environment for
|
||||||
audio, video, and graphical processing'';
|
audio, video, and graphical processing'';
|
||||||
homepage = http://puredata.info;
|
homepage = http://puredata.info;
|
||||||
license = licenses.bsd3;
|
license = licenses.bsd3;
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
{ fetchurl, stdenv, emacs }:
|
{ fetchurl, stdenv, emacs, python }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "cedet-1.0pre6";
|
name = "cedet-1.1";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/cedet/${name}.tar.gz";
|
url = "mirror://sourceforge/cedet/${name}.tar.gz";
|
||||||
sha256 = "0pvd54rjlba12cxgqibm8v4i8x43r5c239z891lgcbafjvkzpdxb";
|
sha256 = "0p2bwlpwwa019axvgj09xkxbr53j0pq23d46s4la9jfhl47nbh22";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ emacs ];
|
buildInputs = [ emacs python ];
|
||||||
|
|
||||||
doCheck = true;
|
doCheck = true;
|
||||||
checkPhase = "make utest";
|
checkPhase = "make utest";
|
||||||
|
@ -0,0 +1,148 @@
|
|||||||
|
From abd67f1d44eef81baf2e9729f95e002c4ecc7350 Mon Sep 17 00:00:00 2001
|
||||||
|
From: jlh <jlh@gmx.ch>
|
||||||
|
Date: Fri, 16 Oct 2009 17:40:54 +0200
|
||||||
|
Subject: [PATCH] Rudimentary support for recording hosted conference calls
|
||||||
|
|
||||||
|
---
|
||||||
|
call.cpp | 37 +++++++++++++++++++++++++++++++++++--
|
||||||
|
call.h | 11 ++++++++++-
|
||||||
|
2 files changed, 45 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/call.cpp b/call.cpp
|
||||||
|
index c2b02f2..663c1c1 100644
|
||||||
|
--- a/call.cpp
|
||||||
|
+++ b/call.cpp
|
||||||
|
@@ -90,9 +90,10 @@ void AutoSync::reset() {
|
||||||
|
|
||||||
|
// Call class
|
||||||
|
|
||||||
|
-Call::Call(QObject *p, Skype *sk, CallID i) :
|
||||||
|
- QObject(p),
|
||||||
|
+Call::Call(CallHandler *h, Skype *sk, CallID i) :
|
||||||
|
+ QObject(h),
|
||||||
|
skype(sk),
|
||||||
|
+ handler(h),
|
||||||
|
id(i),
|
||||||
|
status("UNKNOWN"),
|
||||||
|
writer(NULL),
|
||||||
|
@@ -119,6 +120,13 @@ Call::Call(QObject *p, Skype *sk, CallID i) :
|
||||||
|
debug(QString("Call %1: cannot get partner display name").arg(id));
|
||||||
|
displayName = "Unnamed Caller";
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ // Skype does not properly send updates when the CONF_ID property
|
||||||
|
+ // changes. since we need this information, check it now on all calls
|
||||||
|
+ handler->updateConfIDs();
|
||||||
|
+ // this call isn't yet in the list of calls, thus we need to
|
||||||
|
+ // explicitely check its CONF_ID
|
||||||
|
+ updateConfID();
|
||||||
|
}
|
||||||
|
|
||||||
|
Call::~Call() {
|
||||||
|
@@ -134,6 +142,10 @@ Call::~Call() {
|
||||||
|
// QT takes care of deleting servers and sockets
|
||||||
|
}
|
||||||
|
|
||||||
|
+void Call::updateConfID() {
|
||||||
|
+ confID = skype->getObject(QString("CALL %1 CONF_ID").arg(id)).toLong();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
bool Call::okToDelete() const {
|
||||||
|
// this is used for checking whether past calls may now be deleted.
|
||||||
|
// when a past call hasn't been decided yet whether it should have been
|
||||||
|
@@ -270,6 +282,11 @@ void Call::startRecording(bool force) {
|
||||||
|
if (isRecording)
|
||||||
|
return;
|
||||||
|
|
||||||
|
+ if (handler->isConferenceRecording(confID)) {
|
||||||
|
+ debug(QString("Call %1: call is part of a conference that is already being recorded").arg(id));
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (force) {
|
||||||
|
emit showLegalInformation();
|
||||||
|
} else {
|
||||||
|
@@ -589,6 +606,22 @@ CallHandler::~CallHandler() {
|
||||||
|
delete legalInformationDialog;
|
||||||
|
}
|
||||||
|
|
||||||
|
+void CallHandler::updateConfIDs() {
|
||||||
|
+ QList<Call *> list = calls.values();
|
||||||
|
+ for (int i = 0; i < list.size(); i++)
|
||||||
|
+ list.at(i)->updateConfID();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+bool CallHandler::isConferenceRecording(CallID id) const {
|
||||||
|
+ QList<Call *> list = calls.values();
|
||||||
|
+ for (int i = 0; i < list.size(); i++) {
|
||||||
|
+ Call *c = list.at(i);
|
||||||
|
+ if (c->getConfID() == id && c->getIsRecording())
|
||||||
|
+ return true;
|
||||||
|
+ }
|
||||||
|
+ return false;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
void CallHandler::callCmd(const QStringList &args) {
|
||||||
|
CallID id = args.at(0).toInt();
|
||||||
|
|
||||||
|
diff --git a/call.h b/call.h
|
||||||
|
index cb8396d..b746f46 100644
|
||||||
|
--- a/call.h
|
||||||
|
+++ b/call.h
|
||||||
|
@@ -43,6 +43,8 @@ class QTcpServer;
|
||||||
|
class QTcpSocket;
|
||||||
|
class LegalInformationDialog;
|
||||||
|
|
||||||
|
+class CallHandler;
|
||||||
|
+
|
||||||
|
typedef int CallID;
|
||||||
|
|
||||||
|
class AutoSync {
|
||||||
|
@@ -68,18 +70,21 @@ private:
|
||||||
|
class Call : public QObject {
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
- Call(QObject *, Skype *, CallID);
|
||||||
|
+ Call(CallHandler *, Skype *, CallID);
|
||||||
|
~Call();
|
||||||
|
void startRecording(bool = false);
|
||||||
|
void stopRecording(bool = true);
|
||||||
|
+ void updateConfID();
|
||||||
|
bool okToDelete() const;
|
||||||
|
void setStatus(const QString &);
|
||||||
|
QString getStatus() const { return status; }
|
||||||
|
bool statusDone() const;
|
||||||
|
bool statusActive() const;
|
||||||
|
CallID getID() const { return id; }
|
||||||
|
+ CallID getConfID() const { return confID; }
|
||||||
|
void removeFile();
|
||||||
|
void hideConfirmation(int);
|
||||||
|
+ bool getIsRecording() const { return isRecording; }
|
||||||
|
|
||||||
|
signals:
|
||||||
|
void startedCall(int, const QString &);
|
||||||
|
@@ -99,10 +104,12 @@ private:
|
||||||
|
|
||||||
|
private:
|
||||||
|
Skype *skype;
|
||||||
|
+ CallHandler *handler;
|
||||||
|
CallID id;
|
||||||
|
QString status;
|
||||||
|
QString skypeName;
|
||||||
|
QString displayName;
|
||||||
|
+ CallID confID;
|
||||||
|
AudioFileWriter *writer;
|
||||||
|
bool isRecording;
|
||||||
|
int stereo;
|
||||||
|
@@ -140,6 +147,8 @@ class CallHandler : public QObject {
|
||||||
|
public:
|
||||||
|
CallHandler(QObject *, Skype *);
|
||||||
|
~CallHandler();
|
||||||
|
+ void updateConfIDs();
|
||||||
|
+ bool isConferenceRecording(CallID) const;
|
||||||
|
void callCmd(const QStringList &);
|
||||||
|
|
||||||
|
signals:
|
||||||
|
--
|
||||||
|
1.6.5.GIT
|
||||||
|
|
@ -0,0 +1,27 @@
|
|||||||
|
{ stdenv, fetchurl, cmake, lame, id3lib, libvorbis, qt4, libogg }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "skype-call-recorder-0.8";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://atdot.ch/scr/files/0.8/skype-call-recorder-0.8.tar.gz";
|
||||||
|
sha256 = "1iijkhq3aj9gr3bx6zl8ryvzkqcdhsm9yisimakwq0lnw0lgf5di";
|
||||||
|
};
|
||||||
|
|
||||||
|
# Keep an rpath reference to the used libogg
|
||||||
|
prePatch = ''
|
||||||
|
sed -i -e '/ADD_EXECUTABLE/aSET(LIBRARIES ''${LIBRARIES} ogg)' CMakeLists.txt
|
||||||
|
'';
|
||||||
|
|
||||||
|
# Better support for hosted conferences
|
||||||
|
patches = [ ./conference.patch ];
|
||||||
|
|
||||||
|
buildInputs = [ cmake lame id3lib libvorbis qt4 libogg ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://atdot.ch/scr/;
|
||||||
|
description = "Open source tool to record your Skype calls on Linux";
|
||||||
|
license = "GPLv2+";
|
||||||
|
platforms = with stdenv.lib.platforms; linux;
|
||||||
|
maintainers = with stdenv.lib.maintainers; [viric];
|
||||||
|
};
|
||||||
|
}
|
@ -3,6 +3,8 @@
|
|||||||
, djvulibre, groff, libxslt, unzip, xpdf, antiword, catdoc, lyx
|
, djvulibre, groff, libxslt, unzip, xpdf, antiword, catdoc, lyx
|
||||||
, ghostscript, gawk, gnugrep, gnused, gnutar, gzip, libiconvOrLibc }:
|
, ghostscript, gawk, gnugrep, gnused, gnutar, gzip, libiconvOrLibc }:
|
||||||
|
|
||||||
|
assert stdenv.system != "powerpc-linux";
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
ver = "1.18.1";
|
ver = "1.18.1";
|
||||||
name = "recoll-${ver}";
|
name = "recoll-${ver}";
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{ stdenv, fetchurl, fetchgit, freetype, pkgconfig, yasm, freefont_ttf, ffmpeg, libass
|
{ stdenv, fetchurl, fetchgit, freetype, pkgconfig, yasm, freefont_ttf, ffmpeg, libass
|
||||||
, python3, docutils, which
|
, python3, docutils, which
|
||||||
, x11Support ? true, libX11 ? null, libXext ? null, mesa ? null
|
, x11Support ? true, libX11 ? null, libXext ? null, mesa ? null, libXxf86vm ? null
|
||||||
, xineramaSupport ? true, libXinerama ? null
|
, xineramaSupport ? true, libXinerama ? null
|
||||||
, xvSupport ? true, libXv ? null
|
, xvSupport ? true, libXv ? null
|
||||||
, alsaSupport ? true, alsaLib ? null
|
, alsaSupport ? true, alsaLib ? null
|
||||||
@ -17,7 +17,7 @@
|
|||||||
, useUnfreeCodecs ? false
|
, useUnfreeCodecs ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert x11Support -> (libX11 != null && libXext != null && mesa != null);
|
assert x11Support -> (libX11 != null && libXext != null && mesa != null && libXxf86vm != null);
|
||||||
assert xineramaSupport -> (libXinerama != null && x11Support);
|
assert xineramaSupport -> (libXinerama != null && x11Support);
|
||||||
assert xvSupport -> (libXv != null && x11Support);
|
assert xvSupport -> (libXv != null && x11Support);
|
||||||
assert alsaSupport -> alsaLib != null;
|
assert alsaSupport -> alsaLib != null;
|
||||||
@ -80,7 +80,7 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
buildInputs = with stdenv.lib;
|
buildInputs = with stdenv.lib;
|
||||||
[ freetype pkgconfig ffmpeg libass docutils which ]
|
[ freetype pkgconfig ffmpeg libass docutils which ]
|
||||||
++ optionals x11Support [ libX11 libXext mesa ]
|
++ optionals x11Support [ libX11 libXext mesa libXxf86vm ]
|
||||||
++ optional alsaSupport alsaLib
|
++ optional alsaSupport alsaLib
|
||||||
++ optional xvSupport libXv
|
++ optional xvSupport libXv
|
||||||
++ optional theoraSupport libtheora
|
++ optional theoraSupport libtheora
|
||||||
|
36
pkgs/applications/window-managers/dwm/confnotify-6.0.patch
Normal file
36
pkgs/applications/window-managers/dwm/confnotify-6.0.patch
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
Fix SDL fullscreen problems when the resolution changes:
|
||||||
|
https://groups.google.com/d/msg/wmii/nJBrSjrnnq8/ZEYWOWE5pj4J
|
||||||
|
|
||||||
|
diff -r ec4baab78314 dwm.c
|
||||||
|
--- a/dwm.c Mon Dec 19 15:38:30 2011 +0100
|
||||||
|
+++ b/dwm.c Sat Jan 14 12:35:50 2012 +0100
|
||||||
|
@@ -397,9 +397,10 @@
|
||||||
|
showhide(m->stack);
|
||||||
|
else for(m = mons; m; m = m->next)
|
||||||
|
showhide(m->stack);
|
||||||
|
- if(m)
|
||||||
|
+ if(m) {
|
||||||
|
arrangemon(m);
|
||||||
|
- else for(m = mons; m; m = m->next)
|
||||||
|
+ restack(m);
|
||||||
|
+ } else for(m = mons; m; m = m->next)
|
||||||
|
arrangemon(m);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -408,7 +409,6 @@
|
||||||
|
strncpy(m->ltsymbol, m->lt[m->sellt]->symbol, sizeof m->ltsymbol);
|
||||||
|
if(m->lt[m->sellt]->arrange)
|
||||||
|
m->lt[m->sellt]->arrange(m);
|
||||||
|
- restack(m);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
@@ -1827,6 +1827,8 @@
|
||||||
|
.event_mask = ButtonPressMask|ExposureMask
|
||||||
|
};
|
||||||
|
for(m = mons; m; m = m->next) {
|
||||||
|
+ if (m->barwin)
|
||||||
|
+ continue;
|
||||||
|
m->barwin = XCreateWindow(dpy, root, m->wx, m->by, m->ww, bh, 0, DefaultDepth(dpy, screen),
|
||||||
|
CopyFromParent, DefaultVisual(dpy, screen),
|
||||||
|
CWOverrideRedirect|CWBackPixmap|CWEventMask, &wa);
|
@ -1,9 +1,16 @@
|
|||||||
{stdenv, fetchurl}:
|
{stdenv, fetchurl}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "libmspack-0.0.20040308alpha";
|
name = "libmspack-0.3alpha";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = http://www.kyz.uklinux.net/downloads/libmspack-0.0.20040308alpha.tar.gz;
|
url = http://www.cabextract.org.uk/libmspack/libmspack-0.3alpha.tar.gz;
|
||||||
md5 = "4d8e967649df0f6ade83df7da4b7511c";
|
sha256 = "03rlzhvzd3qm7sb029gs14syq1z6xjmczvwb9kbz5sl20sjngidh";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A de/compression library for various Microsoft formats";
|
||||||
|
homepage = http://www.cabextract.org.uk/libmspack;
|
||||||
|
license = "LGPL2";
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
23
pkgs/games/d1x-rebirth/default.nix
Normal file
23
pkgs/games/d1x-rebirth/default.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{stdenv, fetchurl, scons, pkgconfig, SDL, mesa, physfs, SDL_mixer }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "d1x-rebirth-0.57.3";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://www.dxx-rebirth.com/download/dxx/d1x-rebirth_v0.57.3-src.tar.gz";
|
||||||
|
sha256 = "07dbjza5flsczdsas0adb5xhn13gmhlpixa8ycp8hjm20y9kw1za";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ scons pkgconfig SDL mesa physfs SDL_mixer ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
scons prefix=$out install
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://www.dxx-rebirth.com/;
|
||||||
|
description = "Source Port of the Descent 1 engine";
|
||||||
|
license = "BSD"; # Parallax license, like BSD I think
|
||||||
|
platforms = with stdenv.lib.platforms; linux;
|
||||||
|
maintainers = with stdenv.lib.maintainers; [viric];
|
||||||
|
};
|
||||||
|
}
|
23
pkgs/games/d2x-rebirth/default.nix
Normal file
23
pkgs/games/d2x-rebirth/default.nix
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{stdenv, fetchurl, scons, pkgconfig, SDL, mesa, physfs, SDL_mixer }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "d2x-rebirth-0.57.3";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://www.dxx-rebirth.com/download/dxx/d2x-rebirth_v0.57.3-src.tar.gz";
|
||||||
|
sha256 = "0yyandmxz12bbpnd746nddjlqh5i7dylwm006shixis3w3giz77c";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ scons pkgconfig SDL mesa physfs SDL_mixer ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
scons prefix=$out install
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://www.dxx-rebirth.com/;
|
||||||
|
description = "Source Port of the Descent 2 engine";
|
||||||
|
license = "BSD"; # Parallax license, like BSD I think
|
||||||
|
platforms = with stdenv.lib.platforms; linux;
|
||||||
|
maintainers = with stdenv.lib.maintainers; [viric];
|
||||||
|
};
|
||||||
|
}
|
@ -5,7 +5,7 @@ stdenv.mkDerivation {
|
|||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://people.freedesktop.org/~agd5f/radeon_ucode/R700_rlc.bin";
|
url = "http://people.freedesktop.org/~agd5f/radeon_ucode/R700_rlc.bin";
|
||||||
sha256 = "1lbgrlbhqijizg16z0g0qa6ggznpdy844cawnwdp1b0fkwhrbkga";
|
sha256 = "1sbpq39cvjnpfp1iamhq9k9266jkaaywnm8d2pw95ayw56a77976";
|
||||||
};
|
};
|
||||||
|
|
||||||
unpackPhase = "true";
|
unpackPhase = "true";
|
||||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
|||||||
ncurses python glib libaio mesa texinfo perl
|
ncurses python glib libaio mesa texinfo perl
|
||||||
] ++ stdenv.lib.optionals spiceSupport [ spice_protocol spice ];
|
] ++ stdenv.lib.optionals spiceSupport [ spice_protocol spice ];
|
||||||
|
|
||||||
patches = [ ./fix-librt-check.patch ];
|
patches = [ ./fix-librt-check.patch ./fix-usb-passthrough.patch ];
|
||||||
|
|
||||||
postPatch = "patchShebangs .;"
|
postPatch = "patchShebangs .;"
|
||||||
+ stdenv.lib.optionalString spiceSupport ''
|
+ stdenv.lib.optionalString spiceSupport ''
|
||||||
|
45
pkgs/os-specific/linux/qemu-kvm/fix-usb-passthrough.patch
Normal file
45
pkgs/os-specific/linux/qemu-kvm/fix-usb-passthrough.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
https://bugs.launchpad.net/qemu/+bug/1033727
|
||||||
|
|
||||||
|
From: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
Date: Wed, 12 Sep 2012 13:08:40 +0000 (+0200)
|
||||||
|
Subject: uhci: Don't queue up packets after one with the SPD flag set
|
||||||
|
X-Git-Tag: v1.3.0-rc0~483^2
|
||||||
|
X-Git-Url: http://git.qemu.org/?p=qemu.git;a=commitdiff_plain;h=72a04d0c178f01908d74539230d9de64ffc6da19
|
||||||
|
Bug-Debian: http://bugs.debian.org/683983
|
||||||
|
|
||||||
|
uhci: Don't queue up packets after one with the SPD flag set
|
||||||
|
|
||||||
|
Don't queue up packets after a packet with the SPD (short packet detect)
|
||||||
|
flag set. Since we won't know if the packet will actually be short until it
|
||||||
|
has completed, and if it is short we should stop the queue.
|
||||||
|
|
||||||
|
This fixes a miniature photoframe emulating a USB cdrom with the windows
|
||||||
|
software for it not working.
|
||||||
|
|
||||||
|
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
---
|
||||||
|
|
||||||
|
diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c
|
||||||
|
index c7c8786..cdc8bc3 100644
|
||||||
|
--- a/hw/usb/hcd-uhci.c
|
||||||
|
+++ b/hw/usb/hcd-uhci.c
|
||||||
|
@@ -1000,6 +1000,9 @@ static void uhci_fill_queue(UHCIState *s, UHCI_TD *td)
|
||||||
|
}
|
||||||
|
assert(ret == TD_RESULT_ASYNC_START);
|
||||||
|
assert(int_mask == 0);
|
||||||
|
+ if (ptd.ctrl & TD_CTRL_SPD) {
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
plink = ptd.link;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@@ -1097,7 +1100,7 @@ static void uhci_process_frame(UHCIState *s)
|
||||||
|
|
||||||
|
case TD_RESULT_ASYNC_START:
|
||||||
|
trace_usb_uhci_td_async(curr_qh & ~0xf, link & ~0xf);
|
||||||
|
- if (is_valid(td.link)) {
|
||||||
|
+ if (is_valid(td.link) && !(td.ctrl & TD_CTRL_SPD)) {
|
||||||
|
uhci_fill_queue(s, &td);
|
||||||
|
}
|
||||||
|
link = curr_qh ? qh.link : td.link;
|
@ -14,17 +14,15 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
LC_ALL = "C";
|
makeFlags = [ "world" ];
|
||||||
|
|
||||||
postInstall =
|
installTargets = [ "install-world" ];
|
||||||
''
|
|
||||||
mkdir -p $out/share/man
|
LC_ALL = "C";
|
||||||
cp -rvd doc/src/sgml/man1 $out/share/man
|
|
||||||
'';
|
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
inherit readline;
|
inherit readline;
|
||||||
psqlSchema = "9.1";
|
psqlSchema = "9.2";
|
||||||
};
|
};
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{ stdenv, fetchurl, buildPythonPackage
|
{ stdenv, fetchurl, buildPythonPackage
|
||||||
, python, cython, pkgconfig
|
, python, cython, pkgconfig
|
||||||
, xorg, gtk, glib, pango, cairo, gdk_pixbuf, pygtk, atk, pygobject, pycairo
|
, xorg, gtk, glib, pango, cairo, gdk_pixbuf, pygtk, atk, pygobject, pycairo
|
||||||
, ffmpeg_1_1, x264, libvpx, pil, libwebp }:
|
, ffmpeg_1, x264, libvpx, pil, libwebp }:
|
||||||
|
|
||||||
buildPythonPackage rec {
|
buildPythonPackage rec {
|
||||||
name = "xpra-0.8.8";
|
name = "xpra-0.8.8";
|
||||||
@ -21,7 +21,7 @@ buildPythonPackage rec {
|
|||||||
|
|
||||||
pango cairo gdk_pixbuf atk gtk glib
|
pango cairo gdk_pixbuf atk gtk glib
|
||||||
|
|
||||||
ffmpeg_1_1 libvpx x264 libwebp
|
ffmpeg_1 libvpx x264 libwebp
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
|||||||
EOF
|
EOF
|
||||||
|
|
||||||
makeFlags="install_uid=$(id -u) install_gid=$(id -g)"
|
makeFlags="install_uid=$(id -u) install_gid=$(id -g)"
|
||||||
installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc"
|
installFlags="sudoers_uid=$(id -u) sudoers_gid=$(id -g) sysconfdir=$out/etc timedir=$TMPDIR/dummy"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildInputs = [ coreutils pam groff ];
|
buildInputs = [ coreutils pam groff ];
|
||||||
|
29
pkgs/tools/system/thinkfan/default.nix
Normal file
29
pkgs/tools/system/thinkfan/default.nix
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{ stdenv, fetchurl }:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
version = "0.8.1";
|
||||||
|
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "thinkfan-${version}";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://downloads.sourceforge.net/project/thinkfan/thinkfan-${version}.tar.gz";
|
||||||
|
sha256 = "04akla66r8k10x0jvmcpfi92hj2sppygcl7hhwn8n8zsvvf0yqxs";
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
mv thinkfan $out/bin/
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "";
|
||||||
|
license = stdenv.lib.licenses.gpl3;
|
||||||
|
homePage = "http://thinkfan.sourceforge.net/";
|
||||||
|
maintainers = with stdenv.lib.maintainers; [ iElectric ];
|
||||||
|
platforms = stdenv.lib.platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
@ -7758,6 +7758,8 @@ let
|
|||||||
usePulseAudio = config.pulseaudio or true;
|
usePulseAudio = config.pulseaudio or true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
skype_call_recorder = callPackage ../applications/networking/instant-messengers/skype-call-recorder { };
|
||||||
|
|
||||||
st = callPackage ../applications/misc/st { };
|
st = callPackage ../applications/misc/st { };
|
||||||
|
|
||||||
dropbox = callPackage ../applications/networking/dropbox { };
|
dropbox = callPackage ../applications/networking/dropbox { };
|
||||||
@ -8232,6 +8234,10 @@ let
|
|||||||
|
|
||||||
dwarf_fortress = callPackage_i686 ../games/dwarf-fortress { };
|
dwarf_fortress = callPackage_i686 ../games/dwarf-fortress { };
|
||||||
|
|
||||||
|
d1x_rebirth = callPackage ../games/d1x-rebirth { };
|
||||||
|
|
||||||
|
d2x_rebirth = callPackage ../games/d2x-rebirth { };
|
||||||
|
|
||||||
eduke32 = callPackage ../games/eduke32 {
|
eduke32 = callPackage ../games/eduke32 {
|
||||||
stdenv = overrideGCC stdenv gcc47;
|
stdenv = overrideGCC stdenv gcc47;
|
||||||
};
|
};
|
||||||
@ -9104,6 +9110,8 @@ let
|
|||||||
inherit texLive unzip;
|
inherit texLive unzip;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
thinkfan = callPackage ../tools/system/thinkfan { };
|
||||||
|
|
||||||
vice = callPackage ../misc/emulators/vice { };
|
vice = callPackage ../misc/emulators/vice { };
|
||||||
|
|
||||||
viewnior = callPackage ../applications/graphics/viewnior { };
|
viewnior = callPackage ../applications/graphics/viewnior { };
|
||||||
|
@ -2734,6 +2734,18 @@ pythonPackages = python.modules // rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
pika = buildPythonPackage {
|
||||||
|
name = "pika-0.9.12";
|
||||||
|
src = fetchurl {
|
||||||
|
url = https://pypi.python.org/packages/source/p/pika/pika-0.9.12.tar.gz;
|
||||||
|
md5 = "7174fc7cc5570314fa3cfaa729106482";
|
||||||
|
};
|
||||||
|
buildInputs = [ nose mock pyyaml ];
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ unittest2 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
pillow = buildPythonPackage rec {
|
pillow = buildPythonPackage rec {
|
||||||
name = "Pillow-1.7.8";
|
name = "Pillow-1.7.8";
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user