From 4a4fd2747cb37eb7cf82ff712745b5b7dd767cf9 Mon Sep 17 00:00:00 2001 From: Charles Strahan Date: Mon, 19 Sep 2016 23:06:30 -0400 Subject: [PATCH] xsel: 1.2.0 -> git-2016-09-02 The last xsel release was in 2008. Since then, a number of bugs have been fixed. For example, pasting a large chunk of text (>4000 chars) into chrome would cause the current tab to hang indefinitely. A couple examples in the wild: https://github.com/kfish/xsel/issues/14 https://github.com/kfish/xsel/issues/13 https://github.com/kfish/xsel/pull/16 https://bugs.chromium.org/p/chromium/issues/detail?id=515401 https://github.com/electron/electron/issues/3116 https://github.com/neovim/neovim/issues/4719 --- pkgs/tools/misc/xsel/default.nix | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/pkgs/tools/misc/xsel/default.nix b/pkgs/tools/misc/xsel/default.nix index b95b95e4379b..0b78b9a06473 100644 --- a/pkgs/tools/misc/xsel/default.nix +++ b/pkgs/tools/misc/xsel/default.nix @@ -1,15 +1,29 @@ -{stdenv, fetchurl, xlibsWrapper}: +{stdenv, lib, fetchFromGitHub, libX11, autoreconfHook }: -stdenv.mkDerivation { - name = "xsel-1.2.0"; - src = fetchurl { - url = http://www.vergenet.net/~conrad/software/xsel/download/xsel-1.2.0.tar.gz; - sha256 = "070lbcpw77j143jrbkh0y1v10ppn1jwmjf92800w7x42vh4cw9xr"; +stdenv.mkDerivation rec { + name = "xsel-unstable-${version}"; + + version = "2016-09-02"; + + src = fetchFromGitHub { + owner = "kfish"; + repo = "xsel"; + rev = "aa7f57eed805adb09e9c59c8ea841870e8206b81"; + sha256 = "04mrc8j0rr7iy1k6brfxnx26pmxm800gh4nqrxn6j2lz6vd5y9m5"; }; - buildInputs = [xlibsWrapper]; + buildInputs = [ libX11 autoreconfHook ]; - meta = { - platforms = stdenv.lib.platforms.unix; + # We need a README file, otherwise autoconf complains. + postUnpack = '' + mv $sourceRoot/README{.md,} + ''; + + meta = with lib; { + description = "Command-line program for getting and setting the contents of the X selection"; + homepage = "http://www.kfish.org/software/xsel"; + license = licenses.mit; + maintainers = [ maintainers.cstrahan ]; + platforms = lib.platforms.unix; }; }