From 586a9c0d9ced543c5d2f958792b5f7adcdc1792b Mon Sep 17 00:00:00 2001 From: Rahul Gopinath Date: Thu, 23 Jun 2016 01:05:25 -0700 Subject: [PATCH 001/144] gnumake: Allow guile extension language as an optional feature --- .../tools/build-managers/gnumake/4.2/default.nix | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/pkgs/development/tools/build-managers/gnumake/4.2/default.nix b/pkgs/development/tools/build-managers/gnumake/4.2/default.nix index a3c8327655e..c484bf95297 100644 --- a/pkgs/development/tools/build-managers/gnumake/4.2/default.nix +++ b/pkgs/development/tools/build-managers/gnumake/4.2/default.nix @@ -1,4 +1,6 @@ -{ stdenv, fetchurl }: +{ stdenv, fetchurl, guileSupport ? false, pkgconfig ? null , guile ? null }: + +assert guileSupport -> ( pkgconfig != null && guile != null ); let version = "4.2"; @@ -19,12 +21,16 @@ stdenv.mkDerivation { ./impure-dirs.patch ]; + buildInputs = stdenv.lib.optional guileSupport [ guile pkgconfig ]; + + configureFlags = stdenv.lib.optional guileSupport [ "--with-guile" ]; + outputs = [ "out" "doc" ]; - meta = { + meta = with stdenv.lib; { homepage = http://www.gnu.org/software/make/; description = "A tool to control the generation of non-source files from sources"; - license = stdenv.lib.licenses.gpl3Plus; + license = licenses.gpl3Plus; longDescription = '' Make is a tool which controls the generation of executables and @@ -37,6 +43,7 @@ stdenv.mkDerivation { to build and install the program. ''; - platforms = stdenv.lib.platforms.all; + platforms = platforms.all; + maintainers = [ maintainers.vrthra ]; }; } From 2b7458144fadf07f7e31f89a227e22a4a8c9a6d9 Mon Sep 17 00:00:00 2001 From: mimadrid Date: Thu, 7 Jul 2016 12:09:18 +0200 Subject: [PATCH 002/144] universal-ctags: init at 2016-07-06 --- .../tools/misc/universal-ctags/default.nix | 33 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 35 insertions(+) create mode 100644 pkgs/development/tools/misc/universal-ctags/default.nix diff --git a/pkgs/development/tools/misc/universal-ctags/default.nix b/pkgs/development/tools/misc/universal-ctags/default.nix new file mode 100644 index 00000000000..9adaa368997 --- /dev/null +++ b/pkgs/development/tools/misc/universal-ctags/default.nix @@ -0,0 +1,33 @@ +{ stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, perl }: + +stdenv.mkDerivation rec { + name = "universal-ctags-${version}"; + version = "2016-07-06"; + + src = fetchFromGitHub { + owner = "universal-ctags"; + repo = "ctags"; + rev = "44a325a9db23063b231f6f041af9aaf19320d9b9"; + sha256 = "11vq901h121ckqgw52k9x7way3q38b7jd08vr1n2sjz7kxh0zdd0"; + }; + + buildInputs = [ autoreconfHook pkgconfig ]; + + autoreconfPhase = '' + ./autogen.sh --tmpdir + ''; + + postConfigure = '' + sed -i 's|/usr/bin/env perl|${perl}/bin/perl|' misc/optlib2c + ''; + + meta = with stdenv.lib; { + description = "A maintained ctags implementation"; + homepage = "https://ctags.io/"; + license = licenses.gpl2Plus; + platforms = platforms.unix; + # universal-ctags is preferred over emacs's ctags + priority = 1; + maintainers = [ maintainers.mimadrid ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 716eca125f1..cf1174f1163 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6641,6 +6641,8 @@ in uncrustify = callPackage ../development/tools/misc/uncrustify { }; + universal-ctags = callPackage ../development/tools/misc/universal-ctags { }; + vagrant = callPackage ../development/tools/vagrant { ruby = ruby_2_2; }; From 8745e479091f21975d5777df9a8013d8e7d02cfd Mon Sep 17 00:00:00 2001 From: rnhmjoj Date: Sat, 9 Jul 2016 05:13:52 +0200 Subject: [PATCH 003/144] mutt: 1.6.0 -> 1.6.2 --- .../networking/mailreaders/mutt/default.nix | 86 +- .../mailreaders/mutt/sidebar-compose.patch | 40 - .../mutt/sidebar-delimnullwide.patch | 38 - .../mailreaders/mutt/sidebar-dotpathsep.patch | 98 - .../mailreaders/mutt/sidebar-new.patch | 97 - .../mailreaders/mutt/sidebar-newonly.patch | 198 - .../mailreaders/mutt/sidebar-utf8.patch | 132 - .../networking/mailreaders/mutt/sidebar.patch | 4657 ++++++++++++++--- .../mailreaders/mutt/trash-folder.patch | 316 -- .../networking/mailreaders/mutt/trash.patch | 797 +++ 10 files changed, 4652 insertions(+), 1807 deletions(-) delete mode 100644 pkgs/applications/networking/mailreaders/mutt/sidebar-compose.patch delete mode 100644 pkgs/applications/networking/mailreaders/mutt/sidebar-delimnullwide.patch delete mode 100644 pkgs/applications/networking/mailreaders/mutt/sidebar-dotpathsep.patch delete mode 100644 pkgs/applications/networking/mailreaders/mutt/sidebar-new.patch delete mode 100644 pkgs/applications/networking/mailreaders/mutt/sidebar-newonly.patch delete mode 100644 pkgs/applications/networking/mailreaders/mutt/sidebar-utf8.patch delete mode 100644 pkgs/applications/networking/mailreaders/mutt/trash-folder.patch create mode 100644 pkgs/applications/networking/mailreaders/mutt/trash.patch diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix index 1964faf2f5c..31ead22e1fd 100644 --- a/pkgs/applications/networking/mailreaders/mutt/default.nix +++ b/pkgs/applications/networking/mailreaders/mutt/default.nix @@ -1,43 +1,51 @@ { stdenv, fetchurl, ncurses, which, perl, autoreconfHook -, sslSupport ? true -, imapSupport ? true -, headerCache ? true -, saslSupport ? true -, gpgmeSupport ? true , gdbm ? null , openssl ? null , cyrus_sasl ? null , gpgme ? null -, withSidebar ? false +, aclocal ? null +, headerCache ? true +, sslSupport ? true +, saslSupport ? true +, gpgmeSupport ? true +, imapSupport ? true +, withSidebar ? false +, withTrash ? false }: -assert headerCache -> gdbm != null; -assert sslSupport -> openssl != null; -assert saslSupport -> cyrus_sasl != null; -assert gpgmeSupport -> gpgme != null; +assert headerCache -> gdbm != null; +assert sslSupport -> openssl != null; +assert saslSupport -> cyrus_sasl != null; +assert gpgmeSupport -> gpgme != null; + +with stdenv.lib; -let - version = "1.6.0"; -in stdenv.mkDerivation rec { - name = "mutt${stdenv.lib.optionalString withSidebar "-with-sidebar"}-${version}"; + name = "mutt-${version}"; + version = "1.6.2"; src = fetchurl { - url = "http://ftp.mutt.org/pub/mutt/mutt-${version}.tar.gz"; - sha256 = "06bc2drbgalkk68rzg7hq2v5m5qgjxff5357wg0419dpi8ivdbr9"; + url = "http://ftp.mutt.org/pub/mutt/${name}.tar.gz"; + sha256 = "13hxmji7v9m2agmvzrs7gzx8s3c9jiwrv7pbkr7z1kc6ckq2xl65"; }; - buildInputs = with stdenv.lib; + buildInputs = [ ncurses which perl ] - ++ optional headerCache gdbm - ++ optional sslSupport openssl - ++ optional saslSupport cyrus_sasl - ++ optional gpgmeSupport gpgme; - - nativeBuildInputs = stdenv.lib.optional withSidebar autoreconfHook; + ++ optional headerCache gdbm + ++ optional sslSupport openssl + ++ optional saslSupport cyrus_sasl + ++ optional gpgmeSupport gpgme + ++ optional withSidebar autoreconfHook; configureFlags = [ - "--with-mailpath=" "--enable-smtp" + (enableFeature headerCache "hcache") + (enableFeature gpgmeSupport "gpgme") + (enableFeature imapSupport "imap") + (enableFeature withSidebar "sidebar") + "--enable-smtp" + "--enable-pop" + "--enable-imap" + "--with-mailpath=" # Look in $PATH at runtime, instead of hardcoding /usr/bin/sendmail "ac_cv_path_SENDMAIL=sendmail" @@ -45,36 +53,22 @@ stdenv.mkDerivation rec { # This allows calls with "-d N", that output debug info into ~/.muttdebug* "--enable-debug" - "--enable-pop" "--enable-imap" - # The next allows building mutt without having anything setgid # set by the installer, and removing the need for the group 'mail' # I set the value 'mailbox' because it is a default in the configure script "--with-homespool=mailbox" - (if headerCache then "--enable-hcache" else "--disable-hcache") - (if sslSupport then "--with-ssl" else "--without-ssl") - (if imapSupport then "--enable-imap" else "--disable-imap") - (if saslSupport then "--with-sasl" else "--without-sasl") - (if gpgmeSupport then "--enable-gpgme" else "--disable-gpgme") - ]; + ] ++ optional sslSupport "--with-ssl" + ++ optional saslSupport "--with-sasl"; - # Adding the sidebar - 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 - ]; + patches = + optional withTrash ./trash.patch ++ + optional withSidebar ./sidebar.patch; - meta = with stdenv.lib; { + meta = { description = "A small but very powerful text-based mail client"; homepage = http://www.mutt.org; - license = stdenv.lib.licenses.gpl2Plus; + license = licenses.gpl2Plus; platforms = platforms.unix; - maintainers = with maintainers; [ the-kenny ]; + maintainers = with maintainers; [ the-kenny rnhmjoj ]; }; } diff --git a/pkgs/applications/networking/mailreaders/mutt/sidebar-compose.patch b/pkgs/applications/networking/mailreaders/mutt/sidebar-compose.patch deleted file mode 100644 index 90d815b841d..00000000000 --- a/pkgs/applications/networking/mailreaders/mutt/sidebar-compose.patch +++ /dev/null @@ -1,40 +0,0 @@ -From: Evgeni Golov -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); diff --git a/pkgs/applications/networking/mailreaders/mutt/sidebar-delimnullwide.patch b/pkgs/applications/networking/mailreaders/mutt/sidebar-delimnullwide.patch deleted file mode 100644 index 11d2ced5a0c..00000000000 --- a/pkgs/applications/networking/mailreaders/mutt/sidebar-delimnullwide.patch +++ /dev/null @@ -1,38 +0,0 @@ -From: Evgeni Golov -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; diff --git a/pkgs/applications/networking/mailreaders/mutt/sidebar-dotpathsep.patch b/pkgs/applications/networking/mailreaders/mutt/sidebar-dotpathsep.patch deleted file mode 100644 index 315fa1649bc..00000000000 --- a/pkgs/applications/networking/mailreaders/mutt/sidebar-dotpathsep.patch +++ /dev/null @@ -1,98 +0,0 @@ -From: Fabian Groffen -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, diff --git a/pkgs/applications/networking/mailreaders/mutt/sidebar-new.patch b/pkgs/applications/networking/mailreaders/mutt/sidebar-new.patch deleted file mode 100644 index fb265346361..00000000000 --- a/pkgs/applications/networking/mailreaders/mutt/sidebar-new.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 355399bde98203af59d20821f9e840fc056bd383 Mon Sep 17 00:00:00 2001 -From: Julius Haertl -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 a "" - macro pager a "" ---- - 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 - diff --git a/pkgs/applications/networking/mailreaders/mutt/sidebar-newonly.patch b/pkgs/applications/networking/mailreaders/mutt/sidebar-newonly.patch deleted file mode 100644 index d206848026b..00000000000 --- a/pkgs/applications/networking/mailreaders/mutt/sidebar-newonly.patch +++ /dev/null @@ -1,198 +0,0 @@ -From: Steve Kemp -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 ) { diff --git a/pkgs/applications/networking/mailreaders/mutt/sidebar-utf8.patch b/pkgs/applications/networking/mailreaders/mutt/sidebar-utf8.patch deleted file mode 100644 index d67e43c24b6..00000000000 --- a/pkgs/applications/networking/mailreaders/mutt/sidebar-utf8.patch +++ /dev/null @@ -1,132 +0,0 @@ -From: Antonio Radici -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 - #include "keymap.h" - #include -+#include - - /*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]) diff --git a/pkgs/applications/networking/mailreaders/mutt/sidebar.patch b/pkgs/applications/networking/mailreaders/mutt/sidebar.patch index bac1b4ab83b..218de7a0c46 100644 --- a/pkgs/applications/networking/mailreaders/mutt/sidebar.patch +++ b/pkgs/applications/networking/mailreaders/mutt/sidebar.patch @@ -1,306 +1,373 @@ -From: Antonio Radici -Date: Tue, 4 Mar 2014 15:21:10 +0100 -Subject: sidebar - -When enabled, mutt will show a list of mailboxes with (new) message counts in a -separate column on the left side of the screen. - -As this feature is still considered to be unstable, this patch is only applied -in the "mutt-patched" package. - -* Configuration variables: - - sidebar_delim (string, default "|") - - This specifies the delimiter between the sidebar (if visible) and - other screens. - - sidebar_visible (boolean, default no) - - This specifies whether or not to show sidebar (left-side list of folders). - - sidebar_width (integer, default 0) -- - The width of the sidebar. - -* Patch source: - - http://www.lunar-linux.org/index.php?page=mutt-sidebar - - http://lunar-linux.org/~tchan/mutt/patch-1.5.19.sidebar.20090522.txt - -* Changes made: - - 2008-08-02 myon: Refreshed patch using quilt push -f to remove hunks we do - not need (Makefile.in). - - - 2014-03-04 evgeni: refresh sidebar patch with the version from OpenBSD - Source: - ftp://ftp.openbsd.org/pub/OpenBSD/distfiles/mutt/sidebar-1.5.22.diff1.gz - -Signed-off-by: Matteo F. Vescovi -Signed-off-by: Evgeni Golov - -Gbp-Pq: Topic mutt-patched ---- - Makefile.am | 1 + - OPS | 5 + - buffy.c | 124 +++++++++++++++++++++ - buffy.h | 4 + - color.c | 2 + - compose.c | 26 ++--- - curs_main.c | 30 +++++- - flags.c | 3 + - functions.h | 10 ++ - globals.h | 4 + - imap/command.c | 7 ++ - imap/imap.c | 2 +- - init.h | 21 ++++ - mailbox.h | 1 + - mbox.c | 2 + - menu.c | 20 ++-- - mh.c | 22 ++++ - mutt.h | 4 + - mutt_curses.h | 3 + - muttlib.c | 48 +++++++++ - mx.c | 15 +++ - mx.h | 1 + - pager.c | 30 ++++-- - sidebar.c | 333 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - sidebar.h | 36 +++++++ - 25 files changed, 720 insertions(+), 34 deletions(-) - create mode 100644 sidebar.c - create mode 100644 sidebar.h - -diff --git a/Makefile.am b/Makefile.am -index 5dfeff6..cf1ac98 100644 ---- a/Makefile.am -+++ b/Makefile.am -@@ -33,6 +33,7 @@ mutt_SOURCES = \ - rfc822.c rfc1524.c rfc2047.c rfc2231.c rfc3676.c \ - score.c send.c sendlib.c signal.c sort.c \ - status.c system.c thread.c charset.c history.c lib.c \ -+ sidebar.c \ - muttlib.c editmsg.c mbyte.c mutt_idna.c \ - url.c ascii.c crypt-mod.c crypt-mod.h safe_asprintf.c +diff -urN mutt-1.6.1/buffy.c mutt-1.6.1-sidebar/buffy.c +--- mutt-1.6.1/buffy.c 2016-06-12 18:43:00.397447512 +0100 ++++ mutt-1.6.1-sidebar/buffy.c 2016-06-12 18:43:03.951502935 +0100 +@@ -27,6 +27,10 @@ -diff --git a/OPS b/OPS -index 02cea8e..b036db9 100644 ---- a/OPS -+++ b/OPS -@@ -180,3 +180,8 @@ OP_WHAT_KEY "display the keycode for a key press" - OP_MAIN_SHOW_LIMIT "show currently active limit pattern" - OP_MAIN_COLLAPSE_THREAD "collapse/uncollapse current thread" - OP_MAIN_COLLAPSE_ALL "collapse/uncollapse all threads" -+OP_SIDEBAR_SCROLL_UP "scroll the mailbox pane up 1 page" -+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" -diff --git a/buffy.c b/buffy.c -index 12a16d1..90ca6db 100644 ---- a/buffy.c -+++ b/buffy.c -@@ -161,6 +161,49 @@ void mutt_buffy_cleanup (const char *buf, struct stat *st) - } - } + #include "mutt_curses.h" -+static int buffy_compare_name(const void *a, const void *b) { -+ const BUFFY *b1 = * (BUFFY * const *) a; -+ const BUFFY *b2 = * (BUFFY * const *) b; ++#ifdef USE_SIDEBAR ++#include "sidebar.h" ++#endif + -+ return mutt_strcoll(b1->path, b2->path); -+} -+ -+static BUFFY *buffy_sort(BUFFY *b) -+{ -+ BUFFY *tmp = b; -+ int buffycount = 0; -+ BUFFY **ary; -+ int i; -+ -+ if (!option(OPTSIDEBARSORT)) -+ return b; -+ -+ for (; tmp != NULL; tmp = tmp->next) -+ buffycount++; -+ -+ ary = (BUFFY **) safe_calloc(buffycount, sizeof (*ary)); -+ -+ tmp = b; -+ for (i = 0; tmp != NULL; tmp = tmp->next, i++) { -+ ary[i] = tmp; -+ } -+ -+ qsort(ary, buffycount, sizeof(*ary), buffy_compare_name); -+ -+ for (i = 0; i < buffycount - 1; i++) { -+ ary[i]->next = ary[i+1]; -+ } -+ ary[buffycount - 1]->next = NULL; -+ for (i = 1; i < buffycount; i++) { -+ ary[i]->prev = ary[i-1]; -+ } -+ ary[0]->prev = NULL; -+ -+ tmp = ary[0]; -+ free(ary); -+ return tmp; -+} -+ - BUFFY *mutt_find_mailbox (const char *path) + #ifdef USE_IMAP + #include "imap.h" + #endif +@@ -196,9 +200,17 @@ + static BUFFY *buffy_new (const char *path) { - BUFFY *tmp = NULL; -@@ -282,6 +325,7 @@ int mutt_parse_mailboxes (BUFFER *path, BUFFER *s, unsigned long data, BUFFER *e - else - (*tmp)->size = 0; + BUFFY* buffy; ++#ifdef USE_SIDEBAR ++ char rp[PATH_MAX] = ""; ++ char *r = NULL; ++#endif + + buffy = (BUFFY *) safe_calloc (1, sizeof (BUFFY)); + strfcpy (buffy->path, path, sizeof (buffy->path)); ++#ifdef USE_SIDEBAR ++ r = realpath (path, rp); ++ strfcpy (buffy->realpath, r ? rp : path, sizeof (buffy->realpath)); ++#endif + buffy->next = NULL; + buffy->magic = 0; + +@@ -215,7 +227,10 @@ + BUFFY **tmp,*tmp1; + char buf[_POSIX_PATH_MAX]; + struct stat sb; +- char f1[PATH_MAX], f2[PATH_MAX]; ++ char f1[PATH_MAX]; ++#ifndef USE_SIDEBAR ++ char f2[PATH_MAX]; ++#endif + char *p, *q; + + while (MoreArgs (s)) +@@ -228,6 +243,9 @@ + for (tmp = &Incoming; *tmp;) + { + tmp1=(*tmp)->next; ++#ifdef USE_SIDEBAR ++ mutt_sb_notify_mailbox (*tmp, 0); ++#endif + buffy_free (tmp); + *tmp=tmp1; + } +@@ -243,8 +261,13 @@ + p = realpath (buf, f1); + for (tmp = &Incoming; *tmp; tmp = &((*tmp)->next)) + { ++#ifdef USE_SIDEBAR ++ q = (*tmp)->realpath; ++ if (mutt_strcmp (p ? p : buf, q) == 0) ++#else + q = realpath ((*tmp)->path, f2); + if (mutt_strcmp (p ? p : buf, q ? q : (*tmp)->path) == 0) ++#endif + { + dprint(3,(debugfile,"mailbox '%s' already registered as '%s'\n", buf, (*tmp)->path)); + break; +@@ -256,14 +279,21 @@ + if(*tmp) + { + tmp1=(*tmp)->next; ++#ifdef USE_SIDEBAR ++ mutt_sb_notify_mailbox (*tmp, 0); ++#endif + buffy_free (tmp); + *tmp=tmp1; + } + continue; + } + +- if (!*tmp) ++ if (!*tmp) { + *tmp = buffy_new (buf); ++#ifdef USE_SIDEBAR ++ mutt_sb_notify_mailbox (*tmp, 1); ++#endif ++ } + + (*tmp)->new = 0; + (*tmp)->notified = 1; +@@ -306,6 +336,13 @@ + return 0; } -+ Incoming = buffy_sort(Incoming); - return 0; - } -@@ -357,6 +401,69 @@ static int buffy_maildir_hasnew (BUFFY* mailbox) ++#ifdef USE_SIDEBAR ++ if (option (OPTSIDEBAR) && mailbox->msg_unread > 0) { ++ mailbox->new = 1; ++ return 1; ++ } ++#endif ++ + if ((dirp = opendir (path)) == NULL) + { + mailbox->magic = 0; +@@ -357,6 +394,93 @@ return 0; } + -+/* update message counts for the sidebar */ -+void buffy_maildir_update (BUFFY* mailbox) ++#ifdef USE_SIDEBAR ++/** ++ * buffy_maildir_update_dir - Update counts for one directory ++ * @mailbox: BUFFY representing a maildir mailbox ++ * @dir: Which directory to search ++ * ++ * Look through one directory of a maildir mailbox. The directory could ++ * be either "new" or "cur". ++ * ++ * Count how many new, or flagged, messages there are. ++ */ ++static void ++buffy_maildir_update_dir (BUFFY *mailbox, const char *dir) +{ -+ char path[_POSIX_PATH_MAX]; -+ DIR *dirp; -+ struct dirent *de; -+ char *p; ++ char path[_POSIX_PATH_MAX] = ""; ++ DIR *dirp = NULL; ++ struct dirent *de = NULL; ++ char *p = NULL; ++ int read; + -+ mailbox->msgcount = 0; -+ mailbox->msg_unread = 0; -+ mailbox->msg_flagged = 0; ++ snprintf (path, sizeof (path), "%s/%s", mailbox->path, dir); + -+ snprintf (path, sizeof (path), "%s/new", mailbox->path); -+ -+ if ((dirp = opendir (path)) == NULL) -+ { ++ dirp = opendir (path); ++ if (!dirp) ++ { + mailbox->magic = 0; + return; -+ } -+ ++ } ++ + while ((de = readdir (dirp)) != NULL) + { + if (*de->d_name == '.') + continue; + -+ if (!(p = strstr (de->d_name, ":2,")) || !strchr (p + 3, 'T')) { -+ mailbox->new = 1; -+ mailbox->msgcount++; ++ /* Matches maildir_parse_flags logic */ ++ read = 0; ++ mailbox->msg_count++; ++ p = strstr (de->d_name, ":2,"); ++ if (p) ++ { ++ p += 3; ++ if (strchr (p, 'S')) ++ read = 1; ++ if (strchr (p, 'F')) ++ mailbox->msg_flagged++; ++ } ++ if (!read) { + mailbox->msg_unread++; + } + } + + closedir (dirp); -+ snprintf (path, sizeof (path), "%s/cur", mailbox->path); -+ -+ if ((dirp = opendir (path)) == NULL) -+ { -+ mailbox->magic = 0; -+ return; -+ } -+ -+ while ((de = readdir (dirp)) != NULL) -+ { -+ if (*de->d_name == '.') -+ continue; -+ -+ if (!(p = strstr (de->d_name, ":2,")) || !strchr (p + 3, 'T')) { -+ mailbox->msgcount++; -+ if ((p = strstr (de->d_name, ":2,"))) { -+ if (!strchr (p + 3, 'T')) { -+ if (!strchr (p + 3, 'S')) -+ mailbox->msg_unread++; -+ if (strchr(p + 3, 'F')) -+ mailbox->msg_flagged++; -+ } -+ } -+ } -+ } -+ -+ closedir (dirp); +} ++ ++/** ++ * buffy_maildir_update - Update messages counts for a maildir mailbox ++ * @mailbox: BUFFY representing a maildir mailbox ++ * ++ * Open a mailbox directories and update our record of how many new, or ++ * flagged, messages there are. ++ */ ++void ++buffy_maildir_update (BUFFY *mailbox) ++{ ++ if (!option (OPTSIDEBAR)) ++ return; ++ ++ mailbox->msg_count = 0; ++ mailbox->msg_unread = 0; ++ mailbox->msg_flagged = 0; ++ ++ buffy_maildir_update_dir (mailbox, "new"); ++ if (mailbox->msg_count) { ++ mailbox->new = 1; ++ } ++ buffy_maildir_update_dir (mailbox, "cur"); ++ ++ mailbox->sb_last_checked = time (NULL); ++ ++ /* make sure the updates are actually put on screen */ ++ if (SidebarWidth) ++ mutt_sb_draw(); ++} ++ ++#endif + /* returns 1 if mailbox has new mail */ static int buffy_mbox_hasnew (BUFFY* mailbox, struct stat *sb) { -@@ -388,6 +495,20 @@ static int buffy_mbox_hasnew (BUFFY* mailbox, struct stat *sb) +@@ -368,7 +491,11 @@ + else + statcheck = sb->st_mtime > sb->st_atime + || (mailbox->newly_created && sb->st_ctime == sb->st_mtime && sb->st_ctime == sb->st_atime); ++#ifdef USE_SIDEBAR ++ if ((!option (OPTSIDEBAR) && statcheck) || (option (OPTSIDEBAR) && mailbox->msg_unread > 0)) ++#else + if (statcheck) ++#endif + { + if (!option(OPTMAILCHECKRECENT) || sb->st_mtime > mailbox->last_visited) + { +@@ -388,6 +515,42 @@ return rc; } -+/* update message counts for the sidebar */ -+void buffy_mbox_update (BUFFY* mailbox) ++#ifdef USE_SIDEBAR ++/** ++ * buffy_mbox_update - Update messages counts for an mbox mailbox ++ * @mailbox: BUFFY representing an mbox mailbox ++ * @sb: stat(2) infomation about the mailbox file ++ * ++ * Open a mbox file and update our record of how many new, or flagged, ++ * messages there are. If the mailbox hasn't changed since the last call, ++ * the function does nothing. ++ */ ++void ++buffy_mbox_update (BUFFY *mailbox, struct stat *sb) +{ + CONTEXT *ctx = NULL; + -+ ctx = mx_open_mailbox(mailbox->path, M_READONLY | M_QUIET | M_NOSORT | M_PEEK, NULL); -+ if(ctx) ++ if (!option (OPTSIDEBAR)) ++ return; ++ if ((mailbox->sb_last_checked > sb->st_mtime) && (mailbox->msg_count != 0)) ++ return; /* no check necessary */ ++ ++ ctx = mx_open_mailbox (mailbox->path, M_READONLY | M_QUIET | M_NOSORT | M_PEEK, NULL); ++ if (ctx) + { -+ mailbox->msgcount = ctx->msgcount; -+ mailbox->msg_unread = ctx->unread; -+ mx_close_mailbox(ctx, 0); ++ mailbox->msg_count = ctx->msgcount; ++ mailbox->msg_unread = ctx->unread; ++ mailbox->msg_flagged = ctx->flagged; ++ mailbox->sb_last_checked = time (NULL); ++ mx_close_mailbox (ctx, 0); + } ++ ++ /* make sure the updates are actually put on screen */ ++ if (SidebarWidth) ++ mutt_sb_draw(); +} ++#endif + int mutt_buffy_check (int force) { BUFFY *tmp; -@@ -461,16 +582,19 @@ int mutt_buffy_check (int force) +@@ -461,16 +623,25 @@ { case M_MBOX: case M_MMDF: -+ buffy_mbox_update (tmp); ++#ifdef USE_SIDEBAR ++ buffy_mbox_update (tmp, &sb); ++#endif if (buffy_mbox_hasnew (tmp, &sb) > 0) BuffyCount++; break; case M_MAILDIR: ++#ifdef USE_SIDEBAR + buffy_maildir_update (tmp); ++#endif if (buffy_maildir_hasnew (tmp) > 0) BuffyCount++; break; case M_MH: -+ mh_buffy_update (tmp->path, &tmp->msgcount, &tmp->msg_unread, &tmp->msg_flagged); ++#ifdef USE_SIDEBAR ++ mh_buffy_update (tmp); ++#endif mh_buffy(tmp); if (tmp->new) BuffyCount++; -diff --git a/buffy.h b/buffy.h -index f9fc55a..672d178 100644 ---- a/buffy.h -+++ b/buffy.h -@@ -25,7 +25,11 @@ typedef struct buffy_t +diff -urN mutt-1.6.1/buffy.h mutt-1.6.1-sidebar/buffy.h +--- mutt-1.6.1/buffy.h 2016-06-12 18:43:00.397447512 +0100 ++++ mutt-1.6.1-sidebar/buffy.h 2016-06-12 18:43:03.951502935 +0100 +@@ -16,6 +16,9 @@ + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + ++#ifndef _BUFFY_H ++#define _BUFFY_H ++ + /*parameter to mutt_parse_mailboxes*/ + #define M_MAILBOXES 1 + #define M_UNMAILBOXES 2 +@@ -23,13 +26,28 @@ + typedef struct buffy_t + { char path[_POSIX_PATH_MAX]; ++#ifdef USE_SIDEBAR ++ char realpath[_POSIX_PATH_MAX]; ++#endif off_t size; struct buffy_t *next; ++#ifdef USE_SIDEBAR + struct buffy_t *prev; ++#endif short new; /* mailbox has new mail */ -+ int msgcount; /* total number of messages */ ++#ifdef USE_SIDEBAR ++ int msg_count; /* total number of messages */ + int msg_unread; /* number of unread messages */ + int msg_flagged; /* number of flagged messages */ ++ short is_hidden; /* is hidden from the sidebar */ ++#endif short notified; /* user has been notified */ short magic; /* mailbox type */ short newly_created; /* mbox or mmdf just popped into existence */ -diff --git a/color.c b/color.c -index 64a46dc..d6f9198 100644 ---- a/color.c -+++ b/color.c -@@ -94,6 +94,8 @@ static const struct mapping_t Fields[] = + time_t last_visited; /* time of last exit from this mailbox */ ++#ifdef USE_SIDEBAR ++ time_t sb_last_checked; /* time of last buffy check from sidebar */ ++#endif + } + BUFFY; + +@@ -49,3 +67,5 @@ + void mutt_buffy_setnotified (const char *path); + + void mh_buffy (BUFFY *); ++ ++#endif /* _BUFFY_H */ +diff -urN mutt-1.6.1/color.c mutt-1.6.1-sidebar/color.c +--- mutt-1.6.1/color.c 2016-06-12 18:43:00.397447512 +0100 ++++ mutt-1.6.1-sidebar/color.c 2016-06-12 18:43:03.951502935 +0100 +@@ -94,6 +94,14 @@ { "underline", MT_COLOR_UNDERLINE }, { "index", MT_COLOR_INDEX }, { "prompt", MT_COLOR_PROMPT }, -+ { "sidebar_new", MT_COLOR_NEW }, ++#ifdef USE_SIDEBAR ++ { "sidebar_divider", MT_COLOR_DIVIDER }, + { "sidebar_flagged", MT_COLOR_FLAGGED }, ++ { "sidebar_highlight",MT_COLOR_HIGHLIGHT }, ++ { "sidebar_indicator",MT_COLOR_SB_INDICATOR }, ++ { "sidebar_new", MT_COLOR_NEW }, ++ { "sidebar_spoolfile",MT_COLOR_SB_SPOOLFILE }, ++#endif { NULL, 0 } }; -diff --git a/compose.c b/compose.c -index 9d87060..b63695f 100644 ---- a/compose.c -+++ b/compose.c -@@ -72,7 +72,7 @@ enum +@@ -146,6 +154,9 @@ + ColorDefs[MT_COLOR_INDICATOR] = A_REVERSE; + ColorDefs[MT_COLOR_SEARCH] = A_REVERSE; + ColorDefs[MT_COLOR_MARKERS] = A_REVERSE; ++#ifdef USE_SIDEBAR ++ ColorDefs[MT_COLOR_HIGHLIGHT] = A_UNDERLINE; ++#endif + /* special meaning: toggle the relevant attribute */ + ColorDefs[MT_COLOR_BOLD] = 0; + ColorDefs[MT_COLOR_UNDERLINE] = 0; +diff -urN mutt-1.6.1/compose.c mutt-1.6.1-sidebar/compose.c +--- mutt-1.6.1/compose.c 2016-06-12 18:43:00.398447528 +0100 ++++ mutt-1.6.1-sidebar/compose.c 2016-06-12 18:43:03.952502951 +0100 +@@ -32,6 +32,9 @@ + #include "mailbox.h" + #include "sort.h" + #include "charset.h" ++#ifdef USE_SIDEBAR ++#include "sidebar.h" ++#endif + + #ifdef MIXMASTER + #include "remailer.h" +@@ -72,7 +75,7 @@ #define HDR_XOFFSET 10 #define TITLE_FMT "%10s" /* Used for Prompts, which are ASCII */ @@ -309,16 +376,16 @@ index 9d87060..b63695f 100644 static const char * const Prompts[] = { -@@ -110,7 +110,7 @@ static void snd_entry (char *b, size_t blen, MUTTMENU *menu, int num) +@@ -110,7 +113,7 @@ static void redraw_crypt_lines (HEADER *msg) { - mvaddstr (HDR_CRYPT, 0, "Security: "); -+ mvaddstr (HDR_CRYPT, SidebarWidth, "Security: "); ++ mvprintw (HDR_CRYPT, SidebarWidth, TITLE_FMT, "Security: "); if ((WithCrypto & (APPLICATION_PGP | APPLICATION_SMIME)) == 0) { -@@ -145,7 +145,7 @@ static void redraw_crypt_lines (HEADER *msg) +@@ -145,16 +148,16 @@ addstr (_(" (OppEnc mode)")); clrtoeol (); @@ -327,7 +394,18 @@ index 9d87060..b63695f 100644 clrtoeol (); if ((WithCrypto & APPLICATION_PGP) -@@ -162,7 +162,7 @@ static void redraw_crypt_lines (HEADER *msg) + && (msg->security & APPLICATION_PGP) && (msg->security & SIGN)) +- printw ("%s%s", _(" sign as: "), PgpSignAs ? PgpSignAs : _("")); ++ printw (TITLE_FMT "%s", _("sign as: "), PgpSignAs ? PgpSignAs : _("")); + + if ((WithCrypto & APPLICATION_SMIME) + && (msg->security & APPLICATION_SMIME) && (msg->security & SIGN)) { +- printw ("%s%s", _(" sign as: "), SmimeDefaultKey ? SmimeDefaultKey : _("")); ++ printw (TITLE_FMT "%s", _("sign as: "), SmimeDefaultKey ? SmimeDefaultKey : _("")); + } + + if ((WithCrypto & APPLICATION_SMIME) +@@ -162,7 +165,7 @@ && (msg->security & ENCRYPT) && SmimeCryptAlg && *SmimeCryptAlg) { @@ -336,16 +414,17 @@ index 9d87060..b63695f 100644 NONULL(SmimeCryptAlg)); } } -@@ -175,7 +175,7 @@ static void redraw_mix_line (LIST *chain) +@@ -175,7 +178,8 @@ int c; char *t; - mvaddstr (HDR_MIX, 0, " Mix: "); -+ mvaddstr (HDR_MIX, SidebarWidth, " Mix: "); ++ /* L10N: "Mix" refers to the MixMaster chain for anonymous email */ ++ mvprintw (HDR_MIX, SidebarWidth, TITLE_FMT, _("Mix: ")); if (!chain) { -@@ -190,7 +190,7 @@ static void redraw_mix_line (LIST *chain) +@@ -190,7 +194,7 @@ if (t && t[0] == '0' && t[1] == '\0') t = ""; @@ -354,7 +433,7 @@ index 9d87060..b63695f 100644 break; addstr (NONULL(t)); -@@ -242,7 +242,7 @@ static void draw_envelope_addr (int line, ADDRESS *addr) +@@ -242,20 +246,23 @@ buf[0] = 0; rfc822_write_address (buf, sizeof (buf), addr, 1); @@ -363,7 +442,12 @@ index 9d87060..b63695f 100644 mutt_paddstr (W, buf); } -@@ -252,10 +252,10 @@ static void draw_envelope (HEADER *msg, char *fcc) + static void draw_envelope (HEADER *msg, char *fcc) + { ++#ifdef USE_SIDEBAR ++ mutt_sb_draw(); ++#endif + draw_envelope_addr (HDR_FROM, msg->env->from); draw_envelope_addr (HDR_TO, msg->env->to); draw_envelope_addr (HDR_CC, msg->env->cc); draw_envelope_addr (HDR_BCC, msg->env->bcc); @@ -376,7 +460,7 @@ index 9d87060..b63695f 100644 mutt_paddstr (W, fcc); if (WithCrypto) -@@ -266,7 +266,7 @@ static void draw_envelope (HEADER *msg, char *fcc) +@@ -266,7 +273,7 @@ #endif SETCOLOR (MT_COLOR_STATUS); @@ -385,16 +469,25 @@ index 9d87060..b63695f 100644 clrtoeol (); NORMAL_COLOR; -@@ -302,7 +302,7 @@ static int edit_address_list (int line, ADDRESS **addr) +@@ -302,7 +309,7 @@ /* redraw the expanded list so the user can see the result */ buf[0] = 0; rfc822_write_address (buf, sizeof (buf), *addr, 1); - move (line, HDR_XOFFSET); -+ move (line, HDR_XOFFSET+SidebarWidth); ++ move (line, HDR_XOFFSET + SidebarWidth); mutt_paddstr (W, buf); return 0; -@@ -562,7 +562,7 @@ int mutt_compose_menu (HEADER *msg, /* structure for new message */ +@@ -515,7 +522,7 @@ + menu->tag = mutt_tag_attach; + menu->data = idx; + menu->help = mutt_compile_help (helpstr, sizeof (helpstr), MENU_COMPOSE, ComposeHelp); +- ++ + while (loop) + { + switch (op = mutt_menuLoop (menu)) +@@ -564,7 +571,7 @@ if (mutt_get_field ("Subject: ", buf, sizeof (buf), 0) == 0) { mutt_str_replace (&msg->env->subject, buf); @@ -403,7 +496,7 @@ index 9d87060..b63695f 100644 if (msg->env->subject) mutt_paddstr (W, msg->env->subject); else -@@ -580,7 +580,7 @@ int mutt_compose_menu (HEADER *msg, /* structure for new message */ +@@ -582,7 +589,7 @@ { strfcpy (fcc, buf, fcclen); mutt_pretty_mailbox (fcc, fcclen); @@ -412,57 +505,118 @@ index 9d87060..b63695f 100644 mutt_paddstr (W, fcc); fccSet = 1; } -diff --git a/curs_main.c b/curs_main.c -index 9d718ee..ea530a6 100644 ---- a/curs_main.c -+++ b/curs_main.c -@@ -26,7 +26,9 @@ +diff -urN mutt-1.6.1/configure.ac mutt-1.6.1-sidebar/configure.ac +--- mutt-1.6.1/configure.ac 2016-06-12 18:43:00.398447528 +0100 ++++ mutt-1.6.1-sidebar/configure.ac 2016-06-12 18:43:03.952502951 +0100 +@@ -175,6 +175,14 @@ + SMIMEAUX_TARGET="smime_keys" + fi + ++AC_ARG_ENABLE(sidebar, AC_HELP_STRING([--enable-sidebar], [Enable Sidebar support]), ++[ if test x$enableval = xyes ; then ++ AC_DEFINE(USE_SIDEBAR, 1, [Define if you want support for the sidebar.]) ++ OPS="$OPS \$(srcdir)/OPS.SIDEBAR" ++ MUTT_LIB_OBJECTS="$MUTT_LIB_OBJECTS sidebar.o" ++ fi ++]) ++ + AC_ARG_WITH(mixmaster, AS_HELP_STRING([--with-mixmaster@<:@=PATH@:>@],[Include Mixmaster support]), + [if test "$withval" != no + then +diff -urN mutt-1.6.1/copy.c mutt-1.6.1-sidebar/copy.c +--- mutt-1.6.1/copy.c 2016-06-12 18:43:00.398447528 +0100 ++++ mutt-1.6.1-sidebar/copy.c 2016-06-12 18:43:03.952502951 +0100 +@@ -288,7 +288,8 @@ + if (flags & (CH_DECODE|CH_PREFIX)) + { + if (mutt_write_one_header (out, 0, headers[x], +- flags & CH_PREFIX ? prefix : 0, mutt_term_width (Wrap), flags) == -1) ++ flags & CH_PREFIX ? prefix : 0, ++ mutt_term_width (Wrap), flags) == -1) + { + error = TRUE; + break; +diff -urN mutt-1.6.1/curs_main.c mutt-1.6.1-sidebar/curs_main.c +--- mutt-1.6.1/curs_main.c 2016-06-12 18:43:00.399447544 +0100 ++++ mutt-1.6.1-sidebar/curs_main.c 2016-06-12 18:43:03.953502966 +0100 +@@ -26,8 +26,13 @@ #include "mailbox.h" #include "mapping.h" #include "sort.h" +#include "buffy.h" #include "mx.h" -+#include "sidebar.h" ++#ifdef USE_SIDEBAR ++#include "sidebar.h" ++#endif ++ #ifdef USE_POP #include "pop.h" -@@ -596,8 +598,12 @@ int mutt_index_menu (void) + #endif +@@ -595,21 +600,39 @@ menu->redraw |= REDRAW_STATUS; if (do_buffy_notify) { - if (mutt_buffy_notify () && option (OPTBEEPNEW)) - beep (); -+ if (mutt_buffy_notify ()) ++ if (mutt_buffy_notify()) + { -+ menu->redraw |= REDRAW_FULL; ++ menu->redraw |= REDRAW_STATUS; + if (option (OPTBEEPNEW)) -+ beep (); ++ beep(); + } } else do_buffy_notify = 1; -@@ -609,6 +615,7 @@ int mutt_index_menu (void) + } + ++#ifdef USE_SIDEBAR ++ if (option (OPTSIDEBAR)) ++ menu->redraw |= REDRAW_SIDEBAR; ++#endif ++ + if (op != -1) + mutt_curs_set (0); + if (menu->redraw & REDRAW_FULL) { menu_redraw_full (menu); -+ draw_sidebar(menu->menu); ++#ifdef USE_SIDEBAR ++ mutt_sb_draw(); ++#endif mutt_show_error (); } ++#ifdef USE_SIDEBAR ++ else if (menu->redraw & REDRAW_SIDEBAR) { ++ mutt_sb_draw(); ++ menu->redraw &= ~REDRAW_SIDEBAR; ++ } ++#endif -@@ -631,9 +638,12 @@ int mutt_index_menu (void) + if (menu->menu == MENU_MAIN) + { +@@ -630,9 +653,20 @@ if (menu->redraw & REDRAW_STATUS) { -+ DrawFullLine = 1; ++#ifdef USE_SIDEBAR ++ /* Temporarily lie about the sidebar width */ ++ short sw = SidebarWidth; ++ SidebarWidth = 0; ++#endif menu_status_line (buf, sizeof (buf), menu, NONULL (Status)); -+ DrawFullLine = 0; ++#ifdef USE_SIDEBAR ++ SidebarWidth = sw; /* Restore the sidebar width */ ++#endif move (option (OPTSTATUSONTOP) ? 0 : LINES-2, 0); SETCOLOR (MT_COLOR_STATUS); -+ set_buffystats(Context); ++#ifdef USE_SIDEBAR ++ mutt_sb_set_buffystats (Context); ++#endif mutt_paddstr (COLS, buf); NORMAL_COLOR; menu->redraw &= ~REDRAW_STATUS; -@@ -653,7 +663,7 @@ int mutt_index_menu (void) +@@ -652,7 +686,7 @@ menu->oldcurrent = -1; if (option (OPTARROWCURSOR)) @@ -471,229 +625,1948 @@ index 9d718ee..ea530a6 100644 else if (option (OPTBRAILLEFRIENDLY)) move (menu->current - menu->top + menu->offset, 0); else -@@ -1154,6 +1164,7 @@ int mutt_index_menu (void) +@@ -1091,6 +1125,9 @@ + break; + + CHECK_MSGCOUNT; ++#ifdef USE_SIDEBAR ++ CHECK_VISIBLE; ++#endif + CHECK_READONLY; + { + int oldvcount = Context->vcount; +@@ -1150,6 +1187,9 @@ menu->redraw = REDRAW_FULL; break; ++#ifdef USE_SIDEBAR + case OP_SIDEBAR_OPEN: ++#endif case OP_MAIN_CHANGE_FOLDER: case OP_MAIN_NEXT_UNREAD_MAILBOX: -@@ -1185,7 +1196,11 @@ int mutt_index_menu (void) +@@ -1181,6 +1221,14 @@ { mutt_buffy (buf, sizeof (buf)); -- if (mutt_enter_fname (cp, buf, sizeof (buf), &menu->redraw, 1) == -1) -+ if ( op == OP_SIDEBAR_OPEN ) { -+ if(!CurBuffy) -+ break; -+ strncpy( buf, CurBuffy->path, sizeof(buf) ); -+ } else if (mutt_enter_fname (cp, buf, sizeof (buf), &menu->redraw, 1) == -1) ++#ifdef USE_SIDEBAR ++ if (op == OP_SIDEBAR_OPEN) { ++ const char *path = mutt_sb_get_highlight(); ++ if (!path) ++ break; ++ strncpy (buf, path, sizeof (buf)); ++ } else ++#endif + if (mutt_enter_fname (cp, buf, sizeof (buf), &menu->redraw, 1) == -1) { if (menu->menu == MENU_PAGER) - { -@@ -1203,6 +1218,7 @@ int mutt_index_menu (void) +@@ -1199,6 +1247,9 @@ } mutt_expand_path (buf, sizeof (buf)); -+ set_curbuffy(buf); ++#ifdef USE_SIDEBAR ++ mutt_sb_set_open_buffy (buf); ++#endif if (mx_get_magic (buf) <= 0) { mutt_error (_("%s is not a mailbox."), buf); -@@ -2306,6 +2322,12 @@ int mutt_index_menu (void) +@@ -2310,6 +2361,21 @@ mutt_what_key(); break; -+ case OP_SIDEBAR_SCROLL_UP: -+ case OP_SIDEBAR_SCROLL_DOWN: ++#ifdef USE_SIDEBAR + case OP_SIDEBAR_NEXT: ++ case OP_SIDEBAR_NEXT_NEW: ++ case OP_SIDEBAR_PAGE_DOWN: ++ case OP_SIDEBAR_PAGE_UP: + case OP_SIDEBAR_PREV: -+ scroll_sidebar(op, menu->menu); ++ case OP_SIDEBAR_PREV_NEW: ++ mutt_sb_change_mailbox (op); + break; ++ ++ case OP_SIDEBAR_TOGGLE_VISIBLE: ++ toggle_option (OPTSIDEBAR); ++ menu->redraw = REDRAW_FULL; ++ break; ++#endif default: if (menu->menu == MENU_MAIN) km_error_key (MENU_MAIN); -diff --git a/flags.c b/flags.c -index 133fa35..48fb287 100644 ---- a/flags.c -+++ b/flags.c -@@ -22,8 +22,10 @@ +diff -urN mutt-1.6.1/doc/manual.xml.head mutt-1.6.1-sidebar/doc/manual.xml.head +--- mutt-1.6.1/doc/manual.xml.head 2016-06-12 18:43:00.402447590 +0100 ++++ mutt-1.6.1-sidebar/doc/manual.xml.head 2016-06-12 18:43:03.955502998 +0100 +@@ -405,6 +405,623 @@ + + + ++ ++ Sidebar ++ ++ The Sidebar shows a list of all your mailboxes. The list can be ++ turned on and off, it can be themed and the list style can be ++ configured. ++ ++ ++ This part of the manual is suitable for beginners. ++ If you already know Mutt you could skip ahead to the main ++ Sidebar guide. ++ If you just want to get started, you could use the sample ++ Sidebar muttrc. ++ ++ ++ This version of Sidebar is based on Terry Chan's ++ 2015-11-11 release. ++ It contains many ++ new features, ++ lots of ++ bugfixes ++ and a generous helping of ++ new documentation which you are already reading. ++ ++ ++ To check if Mutt supports Sidebar, look for the string ++ +USE_SIDEBAR in the mutt version. ++ ++ ++mutt -v ++ ++ ++ Let's turn on the Sidebar: ++ ++ set sidebar_visible ++ ++ You will see something like this. ++ A list of mailboxes on the left. ++ A list of emails, from the selected mailbox, on the right. ++ ++ ++Fruit [1] 3/8| 1 + Jan 24 Rhys Lee (192) Yew ++Animals [1] 2/6| 2 + Feb 11 Grace Hall (167) Ilama ++Cars 4| 3 Feb 23 Aimee Scott (450) Nectarine ++Seas 1/7| 4 ! Feb 28 Summer Jackson (264) Lemon ++ | 5 Mar 07 Callum Harrison (464) Raspberry ++ | 6 N + Mar 24 Samuel Harris (353) Tangerine ++ | 7 N + Sep 05 Sofia Graham (335) Cherry ++ | 8 N Sep 16 Ewan Brown (105) Ugli ++ | ++ | ++ ++ ++ This user has four mailboxes: Fruit, ++ Cars, Animals and ++ Seas. ++ ++ ++ The current, open, mailbox is Fruit. We can ++ also see information about the other mailboxes. For example: ++ The Animals mailbox contains, 1 flagged email, 2 ++ new emails out of a total of 6 emails. ++ ++ ++ Navigation ++ ++ The Sidebar adds some new functions ++ to Mutt. ++ ++ ++ The user pressed the c key to ++ <change-folder> to the ++ Animals mailbox. The Sidebar automatically ++ updated the indicator to match. ++ ++ ++Fruit [1] 3/8| 1 Jan 03 Tia Gibson (362) Caiman ++Animals [1] 2/6| 2 + Jan 22 Rhys Lee ( 48) Dolphin ++Cars 4| 3 ! Aug 16 Ewan Brown (333) Hummingbird ++Seas 1/7| 4 Sep 25 Grace Hall ( 27) Capybara ++ | 5 N + Nov 12 Evelyn Rogers (453) Tapir ++ | 6 N + Nov 16 Callum Harrison (498) Hedgehog ++ | ++ | ++ | ++ | ++ ++ ++ Let's map some functions: ++ ++ ++bind index,pager \CP sidebar-prev # Ctrl-Shift-P - Previous Mailbox ++bind index,pager \CN sidebar-next # Ctrl-Shift-N - Next Mailbox ++bind index,pager \CO sidebar-open # Ctrl-Shift-O - Open Highlighted Mailbox ++ ++ ++ Press Ctrl-Shift-N (Next mailbox) twice will ++ move the Sidebar highlight to ++ down to the Seas mailbox. ++ ++ ++Fruit [1] 3/8| 1 Jan 03 Tia Gibson (362) Caiman ++Animals [1] 2/6| 2 + Jan 22 Rhys Lee ( 48) Dolphin ++Cars 4| 3 ! Aug 16 Ewan Brown (333) Hummingbird ++Seas 1/7| 4 Sep 25 Grace Hall ( 27) Capybara ++ | 5 N + Nov 12 Evelyn Rogers (453) Tapir ++ | 6 N + Nov 16 Callum Harrison (498) Hedgehog ++ | ++ | ++ | ++ | ++ ++ ++ Functions <sidebar-next> and ++ <sidebar-prev> move the Sidebar ++ highlight. ++ They do not change the open ++ mailbox. ++ ++ ++ Press Ctrl-Shift-O ++ (<sidebar-open>) ++ to open the highlighted mailbox. ++ ++ ++Fruit [1] 3/8| 1 ! Mar 07 Finley Jones (139) Molucca Sea ++Animals [1] 2/6| 2 + Mar 24 Summer Jackson ( 25) Arafura Sea ++Cars 4| 3 + Feb 28 Imogen Baker (193) Pechora Sea ++Seas 1/7| 4 N + Feb 23 Isla Hussain (348) Balearic Sea ++ | ++ | ++ | ++ | ++ | ++ | ++ ++ ++ ++ Features ++ ++ The Sidebar shows a list of mailboxes in a panel. ++ ++ ++ Everything about the Sidebar can be configured. ++ ++ ++ <link linkend="intro-sidebar-basics">State of the Sidebar</link> ++ Visibility ++ Width ++ ++ ++ <link linkend="intro-sidebar-limit">Which mailboxes are displayed</link> ++ Display all ++ Limit to mailboxes with new mail ++ Whitelist mailboxes to display always ++ ++ ++ <link linkend="sidebar-sort">The order in which mailboxes are displayed</link> ++ ++ Unsorted (order of mailboxes commands) ++ Sorted alphabetically ++ Sorted by number of new mails ++ ++ ++ <link linkend="intro-sidebar-colors">Color</link> ++ Sidebar indicators and divider ++ Mailboxes depending on their type ++ Mailboxes depending on their contents ++ ++ ++ <link linkend="sidebar-functions">Key bindings</link> ++ Hide/Unhide the Sidebar ++ Select previous/next mailbox ++ Select previous/next mailbox with new mail ++ Page up/down through a list of mailboxes ++ ++ ++ Misc ++ Formatting string for mailbox ++ Wraparound searching ++ Flexible mailbox abbreviations ++ Support for Unicode mailbox names (utf-8) ++ ++ ++ ++ Display ++ ++ Everything about the Sidebar can be configured. ++ ++ ++ For a quick reference: ++ Sidebar variables to set ++ Sidebar colors to apply ++ Sidebar sort methods ++ ++ ++ Sidebar Basics ++ ++ The most important variable is $sidebar_visible. ++ You can set this in your muttrc, or bind a key to the ++ function <sidebar-toggle-visible>. ++ ++ ++set sidebar_visible # Make the Sidebar visible by default ++bind index,pager B sidebar-toggle-visible # Use 'B' to switch the Sidebar on and off ++ ++ ++ Next, decide how wide you want the Sidebar to be. 25 ++ characters might be enough for the mailbox name and some numbers. ++ Remember, you can hide/show the Sidebar at the press of button. ++ ++ ++ Finally, you might want to change the divider character. ++ By default, Sidebar draws an ASCII line between it and the Index panel ++ If your terminal supports it, you can use a Unicode line-drawing character. ++ ++ ++set sidebar_width = 25 # Plenty of space ++set sidebar_divider_char = '│' # Pretty line-drawing character ++ ++ ++ ++ Sidebar Format String ++ ++ $sidebar_format allows you to customize the Sidebar display. ++ For an introduction, read format strings ++ including the section about conditionals. ++ ++ ++ The default value is %B%?F? [%F]?%* %?N?%N/?%S ++ ++ ++ Which breaks down as: ++ %B - Mailbox name ++ %?F? [%F]? - If flagged emails [%F], otherwise nothing ++ %* - Pad with spaces ++ %?N?%N/? - If new emails %N/, otherwise nothing ++ %S - Total number of emails ++ ++ ++ sidebar_format ++ ++ ++ ++ Format ++ Notes ++ Description ++ ++ ++ ++ ++ %B ++ ++ Name of the mailbox ++ ++ ++ %S ++ * ++ Size of mailbox (total number of messages) ++ ++ ++ %N ++ * ++ Number of New messages in the mailbox ++ ++ ++ %F ++ * ++ Number of Flagged messages in the mailbox ++ ++ ++ %! ++ ++ ++ !: one flagged message; ++ !!: two flagged messages; ++ n!: n flagged messages (for n > 2). ++ Otherwise prints nothing. ++ ++ ++ ++ %d ++ * ‡ ++ Number of deleted messages ++ ++ ++ %L ++ * ‡ ++ Number of messages after limiting ++ ++ ++ %t ++ * ‡ ++ Number of tagged messages ++ ++ ++ %>X ++ ++ Right justify the rest of the string and pad with X ++ ++ ++ %|X ++ ++ Pad to the end of the line with ++ X ++ ++ ++ %*X ++ ++ Soft-fill with character Xas pad ++ ++ ++ ++
++ ++ * = Can be optionally printed if nonzero ++ ++ ++ ‡ = Only applicable to the current folder ++ ++ ++ Here are some examples. ++ They show the number of (F)lagged, (N)ew and (S)ize. ++ ++ ++ sidebar_format ++ ++ ++ ++ Format ++ Example ++ ++ ++ ++ ++ %B%?F? [%F]?%* %?N?%N/?%S ++ mailbox [F] N/S ++ ++ ++ %B%* %F:%N:%S ++ mailbox F:N:S ++ ++ ++ %B %?N?(%N)?%* %S ++ mailbox (N) S ++ ++ ++ %B%* ?F?%F/?%N ++ mailbox F/S ++ ++ ++ ++
++
++ ++ Abbreviating Mailbox Names ++ ++ $sidebar_delim_chars tells Sidebar ++ how to split up mailbox paths. For local directories ++ use /; for IMAP folders use . ++ ++ ++ Example 1 ++ ++ This example works well if your mailboxes have unique names ++ after the last separator. ++ ++ ++ Add some mailboxes of diffent depths. ++ ++ ++set folder="~/mail" ++mailboxes =fruit/apple =fruit/banana =fruit/cherry ++mailboxes =water/sea/sicily =water/sea/archipelago =water/sea/sibuyan ++mailboxes =water/ocean/atlantic =water/ocean/pacific =water/ocean/arctic ++ ++ ++ Shorten the names: ++ ++ ++set sidebar_short_path # Shorten mailbox names ++set sidebar_delim_chars="/" # Delete everything up to the last / character ++ ++ ++ The screenshot below shows what the Sidebar would look like ++ before and after shortening. ++ ++ ++|fruit/apple |apple ++|fruit/banana |banana ++|fruit/cherry |cherry ++|water/sea/sicily |sicily ++|water/sea/archipelago |archipelago ++|water/sea/sibuyan |sibuyan ++|water/ocean/atlantic |atlantic ++|water/ocean/pacific |pacific ++|water/ocean/arctic |arctic ++ ++ ++ ++ Example 2 ++ ++ This example works well if you have lots of mailboxes which are arranged ++ in a tree. ++ ++ ++ Add some mailboxes of diffent depths. ++ ++ ++set folder="~/mail" ++mailboxes =fruit ++mailboxes =fruit/apple =fruit/banana =fruit/cherry ++mailboxes =water ++mailboxes =water/sea ++mailboxes =water/sea/sicily =water/sea/archipelago =water/sea/sibuyan ++mailboxes =water/ocean ++mailboxes =water/ocean/atlantic =water/ocean/pacific =water/ocean/arctic ++ ++ ++ Shorten the names: ++ ++ ++set sidebar_short_path # Shorten mailbox names ++set sidebar_delim_chars="/" # Delete everything up to the last / character ++set sidebar_folder_indent # Indent folders whose names we've shortened ++set sidebar_indent_string=" " # Indent with two spaces ++ ++ ++ The screenshot below shows what the Sidebar would look like ++ before and after shortening. ++ ++ ++|fruit |fruit ++|fruit/apple | apple ++|fruit/banana | banana ++|fruit/cherry | cherry ++|water |water ++|water/sea | sea ++|water/sea/sicily | sicily ++|water/sea/archipelago | archipelago ++|water/sea/sibuyan | sibuyan ++|water/ocean | ocean ++|water/ocean/atlantic | atlantic ++|water/ocean/pacific | pacific ++|water/ocean/arctic | arctic ++ ++ ++ Sometimes, it will be necessary to add mailboxes, that you ++ don't use, to fill in part of the tree. This will trade ++ vertical space for horizonal space (but it looks good). ++ ++ ++ ++ ++ Limiting the Number of Mailboxes ++ ++ If you have a lot of mailboxes, sometimes it can be useful to hide ++ the ones you aren't using. $sidebar_new_mail_only ++ tells Sidebar to only show mailboxes that contain new, or flagged, email. ++ ++ ++ If you want some mailboxes to be always visible, then use the ++ sidebar_whitelist command. It takes a list of ++ mailboxes as parameters. ++ ++ ++set sidebar_new_mail_only # Only mailboxes with new/flagged email ++sidebar_whitelist fruit fruit/apple # Always display these two mailboxes ++ ++ ++
++ ++ Colors ++ ++ Here is a sample color scheme: ++ ++ ++color sidebar_indicator default color17 # Dark blue background ++color sidebar_highlight white color238 # Grey background ++color sidebar_spoolfile yellow default # Yellow ++color sidebar_new green default # Green ++color sidebar_flagged red default # Red ++color sidebar_divider color8 default # Dark grey ++ ++ ++ There is a priority order when coloring Sidebar mailboxes. ++ e.g. If a mailbox has new mail it will have the ++ sidebar_new color, even if it also contains ++ flagged mails. ++ ++ ++ Sidebar Color Priority ++ ++ ++ ++ Priority ++ Color ++ Description ++ ++ ++ ++ ++ Highest ++ sidebar_indicator ++ Mailbox is open ++ ++ ++ ++ sidebar_highlight ++ Mailbox is highlighed ++ ++ ++ ++ sidebar_spoolfile ++ Mailbox is the spoolfile (receives incoming mail) ++ ++ ++ ++ sidebar_new ++ Mailbox contains new mail ++ ++ ++ ++ sidebar_flagged ++ Mailbox contains flagged mail ++ ++ ++ Lowest ++ (None) ++ Mailbox does not match above ++ ++ ++ ++
++
++ ++ Bug-fixes ++ ++ If you haven't used Sidebar before, you can ignore this section. ++ ++ ++ These bugs have been fixed since the previous Sidebar release: 2015-11-11. ++ ++ ++ Fix bug when starting in compose mode ++ Fix bug with empty sidebar_divider_char string ++ Fix bug with header wrapping ++ Correctly handle utf8 character sequences ++ Fix a bug in mh_buffy_update ++ Fix refresh -- time overflowed short ++ Protect against empty format strings ++ Limit Sidebar width to COLS ++ Handle unmailboxes * safely ++ Refresh Sidebar after timeout ++ ++ ++ ++ Config Changes ++ ++ If you haven't used Sidebar before, you can ignore this section. ++ ++ ++ Some of the Sidebar config has been changed to make its meaning clearer. ++ These changes have been made since the previous Sidebar release: 2015-11-11. ++ ++ ++ Config Changes ++ ++ ++ ++ Old Name ++ New Name ++ ++ ++ ++ ++ $sidebar_delim ++ $sidebar_divider_char ++ ++ ++ $sidebar_folderindent ++ $sidebar_folder_indent ++ ++ ++ $sidebar_indentstr ++ $sidebar_indent_string ++ ++ ++ $sidebar_newmail_only ++ $sidebar_new_mail_only ++ ++ ++ $sidebar_refresh ++ $sidebar_refresh_time ++ ++ ++ $sidebar_shortpath ++ $sidebar_short_path ++ ++ ++ $sidebar_sort ++ $sidebar_sort_method ++ ++ ++ <sidebar-scroll-down> ++ <sidebar-page-down> ++ ++ ++ <sidebar-scroll-up> ++ <sidebar-page-up> ++ ++ ++ ++
++
++
++ + + Help + +@@ -6773,6 +7390,17 @@ + + + ++Mutt will set the COLUMNS environment variable to ++the width of the pager. Some programs make use of this environment ++variable automatically. Others provide a command line argument that ++can use this to set the output width: ++ ++ ++ ++text/html; lynx -dump -width ${COLUMNS:-80} %s; copiousoutput ++ ++ ++ + Note that when using the built-in pager, only + entries with this flag will be considered a handler for a MIME type + — all other entries will be ignored. +@@ -7467,6 +8095,16 @@ + + + ++ ++Mutt Patches ++ ++Mutt may also be patched to support smaller features. ++These patches should add a free-form string to the end Mutt's version string. ++Running mutt -v might show: ++patch-1.6.1.sidebar.20160502 ++ ++ ++ + + URL Syntax + +@@ -8081,6 +8719,469 @@ + + + ++ ++ Sidebar Patch ++ Overview of mailboxes ++ ++ ++ Patch ++ ++ ++ To check if Mutt supports Sidebar, look for ++ +USE_SIDEBAR in the mutt version. ++ See: . ++ ++ ++ ++ Dependencies: ++ mutt-1.6.1 ++ ++ ++ This patch is part of the NeoMutt Project. ++ ++ ++ ++ Introduction ++ ++ ++ The Sidebar shows a list of all your mailboxes. The list can be ++ turned on and off, it can be themed and the list style can be ++ configured. ++ ++ ++ ++ This part of the manual is a reference guide. ++ If you want a simple introduction with examples see the ++ Sidebar Howto. ++ If you just want to get started, you could use the sample ++ Sidebar muttrc. ++ ++ ++ ++ This version of Sidebar is based on Terry Chan's ++ 2015-11-11 release. ++ It contains many ++ new features, ++ lots of ++ bugfixes. ++ ++ ++ ++ ++ Variables ++ ++ ++ Sidebar Variables ++ ++ ++ ++ Name ++ Type ++ Default ++ ++ ++ ++ ++ sidebar_delim_chars ++ string ++ /. ++ ++ ++ sidebar_divider_char ++ string ++ | ++ ++ ++ sidebar_folder_indent ++ boolean ++ no ++ ++ ++ sidebar_format ++ string ++ %B%?F? [%F]?%* %?N?%N/?%S ++ ++ ++ sidebar_indent_string ++ string ++    (two spaces) ++ ++ ++ sidebar_new_mail_only ++ boolean ++ no ++ ++ ++ sidebar_next_new_wrap ++ boolean ++ no ++ ++ ++ sidebar_refresh_time ++ number ++ 60 ++ ++ ++ sidebar_short_path ++ boolean ++ no ++ ++ ++ sidebar_sort_method ++ enum ++ SORT_ORDER ++ ++ ++ sidebar_visible ++ boolean ++ no ++ ++ ++ sidebar_whitelist ++ list ++ (empty) ++ ++ ++ sidebar_width ++ number ++ 20 ++ ++ ++ ++
++
++ ++ ++ Functions ++ ++ ++ Sidebar adds the following functions to Mutt. ++ By default, none of them are bound to keys. ++ ++ ++ ++ Sidebar Functions ++ ++ ++ ++ Menus ++ Function ++ Description ++ ++ ++ ++ ++ index,pager ++ <sidebar-next> ++ Move the highlight to next mailbox ++ ++ ++ index,pager ++ <sidebar-next-new> ++ Move the highlight to next mailbox with new mail ++ ++ ++ index,pager ++ <sidebar-open> ++ Open highlighted mailbox ++ ++ ++ index,pager ++ <sidebar-page-down> ++ Scroll the Sidebar down 1 page ++ ++ ++ index,pager ++ <sidebar-page-up> ++ Scroll the Sidebar up 1 page ++ ++ ++ index,pager ++ <sidebar-prev> ++ Move the highlight to previous mailbox ++ ++ ++ index,pager ++ <sidebar-prev-new> ++ Move the highlight to previous mailbox with new mail ++ ++ ++ index,pager ++ <sidebar-toggle-visible> ++ Make the Sidebar (in)visible ++ ++ ++ ++
++
++ ++ ++ Commands ++ ++ sidebar_whitelist ++ ++ mailbox ++ ++ ++ mailbox ++ ++ ++ ++ ++ ++ Colors ++ ++ ++ Sidebar Colors ++ ++ ++ ++ Name ++ Default Color ++ Description ++ ++ ++ ++ ++ sidebar_divider ++ default ++ The dividing line between the Sidebar and the Index/Pager panels ++ ++ ++ sidebar_flagged ++ default ++ Mailboxes containing flagged mail ++ ++ ++ sidebar_highlight ++ underline ++ Cursor to select a mailbox ++ ++ ++ sidebar_indicator ++ mutt indicator ++ The mailbox open in the Index panel ++ ++ ++ sidebar_new ++ default ++ Mailboxes containing new mail ++ ++ ++ sidebar_spoolfile ++ default ++ Mailbox that receives incoming mail ++ ++ ++ ++
++ ++ If the sidebar_indicator color isn't set, then the default Mutt ++ indicator color will be used (the color used in the index panel). ++
++ ++ ++ Sort ++ ++ ++ Sidebar Sort ++ ++ ++ ++ Sort ++ Description ++ ++ ++ ++ ++ alpha ++ Alphabetically by path ++ ++ ++ count ++ Total number of messages ++ ++ ++ flagged ++ Number of flagged messages ++ ++ ++ name ++ Alphabetically by path ++ ++ ++ new ++ Number of new messages ++ ++ ++ path ++ Alphabetically by path ++ ++ ++ unsorted ++ Do not resort the paths ++ ++ ++ ++
++
++ ++ ++ Muttrc ++ ++# This is a complete list of sidebar-related configuration. ++ ++# -------------------------------------------------------------------------- ++# VARIABLES - shown with their default values ++# -------------------------------------------------------------------------- ++ ++# Should the Sidebar be shown? ++set sidebar_visible = no ++ ++# How wide should the Sidebar be in screen columns? ++# Note: Some characters, e.g. Chinese, take up two columns each. ++set sidebar_width = 20 ++ ++# Should the mailbox paths be abbreviated? ++set sidebar_short_path = no ++ ++# When abbreviating mailbox path names, use any of these characters as path ++# separators. Only the part after the last separators will be shown. ++# For file folders '/' is good. For IMAP folders, often '.' is useful. ++set sidebar_delim_chars = '/.' ++ ++# If the mailbox path is abbreviated, should it be indented? ++set sidebar_folder_indent = no ++ ++# Indent mailbox paths with this string. ++set sidebar_indent_string = ' ' ++ ++# Make the Sidebar only display mailboxes that contain new, or flagged, ++# mail. ++set sidebar_new_mail_only = no ++ ++# Any mailboxes that are whitelisted will always be visible, even if the ++# sidebar_new_mail_only option is enabled. ++sidebar_whitelist '/home/user/mailbox1' ++sidebar_whitelist '/home/user/mailbox2' ++ ++# When searching for mailboxes containing new mail, should the search wrap ++# around when it reaches the end of the list? ++set sidebar_next_new_wrap = no ++ ++# The character to use as the divider between the Sidebar and the other Mutt ++# panels. ++# Note: Only the first character of this string is used. ++set sidebar_divider_char = '|' ++ ++# Display the Sidebar mailboxes using this format string. ++set sidebar_format = '%B%?F? [%F]?%* %?N?%N/?%S' ++ ++# Sidebar will not refresh its list of mailboxes any more frequently than ++# this number of seconds. This will help reduce disk/network traffic. ++set sidebar_refresh_time = 60 ++ ++# Sort the mailboxes in the Sidebar using this method: ++# count - total number of messages ++# flagged - number of flagged messages ++# new - number of new messages ++# path - mailbox path ++# unsorted - do not sort the mailboxes ++set sidebar_sort_method = 'unsorted' ++ ++# -------------------------------------------------------------------------- ++# FUNCTIONS - shown with an example mapping ++# -------------------------------------------------------------------------- ++ ++# Move the highlight to the previous mailbox ++bind index,pager \Cp sidebar-prev ++ ++# Move the highlight to the next mailbox ++bind index,pager \Cn sidebar-next ++ ++# Open the highlighted mailbox ++bind index,pager \Co sidebar-open ++ ++# Move the highlight to the previous page ++# This is useful if you have a LOT of mailboxes. ++bind index,pager <F3> sidebar-page-up ++ ++# Move the highlight to the next page ++# This is useful if you have a LOT of mailboxes. ++bind index,pager <F4> sidebar-page-down ++ ++# Move the highlight to the previous mailbox containing new, or flagged, ++# mail. ++bind index,pager <F5> sidebar-prev-new ++ ++# Move the highlight to the next mailbox containing new, or flagged, mail. ++bind index,pager <F6> sidebar-next-new ++ ++# Toggle the visibility of the Sidebar. ++bind index,pager B sidebar-toggle-visible ++ ++# -------------------------------------------------------------------------- ++# COLORS - some unpleasant examples are given ++# -------------------------------------------------------------------------- ++# Note: All color operations are of the form: ++# color OBJECT FOREGROUND BACKGROUND ++ ++# Color of the current, open, mailbox ++# Note: This is a general Mutt option which colors all selected items. ++color indicator cyan black ++ ++# Color of the highlighted, but not open, mailbox. ++color sidebar_highlight black color8 ++ ++# Color of the divider separating the Sidebar from Mutt panels ++color sidebar_divider color8 black ++ ++# Color to give mailboxes containing flagged mail ++color sidebar_flagged red black ++ ++# Color to give mailboxes containing new mail ++color sidebar_new green black ++ ++# -------------------------------------------------------------------------- ++ ++# vim: syntax=muttrc ++ ++ ++ ++ ++ See Also ++ ++ ++ Regular Expressions ++ Patterns ++ Color command ++ notmuch patch ++ ++ ++ ++ ++ Known Bugs ++ Unsorted isn't ++ ++ ++ ++ Credits ++ ++ Justin Hibbits jrh29@po.cwru.edu ++ Thomer M. Gil mutt@thomer.com ++ David Sterba dsterba@suse.cz ++ Evgeni Golov evgeni@debian.org ++ Fabian Groffen grobian@gentoo.org ++ Jason DeTiberus jdetiber@redhat.com ++ Stefan Assmann sassmann@kpanic.de ++ Steve Kemp steve@steve.org.uk ++ Terry Chan tchan@lunar-linux.org ++ Tyler Earnest tylere@rne.st ++ Richard Russon rich@flatcap.org ++ ++ ++
++ + + + +@@ -9237,6 +10338,17 @@ + + + ++sidebar_whitelist ++ ++item ++ ++ ++command ++ ++ ++ ++ ++ + source + + filename +diff -urN mutt-1.6.1/doc/mutt.css mutt-1.6.1-sidebar/doc/mutt.css +--- mutt-1.6.1/doc/mutt.css 2016-06-12 18:43:00.402447590 +0100 ++++ mutt-1.6.1-sidebar/doc/mutt.css 2016-06-12 18:43:03.811500752 +0100 +@@ -9,17 +9,24 @@ + div.table-contents table th, div.informaltable table th { + font-family:sans-serif; + background:#d0d0d0; +- font-weight:normal; ++ font-weight:bold; + vertical-align:top; + } +-div.cmdsynopsis { border-left:1px solid #707070; padding-left:5px; } ++div.cmdsynopsis { border-left:1px solid #707070; padding-left: 1em; } + li div.cmdsynopsis { border-left:none; padding-left:0px; } +-pre.screen, div.note { background:#f0f0f0; border:1px solid #c0c0c0; padding:5px; margin-left:2%; margin-right:2%; } ++li p { margin: 0; } ++pre.screen, div.note { border:1px solid #c0c0c0; margin-left:2%; margin-right:2%; } ++pre.screen { color: #ffffff; background:#000000; padding: 0.5em; } ++div.note { background:#ffff80; padding: 0.5em; } + div.example p.title { margin-left:2%; } + div.note h3 { font-size:small; font-style:italic; font-variant: small-caps; } + div.note h3:after { content: ":" } + div.note { margin-bottom: 5px; } +-.command { font-family: monospace; font-weight: normal; } ++div.literallayout, .command { font-family: monospace; font-weight: normal; } + .command strong { font-weight: normal; } + tr { vertical-align: top; } +-.comment { color:#707070; } ++.comment { color:#00c000; } ++code.literal { background: #f0f0f0; color: #000000; } ++span.indicator { background: #000060; color: #ffffff; } ++span.highlight { background: #404040; color: #ffffff; } ++span.reverse { background: #ffffff; color: #000000; } +diff -urN mutt-1.6.1/doc/muttrc.sidebar mutt-1.6.1-sidebar/doc/muttrc.sidebar +--- mutt-1.6.1/doc/muttrc.sidebar 1970-01-01 01:00:00.000000000 +0100 ++++ mutt-1.6.1-sidebar/doc/muttrc.sidebar 2016-06-12 18:43:03.812500768 +0100 +@@ -0,0 +1,116 @@ ++# This is a complete list of sidebar-related configuration. ++ ++# -------------------------------------------------------------------------- ++# VARIABLES - shown with their default values ++# -------------------------------------------------------------------------- ++ ++# Should the Sidebar be shown? ++set sidebar_visible = no ++ ++# How wide should the Sidebar be in screen columns? ++# Note: Some characters, e.g. Chinese, take up two columns each. ++set sidebar_width = 20 ++ ++# Should the mailbox paths be abbreviated? ++set sidebar_short_path = no ++ ++# When abbreviating mailbox path names, use any of these characters as path ++# separators. Only the part after the last separators will be shown. ++# For file folders '/' is good. For IMAP folders, often '.' is useful. ++set sidebar_delim_chars = '/.' ++ ++# If the mailbox path is abbreviated, should it be indented? ++set sidebar_folder_indent = no ++ ++# Indent mailbox paths with this string. ++set sidebar_indent_string = ' ' ++ ++# Make the Sidebar only display mailboxes that contain new, or flagged, ++# mail. ++set sidebar_new_mail_only = no ++ ++# Any mailboxes that are whitelisted will always be visible, even if the ++# sidebar_new_mail_only option is enabled. ++sidebar_whitelist '/home/user/mailbox1' ++sidebar_whitelist '/home/user/mailbox2' ++ ++# When searching for mailboxes containing new mail, should the search wrap ++# around when it reaches the end of the list? ++set sidebar_next_new_wrap = no ++ ++# The character to use as the divider between the Sidebar and the other Mutt ++# panels. ++# Note: Only the first character of this string is used. ++set sidebar_divider_char = '|' ++ ++# Display the Sidebar mailboxes using this format string. ++set sidebar_format = '%B%?F? [%F]?%* %?N?%N/?%S' ++ ++# Sidebar will not refresh its list of mailboxes any more frequently than ++# this number of seconds. This will help reduce disk/network traffic. ++set sidebar_refresh_time = 60 ++ ++# Sort the mailboxes in the Sidebar using this method: ++# count - total number of messages ++# flagged - number of flagged messages ++# new - number of new messages ++# path - mailbox path ++# unsorted - do not sort the mailboxes ++set sidebar_sort_method = 'unsorted' ++ ++# -------------------------------------------------------------------------- ++# FUNCTIONS - shown with an example mapping ++# -------------------------------------------------------------------------- ++ ++# Move the highlight to the previous mailbox ++bind index,pager \Cp sidebar-prev ++ ++# Move the highlight to the next mailbox ++bind index,pager \Cn sidebar-next ++ ++# Open the highlighted mailbox ++bind index,pager \Co sidebar-open ++ ++# Move the highlight to the previous page ++# This is useful if you have a LOT of mailboxes. ++bind index,pager sidebar-page-up ++ ++# Move the highlight to the next page ++# This is useful if you have a LOT of mailboxes. ++bind index,pager sidebar-page-down ++ ++# Move the highlight to the previous mailbox containing new, or flagged, ++# mail. ++bind index,pager sidebar-prev-new ++ ++# Move the highlight to the next mailbox containing new, or flagged, mail. ++bind index,pager sidebar-next-new ++ ++# Toggle the visibility of the Sidebar. ++bind index,pager B sidebar-toggle-visible ++ ++# -------------------------------------------------------------------------- ++# COLORS - some unpleasant examples are given ++# -------------------------------------------------------------------------- ++# Note: All color operations are of the form: ++# color OBJECT FOREGROUND BACKGROUND ++ ++# Color of the current, open, mailbox ++# Note: This is a general Mutt option which colors all selected items. ++color indicator cyan black ++ ++# Color of the highlighted, but not open, mailbox. ++color sidebar_highlight black color8 ++ ++# Color of the divider separating the Sidebar from Mutt panels ++color sidebar_divider color8 black ++ ++# Color to give mailboxes containing flagged mail ++color sidebar_flagged red black ++ ++# Color to give mailboxes containing new mail ++color sidebar_new green black ++ ++# -------------------------------------------------------------------------- ++ ++# vim: syntax=muttrc +diff -urN mutt-1.6.1/doc/vimrc.sidebar mutt-1.6.1-sidebar/doc/vimrc.sidebar +--- mutt-1.6.1/doc/vimrc.sidebar 1970-01-01 01:00:00.000000000 +0100 ++++ mutt-1.6.1-sidebar/doc/vimrc.sidebar 2016-06-12 18:43:03.813500783 +0100 +@@ -0,0 +1,35 @@ ++" Vim syntax file for the mutt sidebar patch ++ ++syntax keyword muttrcVarBool skipwhite contained sidebar_folder_indent nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr ++syntax keyword muttrcVarBool skipwhite contained sidebar_new_mail_only nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr ++syntax keyword muttrcVarBool skipwhite contained sidebar_next_new_wrap nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr ++syntax keyword muttrcVarBool skipwhite contained sidebar_short_path nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr ++syntax keyword muttrcVarBool skipwhite contained sidebar_visible nextgroup=muttrcSetBoolAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr ++ ++syntax keyword muttrcVarNum skipwhite contained sidebar_refresh_time nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr ++syntax keyword muttrcVarNum skipwhite contained sidebar_width nextgroup=muttrcSetNumAssignment,muttrcVPrefix,muttrcVarBool,muttrcVarQuad,muttrcVarNum,muttrcVarStr ++ ++syntax keyword muttrcVarStr contained skipwhite sidebar_divider_char nextgroup=muttrcVarEqualsIdxFmt ++syntax keyword muttrcVarStr contained skipwhite sidebar_delim_chars nextgroup=muttrcVarEqualsIdxFmt ++syntax keyword muttrcVarStr contained skipwhite sidebar_format nextgroup=muttrcVarEqualsIdxFmt ++syntax keyword muttrcVarStr contained skipwhite sidebar_indent_string nextgroup=muttrcVarEqualsIdxFmt ++syntax keyword muttrcVarStr contained skipwhite sidebar_sort_method nextgroup=muttrcVarEqualsIdxFmt ++ ++syntax keyword muttrcCommand sidebar_whitelist ++ ++syntax match muttrcFunction contained "\" ++syntax match muttrcFunction contained "\" ++syntax match muttrcFunction contained "\" ++syntax match muttrcFunction contained "\" ++syntax match muttrcFunction contained "\" ++syntax match muttrcFunction contained "\" ++syntax match muttrcFunction contained "\" ++syntax match muttrcFunction contained "\" ++ ++syntax keyword muttrcColorField contained sidebar_divider ++syntax keyword muttrcColorField contained sidebar_flagged ++syntax keyword muttrcColorField contained sidebar_highlight ++syntax keyword muttrcColorField contained sidebar_indicator ++syntax keyword muttrcColorField contained sidebar_new ++ ++" vim: syntax=vim +diff -urN mutt-1.6.1/filter.c mutt-1.6.1-sidebar/filter.c +--- mutt-1.6.1/filter.c 2016-06-12 18:43:00.403447606 +0100 ++++ mutt-1.6.1-sidebar/filter.c 2016-06-12 18:43:03.835501127 +0100 +@@ -21,6 +21,7 @@ + #endif #include "mutt.h" - #include "mutt_curses.h" -+#include "mutt_menu.h" ++#include "mutt_curses.h" + + #include + #include +@@ -34,6 +35,7 @@ + int fdin, int fdout, int fderr) + { + int pin[2], pout[2], perr[2], thepid; ++ char columns[11]; + + if (in) + { +@@ -117,6 +119,9 @@ + close (fderr); + } + ++ snprintf (columns, sizeof (columns), "%d", COLS - SidebarWidth); ++ setenv ("COLUMNS", columns, 1); ++ + execl (EXECSHELL, "sh", "-c", cmd, NULL); + _exit (127); + } +diff -urN mutt-1.6.1/flags.c mutt-1.6.1-sidebar/flags.c +--- mutt-1.6.1/flags.c 2016-06-12 18:43:00.403447606 +0100 ++++ mutt-1.6.1-sidebar/flags.c 2016-06-12 18:43:03.956503013 +0100 +@@ -25,6 +25,10 @@ #include "sort.h" #include "mx.h" -+#include "sidebar.h" ++#ifdef USE_SIDEBAR ++#include "sidebar.h" ++#endif ++ void _mutt_set_flag (CONTEXT *ctx, HEADER *h, int flag, int bf, int upd_ctx) { -@@ -290,6 +292,7 @@ void _mutt_set_flag (CONTEXT *ctx, HEADER *h, int flag, int bf, int upd_ctx) + int changed = h->changed; +@@ -263,6 +267,9 @@ */ if (h->searched && (changed != h->changed || deleted != ctx->deleted || tagged != ctx->tagged || flagged != ctx->flagged)) h->searched = 0; -+ draw_sidebar(0); ++#ifdef USE_SIDEBAR ++ mutt_sb_draw(); ++#endif } void mutt_tag_set_flag (int flag, int bf) -diff --git a/functions.h b/functions.h -index 26171a0..ef8937a 100644 ---- a/functions.h -+++ b/functions.h -@@ -170,6 +170,11 @@ const struct binding_t OpMain[] = { /* map: index */ +diff -urN mutt-1.6.1/functions.h mutt-1.6.1-sidebar/functions.h +--- mutt-1.6.1/functions.h 2016-06-12 18:43:00.403447606 +0100 ++++ mutt-1.6.1-sidebar/functions.h 2016-06-12 18:43:03.956503013 +0100 +@@ -168,6 +168,16 @@ + { "decrypt-copy", OP_DECRYPT_COPY, NULL }, { "decrypt-save", OP_DECRYPT_SAVE, NULL }, ++#ifdef USE_SIDEBAR ++ { "sidebar-next", OP_SIDEBAR_NEXT, NULL }, ++ { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL }, ++ { "sidebar-open", OP_SIDEBAR_OPEN, NULL }, ++ { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN, NULL }, ++ { "sidebar-page-up", OP_SIDEBAR_PAGE_UP, NULL }, ++ { "sidebar-prev", OP_SIDEBAR_PREV, NULL }, ++ { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL }, ++ { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE, NULL }, ++#endif -+ { "sidebar-scroll-up", OP_SIDEBAR_SCROLL_UP, NULL }, -+ { "sidebar-scroll-down", OP_SIDEBAR_SCROLL_DOWN, NULL }, -+ { "sidebar-next", OP_SIDEBAR_NEXT, NULL }, -+ { "sidebar-prev", OP_SIDEBAR_PREV, NULL }, -+ { "sidebar-open", OP_SIDEBAR_OPEN, NULL }, { NULL, 0, NULL } }; - -@@ -274,6 +279,11 @@ const struct binding_t OpPager[] = { /* map: pager */ +@@ -272,6 +282,17 @@ { "what-key", OP_WHAT_KEY, NULL }, -+ { "sidebar-scroll-up", OP_SIDEBAR_SCROLL_UP, NULL }, -+ { "sidebar-scroll-down", OP_SIDEBAR_SCROLL_DOWN, NULL }, -+ { "sidebar-next", OP_SIDEBAR_NEXT, NULL }, -+ { "sidebar-prev", OP_SIDEBAR_PREV, NULL }, -+ { "sidebar-open", OP_SIDEBAR_OPEN, NULL }, ++#ifdef USE_SIDEBAR ++ { "sidebar-next", OP_SIDEBAR_NEXT, NULL }, ++ { "sidebar-next-new", OP_SIDEBAR_NEXT_NEW, NULL }, ++ { "sidebar-open", OP_SIDEBAR_OPEN, NULL }, ++ { "sidebar-page-down", OP_SIDEBAR_PAGE_DOWN, NULL }, ++ { "sidebar-page-up", OP_SIDEBAR_PAGE_UP, NULL }, ++ { "sidebar-prev", OP_SIDEBAR_PREV, NULL }, ++ { "sidebar-prev-new", OP_SIDEBAR_PREV_NEW, NULL }, ++ { "sidebar-toggle-visible", OP_SIDEBAR_TOGGLE_VISIBLE, NULL }, ++#endif ++ { NULL, 0, NULL } }; -diff --git a/globals.h b/globals.h -index 282fde3..004c795 100644 ---- a/globals.h -+++ b/globals.h -@@ -118,6 +118,7 @@ WHERE short SearchContext; +diff -urN mutt-1.6.1/globals.h mutt-1.6.1-sidebar/globals.h +--- mutt-1.6.1/globals.h 2016-06-12 18:43:00.403447606 +0100 ++++ mutt-1.6.1-sidebar/globals.h 2016-06-12 18:43:03.956503013 +0100 +@@ -118,6 +118,12 @@ WHERE char *SendCharset; WHERE char *Sendmail; WHERE char *Shell; -+WHERE char *SidebarDelim; ++#ifdef USE_SIDEBAR ++WHERE char *SidebarDelimChars; ++WHERE char *SidebarDividerChar; ++WHERE char *SidebarFormat; ++WHERE char *SidebarIndentString; ++#endif WHERE char *Signature; WHERE char *SimpleSearch; #if USE_SMTP -@@ -214,6 +215,9 @@ WHERE short ScoreThresholdDelete; +@@ -214,6 +220,14 @@ WHERE short ScoreThresholdRead; WHERE short ScoreThresholdFlag; -+WHERE struct buffy_t *CurBuffy INITVAL(0); -+WHERE short DrawFullLine INITVAL(0); ++/* This isn't excluded from the build because it's too entwined in the code. ++ * For now. */ +WHERE short SidebarWidth; ++#ifdef USE_SIDEBAR ++WHERE short SidebarRefreshTime; ++WHERE LIST *SidebarWhitelist INITVAL(0); ++#endif ++ #ifdef USE_IMAP WHERE short ImapKeepalive; WHERE short ImapPipelineDepth; -diff --git a/imap/command.c b/imap/command.c -index 32f8417..d68e3ab 100644 ---- a/imap/command.c -+++ b/imap/command.c -@@ -1012,6 +1012,13 @@ static void cmd_parse_status (IMAP_DATA* idata, char* s) +diff -urN mutt-1.6.1/imap/command.c mutt-1.6.1-sidebar/imap/command.c +--- mutt-1.6.1/imap/command.c 2016-06-12 18:43:00.405447637 +0100 ++++ mutt-1.6.1-sidebar/imap/command.c 2016-06-12 18:43:03.839501189 +0100 +@@ -1016,6 +1016,14 @@ opened */ status->uidnext = oldun; -+ /* Added to make the sidebar show the correct numbers */ -+ if (status->messages) -+ { -+ inc->msgcount = status->messages; -+ inc->msg_unread = status->unseen; -+ } ++#ifdef USE_SIDEBAR ++ /* Make the sidebar show the correct numbers */ ++ if (status->messages) { ++ inc->msg_count = status->messages; ++ inc->msg_unread = status->unseen; ++ } ++#endif + FREE (&value); return; } -diff --git a/imap/imap.c b/imap/imap.c -index f476873..af3ac3d 100644 ---- a/imap/imap.c -+++ b/imap/imap.c -@@ -1529,7 +1529,7 @@ int imap_buffy_check (int force) +diff -urN mutt-1.6.1/imap/imap.c mutt-1.6.1-sidebar/imap/imap.c +--- mutt-1.6.1/imap/imap.c 2016-06-12 18:43:00.405447637 +0100 ++++ mutt-1.6.1-sidebar/imap/imap.c 2016-06-12 18:43:03.958503044 +0100 +@@ -1535,7 +1535,11 @@ - imap_munge_mbox_name (munged, sizeof (munged), name); + imap_munge_mbox_name (idata, munged, sizeof (munged), name); snprintf (command, sizeof (command), -- "STATUS %s (UIDNEXT UIDVALIDITY UNSEEN RECENT)", munged); ++#ifdef USE_SIDEBAR + "STATUS %s (UIDNEXT UIDVALIDITY UNSEEN RECENT MESSAGES)", munged); ++#else + "STATUS %s (UIDNEXT UIDVALIDITY UNSEEN RECENT)", munged); ++#endif if (imap_exec (idata, command, IMAP_CMD_QUEUE) < 0) { -diff --git a/init.h b/init.h -index 35224c1..c664e5f 100644 ---- a/init.h -+++ b/init.h -@@ -2030,6 +2030,27 @@ struct option_t MuttVars[] = { - ** not used. - ** (PGP only) +diff -urN mutt-1.6.1/init.c mutt-1.6.1-sidebar/init.c +--- mutt-1.6.1/init.c 2016-06-12 18:43:00.406447652 +0100 ++++ mutt-1.6.1-sidebar/init.c 2016-06-12 18:43:03.959503060 +0100 +@@ -2173,6 +2173,9 @@ + case DT_SORT_AUX: + map = SortAuxMethods; + break; ++ case DT_SORT_SIDEBAR: ++ map = SortSidebarMethods; ++ break; + default: + map = SortMethods; + break; +diff -urN mutt-1.6.1/init.h mutt-1.6.1-sidebar/init.h +--- mutt-1.6.1/init.h 2016-06-12 18:43:00.408447684 +0100 ++++ mutt-1.6.1-sidebar/init.h 2016-06-12 18:43:03.960503075 +0100 +@@ -42,11 +42,12 @@ + #define DTYPE(x) ((x) & DT_MASK) + + /* subtypes */ +-#define DT_SUBTYPE_MASK 0xf0 ++#define DT_SUBTYPE_MASK 0xff0 + #define DT_SORT_ALIAS 0x10 + #define DT_SORT_BROWSER 0x20 + #define DT_SORT_KEYS 0x40 + #define DT_SORT_AUX 0x80 ++#define DT_SORT_SIDEBAR 0x100 + + /* flags to parse_set() */ + #define M_SET_INV (1<<0) /* default is to invert all vars */ +@@ -2665,6 +2666,147 @@ + ** Command to use when spawning a subshell. By default, the user's login + ** shell from \fC/etc/passwd\fP is used. */ -+ {"sidebar_delim", DT_STR, R_BOTH, UL &SidebarDelim, "|"}, ++#ifdef USE_SIDEBAR ++ { "sidebar_divider_char", DT_STR, R_BOTH, UL &SidebarDividerChar, UL "|" }, + /* + ** .pp -+ ** This specifies the delimiter between the sidebar (if visible) and -+ ** other screens. ++ ** This specifies the characters to be drawn between the sidebar (when ++ ** visible) and the other Mutt panels. ASCII and Unicode line-drawing ++ ** characters are supported. ++ */ ++ { "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. ++ ** .pp ++ ** Local mail is often arranged in directories: `dir1/dir2/mailbox'. ++ ** .ts ++ ** set sidebar_delim_chars='/' ++ ** .te ++ ** .pp ++ ** IMAP mailboxes are often named: `folder1.folder2.mailbox'. ++ ** .ts ++ ** set sidebar_delim_chars='.' ++ ** .te ++ ** .pp ++ ** \fBSee also:\fP $$sidebar_short_path, $$sidebar_folder_indent, $$sidebar_indent_string. ++ */ ++ { "sidebar_folder_indent", DT_BOOL, R_BOTH, OPTSIDEBARFOLDERINDENT, 0 }, ++ /* ++ ** .pp ++ ** Set this to indent mailboxes in the sidebar. ++ ** .pp ++ ** \fBSee also:\fP $$sidebar_short_path, $$sidebar_indent_string, $$sidebar_delim_chars. ++ */ ++ { "sidebar_format", DT_STR, R_NONE, UL &SidebarFormat, UL "%B%?F? [%F]?%* %?N?%N/?%S" }, ++ /* ++ ** .pp ++ ** This variable allows you to customize the sidebar display. This string is ++ ** similar to $$index_format, but has its own set of \fCprintf(3)\fP-like ++ ** sequences: ++ ** .dl ++ ** .dt %B .dd Name of the mailbox ++ ** .dt %S .dd * Size of mailbox (total number of messages) ++ ** .dt %N .dd * Number of New messages in the mailbox ++ ** .dt %F .dd * Number of Flagged messages in the mailbox ++ ** .dt %! .dd ``!'' : one flagged message; ++ ** ``!!'' : two flagged messages; ++ ** ``n!'' : n flagged messages (for n > 2). ++ ** Otherwise prints nothing. ++ ** .dt %d .dd * @ Number of deleted messages ++ ** .dt %L .dd * @ Number of messages after limiting ++ ** .dt %t .dd * @ Number of tagged messages ++ ** .dt %>X .dd right justify the rest of the string and pad with ``X'' ++ ** .dt %|X .dd pad to the end of the line with ``X'' ++ ** .dt %*X .dd soft-fill with character ``X'' as pad ++ ** .de ++ ** .pp ++ ** * = Can be optionally printed if nonzero ++ ** @ = Only applicable to the current folder ++ */ ++ { "sidebar_indent_string", DT_STR, R_BOTH, UL &SidebarIndentString, UL " " }, ++ /* ++ ** .pp ++ ** This specifies the string that is used to indent mailboxes in the sidebar. ++ ** It defaults to two spaces. ++ ** .pp ++ ** \fBSee also:\fP $$sidebar_short_path, $$sidebar_folder_indent, $$sidebar_delim_chars. ++ */ ++ { "sidebar_new_mail_only", DT_BOOL, R_BOTH, OPTSIDEBARNEWMAILONLY, 0 }, ++ /* ++ ** .pp ++ ** When set, the sidebar will only display mailboxes containing new, or ++ ** flagged, mail. ++ ** .pp ++ ** \fBSee also:\fP $sidebar_whitelist. ++ */ ++ { "sidebar_next_new_wrap", DT_BOOL, R_BOTH, UL OPTSIDEBARNEXTNEWWRAP, 0 }, ++ /* ++ ** .pp ++ ** When set, the \fC\fP command will not stop and the end of ++ ** the list of mailboxes, but wrap around to the beginning. The ++ ** \fC\fP command is similarly affected, wrapping around to ++ ** the end of the list. ++ */ ++ { "sidebar_refresh_time", DT_NUM, R_BOTH, UL &SidebarRefreshTime, 60 }, ++ /* ++ ** .pp ++ ** Set sidebar_refresh_time to the minimum number of seconds between refreshes. ++ ** This will reduce network traffic. ++ ** .pp ++ ** \fBNote:\fP Set to 0 to disable refreshing. ++ */ ++ { "sidebar_short_path", DT_BOOL, R_BOTH, OPTSIDEBARSHORTPATH, 0 }, ++ /* ++ ** .pp ++ ** By default the sidebar will show the mailbox's path, relative to the ++ ** $$folder variable. Setting \fCsidebar_shortpath=yes\fP will shorten the ++ ** names relative to the previous name. Here's an example: ++ ** .dl ++ ** .dt \fBshortpath=no\fP .dd \fBshortpath=yes\fP .dd \fBshortpath=yes, folderindent=yes, indentstr=".."\fP ++ ** .dt \fCfruit\fP .dd \fCfruit\fP .dd \fCfruit\fP ++ ** .dt \fCfruit.apple\fP .dd \fCapple\fP .dd \fC..apple\fP ++ ** .dt \fCfruit.banana\fP .dd \fCbanana\fP .dd \fC..banana\fP ++ ** .dt \fCfruit.cherry\fP .dd \fCcherry\fP .dd \fC..cherry\fP ++ ** .de ++ ** .pp ++ ** \fBSee also:\fP $$sidebar_delim_chars, $$sidebar_folder_indent, $$sidebar_indent_string. ++ */ ++ { "sidebar_sort_method", DT_SORT|DT_SORT_SIDEBAR, R_NONE, UL &SidebarSortMethod, SORT_ORDER }, ++ /* ++ ** .pp ++ ** Specifies how to sort entries in the file browser. By default, the ++ ** entries are sorted alphabetically. Valid values: ++ ** .il ++ ** .dd alpha (alphabetically) ++ ** .dd count (all message count) ++ ** .dd date ++ ** .dd desc (description) ++ ** .dd new (new message count) ++ ** .dd size ++ ** .dd unsorted ++ ** .ie ++ ** .pp ++ ** You may optionally use the ``reverse-'' prefix to specify reverse sorting ++ ** order (example: ``\fCset sort_browser=reverse-date\fP''). + */ + { "sidebar_visible", DT_BOOL, R_BOTH, OPTSIDEBAR, 0 }, + /* + ** .pp -+ ** This specifies whether or not to show sidebar (left-side list of folders). -+ */ -+ { "sidebar_sort", DT_BOOL, R_BOTH, OPTSIDEBARSORT, 0 }, -+ /* ++ ** This specifies whether or not to show sidebar. The sidebar shows a list of ++ ** all your mailboxes. + ** .pp -+ ** This specifies whether or not to sort the sidebar alphabetically. ++ ** \fBSee also:\fP $$sidebar_format, $$sidebar_width + */ + { "sidebar_width", DT_NUM, R_BOTH, UL &SidebarWidth, 0 }, + /* + ** .pp -+ ** The width of the sidebar. ++ ** This controls the width of the sidebar. It is measured in screen columns. ++ ** For example: sidebar_width=20 could display 20 ASCII characters, or 10 ++ ** Chinese characters. + */ - { "pgp_use_gpg_agent", DT_BOOL, R_NONE, OPTUSEGPGAGENT, 0}, ++#endif + { "sig_dashes", DT_BOOL, R_NONE, OPTSIGDASHES, 1 }, /* ** .pp -diff --git a/mailbox.h b/mailbox.h -index 2b2c9a1..000503d 100644 ---- a/mailbox.h -+++ b/mailbox.h -@@ -27,6 +27,7 @@ +@@ -3652,6 +3794,19 @@ + { NULL, 0 } + }; + ++const struct mapping_t SortSidebarMethods[] = { ++ { "alpha", SORT_PATH }, ++ { "count", SORT_COUNT }, ++ { "desc", SORT_DESC }, ++ { "flagged", SORT_FLAGGED }, ++ { "mailbox-order", SORT_ORDER }, ++ { "name", SORT_PATH }, ++ { "new", SORT_COUNT_NEW }, ++ { "path", SORT_PATH }, ++ { "unsorted", SORT_ORDER }, ++ { NULL, 0 } ++}; ++ + + /* functions used to parse commands in a rc file */ + +@@ -3741,6 +3896,9 @@ + { "send-hook", mutt_parse_hook, M_SENDHOOK }, + { "send2-hook", mutt_parse_hook, M_SEND2HOOK }, + { "set", parse_set, 0 }, ++#ifdef USE_SIDEBAR ++ { "sidebar_whitelist",parse_list, UL &SidebarWhitelist }, ++#endif + { "source", parse_source, 0 }, + { "spam", parse_spam_list, M_SPAM }, + { "nospam", parse_spam_list, M_NOSPAM }, +diff -urN mutt-1.6.1/keymap.c mutt-1.6.1-sidebar/keymap.c +--- mutt-1.6.1/keymap.c 2016-06-12 18:43:00.408447684 +0100 ++++ mutt-1.6.1-sidebar/keymap.c 2016-06-12 18:43:03.960503075 +0100 +@@ -453,6 +453,9 @@ + } + #endif + ++ /* update sidebar stats */ ++ mutt_buffy_check(0); ++ + timeout (i * 1000); + tmp = mutt_getch(); + timeout (-1); +diff -urN mutt-1.6.1/mailbox.h mutt-1.6.1-sidebar/mailbox.h +--- mutt-1.6.1/mailbox.h 2016-06-12 18:43:00.408447684 +0100 ++++ mutt-1.6.1-sidebar/mailbox.h 2016-06-12 18:43:03.960503075 +0100 +@@ -27,6 +27,9 @@ #define M_NEWFOLDER (1<<4) /* create a new folder - same as M_APPEND, but uses * safe_fopen() for mbox-style folders. */ ++#ifdef USE_SIDEBAR +#define M_PEEK (1<<5) /* revert atime back after taking a look (if applicable) */ ++#endif /* mx_open_new_message() */ #define M_ADD_FROM (1<<0) /* add a From_ line */ -diff --git a/mbox.c b/mbox.c -index 6d3b6bd..fa82eb3 100644 ---- a/mbox.c -+++ b/mbox.c -@@ -104,6 +104,7 @@ int mmdf_parse_mailbox (CONTEXT *ctx) +diff -urN mutt-1.6.1/main.c mutt-1.6.1-sidebar/main.c +--- mutt-1.6.1/main.c 2016-06-12 18:43:00.409447699 +0100 ++++ mutt-1.6.1-sidebar/main.c 2016-06-12 18:43:03.961503091 +0100 +@@ -31,6 +31,9 @@ + #include "url.h" + #include "mutt_crypt.h" + #include "mutt_idna.h" ++#ifdef USE_SIDEBAR ++#include "sidebar.h" ++#endif + + #ifdef USE_SASL + #include "mutt_sasl.h" +@@ -485,6 +488,12 @@ + "-USE_HCACHE " + #endif + ++#ifdef USE_SIDEBAR ++ "+USE_SIDEBAR " ++#else ++ "-USE_SIDEBAR " ++#endif ++ + ); + + #ifdef ISPELL +@@ -557,7 +566,11 @@ + + int main (int argc, char **argv) + { ++#ifdef USE_SIDEBAR ++ char folder[PATH_MAX] = ""; ++#else + char folder[_POSIX_PATH_MAX] = ""; ++#endif + char *subject = NULL; + char *includeFile = NULL; + char *draftFile = NULL; +@@ -828,6 +841,9 @@ + clear (); + mutt_error = mutt_curses_error; + mutt_message = mutt_curses_message; ++#ifdef USE_SIDEBAR ++ mutt_sb_init(); ++#endif + } + + /* Create the Maildir directory if it doesn't exist. */ +@@ -1184,6 +1200,15 @@ + strfcpy (folder, NONULL(Spoolfile), sizeof (folder)); + mutt_expand_path (folder, sizeof (folder)); + ++#ifdef USE_SIDEBAR ++ { ++ char tmpfolder[PATH_MAX] = ""; ++ strfcpy (tmpfolder, folder, sizeof (tmpfolder)); ++ if (!realpath (tmpfolder, folder)) ++ strfcpy (folder, tmpfolder, sizeof (tmpfolder)); ++ } ++#endif ++ + mutt_str_replace (&CurrentFolder, folder); + mutt_str_replace (&LastFolder, folder); + +@@ -1206,6 +1231,9 @@ + if((Context = mx_open_mailbox (folder, ((flags & M_RO) || option (OPTREADONLY)) ? M_READONLY : 0, NULL)) + || !explicit_folder) + { ++#ifdef USE_SIDEBAR ++ mutt_sb_set_open_buffy (folder); ++#endif + mutt_index_menu (); + if (Context) + FREE (&Context); +diff -urN mutt-1.6.1/Makefile.am mutt-1.6.1-sidebar/Makefile.am +--- mutt-1.6.1/Makefile.am 2016-06-12 18:43:00.389447388 +0100 ++++ mutt-1.6.1-sidebar/Makefile.am 2016-06-12 18:43:03.944502826 +0100 +@@ -56,7 +56,7 @@ + mutt_idna.c mutt_sasl.c mutt_socket.c mutt_ssl.c mutt_ssl_gnutls.c \ + mutt_tunnel.c pgp.c pgpinvoke.c pgpkey.c pgplib.c pgpmicalg.c \ + pgppacket.c pop.c pop_auth.c pop_lib.c remailer.c resize.c sha1.c \ +- smime.c smtp.c utf8.c wcwidth.c \ ++ sidebar.c smime.c smtp.c utf8.c wcwidth.c \ + bcache.h browser.h hcache.h mbyte.h mutt_idna.h remailer.h url.h + + EXTRA_DIST = COPYRIGHT GPL OPS OPS.PGP OPS.CRYPT OPS.SMIME TODO UPDATING \ +@@ -71,7 +71,7 @@ + mbyte.h lib.h extlib.c pgpewrap.c smime_keys.pl pgplib.h \ + README.SSL smime.h group.h \ + muttbug pgppacket.h depcomp ascii.h BEWARE PATCHES patchlist.sh \ +- ChangeLog mkchangelog.sh mutt_idna.h \ ++ ChangeLog mkchangelog.sh mutt_idna.h sidebar.h OPS.sidebar \ + snprintf.c regex.c crypt-gpgme.h hcachever.sh.in sys_socket.h \ + txt2c.c txt2c.sh version.sh check_sec.sh + +@@ -129,9 +129,9 @@ + keymap_defs.h: $(OPS) $(srcdir)/gen_defs + $(srcdir)/gen_defs $(OPS) > keymap_defs.h + +-keymap_alldefs.h: $(srcdir)/OPS $(srcdir)/OPS.PGP $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME $(srcdir)/gen_defs ++keymap_alldefs.h: $(srcdir)/OPS $(srcdir)/OPS.SIDEBAR $(srcdir)/OPS.PGP $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME $(srcdir)/gen_defs + rm -f $@ +- $(srcdir)/gen_defs $(srcdir)/OPS $(srcdir)/OPS.PGP \ ++ $(srcdir)/gen_defs $(srcdir)/OPS $(srcdir)/OPS.SIDEBAR $(srcdir)/OPS.PGP \ + $(srcdir)/OPS.MIX $(srcdir)/OPS.CRYPT $(srcdir)/OPS.SMIME \ + > keymap_alldefs.h + +diff -urN mutt-1.6.1/mbox.c mutt-1.6.1-sidebar/mbox.c +--- mutt-1.6.1/mbox.c 2016-06-12 18:43:00.409447699 +0100 ++++ mutt-1.6.1-sidebar/mbox.c 2016-06-12 18:43:03.961503091 +0100 +@@ -100,6 +100,9 @@ mutt_perror (ctx->path); return (-1); } ++#ifdef USE_SIDEBAR + ctx->atime = sb.st_atime; ++#endif ctx->mtime = sb.st_mtime; ctx->size = sb.st_size; -@@ -255,6 +256,7 @@ int mbox_parse_mailbox (CONTEXT *ctx) +@@ -251,6 +254,9 @@ ctx->size = sb.st_size; ctx->mtime = sb.st_mtime; ++#ifdef USE_SIDEBAR + ctx->atime = sb.st_atime; ++#endif #ifdef NFS_ATTRIBUTE_HACK if (sb.st_mtime > sb.st_atime) -diff --git a/menu.c b/menu.c -index 27b5f8e..bc3a02f 100644 ---- a/menu.c -+++ b/menu.c -@@ -24,6 +24,7 @@ +diff -urN mutt-1.6.1/menu.c mutt-1.6.1-sidebar/menu.c +--- mutt-1.6.1/menu.c 2016-06-12 18:43:00.409447699 +0100 ++++ mutt-1.6.1-sidebar/menu.c 2016-06-12 18:43:03.961503091 +0100 +@@ -24,6 +24,9 @@ #include "mutt_curses.h" #include "mutt_menu.h" #include "mbyte.h" ++#ifdef USE_SIDEBAR +#include "sidebar.h" ++#endif - extern size_t UngetCount; + char* SearchBuffers[MENU_MAX]; -@@ -186,7 +187,7 @@ static void menu_pad_string (char *s, size_t n) +@@ -184,7 +187,7 @@ { char *scratch = safe_strdup (s); int shift = option (OPTARROWCURSOR) ? 3 : 0; @@ -702,15 +2575,17 @@ index 27b5f8e..bc3a02f 100644 mutt_format_string (s, n, cols, cols, FMT_LEFT, ' ', scratch, mutt_strlen (scratch), 1); s[n - 1] = 0; -@@ -239,6 +240,7 @@ void menu_redraw_index (MUTTMENU *menu) +@@ -237,6 +240,9 @@ int do_color; int attr; -+ draw_sidebar(1); ++#ifdef USE_SIDEBAR ++ mutt_sb_draw(); ++#endif for (i = menu->top; i < menu->top + menu->pagelen; i++) { if (i < menu->max) -@@ -249,7 +251,7 @@ void menu_redraw_index (MUTTMENU *menu) +@@ -247,7 +253,7 @@ menu_pad_string (buf, sizeof (buf)); ATTRSET(attr); @@ -719,16 +2594,19 @@ index 27b5f8e..bc3a02f 100644 do_color = 1; if (i == menu->current) -@@ -272,7 +274,7 @@ void menu_redraw_index (MUTTMENU *menu) +@@ -270,7 +276,11 @@ else { NORMAL_COLOR; -- CLEARLINE(i - menu->top + menu->offset); ++#ifdef USE_SIDEBAR + CLEARLINE_WIN(i - menu->top + menu->offset); ++#else + CLEARLINE(i - menu->top + menu->offset); ++#endif } } NORMAL_COLOR; -@@ -289,7 +291,7 @@ void menu_redraw_motion (MUTTMENU *menu) +@@ -287,7 +297,7 @@ return; } @@ -737,7 +2615,7 @@ index 27b5f8e..bc3a02f 100644 ATTRSET(menu->color (menu->oldcurrent)); if (option (OPTARROWCURSOR)) -@@ -301,13 +303,13 @@ void menu_redraw_motion (MUTTMENU *menu) +@@ -299,13 +309,13 @@ { menu_make_entry (buf, sizeof (buf), menu, menu->oldcurrent); menu_pad_string (buf, sizeof (buf)); @@ -753,7 +2631,7 @@ index 27b5f8e..bc3a02f 100644 } else { -@@ -320,7 +322,7 @@ void menu_redraw_motion (MUTTMENU *menu) +@@ -318,7 +328,7 @@ menu_make_entry (buf, sizeof (buf), menu, menu->current); menu_pad_string (buf, sizeof (buf)); SETCOLOR(MT_COLOR_INDICATOR); @@ -762,7 +2640,7 @@ index 27b5f8e..bc3a02f 100644 print_enriched_string (menu->color(menu->current), (unsigned char *) buf, 0); } menu->redraw &= REDRAW_STATUS; -@@ -332,7 +334,7 @@ void menu_redraw_current (MUTTMENU *menu) +@@ -330,7 +340,7 @@ char buf[LONG_STRING]; int attr = menu->color (menu->current); @@ -771,7 +2649,7 @@ index 27b5f8e..bc3a02f 100644 menu_make_entry (buf, sizeof (buf), menu, menu->current); menu_pad_string (buf, sizeof (buf)); -@@ -881,7 +883,7 @@ int mutt_menuLoop (MUTTMENU *menu) +@@ -873,7 +883,7 @@ if (option (OPTARROWCURSOR)) @@ -780,160 +2658,207 @@ index 27b5f8e..bc3a02f 100644 else if (option (OPTBRAILLEFRIENDLY)) move (menu->current - menu->top + menu->offset, 0); else -diff --git a/mh.c b/mh.c -index 63e12d2..4a84a99 100644 ---- a/mh.c -+++ b/mh.c -@@ -295,6 +295,28 @@ void mh_buffy(BUFFY *b) +diff -urN mutt-1.6.1/mh.c mutt-1.6.1-sidebar/mh.c +--- mutt-1.6.1/mh.c 2016-06-12 18:43:00.410447715 +0100 ++++ mutt-1.6.1-sidebar/mh.c 2016-06-12 18:43:03.962503107 +0100 +@@ -295,6 +295,48 @@ mhs_free_sequences (&mhs); } -+void mh_buffy_update (const char *path, int *msgcount, int *msg_unread, int *msg_flagged) ++#ifdef USE_SIDEBAR ++/** ++ * mh_buffy_update - Update messages counts for an mh mailbox ++ * @mailbox: BUFFY representing a maildir mailbox ++ * ++ * Read through an mh mailbox and count messages. Save the number of new, ++ * flagged messages and a timestamp for now. ++ */ ++void ++mh_buffy_update (BUFFY *mailbox) +{ + int i; + struct mh_sequences mhs; -+ memset (&mhs, 0, sizeof (mhs)); + -+ if (mh_read_sequences (&mhs, path) < 0) ++ if (!mailbox) + return; + -+ msgcount = 0; -+ msg_unread = 0; -+ msg_flagged = 0; ++ if (!option (OPTSIDEBAR)) ++ return; ++ ++ memset (&mhs, 0, sizeof (mhs)); ++ ++ if (mh_read_sequences (&mhs, mailbox->path) < 0) ++ return; ++ ++ mailbox->msg_count = 0; ++ mailbox->msg_unread = 0; ++ mailbox->msg_flagged = 0; ++ + for (i = 0; i <= mhs.max; i++) -+ msgcount++; -+ if (mhs_check (&mhs, i) & MH_SEQ_UNSEEN) { -+ msg_unread++; ++ { ++ mailbox->msg_count++; ++ if (mhs_check (&mhs, i) & MH_SEQ_UNSEEN) ++ mailbox->msg_unread++; ++ if (mhs_check (&mhs, i) & MH_SEQ_FLAGGED) ++ mailbox->msg_flagged++; + } -+ if (mhs_check (&mhs, i) & MH_SEQ_FLAGGED) -+ msg_flagged++; + mhs_free_sequences (&mhs); ++ mailbox->sb_last_checked = time (NULL); +} ++#endif + static int mh_mkstemp (CONTEXT * dest, FILE ** fp, char **tgt) { int fd; -diff --git a/mutt.h b/mutt.h -index 01d47de..5f25406 100644 ---- a/mutt.h -+++ b/mutt.h -@@ -435,6 +435,8 @@ enum - OPTSAVEEMPTY, - OPTSAVENAME, - OPTSCORE, -+ OPTSIDEBAR, -+ OPTSIDEBARSORT, - OPTSIGDASHES, - OPTSIGONTOP, - OPTSORTRE, -@@ -880,6 +882,7 @@ typedef struct _context - { - char *path; - FILE *fp; -+ time_t atime; - time_t mtime; - off_t size; - off_t vsize; -@@ -920,6 +923,7 @@ typedef struct _context - unsigned int quiet : 1; /* inhibit status messages? */ - unsigned int collapsed : 1; /* are all threads collapsed? */ - unsigned int closing : 1; /* mailbox is being closed */ -+ unsigned int peekonly : 1; /* just taking a glance, revert atime */ - - /* driver hooks */ - void *data; /* driver specific data */ -diff --git a/mutt_curses.h b/mutt_curses.h -index f8bc47c..ef9884e 100644 ---- a/mutt_curses.h -+++ b/mutt_curses.h -@@ -64,6 +64,7 @@ +diff -urN mutt-1.6.1/mutt_curses.h mutt-1.6.1-sidebar/mutt_curses.h +--- mutt-1.6.1/mutt_curses.h 2016-06-12 18:43:00.410447715 +0100 ++++ mutt-1.6.1-sidebar/mutt_curses.h 2016-06-12 18:43:03.962503107 +0100 +@@ -64,6 +64,9 @@ #undef lines #endif /* lines */ -+#define CLEARLINE_WIN(x) move(x,SidebarWidth), clrtoeol() ++#ifdef USE_SIDEBAR ++#define CLEARLINE_WIN(x) move (x,SidebarWidth), clrtoeol() ++#endif #define CLEARLINE(x) move(x,0), clrtoeol() #define CENTERLINE(x,y) move(y, (COLS-strlen(x))/2), addstr(x) #define BEEP() do { if (option (OPTBEEP)) beep(); } while (0) -@@ -121,6 +122,8 @@ enum +@@ -124,6 +127,14 @@ MT_COLOR_UNDERLINE, MT_COLOR_INDEX, MT_COLOR_PROMPT, -+ MT_COLOR_NEW, ++#ifdef USE_SIDEBAR ++ MT_COLOR_DIVIDER, + MT_COLOR_FLAGGED, ++ MT_COLOR_HIGHLIGHT, ++ MT_COLOR_NEW, ++ MT_COLOR_SB_INDICATOR, ++ MT_COLOR_SB_SPOOLFILE, ++#endif MT_COLOR_MAX }; -diff --git a/muttlib.c b/muttlib.c -index c1d565f..039e7c3 100644 ---- a/muttlib.c -+++ b/muttlib.c -@@ -1279,6 +1279,8 @@ void mutt_FormatString (char *dest, /* output buffer */ +@@ -163,12 +174,16 @@ + + static inline int mutt_term_width(short wrap) + { ++ int cols = COLS; ++#ifdef USE_SIDEBAR ++ cols -= SidebarWidth; ++#endif + if (wrap < 0) +- return COLS > -wrap ? COLS + wrap : COLS; ++ return cols > -wrap ? cols + wrap : cols; + else if (wrap) +- return wrap < COLS ? wrap : COLS; ++ return wrap < cols ? wrap : cols; + else +- return COLS; ++ return cols; + } + + extern int *ColorQuote; +diff -urN mutt-1.6.1/mutt.h mutt-1.6.1-sidebar/mutt.h +--- mutt-1.6.1/mutt.h 2016-06-12 18:43:00.410447715 +0100 ++++ mutt-1.6.1-sidebar/mutt.h 2016-06-12 18:43:03.962503107 +0100 +@@ -428,6 +428,13 @@ + OPTSAVEEMPTY, + OPTSAVENAME, + OPTSCORE, ++#ifdef USE_SIDEBAR ++ OPTSIDEBAR, ++ OPTSIDEBARFOLDERINDENT, ++ OPTSIDEBARNEWMAILONLY, ++ OPTSIDEBARNEXTNEWWRAP, ++ OPTSIDEBARSHORTPATH, ++#endif + OPTSIGDASHES, + OPTSIGONTOP, + OPTSORTRE, +@@ -872,6 +879,9 @@ + { + char *path; + FILE *fp; ++#ifdef USE_SIDEBAR ++ time_t atime; ++#endif + time_t mtime; + off_t size; + off_t vsize; +@@ -906,6 +916,9 @@ + unsigned int quiet : 1; /* inhibit status messages? */ + unsigned int collapsed : 1; /* are all threads collapsed? */ + unsigned int closing : 1; /* mailbox is being closed */ ++#ifdef USE_SIDEBAR ++ unsigned int peekonly : 1; /* just taking a glance, revert atime */ ++#endif + + /* driver hooks */ + void *data; /* driver specific data */ +diff -urN mutt-1.6.1/muttlib.c mutt-1.6.1-sidebar/muttlib.c +--- mutt-1.6.1/muttlib.c 2016-06-12 18:43:00.411447731 +0100 ++++ mutt-1.6.1-sidebar/muttlib.c 2016-06-12 18:43:03.963503122 +0100 +@@ -1282,7 +1282,7 @@ pl = pw = 1; /* see if there's room to add content, else ignore */ -+ if ( DrawFullLine ) -+ { - if ((col < COLS && wlen < destlen) || soft) +- if ((col < COLS && wlen < destlen) || soft) ++ if ((col < (COLS - SidebarWidth) && (wlen < destlen)) || soft) { int pad; -@@ -1322,6 +1324,52 @@ void mutt_FormatString (char *dest, /* output buffer */ - col += wid; - src += pl; - } -+ } -+ else -+ { -+ if ((col < COLS-SidebarWidth && wlen < destlen) || soft) -+ { -+ int pad; -+ -+ /* get contents after padding */ -+ mutt_FormatString (buf, sizeof (buf), 0, src + pl, callback, data, flags); -+ len = mutt_strlen (buf); -+ wid = mutt_strwidth (buf); -+ -+ /* try to consume as many columns as we can, if we don't have -+ * memory for that, use as much memory as possible */ + +@@ -1293,7 +1293,7 @@ + + /* try to consume as many columns as we can, if we don't have + * memory for that, use as much memory as possible */ +- pad = (COLS - col - wid) / pw; + pad = (COLS - SidebarWidth - col - wid) / pw; -+ if (pad > 0 && wlen + (pad * pl) + len > destlen) -+ pad = ((signed)(destlen - wlen - len)) / pl; -+ if (pad > 0) -+ { -+ while (pad--) -+ { -+ memcpy (wptr, src, pl); -+ wptr += pl; -+ wlen += pl; -+ col += pw; -+ } -+ } -+ else if (soft && pad < 0) -+ { -+ /* \0-terminate dest for length computation in mutt_wstr_trunc() */ -+ *wptr = 0; -+ /* make sure right part is at most as wide as display */ -+ len = mutt_wstr_trunc (buf, destlen, COLS, &wid); -+ /* truncate left so that right part fits completely in */ -+ wlen = mutt_wstr_trunc (dest, destlen - len, col + pad, &col); -+ wptr = dest + wlen; -+ } -+ if (len + wlen > destlen) + if (pad > 0 && wlen + (pad * pl) + len > destlen) + pad = ((signed)(destlen - wlen - len)) / pl; + if (pad > 0) +@@ -1312,13 +1312,13 @@ + /* \0-terminate dest for length computation in mutt_wstr_trunc() */ + *wptr = 0; + /* make sure right part is at most as wide as display */ +- len = mutt_wstr_trunc (buf, destlen, COLS-offset, &wid); ++ len = mutt_wstr_trunc (buf, destlen, COLS - offset - SidebarWidth, &wid); + /* truncate left so that right part fits completely in */ + wlen = mutt_wstr_trunc (dest, destlen - len, col + pad*pw -offset, &col); + wptr = dest + wlen; + } + if (len + wlen > destlen) +- len = mutt_wstr_trunc (buf, destlen - wlen, COLS - col, NULL); + len = mutt_wstr_trunc (buf, destlen - wlen, COLS - SidebarWidth - col, NULL); -+ memcpy (wptr, buf, len); -+ wptr += len; -+ wlen += len; -+ col += wid; -+ src += pl; -+ } -+ } - break; /* skip rest of input */ - } - else if (ch == '|') -diff --git a/mx.c b/mx.c -index 0a1a80e..e80b8ff 100644 ---- a/mx.c -+++ b/mx.c -@@ -595,6 +595,7 @@ static int mx_open_mailbox_append (CONTEXT *ctx, int flags) + memcpy (wptr, buf, len); + wptr += len; + wlen += len; +diff -urN mutt-1.6.1/mutt_menu.h mutt-1.6.1-sidebar/mutt_menu.h +--- mutt-1.6.1/mutt_menu.h 2016-06-12 18:43:00.410447715 +0100 ++++ mutt-1.6.1-sidebar/mutt_menu.h 2016-06-12 18:43:03.962503107 +0100 +@@ -34,6 +34,9 @@ + #define REDRAW_FULL (1<<5) + #define REDRAW_BODY (1<<6) + #define REDRAW_SIGWINCH (1<<7) ++#ifdef USE_SIDEBAR ++#define REDRAW_SIDEBAR (1<<8) ++#endif + + #define M_MODEFMT "-- Mutt: %s" + +diff -urN mutt-1.6.1/mx.c mutt-1.6.1-sidebar/mx.c +--- mutt-1.6.1/mx.c 2016-06-12 18:43:00.411447731 +0100 ++++ mutt-1.6.1-sidebar/mx.c 2016-06-12 18:43:03.963503122 +0100 +@@ -29,6 +29,9 @@ + #include "copy.h" + #include "keymap.h" + #include "url.h" ++#ifdef USE_SIDEBAR ++#include "sidebar.h" ++#endif + + #ifdef USE_IMAP + #include "imap.h" +@@ -580,6 +583,7 @@ * M_APPEND open mailbox for appending * M_READONLY open mailbox in read-only mode * M_QUIET only print error messages @@ -941,70 +2866,128 @@ index 0a1a80e..e80b8ff 100644 * ctx if non-null, context struct to use */ CONTEXT *mx_open_mailbox (const char *path, int flags, CONTEXT *pctx) -@@ -617,6 +618,8 @@ CONTEXT *mx_open_mailbox (const char *path, int flags, CONTEXT *pctx) +@@ -602,6 +606,10 @@ ctx->quiet = 1; if (flags & M_READONLY) ctx->readonly = 1; ++#ifdef USE_SIDEBAR + if (flags & M_PEEK) + ctx->peekonly = 1; ++#endif if (flags & (M_APPEND|M_NEWFOLDER)) { -@@ -721,9 +724,21 @@ CONTEXT *mx_open_mailbox (const char *path, int flags, CONTEXT *pctx) - void mx_fastclose_mailbox (CONTEXT *ctx) - { - int i; -+#ifndef BUFFY_SIZE -+ struct utimbuf ut; -+#endif - +@@ -705,8 +713,21 @@ if(!ctx) return; -+#ifndef BUFFY_SIZE + ++#ifdef USE_SIDEBAR + /* fix up the times so buffy won't get confused */ -+ if (ctx->peekonly && ctx->path && ctx->mtime > ctx->atime) -+ { -+ ut.actime = ctx->atime; ++ struct utimbuf ut; ++ if (ctx->peekonly && ctx->path && (ctx->mtime > ctx->atime)) { ++ ut.actime = ctx->atime; + ut.modtime = ctx->mtime; -+ utime (ctx->path, &ut); ++ utime (ctx->path, &ut); + } +#endif - ++ /* never announce that a mailbox we've just left has new mail. #3290 * XXX: really belongs in mx_close_mailbox, but this is a nice hook point */ -diff --git a/mx.h b/mx.h -index 2ef4ec7..4aabadf 100644 ---- a/mx.h -+++ b/mx.h -@@ -60,6 +60,7 @@ void mbox_reset_atime (CONTEXT *, struct stat *); ++#ifdef USE_SIDEBAR ++ if (!ctx->peekonly) ++#endif + mutt_buffy_setnotified(ctx->path); + + if (ctx->mx_close) +@@ -812,6 +833,12 @@ + if (!ctx->hdrs[i]->deleted && ctx->hdrs[i]->read + && !(ctx->hdrs[i]->flagged && option (OPTKEEPFLAGGED))) + read_msgs++; ++#ifdef USE_SIDEBAR ++ if (ctx->hdrs[i]->deleted && !ctx->hdrs[i]->read) ++ ctx->unread--; ++ if (ctx->hdrs[i]->deleted && ctx->hdrs[i]->flagged) ++ ctx->flagged--; ++#endif + } + + if (read_msgs && quadoption (OPT_MOVE) != M_NO) +@@ -981,6 +1008,11 @@ + !mutt_is_spool(ctx->path) && !option (OPTSAVEEMPTY)) + mx_unlink_empty (ctx->path); + ++#ifdef USE_SIDEBAR ++ ctx->msgcount -= ctx->deleted; ++ mutt_sb_set_buffystats (ctx); ++#endif ++ + mx_fastclose_mailbox (ctx); + + return 0; +diff -urN mutt-1.6.1/mx.h mutt-1.6.1-sidebar/mx.h +--- mutt-1.6.1/mx.h 2016-06-12 18:43:00.411447731 +0100 ++++ mutt-1.6.1-sidebar/mx.h 2016-06-12 18:43:03.963503122 +0100 +@@ -26,6 +26,7 @@ + #define _MX_H + + #include "mailbox.h" ++#include "buffy.h" + + /* supported mailbox formats */ + enum +@@ -57,6 +58,9 @@ int mh_read_dir (CONTEXT *, const char *); int mh_sync_mailbox (CONTEXT *, int *); int mh_check_mailbox (CONTEXT *, int *); -+void mh_buffy_update (const char *, int *, int *, int *); ++#ifdef USE_SIDEBAR ++void mh_buffy_update (BUFFY *mailbox); ++#endif int mh_check_empty (const char *); int maildir_read_dir (CONTEXT *); -diff --git a/pager.c b/pager.c -index c99f1e4..5cfcb75 100644 ---- a/pager.c -+++ b/pager.c -@@ -29,6 +29,7 @@ +diff -urN mutt-1.6.1/OPS.SIDEBAR mutt-1.6.1-sidebar/OPS.SIDEBAR +--- mutt-1.6.1/OPS.SIDEBAR 1970-01-01 01:00:00.000000000 +0100 ++++ mutt-1.6.1-sidebar/OPS.SIDEBAR 2016-06-12 18:43:03.944502826 +0100 +@@ -0,0 +1,8 @@ ++OP_SIDEBAR_NEXT "Move the highlight to next mailbox" ++OP_SIDEBAR_NEXT_NEW "Move the highlight to next mailbox with new mail" ++OP_SIDEBAR_OPEN "Open highlighted mailbox" ++OP_SIDEBAR_PAGE_DOWN "Scroll the Sidebar down 1 page" ++OP_SIDEBAR_PAGE_UP "Scroll the Sidebar up 1 page" ++OP_SIDEBAR_PREV "Move the highlight to previous mailbox" ++OP_SIDEBAR_PREV_NEW "Move the highlight to previous mailbox with new mail" ++OP_SIDEBAR_TOGGLE_VISIBLE "Make the Sidebar (in)visible" +diff -urN mutt-1.6.1/pager.c mutt-1.6.1-sidebar/pager.c +--- mutt-1.6.1/pager.c 2016-06-12 18:43:00.412447746 +0100 ++++ mutt-1.6.1-sidebar/pager.c 2016-06-12 18:43:03.964503138 +0100 +@@ -29,6 +29,9 @@ #include "pager.h" #include "attach.h" #include "mbyte.h" ++#ifdef USE_SIDEBAR +#include "sidebar.h" ++#endif #include "mutt_crypt.h" -@@ -1095,6 +1096,7 @@ static int format_line (struct line_t **lineInfo, int n, unsigned char *buf, - wchar_t wc; - mbstate_t mbstate; - int wrap_cols = mutt_term_width ((flags & M_PAGER_NOWRAP) ? 0 : Wrap); -+ wrap_cols -= SidebarWidth; +@@ -1491,7 +1494,7 @@ + * a newline (grr!). + */ + #ifndef USE_SLANG_CURSES +- if (col < COLS) ++ if (col < (COLS - SidebarWidth)) + #endif + addch ('\n'); - if (check_attachment_marker ((char *)buf) == 0) - wrap_cols = COLS; -@@ -1746,7 +1748,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t *extra) +@@ -1573,6 +1576,7 @@ + + int bodyoffset = 1; /* offset of first line of real text */ + int statusoffset = 0; /* offset for the status bar */ ++ int statuswidth = COLS; + int helpoffset = LINES - 2; /* offset for the help bar. */ + int bodylen = LINES - 2 - bodyoffset; /* length of displayable area */ + +@@ -1747,7 +1751,7 @@ if ((redraw & REDRAW_BODY) || topline != oldtopline) { do { @@ -1013,465 +2996,1455 @@ index c99f1e4..5cfcb75 100644 curline = oldtopline = topline; lines = 0; force_redraw = 0; -@@ -1759,6 +1761,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t *extra) +@@ -1760,6 +1764,9 @@ &QuoteList, &q_level, &force_redraw, &SearchRE) > 0) lines++; curline++; -+ move(lines + bodyoffset, SidebarWidth); ++#ifdef USE_SIDEBAR ++ move (lines + bodyoffset, SidebarWidth); ++#endif } last_offset = lineInfo[curline].offset; } while (force_redraw); -@@ -1771,6 +1774,7 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t *extra) +@@ -1772,6 +1779,9 @@ addch ('~'); addch ('\n'); lines++; -+ move(lines + bodyoffset, SidebarWidth); ++#ifdef USE_SIDEBAR ++ move (lines + bodyoffset, SidebarWidth); ++#endif } NORMAL_COLOR; -@@ -1794,22 +1798,22 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t *extra) +@@ -1789,29 +1799,49 @@ + hfi.ctx = Context; + hfi.pager_progress = pager_progress_str; + ++#ifdef USE_SIDEBAR ++ statuswidth = COLS; ++ if (option (OPTSTATUSONTOP) && (PagerIndexLines > 0)) ++ statuswidth -= SidebarWidth; ++#endif ++ + if (last_pos < sb.st_size - 1) + snprintf(pager_progress_str, sizeof(pager_progress_str), OFF_T_FMT "%%", (100 * last_offset / sb.st_size)); + else strfcpy(pager_progress_str, (topline == 0) ? "all" : "end", sizeof(pager_progress_str)); /* print out the pager status bar */ - move (statusoffset, 0); + move (statusoffset, SidebarWidth); SETCOLOR (MT_COLOR_STATUS); ++#ifdef USE_SIDEBAR ++ short sw = SidebarWidth; ++ if (option (OPTSTATUSONTOP) && PagerIndexLines > 0) { ++ CLEARLINE_WIN (statusoffset); ++ } else { ++ CLEARLINE (statusoffset); ++ /* Temporarily lie about the sidebar width */ ++ SidebarWidth = 0; ++ } ++#endif if (IsHeader (extra) || IsMsgAttach (extra)) { - size_t l1 = COLS * MB_LEN_MAX; -+ size_t l1 = (COLS-SidebarWidth) * MB_LEN_MAX; ++ size_t l1 = statuswidth * MB_LEN_MAX; size_t l2 = sizeof (buffer); hfi.hdr = (IsHeader (extra)) ? extra->hdr : extra->bdy->hdr; mutt_make_string_info (buffer, l1 < l2 ? l1 : l2, NONULL (PagerFmt), &hfi, M_FORMAT_MAKEPRINT); - mutt_paddstr (COLS, buffer); -+ mutt_paddstr (COLS-SidebarWidth, buffer); ++ mutt_paddstr (statuswidth, buffer); } else { char bn[STRING]; snprintf (bn, sizeof (bn), "%s (%s)", banner, pager_progress_str); - mutt_paddstr (COLS, bn); -+ mutt_paddstr (COLS-SidebarWidth, bn); ++ mutt_paddstr (statuswidth, bn); } ++#ifdef USE_SIDEBAR ++ if (!option (OPTSTATUSONTOP) || PagerIndexLines == 0) ++ SidebarWidth = sw; /* Restore the sidebar width */ ++#endif NORMAL_COLOR; if (option(OPTTSENABLED) && TSSupported) -@@ -1826,16 +1830,21 @@ mutt_pager (const char *banner, const char *fname, int flags, pager_t *extra) + { +@@ -1827,16 +1857,26 @@ /* redraw the pager_index indicator, because the * flags for this message might have changed. */ menu_redraw_current (index); -+ draw_sidebar(MENU_PAGER); ++#ifdef USE_SIDEBAR ++ mutt_sb_draw(); ++#endif /* print out the index status bar */ menu_status_line (buffer, sizeof (buffer), index, NONULL(Status)); - move (indexoffset + (option (OPTSTATUSONTOP) ? 0 : (indexlen - 1)), 0); -+ move (indexoffset + (option (OPTSTATUSONTOP) ? 0 : (indexlen - 1)), SidebarWidth); ++ move (indexoffset + (option (OPTSTATUSONTOP) ? 0 : (indexlen - 1)), ++ (option(OPTSTATUSONTOP) ? 0: SidebarWidth)); SETCOLOR (MT_COLOR_STATUS); - mutt_paddstr (COLS, buffer); -+ mutt_paddstr (COLS-SidebarWidth, buffer); ++ mutt_paddstr (COLS - (option(OPTSTATUSONTOP) ? 0 : SidebarWidth), buffer); NORMAL_COLOR; } ++#ifdef USE_SIDEBAR + /* if we're not using the index, update every time */ -+ if ( index == 0 ) -+ draw_sidebar(MENU_PAGER); ++ if (index == 0) ++ mutt_sb_draw(); ++#endif + redraw = 0; if (option(OPTBRAILLEFRIENDLY)) { -@@ -2776,6 +2785,13 @@ search_next: +@@ -2498,8 +2538,12 @@ + ch = 0; + } + +- if (option (OPTFORCEREDRAWPAGER)) ++ if (option (OPTFORCEREDRAWPAGER)) { + redraw = REDRAW_FULL; ++#ifdef USE_SIDEBAR ++ mutt_sb_draw(); ++#endif ++ } + unset_option (OPTFORCEREDRAWINDEX); + unset_option (OPTFORCEREDRAWPAGER); + break; +@@ -2777,6 +2821,22 @@ mutt_what_key (); break; -+ case OP_SIDEBAR_SCROLL_UP: -+ case OP_SIDEBAR_SCROLL_DOWN: ++#ifdef USE_SIDEBAR + case OP_SIDEBAR_NEXT: ++ case OP_SIDEBAR_NEXT_NEW: ++ case OP_SIDEBAR_PAGE_DOWN: ++ case OP_SIDEBAR_PAGE_UP: + case OP_SIDEBAR_PREV: -+ scroll_sidebar(ch, MENU_PAGER); -+ break; ++ case OP_SIDEBAR_PREV_NEW: ++ mutt_sb_change_mailbox (ch); ++ break; ++ ++ case OP_SIDEBAR_TOGGLE_VISIBLE: ++ toggle_option (OPTSIDEBAR); ++ redraw = REDRAW_FULL; ++ break; ++#endif + default: ch = -1; break; -diff --git a/sidebar.c b/sidebar.c -new file mode 100644 -index 0000000..6098c2a ---- /dev/null -+++ b/sidebar.c -@@ -0,0 +1,333 @@ -+/* -+ * Copyright (C) ????-2004 Justin Hibbits +diff -urN mutt-1.6.1/PATCHES mutt-1.6.1-sidebar/PATCHES +--- mutt-1.6.1/PATCHES 2016-06-12 18:43:00.395447481 +0100 ++++ mutt-1.6.1-sidebar/PATCHES 2016-06-12 18:43:03.949502904 +0100 +@@ -0,0 +1 @@ ++patch-sidebar-neo-20160612 +diff -urN mutt-1.6.1/README.sidebar mutt-1.6.1-sidebar/README.sidebar +--- mutt-1.6.1/README.sidebar 1970-01-01 01:00:00.000000000 +0100 ++++ mutt-1.6.1-sidebar/README.sidebar 2016-06-12 18:43:03.792500456 +0100 +@@ -0,0 +1,145 @@ ++Sidebar Patch ++============= ++ ++ Overview of mailboxes ++ ++ NOTES: ++ ++ If you haven't used the sidebar before, you might like to read the ++ Sidebar Introduction: ++ ++ http://www.neomutt.org/sidebar-intro.html ++ ++ If you have used an older version of the Sidebar, please note that some ++ of the configuration has changed. ++ ++ http://www.neomutt.org/sidebar-intro.html#intro-sidebar-config-changes ++ ++Patch ++----- ++ ++ To check if Mutt supports "Sidebar", look for "+USE_SIDEBAR" in the mutt ++ version. ++ ++ Dependencies ++ * mutt-1.6.1 ++ ++Introduction ++------------ ++ ++ The Sidebar shows a list of all your mailboxes. The list can be turned on ++ and off, it can be themed and the list style can be configured. ++ ++ This part of the manual is a reference guide. If you want a simple ++ introduction with examples see the Sidebar Howto. If you just want to get ++ started, you could use the sample Sidebar muttrc. ++ ++ This version of Sidebar is based on Terry Chan's [2015-11-11 ++ release](http://www.lunar-linux.org/mutt-sidebar/). It contains many new ++ features, lots of bugfixes. ++ ++Variables ++--------- ++ ++ Sidebar Variables ++ ++ | Name | Type | Default | ++ |-------------------------|---------|-----------------------------| ++ | 'sidebar_delim_chars' | string | '/.' | ++ | 'sidebar_divider_char' | string | '|' | ++ | 'sidebar_folder_indent' | boolean | 'no' | ++ | 'sidebar_format' | string | '%B%?F? [%F]?%* %?N?%N/?%S' | ++ | 'sidebar_indent_string' | string | '  ' (two spaces) | ++ | 'sidebar_new_mail_only' | boolean | 'no' | ++ | 'sidebar_next_new_wrap' | boolean | 'no' | ++ | 'sidebar_refresh_time' | number | '60' | ++ | 'sidebar_short_path' | boolean | 'no' | ++ | 'sidebar_sort_method' | enum | 'SORT_ORDER' | ++ | 'sidebar_visible' | boolean | 'no' | ++ | 'sidebar_whitelist' | list | (empty) | ++ | 'sidebar_width' | number | '20' | ++ ++Functions ++--------- ++ ++ Sidebar Functions ++ ++ Sidebar adds the following functions to Mutt. By default, none of them are ++ bound to keys. ++ ++ | Menus | Function | Description | ++ |-------------|----------------------------|------------------------------------------------------| ++ | index,pager | '' | Move the highlight to next mailbox | ++ | index,pager | '' | Move the highlight to next mailbox with new mail | ++ | index,pager | '' | Open highlighted mailbox | ++ | index,pager | '' | Scroll the Sidebar down 1 page | ++ | index,pager | '' | Scroll the Sidebar up 1 page | ++ | index,pager | '' | Move the highlight to previous mailbox | ++ | index,pager | '' | Move the highlight to previous mailbox with new mail | ++ | index,pager | '' | Make the Sidebar (in)visible | ++ ++Commands ++-------- ++ ++ sidebar_whitelist mailbox [ mailbox... ] ++ ++Colors ++------ ++ ++ Sidebar Colors ++ ++ | Name | Default Color | Description | ++ |---------------------|------------------|------------------------------------------------------------------| ++ | 'sidebar_divider' | default | The dividing line between the Sidebar and the Index/Pager panels | ++ | 'sidebar_flagged' | default | Mailboxes containing flagged mail | ++ | 'sidebar_highlight' | underline | Cursor to select a mailbox | ++ | 'sidebar_indicator' | mutt 'indicator' | The mailbox open in the Index panel | ++ | 'sidebar_new' | default | Mailboxes containing new mail | ++ | 'sidebar_spoolfile' | default | Mailbox that receives incoming mail | ++ ++ If the sidebar_indicator color isn't set, then the default Mutt indicator ++ color will be used (the color used in the index panel). ++ ++Sort ++---- ++ ++ Sidebar Sort ++ ++ | Sort | Description | ++ |------------|----------------------------| ++ | 'alpha' | Alphabetically by path | ++ | 'count' | Total number of messages | ++ | 'flagged' | Number of flagged messages | ++ | 'name' | Alphabetically by path | ++ | 'new' | Number of new messages | ++ | 'path' | Alphabetically by path | ++ | 'unsorted' | Do not resort the paths | ++ ++See Also ++-------- ++ ++ * Regular Expressions ++ * Patterns ++ * Color command ++ * notmuch patch ++ ++Known Bugs ++---------- ++ ++ Unsorted isn't ++ ++Credits ++------- ++ ++ * Justin Hibbits ++ * Thomer M. Gil ++ * David Sterba ++ * Evgeni Golov ++ * Fabian Groffen ++ * Jason DeTiberus ++ * Stefan Assmann ++ * Steve Kemp ++ * Terry Chan ++ * Tyler Earnest ++ * Richard Russon ++ +diff -urN mutt-1.6.1/sidebar.c mutt-1.6.1-sidebar/sidebar.c +--- mutt-1.6.1/sidebar.c 1970-01-01 01:00:00.000000000 +0100 ++++ mutt-1.6.1-sidebar/sidebar.c 2016-06-14 18:46:00.000000000 +0100 +@@ -0,0 +1,1090 @@ ++/* Copyright (C) 2004 Justin Hibbits + * Copyright (C) 2004 Thomer M. Gil -+ * ++ * Copyright (C) 2015-2016 Richard Russon ++ * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. -+ * ++ * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. -+ * ++ * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. -+ */ -+ ++ */ + +#if HAVE_CONFIG_H +# include "config.h" +#endif + +#include "mutt.h" -+#include "mutt_menu.h" -+#include "mutt_curses.h" -+#include "sidebar.h" +#include "buffy.h" -+#include +#include "keymap.h" -+#include ++#include "mutt_curses.h" ++#include "mutt_menu.h" ++#include "sort.h" + -+/*BUFFY *CurBuffy = 0;*/ -+static BUFFY *TopBuffy = 0; -+static BUFFY *BottomBuffy = 0; -+static int known_lines = 0; ++/* Previous values for some sidebar config */ ++static short OldVisible; /* sidebar_visible */ ++static short OldWidth; /* sidebar_width */ ++static short PreviousSort; /* sidebar_sort_method */ ++static time_t LastRefresh; /* Time of last refresh */ + -+static int quick_log10(int n) ++/* Keep track of various BUFFYs */ ++static BUFFY *TopBuffy; /* First mailbox visible in sidebar */ ++static BUFFY *OpnBuffy; /* Current (open) mailbox */ ++static BUFFY *HilBuffy; /* Highlighted mailbox */ ++static BUFFY *BotBuffy; /* Last mailbox visible in sidebar */ ++static BUFFY *Outgoing; /* Last mailbox in the linked list */ ++ ++/** ++ * struct sidebar_entry - Info about folders in the sidebar ++ * ++ * Used in the mutt_FormatString callback ++ */ ++struct sidebar_entry +{ -+ char string[32]; -+ sprintf(string, "%d", n); -+ return strlen(string); ++ char box[STRING]; ++ BUFFY *buffy; ++}; ++ ++ ++/** ++ * find_next_new - Find the next folder that contains new mail ++ * @wrap: Wrap around to the beginning if the end is reached ++ * ++ * Search down the list of mail folders for one containing new mail. ++ * ++ * Returns: ++ * BUFFY*: Success ++ * NULL: Failure ++ */ ++static BUFFY *find_next_new (int wrap) ++{ ++ BUFFY *b = HilBuffy; ++ if (!b) ++ return NULL; ++ ++ do ++ { ++ b = b->next; ++ if (!b && wrap) ++ b = Incoming; ++ if (!b || (b == HilBuffy)) ++ break; ++ if (b->msg_unread > 0) ++ return b; ++ } while (b); ++ ++ return NULL; +} + -+void calc_boundaries (int menu) ++/** ++ * find_prev_new - Find the previous folder that contains new mail ++ * @wrap: Wrap around to the beginning if the end is reached ++ * ++ * Search up the list of mail folders for one containing new mail. ++ * ++ * Returns: ++ * BUFFY*: Success ++ * NULL: Failure ++ */ ++static BUFFY *find_prev_new (int wrap) +{ -+ BUFFY *tmp = Incoming; ++ BUFFY *b = HilBuffy; ++ if (!b) ++ return NULL; + -+ if ( known_lines != LINES ) { -+ TopBuffy = BottomBuffy = 0; -+ known_lines = LINES; -+ } -+ for ( ; tmp->next != 0; tmp = tmp->next ) -+ tmp->next->prev = tmp; ++ do ++ { ++ b = b->prev; ++ if (!b && wrap) ++ b = Outgoing; ++ if (!b || (b == HilBuffy)) ++ break; ++ if (b->msg_unread > 0) ++ return b; ++ } while (b); + -+ if ( TopBuffy == 0 && BottomBuffy == 0 ) -+ TopBuffy = Incoming; -+ if ( BottomBuffy == 0 ) { -+ int count = LINES - 2 - (menu != MENU_PAGER || option(OPTSTATUSONTOP)); -+ BottomBuffy = TopBuffy; -+ while ( --count && BottomBuffy->next ) -+ BottomBuffy = BottomBuffy->next; -+ } -+ else if ( TopBuffy == CurBuffy->next ) { -+ int count = LINES - 2 - (menu != MENU_PAGER); -+ BottomBuffy = CurBuffy; -+ tmp = BottomBuffy; -+ while ( --count && tmp->prev) -+ tmp = tmp->prev; -+ TopBuffy = tmp; -+ } -+ else if ( BottomBuffy == CurBuffy->prev ) { -+ int count = LINES - 2 - (menu != MENU_PAGER); -+ TopBuffy = CurBuffy; -+ tmp = TopBuffy; -+ while ( --count && tmp->next ) -+ tmp = tmp->next; -+ BottomBuffy = tmp; -+ } ++ return NULL; +} + -+char *make_sidebar_entry(char *box, int size, int new, int flagged) ++/** ++ * cb_format_str - Create the string to show in the sidebar ++ * @dest: Buffer in which to save string ++ * @destlen: Buffer length ++ * @col: Starting column, UNUSED ++ * @op: printf-like operator, e.g. 'B' ++ * @src: printf-like format string ++ * @prefix: Field formatting string, UNUSED ++ * @ifstring: If condition is met, display this string ++ * @elsestring: Otherwise, display this string ++ * @data: Pointer to our sidebar_entry ++ * @flags: Format flags, e.g. M_FORMAT_OPTIONAL ++ * ++ * cb_format_str is a callback function for mutt_FormatString. It understands ++ * five operators. '%B' : Mailbox name, '%F' : Number of flagged messages, ++ * '%N' : Number of new messages, '%S' : Size (total number of messages), ++ * '%!' : Icon denoting number of flagged messages. ++ * ++ * Returns: src (unchanged) ++ */ ++static const char *cb_format_str(char *dest, size_t destlen, size_t col, char op, ++ const char *src, const char *prefix, const char *ifstring, ++ const char *elsestring, unsigned long data, format_flag flags) +{ -+ static char *entry = 0; -+ char *c; -+ int i = 0; -+ int delim_len = strlen(SidebarDelim); ++ struct sidebar_entry *sbe = (struct sidebar_entry *) data; ++ unsigned int optional; ++ char fmt[STRING]; + -+ 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 (!sbe || !dest) ++ return src; + -+ 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; ++ dest[0] = 0; /* Just in case there's nothing to do */ ++ ++ BUFFY *b = sbe->buffy; ++ if (!b) ++ return src; ++ ++ int c = Context && (mutt_strcmp (Context->path, b->path) == 0); ++ ++ optional = flags & M_FORMAT_OPTIONAL; ++ ++ switch (op) ++ { ++ case 'B': ++ mutt_format_s (dest, destlen, prefix, sbe->box); ++ break; ++ ++ case 'd': ++ if (!optional) ++ { ++ snprintf (fmt, sizeof (fmt), "%%%sd", prefix); ++ snprintf (dest, destlen, fmt, c ? Context->deleted : 0); ++ } ++ else if ((c && Context->deleted == 0) || !c) ++ optional = 0; ++ break; ++ ++ case 'F': ++ if (!optional) ++ { ++ snprintf (fmt, sizeof (fmt), "%%%sd", prefix); ++ snprintf (dest, destlen, fmt, b->msg_flagged); ++ } ++ else if (b->msg_flagged == 0) ++ optional = 0; ++ break; ++ ++ case 'L': ++ if (!optional) ++ { ++ snprintf (fmt, sizeof (fmt), "%%%sd", prefix); ++ snprintf (dest, destlen, fmt, c ? Context->vcount : b->msg_count); ++ } ++ else if ((c && Context->vcount == b->msg_count) || !c) ++ optional = 0; ++ break; ++ ++ case 'N': ++ if (!optional) ++ { ++ snprintf (fmt, sizeof (fmt), "%%%sd", prefix); ++ snprintf (dest, destlen, fmt, b->msg_unread); ++ } ++ else if (b->msg_unread == 0) ++ optional = 0; ++ break; ++ ++ case 'S': ++ if (!optional) ++ { ++ snprintf (fmt, sizeof (fmt), "%%%sd", prefix); ++ snprintf (dest, destlen, fmt, b->msg_count); ++ } ++ else if (b->msg_count == 0) ++ optional = 0; ++ break; ++ ++ case 't': ++ if (!optional) ++ { ++ snprintf (fmt, sizeof (fmt), "%%%sd", prefix); ++ snprintf (dest, destlen, fmt, c ? Context->tagged : 0); ++ } ++ else if ((c && Context->tagged == 0) || !c) ++ optional = 0; ++ break; ++ ++ case '!': ++ if (b->msg_flagged == 0) ++ mutt_format_s (dest, destlen, prefix, ""); ++ else if (b->msg_flagged == 1) ++ mutt_format_s (dest, destlen, prefix, "!"); ++ else if (b->msg_flagged == 2) ++ mutt_format_s (dest, destlen, prefix, "!!"); ++ else ++ { ++ snprintf (fmt, sizeof (fmt), "%d!", b->msg_flagged); ++ mutt_format_s (dest, destlen, prefix, fmt); ++ } ++ break; ++ } ++ ++ if (optional) ++ mutt_FormatString (dest, destlen, col, ifstring, cb_format_str, (unsigned long) sbe, flags); ++ else if (flags & M_FORMAT_OPTIONAL) ++ mutt_FormatString (dest, destlen, col, elsestring, cb_format_str, (unsigned long) sbe, flags); ++ ++ /* We return the format string, unchanged */ ++ return src; +} + -+void set_curbuffy(char buf[LONG_STRING]) ++/** ++ * make_sidebar_entry - Turn mailbox data into a sidebar string ++ * @buf: Buffer in which to save string ++ * @buflen: Buffer length ++ * @width: Desired width in screen cells ++ * @box: Mailbox name ++ * @size: Size (total number of messages) ++ * @new: Number of new messages ++ * @flagged: Number of flagged messages ++ * ++ * Take all the relevant mailbox data and the desired screen width and then get ++ * mutt_FormatString to do the actual work. mutt_FormatString will callback to ++ * us using cb_format_str() for the sidebar specific formatting characters. ++ */ ++static void make_sidebar_entry (char *buf, unsigned int buflen, int width, char *box, ++ BUFFY *b) +{ -+ BUFFY* tmp = CurBuffy = Incoming; ++ struct sidebar_entry sbe; + -+ if (!Incoming) ++ if (!buf || !box || !b) + return; + -+ while(1) { -+ if(!strcmp(tmp->path, buf)) { -+ CurBuffy = tmp; -+ break; -+ } ++ sbe.buffy = b; ++ strfcpy (sbe.box, box, sizeof (sbe.box)); + -+ if(tmp->next) -+ tmp = tmp->next; -+ else -+ break; ++ /* Temporarily lie about the screen width */ ++ int oc = COLS; ++ COLS = width + SidebarWidth; ++ mutt_FormatString (buf, buflen, 0, NONULL(SidebarFormat), cb_format_str, (unsigned long) &sbe, 0); ++ COLS = oc; ++ ++ /* Force string to be exactly the right width */ ++ int w = mutt_strwidth (buf); ++ int s = strlen (buf); ++ width = MIN(buflen, width); ++ if (w < width) ++ { ++ /* Pad with spaces */ ++ memset (buf + s, ' ', width - w); ++ buf[s + width - w] = 0; ++ } ++ else if (w > width) ++ { ++ /* Truncate to fit */ ++ int len = mutt_wstr_trunc (buf, buflen, width, NULL); ++ buf[len] = 0; + } +} + -+int draw_sidebar(int menu) { ++/** ++ * cb_qsort_buffy - qsort callback to sort BUFFYs ++ * @a: First BUFFY to compare ++ * @b: Second BUFFY to compare ++ * ++ * Compare the paths of two BUFFYs taking the locale into account. ++ * ++ * Returns: ++ * -1: a precedes b ++ * 0: a and b are identical ++ * 1: b precedes a ++ */ ++static int cb_qsort_buffy (const void *a, const void *b) ++{ ++ const BUFFY *b1 = *(const BUFFY **) a; ++ const BUFFY *b2 = *(const BUFFY **) b; + -+ int lines = option(OPTHELP) ? 1 : 0; -+ BUFFY *tmp; -+#ifndef USE_SLANG_CURSES -+ attr_t attrs; -+#endif -+ short delim_len = strlen(SidebarDelim); -+ short color_pair; ++ /* Special case -- move hidden BUFFYs to the end */ ++ if (b1->is_hidden != b2->is_hidden) ++ { ++ if (b1->is_hidden) ++ return 1; ++ else ++ return -1; ++ } + -+ static bool initialized = false; -+ static int prev_show_value; -+ static short saveSidebarWidth; ++ int result = 0; + -+ /* initialize first time */ -+ if(!initialized) { -+ prev_show_value = option(OPTSIDEBAR); -+ saveSidebarWidth = SidebarWidth; -+ if(!option(OPTSIDEBAR)) SidebarWidth = 0; -+ initialized = true; -+ } ++ switch ((SidebarSortMethod & SORT_MASK)) ++ { ++ case SORT_COUNT: ++ result = (b2->msg_count - b1->msg_count); ++ break; ++ case SORT_COUNT_NEW: ++ result = (b2->msg_unread - b1->msg_unread); ++ break; ++ case SORT_FLAGGED: ++ result = (b2->msg_flagged - b1->msg_flagged); ++ break; ++ case SORT_PATH: ++ result = mutt_strcasecmp (b1->path, b2->path); ++ break; ++ } + -+ /* save or restore the value SidebarWidth */ -+ if(prev_show_value != option(OPTSIDEBAR)) { -+ if(prev_show_value && !option(OPTSIDEBAR)) { -+ saveSidebarWidth = SidebarWidth; -+ SidebarWidth = 0; -+ } else if(!prev_show_value && option(OPTSIDEBAR)) { -+ SidebarWidth = saveSidebarWidth; -+ } -+ prev_show_value = option(OPTSIDEBAR); -+ } ++ if (SidebarSortMethod & SORT_REVERSE) ++ result = -result; + ++ return result; ++} + -+// if ( SidebarWidth == 0 ) return 0; -+ if (SidebarWidth > 0 && option (OPTSIDEBAR) -+ && delim_len >= SidebarWidth) { -+ unset_option (OPTSIDEBAR); -+ /* saveSidebarWidth = SidebarWidth; */ -+ if (saveSidebarWidth > delim_len) { -+ SidebarWidth = saveSidebarWidth; -+ mutt_error (_("Value for sidebar_delim is too long. Disabling sidebar.")); -+ sleep (2); -+ } else { -+ SidebarWidth = 0; -+ mutt_error (_("Value for sidebar_delim is too long. Disabling sidebar. Please set your sidebar_width to a sane value.")); -+ sleep (4); /* the advise to set a sane value should be seen long enough */ -+ } -+ saveSidebarWidth = 0; -+ return (0); -+ } ++/** ++ * buffy_going - Prevent our pointers becoming invalid ++ * @b: BUFFY about to be deleted ++ * ++ * If we receive a delete-notification for a BUFFY, we need to change any ++ * pointers we have to reference a different BUFFY, or set them to NULL. ++ * ++ * We don't update the prev/next pointers, they'll be fixed on the next ++ * call to prepare_sidebar(). ++ * ++ * Returns: ++ * A valid alternative BUFFY, or NULL ++ */ ++static BUFFY *buffy_going (const BUFFY *b) ++{ ++ if (!b) ++ return NULL; + -+ if ( SidebarWidth == 0 || !option(OPTSIDEBAR)) { -+ if (SidebarWidth > 0) { -+ saveSidebarWidth = SidebarWidth; -+ SidebarWidth = 0; -+ } -+ unset_option(OPTSIDEBAR); -+ return 0; ++ if (b->prev) ++ { ++ b->prev->next = NULL; ++ } ++ ++ if (b->next) ++ { ++ b->next->prev = NULL; ++ return b->next; ++ } ++ ++ return b->prev; ++} ++ ++/** ++ * update_buffy_visibility - Should a BUFFY be displayed in the sidebar ++ * @arr: array of BUFFYs ++ * @arr_len: number of BUFFYs in array ++ * ++ * For each BUFFY in the array, check whether we should display it. ++ * This is determined by several criteria. If the BUFFY: ++ * is the currently open mailbox ++ * is the currently highlighted mailbox ++ * has unread messages ++ * has flagged messages ++ * is whitelisted ++ */ ++static void update_buffy_visibility (BUFFY **arr, int arr_len) ++{ ++ if (!arr) ++ return; ++ ++ short new_only = option (OPTSIDEBARNEWMAILONLY); ++ ++ BUFFY *b; ++ int i; ++ for (i = 0; i < arr_len; i++) ++ { ++ b = arr[i]; ++ ++ b->is_hidden = 0; ++ ++ if (!new_only) ++ continue; ++ ++ if ((b == OpnBuffy) || (b->msg_unread > 0) || ++ (b == HilBuffy) || (b->msg_flagged > 0)) ++ continue; ++ ++ if (Context && (strcmp (b->path, Context->path) == 0)) ++ /* Spool directory */ ++ continue; ++ ++ if (mutt_find_list (SidebarWhitelist, b->path)) ++ /* Explicitly asked to be visible */ ++ continue; ++ ++ b->is_hidden = 1; ++ } ++} ++ ++/** ++ * sort_buffy_array - Sort an array of BUFFY pointers ++ * @arr: array of BUFFYs ++ * @arr_len: number of BUFFYs in array ++ * ++ * Sort an array of BUFFY pointers according to the current sort config ++ * option "sidebar_sort_method". This calls qsort to do the work which calls our ++ * callback function "cb_qsort_buffy". ++ * ++ * Once sorted, the prev/next links will be reconstructed. ++ */ ++static void sort_buffy_array (BUFFY **arr, int arr_len) ++{ ++ if (!arr) ++ return; ++ ++ /* These are the only sort methods we understand */ ++ short ssm = (SidebarSortMethod & SORT_MASK); ++ if ((ssm == SORT_COUNT) || ++ (ssm == SORT_COUNT_NEW) || ++ (ssm == SORT_DESC) || ++ (ssm == SORT_FLAGGED) || ++ (ssm == SORT_PATH)) ++ qsort (arr, arr_len, sizeof (*arr), cb_qsort_buffy); ++ ++ int i; ++ for (i = 0; i < (arr_len - 1); i++) ++ arr[i]->next = arr[i + 1]; ++ arr[arr_len - 1]->next = NULL; ++ ++ for (i = 1; i < arr_len; i++) ++ arr[i]->prev = arr[i - 1]; ++ arr[0]->prev = NULL; ++} ++ ++/** ++ * prepare_sidebar - Prepare the list of BUFFYs for the sidebar display ++ * @page_size: The number of lines on a page ++ * ++ * Before painting the sidebar, we count the BUFFYs, determine which are ++ * visible, sort them and set up our page pointers. ++ * ++ * This is a lot of work to do each refresh, but there are many things that ++ * can change outside of the sidebar that we don't hear about. ++ * ++ * Returns: ++ * 0: No, don't draw the sidebar ++ * 1: Yes, draw the sidebar ++ */ ++static int prepare_sidebar (int page_size) ++{ ++ BUFFY *b = Incoming; ++ if (!b) ++ return 0; ++ ++ int count = 0; ++ for (; b; b = b->next) ++ count++; ++ ++ BUFFY **arr = safe_malloc (count * sizeof (*arr)); ++ ++ int i = 0; ++ for (b = Incoming; b; b = b->next, i++) ++ arr[i] = b; ++ ++ update_buffy_visibility (arr, count); ++ sort_buffy_array (arr, count); ++ ++ Incoming = arr[0]; ++ ++ int top_index = 0; ++ int opn_index = -1; ++ int hil_index = -1; ++ int bot_index = -1; ++ ++ for (i = 0; i < count; i++) ++ { ++ if (OpnBuffy == arr[i]) ++ opn_index = i; ++ if (HilBuffy == arr[i]) ++ hil_index = i; ++ } ++ ++ if (!HilBuffy || (SidebarSortMethod != PreviousSort)) ++ { ++ if (OpnBuffy) ++ { ++ HilBuffy = OpnBuffy; ++ hil_index = opn_index; ++ } ++ else ++ { ++ HilBuffy = arr[0]; ++ hil_index = 0; ++ } ++ } ++ if (TopBuffy) ++ top_index = (hil_index / page_size) * page_size; ++ else ++ top_index = hil_index; ++ TopBuffy = arr[top_index]; ++ ++ bot_index = top_index + page_size - 1; ++ if (bot_index > (count - 1)) ++ bot_index = count - 1; ++ BotBuffy = arr[bot_index]; ++ ++ Outgoing = arr[count - 1]; ++ ++ PreviousSort = SidebarSortMethod; ++ FREE (&arr); ++ return 1; ++} ++ ++/** ++ * visible - Should we display the sidebar? ++ * ++ * After validating the config options "sidebar_visible" and "sidebar_width", ++ * determine whether we should should display the sidebar. ++ * ++ * When not visible, set the global SidebarWidth to 0. ++ * ++ * Returns: ++ * Boolean ++ */ ++static short ++visible (void) ++{ ++ short new_visible = option (OPTSIDEBAR); ++ short new_width = SidebarWidth; ++ ++ if (OldWidth != new_width) ++ { ++ if (new_width > 0) ++ { ++ OldWidth = new_width; ++ } ++ } ++ ++ if (OldVisible != new_visible) ++ { ++ if (new_visible) ++ { ++ set_option (OPTSIDEBAR); ++ } ++ else ++ { ++ unset_option (OPTSIDEBAR); ++ } ++ OldVisible = new_visible; ++ } ++ else if (new_width == 0) ++ { ++ unset_option (OPTSIDEBAR); ++ OldVisible = 0; ++ } ++ ++ if (!option (OPTSIDEBAR)) ++ { ++ SidebarWidth = 0; ++ } ++ else if (new_width == 0) ++ { ++ SidebarWidth = OldWidth; ++ } ++ else ++ { ++ SidebarWidth = new_width; ++ } ++ ++ return new_visible; ++} ++ ++/** ++ * draw_divider - Draw a line between the sidebar and the rest of mutt ++ * @first_row: Screen line to start (0-based) ++ * @num_rows: Number of rows to fill ++ * ++ * Draw a divider using characters from the config option "sidebar_divider_char". ++ * This can be an ASCII or Unicode character. First we calculate this ++ * characters' width in screen columns, then subtract that from the config ++ * option "sidebar_width". ++ * ++ * Returns: ++ * -1: Error: bad character, etc ++ * 0: Error: 0 width character ++ * n: Success: character occupies n screen columns ++ */ ++static int draw_divider (int first_row, int num_rows) ++{ ++ /* Calculate the width of the delimiter in screen cells */ ++ int delim_len = mutt_strwidth (SidebarDividerChar); ++ ++ if (delim_len < 1) ++ return delim_len; ++ ++ if ((SidebarWidth + delim_len) > (COLS + 1)) ++ return 0; ++ ++ if (delim_len > SidebarWidth) ++ return -1; ++ ++ SETCOLOR(MT_COLOR_DIVIDER); ++ ++ int i; ++ for (i = 0; i < num_rows; i++) ++ { ++ move (first_row + i, SidebarWidth - delim_len); ++ addstr (NONULL(SidebarDividerChar)); ++ } ++ ++ return delim_len; ++} ++ ++/** ++ * fill_empty_space - Wipe the remaining Sidebar space ++ * @first_row: Screen line to start (0-based) ++ * @num_rows: Number of rows to fill ++ * @width: Width of the Sidebar (minus the divider) ++ * ++ * Write spaces over the area the sidebar isn't using. ++ */ ++static void fill_empty_space (int first_row, int num_rows, int width) ++{ ++ /* Fill the remaining rows with blank space */ ++ SETCOLOR(MT_COLOR_NORMAL); ++ ++ int r; ++ for (r = 0; r < num_rows; r++) ++ { ++ int i = 0; ++ move (first_row + r, 0); ++ for (; i < width; i++) ++ addch (' '); ++ } ++} ++ ++/** ++ * draw_sidebar - Write out a list of mailboxes, on the left ++ * @first_row: Screen line to start (0-based) ++ * @num_rows: Number of rows to fill ++ * @div_width: Width in screen characters taken by the divider ++ * ++ * Display a list of mailboxes in a panel on the left. What's displayed will ++ * depend on our index markers: TopBuffy, OpnBuffy, HilBuffy, BotBuffy. ++ * On the first run they'll be NULL, so we display the top of Mutt's list ++ * (Incoming). ++ * ++ * TopBuffy - first visible mailbox ++ * BotBuffy - last visible mailbox ++ * OpnBuffy - mailbox shown in Mutt's Index Panel ++ * HilBuffy - Unselected mailbox (the paging follows this) ++ * ++ * The entries are formatted using "sidebar_format" and may be abbreviated: ++ * "sidebar_short_path", indented: "sidebar_folder_indent", ++ * "sidebar_indent_string" and sorted: "sidebar_sort_method". Finally, they're ++ * trimmed to fit the available space. ++ */ ++static void draw_sidebar (int first_row, int num_rows, int div_width) ++{ ++ BUFFY *b = TopBuffy; ++ if (!b) ++ return; ++ ++ int w = MIN(COLS, (SidebarWidth - div_width)); ++ int row = 0; ++ for (b = TopBuffy; b && (row < num_rows); b = b->next) ++ { ++ if (b->is_hidden) ++ continue; ++ ++ if (b == OpnBuffy) ++ { ++ if ((ColorDefs[MT_COLOR_SB_INDICATOR] != 0)) ++ SETCOLOR(MT_COLOR_SB_INDICATOR); ++ else ++ SETCOLOR(MT_COLOR_INDICATOR); ++ } ++ else if (b == HilBuffy) ++ SETCOLOR(MT_COLOR_HIGHLIGHT); ++ else if ((ColorDefs[MT_COLOR_SB_SPOOLFILE] != 0) && ++ (mutt_strcmp (b->path, Spoolfile) == 0)) ++ SETCOLOR(MT_COLOR_SB_SPOOLFILE); ++ else if (b->msg_unread > 0) ++ SETCOLOR(MT_COLOR_NEW); ++ else if (b->msg_flagged > 0) ++ SETCOLOR(MT_COLOR_FLAGGED); ++ else ++ SETCOLOR(MT_COLOR_NORMAL); ++ ++ move (first_row + row, 0); ++ if (Context && Context->path && ++ (!strcmp (b->path, Context->path)|| ++ !strcmp (b->realpath, Context->path))) ++ { ++ b->msg_unread = Context->unread; ++ b->msg_count = Context->msgcount; ++ b->msg_flagged = Context->flagged; + } + -+ /* get attributes for divider */ -+ SETCOLOR(MT_COLOR_STATUS); -+#ifndef USE_SLANG_CURSES -+ attr_get(&attrs, &color_pair, 0); -+#else -+ color_pair = attr_get(); -+#endif -+ SETCOLOR(MT_COLOR_NORMAL); ++ /* compute length of Maildir without trailing separator */ ++ size_t maildirlen = strlen (Maildir); ++ if (SidebarDelimChars && strchr (SidebarDelimChars, Maildir[maildirlen - 1])) ++ maildirlen--; + -+ /* draw the divider */ ++ /* check whether Maildir is a prefix of the current folder's path */ ++ short maildir_is_prefix = 0; ++ if ((strlen (b->path) > maildirlen) && (strncmp (Maildir, b->path, maildirlen) == 0)) ++ maildir_is_prefix = 1; + -+ for ( ; lines < LINES-1-(menu != MENU_PAGER || option(OPTSTATUSONTOP)); lines++ ) { -+ move(lines, SidebarWidth - delim_len); -+ addstr(NONULL(SidebarDelim)); -+#ifndef USE_SLANG_CURSES -+ mvchgat(lines, SidebarWidth - delim_len, delim_len, 0, color_pair, NULL); -+#endif -+ } -+ -+ if ( Incoming == 0 ) return 0; -+ lines = option(OPTHELP) ? 1 : 0; /* go back to the top */ -+ -+ if ( known_lines != LINES || TopBuffy == 0 || BottomBuffy == 0 ) -+ calc_boundaries(menu); -+ if ( CurBuffy == 0 ) CurBuffy = Incoming; -+ -+ tmp = TopBuffy; -+ -+ SETCOLOR(MT_COLOR_NORMAL); -+ -+ for ( ; tmp && lines < LINES-1 - (menu != MENU_PAGER || option(OPTSTATUSONTOP)); tmp = tmp->next ) { -+ if ( tmp == CurBuffy ) -+ SETCOLOR(MT_COLOR_INDICATOR); -+ else if ( tmp->msg_unread > 0 ) -+ SETCOLOR(MT_COLOR_NEW); -+ else if ( tmp->msg_flagged > 0 ) -+ SETCOLOR(MT_COLOR_FLAGGED); -+ else -+ SETCOLOR(MT_COLOR_NORMAL); -+ -+ move( lines, 0 ); -+ if ( Context && !strcmp( tmp->path, Context->path ) ) { -+ tmp->msg_unread = Context->unread; -+ tmp->msgcount = Context->msgcount; -+ tmp->msg_flagged = Context->flagged; -+ } -+ // check whether Maildir is a prefix of the current folder's path -+ short maildir_is_prefix = 0; -+ if ( (strlen(tmp->path) > strlen(Maildir)) && -+ (strncmp(Maildir, tmp->path, strlen(Maildir)) == 0) ) -+ maildir_is_prefix = 1; -+ // 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); -+ if ( maildir_is_prefix ) { -+ char *tmp_folder_name; -+ int i; -+ 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++; -+ } -+ if (sidebar_folder_depth > 0) { -+ sidebar_folder_name = malloc(strlen(basename(tmp->path)) + 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); -+ } -+ } -+ printw( "%.*s", SidebarWidth - delim_len + 1, -+ make_sidebar_entry(sidebar_folder_name, tmp->msgcount, -+ tmp->msg_unread, tmp->msg_flagged)); -+ if (sidebar_folder_depth > 0) -+ free(sidebar_folder_name); -+ lines++; -+ } -+ SETCOLOR(MT_COLOR_NORMAL); -+ for ( ; lines < LINES-1 - (menu != MENU_PAGER || option(OPTSTATUSONTOP)); lines++ ) { -+ int i = 0; -+ move( lines, 0 ); -+ for ( ; i < SidebarWidth - delim_len; i++ ) -+ addch(' '); -+ } -+ return 0; -+} -+ -+ -+void set_buffystats(CONTEXT* Context) -+{ -+ BUFFY *tmp = Incoming; -+ while(tmp) { -+ if(Context && !strcmp(tmp->path, Context->path)) { -+ tmp->msg_unread = Context->unread; -+ tmp->msgcount = Context->msgcount; -+ break; -+ } -+ tmp = tmp->next; ++ /* calculate depth of current folder and generate its display name with indented spaces */ ++ int sidebar_folder_depth = 0; ++ char *sidebar_folder_name; ++ int i; ++ if (option (OPTSIDEBARSHORTPATH)) ++ { ++ /* disregard a trailing separator, so strlen() - 2 */ ++ sidebar_folder_name = b->path; ++ for (i = strlen (sidebar_folder_name) - 2; i >= 0; i--) ++ { ++ if (SidebarDelimChars && ++ strchr (SidebarDelimChars, sidebar_folder_name[i])) ++ { ++ sidebar_folder_name += (i + 1); ++ break; + } ++ } ++ } ++ else ++ sidebar_folder_name = b->path + maildir_is_prefix * (maildirlen + 1); ++ ++ if (maildir_is_prefix && option (OPTSIDEBARFOLDERINDENT)) ++ { ++ const char *tmp_folder_name; ++ int lastsep = 0; ++ tmp_folder_name = b->path + maildirlen + 1; ++ int tmplen = (int) strlen (tmp_folder_name) - 1; ++ for (i = 0; i < tmplen; i++) ++ { ++ if (SidebarDelimChars && strchr (SidebarDelimChars, tmp_folder_name[i])) ++ { ++ sidebar_folder_depth++; ++ lastsep = i + 1; ++ } ++ } ++ if (sidebar_folder_depth > 0) ++ { ++ if (option (OPTSIDEBARSHORTPATH)) ++ tmp_folder_name += lastsep; /* basename */ ++ sidebar_folder_name = malloc (strlen (tmp_folder_name) + sidebar_folder_depth*strlen (NONULL(SidebarIndentString)) + 1); ++ sidebar_folder_name[0]=0; ++ for (i=0; i < sidebar_folder_depth; i++) ++ strncat (sidebar_folder_name, NONULL(SidebarIndentString), strlen (NONULL(SidebarIndentString))); ++ strncat (sidebar_folder_name, tmp_folder_name, strlen (tmp_folder_name)); ++ } ++ } ++ char str[STRING]; ++ make_sidebar_entry (str, sizeof (str), w, sidebar_folder_name, b); ++ printw ("%s", str); ++ if (sidebar_folder_depth > 0) ++ FREE (&sidebar_folder_name); ++ row++; ++ } ++ ++ fill_empty_space (first_row + row, num_rows - row, w); +} + -+void scroll_sidebar(int op, int menu) ++ ++/** ++ * mutt_sb_init - Set some default values for the sidebar. ++ */ ++void ++mutt_sb_init (void) +{ -+ if(!SidebarWidth) return; -+ if(!CurBuffy) return; -+ -+ switch (op) { -+ case OP_SIDEBAR_NEXT: -+ if ( CurBuffy->next == NULL ) return; -+ CurBuffy = CurBuffy->next; -+ break; -+ case OP_SIDEBAR_PREV: -+ if ( CurBuffy->prev == NULL ) return; -+ CurBuffy = CurBuffy->prev; -+ break; -+ case OP_SIDEBAR_SCROLL_UP: -+ CurBuffy = TopBuffy; -+ if ( CurBuffy != Incoming ) { -+ calc_boundaries(menu); -+ CurBuffy = CurBuffy->prev; -+ } -+ break; -+ case OP_SIDEBAR_SCROLL_DOWN: -+ CurBuffy = BottomBuffy; -+ if ( CurBuffy->next ) { -+ calc_boundaries(menu); -+ CurBuffy = CurBuffy->next; -+ } -+ break; -+ default: -+ return; -+ } -+ calc_boundaries(menu); -+ draw_sidebar(menu); ++ OldVisible = option (OPTSIDEBAR); ++ if (SidebarWidth > 0) ++ { ++ OldWidth = SidebarWidth; ++ } ++ else ++ { ++ OldWidth = 20; ++ if (OldVisible) ++ { ++ SidebarWidth = OldWidth; ++ } ++ } +} + -diff --git a/sidebar.h b/sidebar.h -new file mode 100644 -index 0000000..d195f11 ---- /dev/null -+++ b/sidebar.h ++/** ++ * mutt_sb_draw - Completely redraw the sidebar ++ * ++ * Completely refresh the sidebar region. First draw the divider; then, for ++ * each BUFFY, call make_sidebar_entry; finally blank out any remaining space. ++ */ ++void mutt_sb_draw (void) ++{ ++ if (!visible()) ++ return; ++ ++ /* XXX - if transitioning from invisible to visible */ ++ /* if (OldVisible == 0) */ ++ /* mutt_buffy_check (1); we probably have bad or no numbers */ ++ ++ int x = getcurx (stdscr); ++ int y = getcury (stdscr); ++ ++ int first_row = 0; ++ int num_rows = LINES - 2; ++ ++ if (option (OPTHELP) || option (OPTSTATUSONTOP)) ++ first_row++; ++ ++ if (option (OPTHELP)) ++ num_rows--; ++ ++ int div_width = draw_divider (first_row, num_rows); ++ if (div_width < 0) ++ return; ++ ++ if (!Incoming) ++ { ++ int w = MIN(COLS, (SidebarWidth - div_width)); ++ fill_empty_space (first_row, num_rows, w); ++ return; ++ } ++ ++ if (!prepare_sidebar (num_rows)) ++ return; ++ ++ draw_sidebar (first_row, num_rows, div_width); ++ move (y, x); ++} ++ ++/** ++ * mutt_sb_should_refresh - Check if the sidebar is due to be refreshed ++ * ++ * The "sidebar_refresh_time" config option allows the user to limit the frequency ++ * with which the sidebar is refreshed. ++ * ++ * Returns: ++ * 1 Yes, refresh is due ++ * 0 No, refresh happened recently ++ */ ++int mutt_sb_should_refresh (void) ++{ ++ if (!option (OPTSIDEBAR)) ++ return 0; ++ ++ if (SidebarRefreshTime == 0) ++ return 0; ++ ++ time_t diff = (time (NULL) - LastRefresh); ++ ++ return (diff >= SidebarRefreshTime); ++} ++ ++/** ++ * mutt_sb_change_mailbox - Change the selected mailbox ++ * @op: Operation code ++ * ++ * Change the selected mailbox, e.g. "Next mailbox", "Previous Mailbox ++ * with new mail". The operations are listed OPS.SIDEBAR which is built ++ * into an enum in keymap_defs.h. ++ * ++ * If the operation is successful, HilBuffy will be set to the new mailbox. ++ * This function only *selects* the mailbox, doesn't *open* it. ++ * ++ * Allowed values are: OP_SIDEBAR_NEXT, OP_SIDEBAR_NEXT_NEW, ++ * OP_SIDEBAR_PAGE_DOWN, OP_SIDEBAR_PAGE_UP, OP_SIDEBAR_PREV, ++ * OP_SIDEBAR_PREV_NEW. ++ */ ++void mutt_sb_change_mailbox (int op) ++{ ++ BUFFY *b; ++ if (!HilBuffy) /* It'll get reset on the next draw */ ++ return; ++ ++ switch (op) ++ { ++ case OP_SIDEBAR_NEXT: ++ if (!HilBuffy->next) ++ return; ++ if (HilBuffy->next->is_hidden) ++ return; ++ HilBuffy = HilBuffy->next; ++ break; ++ case OP_SIDEBAR_NEXT_NEW: ++ b = find_next_new (option (OPTSIDEBARNEXTNEWWRAP)); ++ if (!b) ++ return; ++ else ++ HilBuffy = b; ++ break; ++ case OP_SIDEBAR_PAGE_DOWN: ++ HilBuffy = BotBuffy; ++ if (HilBuffy->next) ++ HilBuffy = HilBuffy->next; ++ break; ++ case OP_SIDEBAR_PAGE_UP: ++ HilBuffy = TopBuffy; ++ if (HilBuffy != Incoming) ++ HilBuffy = HilBuffy->prev; ++ break; ++ case OP_SIDEBAR_PREV: ++ if (!HilBuffy->prev) ++ return; ++ if (HilBuffy->prev->is_hidden) /* Can't happen, we've sorted the hidden to the end */ ++ return; ++ HilBuffy = HilBuffy->prev; ++ break; ++ case OP_SIDEBAR_PREV_NEW: ++ b = find_prev_new (option (OPTSIDEBARNEXTNEWWRAP)); ++ if (!b) ++ return; ++ else ++ HilBuffy = b; ++ break; ++ default: ++ return; ++ } ++ ++ /* We can change folder even if the sidebar is hidden */ ++ if (option (OPTSIDEBAR)) ++ mutt_sb_draw(); ++} ++ ++/** ++ * mutt_sb_set_buffystats - Update the BUFFY's message counts from the CONTEXT ++ * @ctx: A mailbox CONTEXT ++ * ++ * Given a mailbox CONTEXT, find a matching mailbox BUFFY and copy the message ++ * counts into it. ++ */ ++void mutt_sb_set_buffystats (const CONTEXT *ctx) ++{ ++ /* Even if the sidebar's hidden, ++ * we should take note of the new data. */ ++ BUFFY *b = Incoming; ++ if (!ctx || !b) ++ return; ++ ++ for (; b; b = b->next) ++ { ++ if (!strcmp (b->path, ctx->path) || ++ !strcmp (b->realpath, ctx->path)) ++ { ++ b->msg_unread = ctx->unread; ++ b->msg_count = ctx->msgcount; ++ b->msg_flagged = ctx->flagged; ++ break; ++ } ++ } ++} ++ ++/** ++ * mutt_sb_get_highlight - Get the BUFFY that's highlighted in the sidebar ++ * ++ * Get the path of the mailbox that's highlighted in the sidebar. ++ * ++ * Returns: ++ * Mailbox path ++ */ ++const char *mutt_sb_get_highlight (void) ++{ ++ if (!HilBuffy) ++ return NULL; ++ ++ return HilBuffy->path; ++} ++ ++/** ++ * mutt_sb_set_open_buffy - Set the OpnBuffy based on a mailbox path ++ * @path: Mailbox path ++ * ++ * Search through the list of mailboxes. If a BUFFY has a matching path, set ++ * OpnBuffy to it. ++ */ ++BUFFY *mutt_sb_set_open_buffy (const char *path) ++{ ++ /* Even if the sidebar is hidden */ ++ ++ BUFFY *b = Incoming; ++ ++ if (!path || !b) ++ return NULL; ++ ++ OpnBuffy = NULL; ++ ++ for (; b; b = b->next) ++ { ++ if (!strcmp (b->path, path) || ++ !strcmp (b->realpath, path)) ++ { ++ OpnBuffy = b; ++ HilBuffy = b; ++ break; ++ } ++ } ++ ++ return OpnBuffy; ++} ++ ++/** ++ * mutt_sb_set_update_time - Note the time that the sidebar was updated ++ * ++ * Update the timestamp representing the last sidebar update. If the user ++ * configures "sidebar_refresh_time", this will help to reduce traffic. ++ */ ++void mutt_sb_set_update_time (void) ++{ ++ /* XXX - should this be public? */ ++ ++ LastRefresh = time (NULL); ++} ++ ++/** ++ * mutt_sb_notify_mailbox - The state of a BUFFY is about to change ++ * ++ * We receive a notification: ++ * After a new BUFFY has been created ++ * Before a BUFFY is deleted ++ * ++ * Before a deletion, check that our pointers won't be invalidated. ++ */ ++void mutt_sb_notify_mailbox (BUFFY *b, int created) ++{ ++ if (!b) ++ return; ++ ++ /* Any new/deleted mailboxes will cause a refresh. As long as ++ * they're valid, our pointers will be updated in prepare_sidebar() */ ++ ++ if (created) ++ { ++ if (!TopBuffy) ++ TopBuffy = b; ++ if (!HilBuffy) ++ HilBuffy = b; ++ if (!BotBuffy) ++ BotBuffy = b; ++ if (!Outgoing) ++ Outgoing = b; ++ if (!OpnBuffy && Context) ++ { ++ /* This might happen if the user "unmailboxes *", then ++ * "mailboxes" our current mailbox back again */ ++ if (mutt_strcmp (b->path, Context->path) == 0) ++ OpnBuffy = b; ++ } ++ } ++ else ++ { ++ BUFFY *replacement = buffy_going (b); ++ if (TopBuffy == b) ++ TopBuffy = replacement; ++ if (OpnBuffy == b) ++ OpnBuffy = NULL; ++ if (HilBuffy == b) ++ HilBuffy = replacement; ++ if (BotBuffy == b) ++ BotBuffy = replacement; ++ if (Outgoing == b) ++ Outgoing = replacement; ++ } ++} +diff -urN mutt-1.6.1/sidebar.h mutt-1.6.1-sidebar/sidebar.h +--- mutt-1.6.1/sidebar.h 1970-01-01 01:00:00.000000000 +0100 ++++ mutt-1.6.1-sidebar/sidebar.h 2016-06-12 18:43:03.967503185 +0100 @@ -0,0 +1,36 @@ -+/* -+ * Copyright (C) ????-2004 Justin Hibbits ++/* Copyright (C) 2004 Justin Hibbits + * Copyright (C) 2004 Thomer M. Gil -+ * ++ * Copyright (C) 2015-2016 Richard Russon ++ * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. -+ * ++ * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. -+ * ++ * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. -+ */ ++ */ + +#ifndef SIDEBAR_H +#define SIDEBAR_H + -+struct MBOX_LIST { -+ char *path; -+ int msgcount; -+ int new; -+} MBLIST; ++#include "mutt.h" ++#include "buffy.h" + -+/* parameter is whether or not to go to the status line */ -+/* used for omitting the last | that covers up the status bar in the index */ -+int draw_sidebar(int); -+void scroll_sidebar(int, int); -+void set_curbuffy(char*); -+void set_buffystats(CONTEXT*); ++void mutt_sb_change_mailbox (int op); ++void mutt_sb_draw (void); ++const char * mutt_sb_get_highlight (void); ++void mutt_sb_init (void); ++void mutt_sb_notify_mailbox (BUFFY *b, int created); ++void mutt_sb_set_buffystats (const CONTEXT *ctx); ++BUFFY * mutt_sb_set_open_buffy (const char *path); ++void mutt_sb_set_update_time (void); ++int mutt_sb_should_refresh (void); + +#endif /* SIDEBAR_H */ +diff -urN mutt-1.6.1/sort.h mutt-1.6.1-sidebar/sort.h +--- mutt-1.6.1/sort.h 2016-06-12 18:43:00.415447793 +0100 ++++ mutt-1.6.1-sidebar/sort.h 2016-06-12 18:43:03.968503200 +0100 +@@ -31,6 +31,12 @@ + #define SORT_KEYID 12 + #define SORT_TRUST 13 + #define SORT_SPAM 14 ++#define SORT_COUNT 15 ++#define SORT_COUNT_NEW 16 ++#define SORT_DESC 17 ++#define SORT_FLAGGED 18 ++#define SORT_PATH 19 ++ + /* dgc: Sort & SortAux are shorts, so I'm bumping these bitflags up from + * bits 4 & 5 to bits 8 & 9 to make room for more sort keys in the future. */ + #define SORT_MASK 0xff +@@ -50,6 +56,7 @@ + WHERE short Sort INITVAL (SORT_DATE); + WHERE short SortAux INITVAL (SORT_DATE); /* auxiliary sorting method */ + WHERE short SortAlias INITVAL (SORT_ALIAS); ++WHERE short SidebarSortMethod INITVAL (SORT_ORDER); + + /* FIXME: This one does not belong to here */ + WHERE short PgpSortKeys INITVAL (SORT_ADDRESS); diff --git a/pkgs/applications/networking/mailreaders/mutt/trash-folder.patch b/pkgs/applications/networking/mailreaders/mutt/trash-folder.patch deleted file mode 100644 index ce47b0c30e5..00000000000 --- a/pkgs/applications/networking/mailreaders/mutt/trash-folder.patch +++ /dev/null @@ -1,316 +0,0 @@ -From: Cedric Duval -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 - -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; - diff --git a/pkgs/applications/networking/mailreaders/mutt/trash.patch b/pkgs/applications/networking/mailreaders/mutt/trash.patch new file mode 100644 index 00000000000..a7bda4c4c8b --- /dev/null +++ b/pkgs/applications/networking/mailreaders/mutt/trash.patch @@ -0,0 +1,797 @@ +diff -urN mutt-1.6.1/commands.c mutt-1.6.1-trash/commands.c +--- mutt-1.6.1/commands.c 2016-06-12 18:43:00.397447512 +0100 ++++ mutt-1.6.1-trash/commands.c 2016-06-12 18:43:04.892517610 +0100 +@@ -720,6 +720,7 @@ + if (option (OPTDELETEUNTAG)) + mutt_set_flag (Context, h, M_TAG, 0); + } ++ mutt_set_flag (Context, h, M_APPENDED, 1); + + return 0; + } +diff -urN mutt-1.6.1/curs_main.c mutt-1.6.1-trash/curs_main.c +--- mutt-1.6.1/curs_main.c 2016-06-12 18:43:00.399447544 +0100 ++++ mutt-1.6.1-trash/curs_main.c 2016-06-12 18:43:04.895517656 +0100 +@@ -1919,6 +1919,7 @@ + MAYBE_REDRAW (menu->redraw); + break; + ++ case OP_PURGE_MESSAGE: + case OP_DELETE: + + CHECK_MSGCOUNT; +@@ -1930,6 +1931,7 @@ + if (tag) + { + mutt_tag_set_flag (M_DELETE, 1); ++ mutt_tag_set_flag (M_PURGED, (op != OP_PURGE_MESSAGE) ? 0 : 1); + if (option (OPTDELETEUNTAG)) + mutt_tag_set_flag (M_TAG, 0); + menu->redraw = REDRAW_INDEX; +@@ -1937,6 +1939,8 @@ + else + { + mutt_set_flag (Context, CURHDR, M_DELETE, 1); ++ mutt_set_flag (Context, CURHDR, M_PURGED, ++ (op != OP_PURGE_MESSAGE) ? 0 : 1); + if (option (OPTDELETEUNTAG)) + mutt_set_flag (Context, CURHDR, M_TAG, 0); + if (option (OPTRESOLVE)) +@@ -2242,11 +2246,13 @@ + if (tag) + { + mutt_tag_set_flag (M_DELETE, 0); ++ mutt_tag_set_flag (M_PURGED, 0); + menu->redraw = REDRAW_INDEX; + } + else + { + mutt_set_flag (Context, CURHDR, M_DELETE, 0); ++ mutt_set_flag (Context, CURHDR, M_PURGED, 0); + if (option (OPTRESOLVE) && menu->current < Context->vcount - 1) + { + menu->current++; +@@ -2268,9 +2274,11 @@ + CHECK_ACL(M_ACL_DELETE, _("Cannot undelete message(s)")); + + rc = mutt_thread_set_flag (CURHDR, M_DELETE, 0, +- op == OP_UNDELETE_THREAD ? 0 : 1); ++ op == OP_UNDELETE_THREAD ? 0 : 1) ++ + mutt_thread_set_flag (CURHDR, M_PURGED, 0, ++ (op == OP_UNDELETE_THREAD) ? 0 : 1); + +- if (rc != -1) ++ if (rc > -1) + { + if (option (OPTRESOLVE)) + { +diff -urN mutt-1.6.1/doc/manual.xml.head mutt-1.6.1-trash/doc/manual.xml.head +--- mutt-1.6.1/doc/manual.xml.head 2016-06-12 18:43:00.402447590 +0100 ++++ mutt-1.6.1-trash/doc/manual.xml.head 2016-06-12 18:43:04.901517750 +0100 +@@ -7467,6 +7467,16 @@ + +
+ ++ ++Mutt Patches ++ ++Mutt may also be patched to support smaller features. ++These patches should add a free-form string to the end Mutt's version string. ++Running mutt -v might show: ++patch-1.6.1.sidebar.20160502 ++ ++ ++ + + URL Syntax + +@@ -8081,6 +8091,175 @@ + + + ++ ++ Trash Folder Patch ++ Automatically move "deleted" emails to a trash bin ++ ++ ++ Patch ++ ++ ++ To check if Mutt supports Trash Folder, look for ++ patch-trash in the mutt version. ++ See: . ++ ++ ++ If IMAP is enabled, this patch will use it ++ ++ ++ Dependencies: ++ mutt-1.6.1 ++ IMAP support ++ ++ ++ This patch is part of the NeoMutt Project. ++ ++ ++ ++ Introduction ++ ++ ++ In Mutt, when you delete an email it is first marked ++ deleted. The email isn't really gone until ++ <sync-mailbox> is called. ++ This happens when the user leaves the folder, or the function is called ++ manually. ++ ++ ++ ++ After <sync-mailbox> has been called the email is gone forever. ++ ++ ++ ++ The $trash variable defines a folder in ++ which to keep old emails. As before, first you mark emails for ++ deletion. When <sync-mailbox> is called the emails are moved to ++ the trash folder. ++ ++ ++ ++ The $trash path can be either a full directory, ++ or be relative to the $folder ++ variable, like the mailboxes command. ++ ++ ++ ++ Emails deleted from the trash folder are gone forever. ++ ++ ++ ++ ++ Variables ++ ++ Trash Variables ++ ++ ++ ++ Name ++ Type ++ Default ++ ++ ++ ++ ++ trash ++ string ++ (none) ++ ++ ++ ++
++
++ ++ ++ Functions ++ ++ Trash Functions ++ ++ ++ ++ Menus ++ Default Key ++ Function ++ Description ++ ++ ++ ++ ++ index,pager ++ (none) ++ <purge-message> ++ really delete the current entry, bypassing the trash folder ++ ++ ++ ++
++
++ ++ ++ ++ ++ Muttrc ++ ++# Example Mutt config file for the 'trash' feature. ++ ++# This feature defines a new 'trash' folder. ++# When mail is deleted it will be moved to this folder. ++ ++# Folder in which to put deleted emails ++set trash='+Trash' ++set trash='/home/flatcap/Mail/Trash' ++ ++# The default delete key 'd' will move an email to the 'trash' folder ++# Bind 'D' to REALLY delete an email ++bind index D purge-message ++ ++# Note: Deleting emails from the 'trash' folder will REALLY delete them. ++ ++# vim: syntax=muttrc ++ ++ ++ ++ ++ See Also ++ ++ ++ NeoMutt Project ++ folder-hook ++ ++ ++ ++ ++ Known Bugs ++ None ++ ++ ++ ++ Credits ++ ++ Cedric Duval cedricduval@free.fr ++ Benjamin Kuperman kuperman@acm.org ++ Paul Miller paul@voltar.org ++ Richard Russon rich@flatcap.org ++ ++ ++
++ + + + +diff -urN mutt-1.6.1/doc/muttrc.trash mutt-1.6.1-trash/doc/muttrc.trash +--- mutt-1.6.1/doc/muttrc.trash 1970-01-01 01:00:00.000000000 +0100 ++++ mutt-1.6.1-trash/doc/muttrc.trash 2016-06-12 18:43:04.768515676 +0100 +@@ -0,0 +1,16 @@ ++# Example Mutt config file for the 'trash' feature. ++ ++# This feature defines a new 'trash' folder. ++# When mail is deleted it will be moved to this folder. ++ ++# Folder in which to put deleted emails ++set trash='+Trash' ++set trash='/home/flatcap/Mail/Trash' ++ ++# The default delete key 'd' will move an email to the 'trash' folder ++# Bind 'D' to REALLY delete an email ++bind index D purge-message ++ ++# Note: Deleting emails from the 'trash' folder will REALLY delete them. ++ ++# vim: syntax=muttrc +diff -urN mutt-1.6.1/doc/vimrc.trash mutt-1.6.1-trash/doc/vimrc.trash +--- mutt-1.6.1/doc/vimrc.trash 1970-01-01 01:00:00.000000000 +0100 ++++ mutt-1.6.1-trash/doc/vimrc.trash 2016-06-12 18:43:04.769515692 +0100 +@@ -0,0 +1,7 @@ ++" Vim syntax file for the mutt trash patch ++ ++syntax keyword muttrcVarStr contained skipwhite trash nextgroup=muttrcVarEqualsIdxFmt ++ ++syntax match muttrcFunction contained "\" ++ ++" vim: syntax=vim +diff -urN mutt-1.6.1/flags.c mutt-1.6.1-trash/flags.c +--- mutt-1.6.1/flags.c 2016-06-12 18:43:00.403447606 +0100 ++++ mutt-1.6.1-trash/flags.c 2016-06-12 18:43:04.902517766 +0100 +@@ -65,7 +65,13 @@ + { + 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,27 @@ + } + break; + ++ case M_APPENDED: ++ if (bf) { ++ if (!h->appended) { ++ h->appended = 1; ++ if (upd_ctx) { ++ ctx->appended++; ++ } ++ } ++ } ++ break; ++ ++ case M_PURGED: ++ if (bf) { ++ if (!h->purged) { ++ h->purged = 1; ++ } ++ } else if (h->purged) { ++ h->purged = 0; ++ } ++ break; ++ + case M_NEW: + + if (!mutt_bit_isset(ctx->rights,M_ACL_SEEN)) +diff -urN mutt-1.6.1/functions.h mutt-1.6.1-trash/functions.h +--- mutt-1.6.1/functions.h 2016-06-12 18:43:00.403447606 +0100 ++++ mutt-1.6.1-trash/functions.h 2016-06-12 18:43:04.902517766 +0100 +@@ -121,6 +121,7 @@ + { "toggle-write", OP_TOGGLE_WRITE, "%" }, + { "next-thread", OP_MAIN_NEXT_THREAD, "\016" }, + { "next-subthread", OP_MAIN_NEXT_SUBTHREAD, "\033n" }, ++ { "purge-message", OP_PURGE_MESSAGE, NULL }, + { "query", OP_QUERY, "Q" }, + { "quit", OP_QUIT, "q" }, + { "reply", OP_REPLY, "r" }, +@@ -213,6 +214,7 @@ + { "print-message", OP_PRINT, "p" }, + { "previous-thread", OP_MAIN_PREV_THREAD, "\020" }, + { "previous-subthread",OP_MAIN_PREV_SUBTHREAD, "\033p" }, ++ { "purge-message", OP_PURGE_MESSAGE, NULL }, + { "quit", OP_QUIT, "Q" }, + { "exit", OP_EXIT, "q" }, + { "reply", OP_REPLY, "r" }, +diff -urN mutt-1.6.1/globals.h mutt-1.6.1-trash/globals.h +--- mutt-1.6.1/globals.h 2016-06-12 18:43:00.403447606 +0100 ++++ mutt-1.6.1-trash/globals.h 2016-06-12 18:43:04.903517781 +0100 +@@ -141,6 +141,7 @@ + WHERE char *Status; + WHERE char *Tempdir; + WHERE char *Tochars; ++WHERE char *TrashPath; + WHERE char *TSStatusFormat; + WHERE char *TSIconFormat; + WHERE short TSSupported; +diff -urN mutt-1.6.1/imap/imap.c mutt-1.6.1-trash/imap/imap.c +--- mutt-1.6.1/imap/imap.c 2016-06-12 18:43:00.405447637 +0100 ++++ mutt-1.6.1-trash/imap/imap.c 2016-06-12 18:43:04.905517812 +0100 +@@ -888,6 +888,12 @@ + if (hdrs[n]->deleted != HEADER_DATA(hdrs[n])->deleted) + match = invert ^ hdrs[n]->deleted; + break; ++ case M_EXPIRED: /* imap_fast_trash version of M_DELETED */ ++ if (hdrs[n]->purged) ++ break; ++ if (hdrs[n]->deleted != HEADER_DATA(hdrs[n])->deleted) ++ match = invert ^ (hdrs[n]->deleted && !hdrs[n]->appended); ++ break; + case M_FLAG: + if (hdrs[n]->flagged != HEADER_DATA(hdrs[n])->flagged) + match = invert ^ hdrs[n]->flagged; +@@ -2038,3 +2044,53 @@ + + return -1; + } ++ ++/** ++ * imap_fast_trash - XXX ++ */ ++int ++imap_fast_trash (void) ++{ ++ if ((Context->magic == M_IMAP) && mx_is_imap (TrashPath)) { ++ IMAP_MBOX mx; ++ IMAP_DATA *idata = (IMAP_DATA *) Context->data; ++ char mbox[LONG_STRING]; ++ char mmbox[LONG_STRING]; ++ int rc; ++ dprint (1, (debugfile, "[itf] trashcan seems to be on imap.\n")); ++ ++ if (imap_parse_path (TrashPath, &mx) == 0) { ++ if (mutt_account_match (&(idata->conn->account), &(mx.account))) { ++ dprint (1, (debugfile, "[itf] trashcan seems to be on the same account.\n")); ++ ++ imap_fix_path (idata, mx.mbox, mbox, sizeof (mbox)); ++ if (!*mbox) ++ strfcpy (mbox, "INBOX", sizeof (mbox)); ++ imap_munge_mbox_name (idata, mmbox, sizeof (mmbox), mbox); ++ ++ rc = imap_exec_msgset (idata, "UID COPY", mmbox, M_EXPIRED, 0, 0); ++ if (rc == 0) { ++ dprint (1, (debugfile, "imap_copy_messages: No messages del-tagged\n")); ++ rc = -1; ++ goto old_way; ++ } else if (rc < 0) { ++ dprint (1, (debugfile, "could not queue copy\n")); ++ goto old_way; ++ } else { ++ mutt_message (_("Copying %d messages to %s..."), rc, mbox); ++ return 0; ++ } ++ } else { ++ dprint (1, (debugfile, "[itf] trashcan seems to be on a different account.\n")); ++ } ++old_way: ++ FREE(&mx.mbox); /* we probably only need to free this when the parse works */ ++ } else { ++ dprint (1, (debugfile, "[itf] failed to parse TrashPath.\n")); ++ } ++ ++ dprint (1, (debugfile, "[itf] giving up and trying old fasioned way.\n")); ++ } ++ ++ return 1; ++} +diff -urN mutt-1.6.1/imap/imap.h mutt-1.6.1-trash/imap/imap.h +--- mutt-1.6.1/imap/imap.h 2016-06-12 18:43:00.405447637 +0100 ++++ mutt-1.6.1-trash/imap/imap.h 2016-06-12 18:43:04.774515769 +0100 +@@ -72,4 +72,7 @@ + + int imap_account_match (const ACCOUNT* a1, const ACCOUNT* a2); + ++/* trash */ ++int imap_fast_trash (void); ++ + #endif +diff -urN mutt-1.6.1/imap/message.c mutt-1.6.1-trash/imap/message.c +--- mutt-1.6.1/imap/message.c 2016-06-12 18:43:00.406447652 +0100 ++++ mutt-1.6.1-trash/imap/message.c 2016-06-12 18:43:04.906517828 +0100 +@@ -886,6 +886,7 @@ + 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); + } +@@ -893,6 +894,7 @@ + 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 -urN mutt-1.6.1/init.h mutt-1.6.1-trash/init.h +--- mutt-1.6.1/init.h 2016-06-12 18:43:00.408447684 +0100 ++++ mutt-1.6.1-trash/init.h 2016-06-12 18:43:04.909517875 +0100 +@@ -3419,6 +3419,16 @@ + ** 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 -urN mutt-1.6.1/mutt.h mutt-1.6.1-trash/mutt.h +--- mutt-1.6.1/mutt.h 2016-06-12 18:43:00.410447715 +0100 ++++ mutt-1.6.1-trash/mutt.h 2016-06-12 18:43:04.912517922 +0100 +@@ -182,6 +182,8 @@ + M_DELETE, + M_UNDELETE, + M_DELETED, ++ M_APPENDED, ++ M_PURGED, + M_FLAG, + M_TAG, + M_UNTAG, +@@ -719,6 +721,8 @@ + 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 purged : 1; /* bypassing the trash folder */ + unsigned int deleted : 1; + unsigned int changed : 1; + unsigned int attach_del : 1; /* has an attachment marked for deletion */ +@@ -891,6 +895,7 @@ + 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 -urN mutt-1.6.1/muttlib.c mutt-1.6.1-trash/muttlib.c +--- mutt-1.6.1/muttlib.c 2016-06-12 18:43:00.411447731 +0100 ++++ mutt-1.6.1-trash/muttlib.c 2016-06-12 18:43:04.913517937 +0100 +@@ -1511,7 +1511,9 @@ + + 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 -urN mutt-1.6.1/mx.c mutt-1.6.1-trash/mx.c +--- mutt-1.6.1/mx.c 2016-06-12 18:43:00.411447731 +0100 ++++ mutt-1.6.1-trash/mx.c 2016-06-12 18:43:04.914517953 +0100 +@@ -776,6 +776,62 @@ + return rc; + } + ++/** ++ * trash_append - XXX ++ * ++ * 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++); ++ /* nothing */ ++ ++ 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 */ ++ } ++ ++#ifdef USE_IMAP ++ if (!imap_fast_trash()) ++ return 0; ++#endif ++ ++ 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 ++ && !ctx->hdrs[i]->purged ++ && 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 +968,7 @@ + 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 +993,14 @@ + 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) +@@ -1140,6 +1205,12 @@ + 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 -urN mutt-1.6.1/OPS mutt-1.6.1-trash/OPS +--- mutt-1.6.1/OPS 2016-06-12 18:43:00.389447388 +0100 ++++ mutt-1.6.1-trash/OPS 2016-06-12 18:43:04.883517469 +0100 +@@ -142,6 +142,7 @@ + OP_PREV_LINE "scroll up one line" + OP_PREV_PAGE "move to the previous page" + OP_PRINT "print the current entry" ++OP_PURGE_MESSAGE "really delete the current entry, bypassing the trash folder" + OP_QUERY "query external program for addresses" + OP_QUERY_APPEND "append new query results to current results" + OP_QUIT "save changes to mailbox and quit" +diff -urN mutt-1.6.1/pager.c mutt-1.6.1-trash/pager.c +--- mutt-1.6.1/pager.c 2016-06-12 18:43:00.412447746 +0100 ++++ mutt-1.6.1-trash/pager.c 2016-06-12 18:43:04.915517968 +0100 +@@ -2351,6 +2351,7 @@ + MAYBE_REDRAW (redraw); + break; + ++ case OP_PURGE_MESSAGE: + case OP_DELETE: + CHECK_MODE(IsHeader (extra)); + CHECK_READONLY; +@@ -2358,6 +2359,8 @@ + CHECK_ACL(M_ACL_DELETE, _("Cannot delete message")); + + mutt_set_flag (Context, extra->hdr, M_DELETE, 1); ++ mutt_set_flag (Context, extra->hdr, M_PURGED, ++ ch != OP_PURGE_MESSAGE ? 0 : 1); + if (option (OPTDELETEUNTAG)) + mutt_set_flag (Context, extra->hdr, M_TAG, 0); + redraw = REDRAW_STATUS | REDRAW_INDEX; +@@ -2688,6 +2691,7 @@ + CHECK_ACL(M_ACL_DELETE, _("Cannot undelete message")); + + mutt_set_flag (Context, extra->hdr, M_DELETE, 0); ++ mutt_set_flag (Context, extra->hdr, M_PURGED, 0); + redraw = REDRAW_STATUS | REDRAW_INDEX; + if (option (OPTRESOLVE)) + { +@@ -2704,9 +2708,11 @@ + CHECK_ACL(M_ACL_DELETE, _("Cannot undelete message(s)")); + + r = mutt_thread_set_flag (extra->hdr, M_DELETE, 0, ++ ch == OP_UNDELETE_THREAD ? 0 : 1) ++ + mutt_thread_set_flag (extra->hdr, M_PURGED, 0, + ch == OP_UNDELETE_THREAD ? 0 : 1); + +- if (r != -1) ++ if (r > -1) + { + if (option (OPTRESOLVE)) + { +diff -urN mutt-1.6.1/PATCHES mutt-1.6.1-trash/PATCHES +--- mutt-1.6.1/PATCHES 2016-06-12 18:43:00.395447481 +0100 ++++ mutt-1.6.1-trash/PATCHES 2016-06-12 18:43:04.889517563 +0100 +@@ -0,0 +1 @@ ++patch-trash-neo-20160612 +diff -urN mutt-1.6.1/pattern.c mutt-1.6.1-trash/pattern.c +--- mutt-1.6.1/pattern.c 2016-06-12 18:43:00.413447762 +0100 ++++ mutt-1.6.1-trash/pattern.c 2016-06-12 18:43:04.916517984 +0100 +@@ -1367,8 +1367,9 @@ + { + switch (op) + { +- case M_DELETE: + case M_UNDELETE: ++ mutt_set_flag (Context, Context->hdrs[Context->v2r[i]], M_PURGED, 0); ++ case M_DELETE: + mutt_set_flag (Context, Context->hdrs[Context->v2r[i]], M_DELETE, + (op == M_DELETE)); + break; +diff -urN mutt-1.6.1/postpone.c mutt-1.6.1-trash/postpone.c +--- mutt-1.6.1/postpone.c 2016-06-12 18:43:00.414447777 +0100 ++++ mutt-1.6.1-trash/postpone.c 2016-06-12 18:43:04.917518000 +0100 +@@ -277,6 +277,9 @@ + /* 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; + +diff -urN mutt-1.6.1/README.trash mutt-1.6.1-trash/README.trash +--- mutt-1.6.1/README.trash 1970-01-01 01:00:00.000000000 +0100 ++++ mutt-1.6.1-trash/README.trash 2016-06-12 18:43:04.748515364 +0100 +@@ -0,0 +1,74 @@ ++Trash Folder Patch ++================== ++ ++ Automatically move "deleted" emails to a trash bin ++ ++Patch ++----- ++ ++ To check if Mutt supports "Trash Folder", look for "patch-trash" in the ++ mutt version. ++ ++ If IMAP is enabled, this patch will use it ++ ++ Dependencies ++ * mutt-1.6.1 ++ * IMAP support ++ ++Introduction ++------------ ++ ++ In Mutt, when you "delete" an email it is first marked deleted. The email ++ isn't really gone until is called. This happens when the ++ user leaves the folder, or the function is called manually. ++ ++ After '' has been called the email is gone forever. ++ ++ The $trash variable defines a folder in which to keep old emails. As ++ before, first you mark emails for deletion. When is called ++ the emails are moved to the trash folder. ++ ++ The '$trash' path can be either a full directory, or be relative to the ++ $folder variable, like the 'mailboxes' command. ++ ++ > Note ++ > ++ > Emails deleted from the trash folder are gone forever. ++ ++Variables ++--------- ++ ++ Trash Variables ++ ++ | Name | Type | Default | ++ |-------|--------|---------| ++ | trash | string | (none) | ++ ++Functions ++--------- ++ ++ Trash Functions ++ ++ | Menus | Default Key | Function | Description | ++ |-------------|-------------|-------------------|-------------------------------------------------------------| ++ | index,pager | (none) | '' | really delete the current entry, bypassing the trash folder | ++ ++See Also ++-------- ++ ++ * NeoMutt project ++ * folder-hook ++ ++Known Bugs ++---------- ++ ++ None ++ ++Credits ++------- ++ ++ * Cedric Duval ++ * Benjamin Kuperman ++ * Paul Miller ++ * Richard Russon ++ From 93b246287bb0ca4a86b9f00140939784c81f3b49 Mon Sep 17 00:00:00 2001 From: tv Date: Sat, 9 Jul 2016 12:16:30 +0200 Subject: [PATCH 004/144] urlwatch: 2.1 -> 2.2 --- pkgs/tools/networking/urlwatch/default.nix | 9 +++-- pkgs/tools/networking/urlwatch/setup.patch | 42 ++++++++++++++++++++++ 2 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 pkgs/tools/networking/urlwatch/setup.patch diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix index 67b53c83448..3634b852fad 100644 --- a/pkgs/tools/networking/urlwatch/default.nix +++ b/pkgs/tools/networking/urlwatch/default.nix @@ -1,14 +1,19 @@ { stdenv, fetchurl, python3Packages }: python3Packages.buildPythonApplication rec { - name = "urlwatch-2.1"; + name = "urlwatch-2.2"; src = fetchurl { url = "http://thp.io/2008/urlwatch/${name}.tar.gz"; - sha256 = "0xn435cml9wjwk39117p1diqmvw3jbmv9ccr7230iaf7z59vf9v6"; + sha256 = "0s9056mm1hkj5gpzsb5bz6fwxk0nm73i0dhnqwa1bfddjnvpl9d3"; }; + patches = [ + ./setup.patch + ]; + propagatedBuildInputs = with python3Packages; [ + keyring minidb pyyaml requests2 diff --git a/pkgs/tools/networking/urlwatch/setup.patch b/pkgs/tools/networking/urlwatch/setup.patch new file mode 100644 index 00000000000..66626dbf025 --- /dev/null +++ b/pkgs/tools/networking/urlwatch/setup.patch @@ -0,0 +1,42 @@ +From ebe7b90100a3d960f53fdc9409d2d89eaa61bf11 Mon Sep 17 00:00:00 2001 +From: Thomas Perl +Date: Tue, 28 Jun 2016 18:15:51 +0200 +Subject: [PATCH] Check current directory and use os.path.relpath (Fixes #73) + +--- + setup.py | 11 ++++++++--- + 1 file changed, 8 insertions(+), 3 deletions(-) + +diff --git a/setup.py b/setup.py +index 947a7c8..45405cd 100644 +--- a/setup.py ++++ b/setup.py +@@ -7,10 +7,15 @@ + + import os + import re ++import sys + + PACKAGE_NAME = 'urlwatch' + DEPENDENCIES = ['minidb', 'PyYAML', 'requests'] +-HERE = os.path.dirname(__file__) ++HERE = os.path.abspath(os.path.dirname(__file__)) ++ ++if os.path.normpath(os.getcwd()) != os.path.normpath(HERE): ++ print('You must run {} inside {} (cwd={})'.format(os.path.basename(__file__), HERE, os.getcwd())) ++ sys.exit(1) + + # Assumptions: + # 1. Package name equals main script file name (and only one script) +@@ -29,9 +34,9 @@ + + m['scripts'] = [os.path.join(HERE, PACKAGE_NAME)] + m['package_dir'] = {'': os.path.join(HERE, 'lib')} +-m['packages'] = ['.'.join(dirname[len(HERE)+1:].split(os.sep)[1:]) ++m['packages'] = ['.'.join(os.path.relpath(dirname, HERE).split(os.sep)[1:]) + for dirname, _, files in os.walk(os.path.join(HERE, 'lib')) if '__init__.py' in files] +-m['data_files'] = [(dirname[len(HERE)+1:], [os.path.join(dirname[len(HERE)+1:], fn) for fn in files]) ++m['data_files'] = [(os.path.relpath(dirname, HERE), [os.path.join(os.path.relpath(dirname, HERE), fn) for fn in files]) + for dirname, _, files in os.walk(os.path.join(HERE, 'share')) if files] + m['install_requires'] = DEPENDENCIES + From 02600dacf8b55f0e1735a984a12904c7d671a470 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Sat, 9 Jul 2016 13:04:32 +0200 Subject: [PATCH 005/144] brasero: depend on hicolor_icon_theme This avoids conflicts on `share/icons/hicolor/icon-theme.cache`. --- pkgs/tools/cd-dvd/brasero/default.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/cd-dvd/brasero/default.nix b/pkgs/tools/cd-dvd/brasero/default.nix index e903601c81d..d033371cbcd 100644 --- a/pkgs/tools/cd-dvd/brasero/default.nix +++ b/pkgs/tools/cd-dvd/brasero/default.nix @@ -1,6 +1,6 @@ { stdenv, lib, fetchurl, pkgconfig, gtk3, itstool, gst_all_1, libxml2, libnotify , libcanberra_gtk3, intltool, makeWrapper, dvdauthor, libburn, libisofs -, vcdimager, wrapGAppsHook }: +, vcdimager, wrapGAppsHook, hicolor_icon_theme }: # libdvdcss is "too old" (in fast "too new"), see https://bugs.launchpad.net/ubuntu/+source/brasero/+bug/611590 @@ -21,6 +21,7 @@ in stdenv.mkDerivation rec { nativeBuildInputs = [ pkgconfig itstool intltool wrapGAppsHook ]; buildInputs = [ gtk3 libxml2 libnotify libcanberra_gtk3 libburn libisofs + hicolor_icon_theme gst_all_1.gstreamer gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good gst_all_1.gst-plugins-bad gst_all_1.gst-plugins-ugly gst_all_1.gst-libav ]; From c071831b8b8685bbd395eeba86d0040360d2473d Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Sat, 9 Jul 2016 13:06:14 +0200 Subject: [PATCH 006/144] handbrake: depend on hicolor_icon_theme This avoids conflicts on `share/icons/hicolor/icon-theme.cache`. --- pkgs/applications/video/handbrake/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/handbrake/default.nix b/pkgs/applications/video/handbrake/default.nix index d0cd82039f2..351cf5c5211 100644 --- a/pkgs/applications/video/handbrake/default.nix +++ b/pkgs/applications/video/handbrake/default.nix @@ -20,7 +20,7 @@ libogg, libtheora, libvorbis, libdvdcss, a52dec, fdk_aac, lame, faac, ffmpeg, libdvdread, libdvdnav, libbluray, mp4v2, mpeg2dec, x264, libmkv, - fontconfig, freetype, + fontconfig, freetype, hicolor_icon_theme, glib, gtk, webkitgtk, intltool, libnotify, gst_all_1, dbus_glib, udev, libgudev, useGtk ? true, @@ -45,7 +45,7 @@ stdenv.mkDerivation rec { nativeBuildInputs = [ python pkgconfig yasm autoconf automake libtool m4 ]; buildInputs = [ - fribidi fontconfig freetype + fribidi fontconfig freetype hicolor_icon_theme libass libsamplerate libxml2 bzip2 libogg libtheora libvorbis libdvdcss a52dec libmkv fdk_aac lame ffmpeg libdvdread libdvdnav libbluray mp4v2 mpeg2dec x264 From 5e7fb05a8ccfefbd592e46f9d770663da6ecc670 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sat, 9 Jul 2016 13:10:04 +0200 Subject: [PATCH 007/144] pythonPackages.backports_shutil_get_terminal_size: init at 1.0.0 --- pkgs/top-level/python-packages.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index cf669c98899..51f5d3d0dd2 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1638,6 +1638,22 @@ in modules // { }; }; + backports_shutil_get_terminal_size = if !(pythonOlder "3.3") then null else buildPythonPackage rec { + name = "backports.shutil_get_terminal_size-${version}"; + version = "1.0.0"; + + src = pkgs.fetchurl { + url = "mirror://pypi/b/backports.shutil_get_terminal_size/${name}.tar.gz"; + sha256 = "713e7a8228ae80341c70586d1cc0a8caa5207346927e23d09dcbcaf18eadec80"; + }; + + meta = { + description = "A backport of the get_terminal_size function from Python 3.3’s shutil."; + homepage = https://github.com/chrippa/backports.shutil_get_terminal_size; + license = with licenses; [ mit ]; + }; + }; + backports_ssl_match_hostname_3_4_0_2 = self.buildPythonPackage rec { name = "backports.ssl_match_hostname-3.4.0.2"; From d472995b78387425bf114f6a2721badaec714ec4 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sat, 9 Jul 2016 13:10:19 +0200 Subject: [PATCH 008/144] pythonPackages.pathlib2: init at 2.1.0 --- pkgs/top-level/python-packages.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 51f5d3d0dd2..7d694558f42 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -16253,6 +16253,25 @@ in modules // { }; }; + pathlib2 = if !(pythonOlder "3.4") then null else buildPythonPackage rec { + name = "pathlib2-${version}"; + version = "2.1.0"; + + src = pkgs.fetchurl { + url = "mirror://pypi/p/pathlib2/${name}.tar.gz"; + sha256 = "deb3a960c1d55868dfbcac98432358b92ba89d95029cddd4040db1f27405055c"; + }; + + propagatedBuildInputs = with self; [ six ]; + + meta = { + description = "This module offers classes representing filesystem paths with semantics appropriate for different operating systems."; + homepage = https://pypi.python.org/pypi/pathlib2/; + license = with licenses; [ mit ]; + }; + + }; + pathpy = buildPythonPackage rec { version = "8.1.2"; name = "path.py-${version}"; From 6665092e4deab088f9f995d91de214be28ba56b9 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sat, 9 Jul 2016 13:10:35 +0200 Subject: [PATCH 009/144] pythonPackages.ipython: fix python 2.7 --- pkgs/top-level/python-packages.nix | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7d694558f42..f14dbfaea47 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -11379,7 +11379,8 @@ in modules // { buildInputs = with self; [ nose pkgs.glibcLocales pygments ] ++ optionals isPy27 [mock]; propagatedBuildInputs = with self; - [decorator pickleshare prompt_toolkit simplegeneric traitlets requests2 pexpect sqlite3] + [ backports_shutil_get_terminal_size decorator pickleshare prompt_toolkit + simplegeneric traitlets requests2 pathlib2 pexpect sqlite3 ] ++ optionals stdenv.isDarwin [appnope]; LC_ALL="en_US.UTF-8"; From 57e1a6c48d3be856ec5877dfbabaf5e9073e1f27 Mon Sep 17 00:00:00 2001 From: Miguel Madrid Date: Sat, 9 Jul 2016 14:40:14 +0200 Subject: [PATCH 010/144] traceroute: 2.0.21 -> 2.1.0 (#16809) --- pkgs/tools/networking/traceroute/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/traceroute/default.nix b/pkgs/tools/networking/traceroute/default.nix index d98c9996882..3d3be5d4532 100644 --- a/pkgs/tools/networking/traceroute/default.nix +++ b/pkgs/tools/networking/traceroute/default.nix @@ -2,14 +2,14 @@ stdenv.mkDerivation rec { name = "traceroute-${version}"; - version = "2.0.21"; + version = "2.1.0"; src = fetchurl { url = "mirror://sourceforge/traceroute/${name}.tar.gz"; - sha256 = "1q4n9s42nfcc4fmnwmrsiabvqrcaagiagmmqj9r5hfmi63pr7b7p"; + sha256 = "3669d22a34d3f38ed50caba18cd525ba55c5c00d5465f2d20d7472e5d81603b6"; }; - makeFlags = "prefix=$(out)"; + makeFlags = "prefix=$(out) LDFLAGS=-lm"; preConfigure = '' sed -i 's@LIBS := \(.*\) -lm \(.*\)@LIBS := \1 \2@' Make.rules From 781cd33f3b9e7681b1846ee39c025a227838abb8 Mon Sep 17 00:00:00 2001 From: Ram Kromberg Date: Sat, 9 Jul 2016 15:50:24 +0300 Subject: [PATCH 011/144] glmark2: 2014.03 -> 2015-06-11 (#16812) --- pkgs/tools/graphics/glmark2/default.nix | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/pkgs/tools/graphics/glmark2/default.nix b/pkgs/tools/graphics/glmark2/default.nix index 12ae9b6d89b..b794d7ffbef 100644 --- a/pkgs/tools/graphics/glmark2/default.nix +++ b/pkgs/tools/graphics/glmark2/default.nix @@ -1,19 +1,22 @@ -{ stdenv, fetchurl, pkgconfig, libjpeg, libpng12, xorg, libX11, mesa, libdrm, python27 }: +{ stdenv, fetchFromGitHub, pkgconfig, libjpeg, libpng, xorg, libX11, mesa, libdrm, python27, wayland }: + stdenv.mkDerivation rec { name = "glmark2-${version}"; - version = "2014.03"; + version = "2015-06-11"; - src = fetchurl { - url = "https://launchpad.net/glmark2/trunk/${version}/+download/${name}.tar.gz"; - sha256 = "1dgn7ln115ivk13d1yagpj06lgllpv2jrr41kcnhdkhqz6m43vdx"; + src = fetchFromGitHub { + owner = "glmark2"; + repo = "glmark2"; + rev = "fa71af2dfab711fac87b9504b6fc9862f44bf72a"; + sha256 = "1razwrmwk94wf8y7rnqpas9520gidixzcwa65pg946n823105znw"; }; buildInputs = [ - pkgconfig libjpeg libpng12 xorg.libxcb libX11 mesa libdrm python27 + pkgconfig libjpeg libpng xorg.libxcb libX11 mesa libdrm python27 wayland ]; buildPhase = '' - python ./waf configure --prefix=$out --with-flavors x11-gl,x11-glesv2 + python ./waf configure --prefix=$out --with-flavors x11-gl,x11-glesv2,drm-gl,drm-glesv2,wayland-gl,wayland-glesv2 python2 ./waf ''; @@ -23,7 +26,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "OpenGL (ES) 2.0 benchmark"; - homepage = https://launchpad.net/glmark2; + homepage = https://github.com/glmark2/glmark2; license = licenses.gpl3Plus; longDescription = '' glmark2 is a benchmark for OpenGL (ES) 2.0. It uses only the subset of @@ -33,4 +36,3 @@ stdenv.mkDerivation rec { maintainers = [ maintainers.wmertens ]; }; } - From 9f4775dbb509602b3a65f26aac708c1dabf79a4f Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Sun, 19 Jun 2016 21:51:05 +0200 Subject: [PATCH 012/144] ddclient service: use `environment.etc` The ddclient daemon requires that the configuration file is only accessible by the ddclient user. This since it typically contains login information. --- .../modules/services/networking/ddclient.nix | 36 +++++++++++-------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/nixos/modules/services/networking/ddclient.nix b/nixos/modules/services/networking/ddclient.nix index c5dd1e71c18..633ceaebfa4 100644 --- a/nixos/modules/services/networking/ddclient.nix +++ b/nixos/modules/services/networking/ddclient.nix @@ -7,22 +7,8 @@ let stateDir = "/var/spool/ddclient"; ddclientUser = "ddclient"; - ddclientFlags = "-foreground -verbose -noquiet -file ${ddclientCfg}"; + ddclientFlags = "-foreground -verbose -noquiet -file /etc/ddclient.conf"; ddclientPIDFile = "${stateDir}/ddclient.pid"; - ddclientCfg = pkgs.writeText "ddclient.conf" '' - daemon=600 - cache=${stateDir}/ddclient.cache - pid=${ddclientPIDFile} - use=${config.services.ddclient.use} - login=${config.services.ddclient.username} - password=${config.services.ddclient.password} - protocol=${config.services.ddclient.protocol} - server=${config.services.ddclient.server} - ssl=${if config.services.ddclient.ssl then "yes" else "no"} - wildcard=YES - ${config.services.ddclient.domain} - ${config.services.ddclient.extraConfig} - ''; in @@ -122,10 +108,30 @@ in home = stateDir; }; + environment.etc."ddclient.conf" = { + uid = config.ids.uids.ddclient; + mode = "0600"; + text = '' + daemon=600 + cache=${stateDir}/ddclient.cache + pid=${ddclientPIDFile} + use=${config.services.ddclient.use} + login=${config.services.ddclient.username} + password=${config.services.ddclient.password} + protocol=${config.services.ddclient.protocol} + server=${config.services.ddclient.server} + ssl=${if config.services.ddclient.ssl then "yes" else "no"} + wildcard=YES + ${config.services.ddclient.domain} + ${config.services.ddclient.extraConfig} + ''; + }; + systemd.services.ddclient = { description = "Dynamic DNS Client"; wantedBy = [ "multi-user.target" ]; after = [ "network.target" ]; + restartTriggers = [ config.environment.etc."ddclient.conf".source ]; serviceConfig = { # Uncomment this if too many problems occur: From 86809b838f731e287e30770889290619e4c70d4c Mon Sep 17 00:00:00 2001 From: Christian Richter Date: Tue, 5 Jul 2016 14:29:20 +0200 Subject: [PATCH 013/144] mop: init at 0.2.0 Fixes #16728. --- pkgs/applications/misc/mop/default.nix | 30 ++++++++++++++++++++++++++ pkgs/applications/misc/mop/deps.json | 8 +++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 40 insertions(+) create mode 100644 pkgs/applications/misc/mop/default.nix create mode 100644 pkgs/applications/misc/mop/deps.json diff --git a/pkgs/applications/misc/mop/default.nix b/pkgs/applications/misc/mop/default.nix new file mode 100644 index 00000000000..ccdb47c4b60 --- /dev/null +++ b/pkgs/applications/misc/mop/default.nix @@ -0,0 +1,30 @@ +{ stdenv, lib, buildGoPackage, fetchgit }: + +buildGoPackage rec { + name = "mop-${version}"; + version = "0.2.0"; + rev = "bc666ec165d08b43134f7ec0bf29083ad5466243"; + + goPackagePath = "github.com/michaeldv/mop"; + goDeps = ./deps.json; + + preConfigure = '' + for i in $(find . -type f);do + substituteInPlace $i --replace michaeldv/termbox-go nsf/termbox-go + done + substituteInPlace Makefile --replace mop/cmd mop/mop + mv cmd mop + ''; + + src = fetchgit { + inherit rev; + url = "https://github.com/mop-tracker/mop"; + sha256 = "0zp51g9i8rw6acs4vnrxclbxa5z1v0a0m1xx27szszp0rphcczkx"; + }; + + meta = { + description = "Simple stock tracker implemented in go"; + homepage = https://github.com/mop-tracker/mop; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/applications/misc/mop/deps.json b/pkgs/applications/misc/mop/deps.json new file mode 100644 index 00000000000..e1b40df8310 --- /dev/null +++ b/pkgs/applications/misc/mop/deps.json @@ -0,0 +1,8 @@ +[ + { + "include": "../../libs.json", + "packages": [ + "github.com/nsf/termbox-go" + ] + } +] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9b620268a30..b7c8549faf8 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13655,6 +13655,8 @@ in inherit (gnome) libgnomecanvas glib; }; + mop = callPackage ../applications/misc/mop { }; + mopidy = callPackage ../applications/audio/mopidy { }; mopidy-gmusic = callPackage ../applications/audio/mopidy-gmusic { }; From 340a5d6fbf15deed0cd219f9f835707205a531a3 Mon Sep 17 00:00:00 2001 From: Matthias Beyer Date: Mon, 30 May 2016 23:13:59 +0200 Subject: [PATCH 014/144] openvpn: 2.3.10 -> 2.3.11 Taken from #15856. --- pkgs/tools/networking/openvpn/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/openvpn/default.nix b/pkgs/tools/networking/openvpn/default.nix index 6f7b72c1f1c..e666cf7f605 100644 --- a/pkgs/tools/networking/openvpn/default.nix +++ b/pkgs/tools/networking/openvpn/default.nix @@ -3,11 +3,11 @@ with stdenv.lib; stdenv.mkDerivation rec { - name = "openvpn-2.3.10"; + name = "openvpn-2.3.11"; src = fetchurl { url = "http://swupdate.openvpn.net/community/releases/${name}.tar.gz"; - sha256 = "1xn8kv4v4h4v8mhd9k4s9rilb7k30jgb9rm7n4fwmfrm5swvbc7q"; + sha256 = "0qv1flcz4q4mb7zpkxsnlmpvrv3s9gw7xvprjk7n2pnk9x1s85wi"; }; patches = optional stdenv.isLinux ./systemd-notify.patch; From 66500f64db3aeb8c6dfc71ad92f172e982c6b171 Mon Sep 17 00:00:00 2001 From: Ram Kromberg Date: Sat, 9 Jul 2016 16:13:27 +0300 Subject: [PATCH 015/144] libxcomp: update libpng dependency from 1.2 to 1.6 branch --- pkgs/development/libraries/libxcomp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/libxcomp/default.nix b/pkgs/development/libraries/libxcomp/default.nix index b19706c2c37..4ed3014fbe9 100644 --- a/pkgs/development/libraries/libxcomp/default.nix +++ b/pkgs/development/libraries/libxcomp/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, autoreconfHook, libjpeg, libpng12, libX11, zlib }: +{ stdenv, fetchurl, autoreconfHook, libjpeg, libpng, libX11, zlib }: stdenv.mkDerivation rec { name = "libxcomp-${version}"; @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { url = "http://code.x2go.org/releases/source/nx-libs/nx-libs-${version}-lite.tar.gz"; }; - buildInputs = [ libjpeg libpng12 libX11 zlib ]; + buildInputs = [ libjpeg libpng libX11 zlib ]; nativeBuildInputs = [ autoreconfHook ]; preAutoreconf = '' From 7d94f57309a44d10e1009544734ce80a06a5a827 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 9 Jul 2016 15:15:42 +0200 Subject: [PATCH 016/144] gnutls: fixup evaluation after 5148c6c5c09 Noticed on: https://github.com/NixOS/nixpkgs/commit/5148c6c5c0#commitcomment-18184261 --- pkgs/development/libraries/gnutls/generic.nix | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/gnutls/generic.nix b/pkgs/development/libraries/gnutls/generic.nix index 72337475ddf..7cd8267192b 100644 --- a/pkgs/development/libraries/gnutls/generic.nix +++ b/pkgs/development/libraries/gnutls/generic.nix @@ -4,11 +4,15 @@ # Version dependent args , version, src, patches ? [], postPatch ? "", nativeBuildInputs ? [] -, ...}@args: +, ...}: assert guileBindings -> guile != null; - -stdenv.mkDerivation rec { +let + # XXX: Gnulib's `test-select' fails on FreeBSD: + # http://hydra.nixos.org/build/2962084/nixlog/1/raw . + doCheck = (!stdenv.isFreeBSD && !stdenv.isDarwin); +in +stdenv.mkDerivation { name = "gnutls-${version}"; inherit src patches; @@ -19,7 +23,7 @@ stdenv.mkDerivation rec { postPatch = '' sed '2iecho "name constraints tests skipped due to datefudge problems"\nexit 0' \ -i tests/cert-tests/name-constraints - '' + args.postPatch; + '' + postPatch; preConfigure = "patchShebangs ."; configureFlags = @@ -35,18 +39,15 @@ stdenv.mkDerivation rec { # for the actual fix. enableParallelBuilding = !guileBindings; - buildInputs = [ lzo lzip nettle libtasn1 libidn p11_kit zlib gmp autogen ] - ++ lib.optional doCheck nettools + buildInputs = [ lzo lzip nettle libtasn1 libidn p11_kit zlib gmp autogen nettools ] ++ lib.optional (stdenv.isFreeBSD || stdenv.isDarwin) libiconv ++ lib.optional (tpmSupport && stdenv.isLinux) trousers ++ [ unbound ] ++ lib.optional guileBindings guile; - nativeBuildInputs = [ perl pkgconfig ] ++ args.nativeBuildInputs; + nativeBuildInputs = [ perl pkgconfig ] ++ nativeBuildInputs; - # XXX: Gnulib's `test-select' fails on FreeBSD: - # http://hydra.nixos.org/build/2962084/nixlog/1/raw . - doCheck = (!stdenv.isFreeBSD && !stdenv.isDarwin); + inherit doCheck; # Fixup broken libtool and pkgconfig files preFixup = lib.optionalString (!stdenv.isDarwin) '' From 644d4e9ac9b5e53fe298daa6544ff4d900cc9131 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sat, 9 Jul 2016 17:19:18 +0300 Subject: [PATCH 017/144] Revert "Revert "make-bootstrap-tools: try again to fix on Darwin"" This reverts commit debd401b0f8bedae10c368abd0cacf75ef7f6350. We must not use a single-binary build for the bootstrap since the common binary gains a dynamic linkage to gmp (due to 'factor' and 'expr' handling arbitrary-precision arithmetic). --- pkgs/stdenv/darwin/make-bootstrap-tools.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix index 09b7769dc45..78da24f9c09 100644 --- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix +++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix @@ -6,8 +6,8 @@ rec { coreutils_ = coreutils.override (args: { # We want coreutils without ACL support. aclSupport = false; - # Our tooling currently can't handle scripts in bin/, only ELFs and symlinks. - singleBinary = "symlinks"; + # Problems otherwise, unlike Linux even with "symlinks". + singleBinary = false; }); # Avoid debugging larger changes for now. From 0cdf89276952e00083846dd85c7cc6291861f986 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sat, 9 Jul 2016 17:23:43 +0300 Subject: [PATCH 018/144] darwin make-bootstrap-tools: Document reason for special coreutils Discussion: https://github.com/NixOS/nixpkgs/commit/ac4958efc33322c9 --- pkgs/stdenv/darwin/make-bootstrap-tools.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix index 78da24f9c09..deefb6bbad2 100644 --- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix +++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix @@ -6,7 +6,7 @@ rec { coreutils_ = coreutils.override (args: { # We want coreutils without ACL support. aclSupport = false; - # Problems otherwise, unlike Linux even with "symlinks". + # Cannot use a single binary build, or it gets dynamically linked against gmp. singleBinary = false; }); From 726059d4e821197ed550e5b8a067e2e1b9cd4e2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Sat, 9 Jul 2016 12:14:01 -0300 Subject: [PATCH 019/144] mkvtoolnix: 8.9.0 -> 9.2.0 --- pkgs/applications/video/mkvtoolnix/default.nix | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix index 4eeb733d978..69e52065419 100644 --- a/pkgs/applications/video/mkvtoolnix/default.nix +++ b/pkgs/applications/video/mkvtoolnix/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchgit, pkgconfig, autoconf, automake +{ stdenv, fetchFromGitHub, pkgconfig, autoconf, automake , ruby, file, xdg_utils, gettext, expat, qt5, boost , libebml, zlib, libmatroska, libogg, libvorbis, flac , withGUI ? true @@ -10,18 +10,19 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "mkvtoolnix-${version}"; - version = "8.9.0"; + version = "9.2.0"; - src = fetchgit { - url = "https://github.com/mbunkus/mkvtoolnix.git"; - rev = "54e6b52b3dde07f89da4542997ef059e18802128"; - sha256 = "1gipydk1xisqy110rr38dgjzpxl8zxbm12kf7b2f4xh4iw17j0k2"; + src = fetchFromGitHub { + owner = "mbunkus"; + repo = "mkvtoolnix"; + rev = "release-${version}"; + sha256 = "02w3161iqaijs3bz5w2wily9nz55xnhq1bdm2s5qi8v3sbcqd6df"; }; - nativeBuildInputs = [ gettext ruby ]; + nativeBuildInputs = [ pkgconfig autoconf automake gettext ruby ]; buildInputs = [ - pkgconfig autoconf automake expat + expat file xdg_utils boost libebml zlib libmatroska libogg libvorbis flac (optional withGUI qt5.qtbase) From a5ee403f5be449caeb3a5c668df178f04b5d4b5c Mon Sep 17 00:00:00 2001 From: Alexey Shmalko Date: Sat, 9 Jul 2016 19:36:04 +0300 Subject: [PATCH 020/144] alarm-clock-applet: use default method for propagating gstreamer (#16786) --- pkgs/tools/misc/alarm-clock-applet/default.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/misc/alarm-clock-applet/default.nix b/pkgs/tools/misc/alarm-clock-applet/default.nix index bde6ed54eed..9a3e0b905e1 100644 --- a/pkgs/tools/misc/alarm-clock-applet/default.nix +++ b/pkgs/tools/misc/alarm-clock-applet/default.nix @@ -8,6 +8,7 @@ , libunique , intltool , gst_plugins ? with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-ugly ] +, wrapGAppsHook }: stdenv.mkDerivation rec { @@ -35,17 +36,13 @@ stdenv.mkDerivation rec { libxml2 libunique intltool + wrapGAppsHook ]; propagatedUserEnvPkgs = [ gnome.GConf.out ]; enableParallelBuilding = true; - preFixup = '' - wrapProgram $out/bin/alarm-clock-applet \ - --prefix GST_PLUGIN_SYSTEM_PATH_1_0 : "$GST_PLUGIN_SYSTEM_PATH_1_0" - ''; - meta = with stdenv.lib; { homepage = http://alarm-clock.pseudoberries.com/; description = "A fully-featured alarm clock for your GNOME panel or equivalent"; From a2a2b334d97f2bcf3f281f6766fc1b2dc66de15f Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Sat, 9 Jul 2016 18:14:04 +0800 Subject: [PATCH 021/144] antimony: 0.8.0b -> 0.9.2 --- .../graphics/antimony/default.nix | 39 +++--- .../graphics/antimony/paths-fix.patch | 114 +++--------------- 2 files changed, 34 insertions(+), 119 deletions(-) diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix index 8d17a290ceb..b7d9f4a8159 100644 --- a/pkgs/applications/graphics/antimony/default.nix +++ b/pkgs/applications/graphics/antimony/default.nix @@ -1,29 +1,25 @@ -{ stdenv, fetchgit, libpng, python3, boost, mesa, qtbase, qmakeHook, ncurses }: +{ stdenv, fetchFromGitHub, libpng, python3, boost, mesa, qtbase, ncurses, cmake, flex, lemon }: let - gitRev = "745eca3a2d2657c495d5509e9083c884e021d09c"; + gitRev = "e8480c718e8c49ae3cc2d7af10ea93ea4c2fff9a"; gitBranch = "master"; - gitTag = "0.8.0b"; + gitTag = "0.9.2"; in stdenv.mkDerivation rec { name = "antimony-${version}"; version = gitTag; - src = fetchgit { - url = "git://github.com/mkeeter/antimony.git"; - rev = gitRev; - sha256 = "0azjdkbixz2pyk2yy7a0ya5xk60xgw3l2pd4pj4ijyqxx5jmh0sy"; + src = fetchFromGitHub { + owner = "mkeeter"; + repo = "antimony"; + rev = gitTag; + sha256 = "0fpgy5cb4knz2z9q078206k8wzxfs8b9g76mf4bz1ic77931ykjz"; }; patches = [ ./paths-fix.patch ]; - # fix build with glibc-2.23 + postPatch = '' - sed 's/\ /dev/null) --GITBRANCH = $$system(git rev-parse --abbrev-ref HEAD) +-execute_process(COMMAND git log --pretty=format:'%h' -n 1 +- OUTPUT_VARIABLE GITREV) +-execute_process(COMMAND bash -c "git diff --quiet --exit-code || echo +" +- OUTPUT_VARIABLE GITDIFF) +-execute_process(COMMAND git describe --exact-match --tags +- OUTPUT_VARIABLE GITTAG +- ERROR_QUIET) +-execute_process(COMMAND git rev-parse --abbrev-ref HEAD +- OUTPUT_VARIABLE GITBRANCH) - --QMAKE_CXXFLAGS += "-D'GITREV=\"$${GITREV}$${GITDIFF}\"'" --QMAKE_CXXFLAGS += "-D'GITTAG=\"$${GITTAG}\"'" --QMAKE_CXXFLAGS += "-D'GITBRANCH=\"$${GITBRANCH}\"'" -+QMAKE_CXXFLAGS += "-D'GITREV=\"$$(GITREV)\"'" -+QMAKE_CXXFLAGS += "-D'GITTAG=\"$$(GITTAG)\"'" -+QMAKE_CXXFLAGS += "-D'GITBRANCH=\"$$(GITBRANCH)\"'" - - OLD_GL_SET = $$(OLD_GL) - equals(OLD_GL_SET, "true") { -@@ -125,11 +120,11 @@ macx { - } - - linux { -- executable.path = /usr/local/bin -+ executable.path = $$(out)/bin - executable.files = antimony -- nodes_folder.path = /usr/local/bin/sb/nodes -+ nodes_folder.path = $$(out)/bin/sb/nodes - nodes_folder.files = ../py/nodes/* -- fab_folder.path = /usr/local/bin/sb/fab -+ fab_folder.path = $$(out)/bin/sb/fab - fab_folder.files = ../py/fab/* - INSTALLS += executable nodes_folder fab_folder - } -diff --git a/qt/fab.pri b/qt/fab.pri -index a54813b..b500536 100644 ---- a/qt/fab.pri -+++ b/qt/fab.pri -@@ -54,7 +54,7 @@ DEFINES += '_STATIC_= ' - - linux { - QMAKE_CFLAGS += -std=gnu99 -- QMAKE_CXXFLAGS += $$system(/usr/bin/python3-config --includes) -+ QMAKE_CXXFLAGS += $$system(python3-config --includes) - LIBS += -lpng - } - -diff --git a/qt/shared.pri b/qt/shared.pri -index e7d0e3a..026eae3 100644 ---- a/qt/shared.pri -+++ b/qt/shared.pri -@@ -39,41 +39,11 @@ macx { - } - - linux { -- QMAKE_CXXFLAGS += $$system(/usr/bin/python3-config --includes) -- QMAKE_LFLAGS += $$system(/usr/bin/python3-config --ldflags) -+ QMAKE_CXXFLAGS += $$system(python3-config --includes) -+ QMAKE_LFLAGS += $$system(python3-config --ldflags) - - # Even though this is in QMAKE_LFLAGS, the linker is picky about - # library ordering (so it needs to be here too). - LIBS += -lpython3.4m -- -- # ldconfig is being used to find libboost_python, but it's in a different -- # place in different distros (and is not in the default $PATH on Debian). -- # First, check to see if it's on the default $PATH. -- system(which ldconfig > /dev/null) { -- LDCONFIG_BIN = "ldconfig" -- } -- # If that failed, then search for it in its usual places. -- isEmpty(LDCONFIG_BIN) { -- for(p, $$list(/sbin/ldconfig /usr/bin/ldconfig)) { -- exists($$p): LDCONFIG_BIN = $$p -- } -- } -- # If that search failed too, then exit with an error. -- isEmpty(LDCONFIG_BIN) { -- error("Could not find ldconfig!") -- } -- -- # Check for different boost::python naming schemes -- LDCONFIG_OUT = $$system($$LDCONFIG_BIN -p|grep python) -- for (b, $$list(boost_python-py34 boost_python3)) { -- contains(LDCONFIG_OUT, "lib$${b}.so") { -- LIBS += "-l$$b" -- GOT_BOOST_PYTHON = True -- } -- } -- -- # If we couldn't find boost::python, exit with an error. -- isEmpty(GOT_BOOST_PYTHON) { -- error("Could not find boost::python3") -- } -+ LIBS += -lboost_python3 - } + add_definitions(-D'GITREV="${GITREV}${GITDIFF}"' + -D'GITTAG="${GITTAG}"' + -D'GITBRANCH="${GITBRANCH}"') From 5f8a384b65cbe6c256f6b42ed7f35dcac7fca089 Mon Sep 17 00:00:00 2001 From: cransom Date: Sat, 9 Jul 2016 13:11:42 -0400 Subject: [PATCH 022/144] flowlogs_reader: init at 1.0.0 (#16787) --- pkgs/top-level/python-packages.nix | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f14dbfaea47..1ff7e9b8d5e 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6100,6 +6100,29 @@ in modules // { propagatedBuildInputs = with self; [ rpkg offtrac urlgrabber fedora_cert ]; }); + flowlogs_reader = buildPythonPackage rec { + name = "flowlogs_reader-1.0.0"; + + src = pkgs.fetchurl { + url = "mirror://pypi/f/flowlogs_reader/${name}.tar.gz"; + sha256 = "0158aki6m3pkf98hpd60088qyhrfxkmybdf8hv3qfl8nb61vaiwf"; + }; + + propagatedBuildInputs = with self; [ + botocore boto3 docutils + ]; + buildInputs = with self; [ + unittest2 mock + ]; + + meta = with pkgs.stdenv.lib; { + description = "Python library to make retrieving Amazon VPC Flow Logs from CloudWatch Logs a bit easier"; + homepage = "https://github.com/obsrvbl/flowlogs-reader"; + maintainers = with maintainers; [ cransom ]; + license = licenses.asl20; + }; + }; + frozendict = buildPythonPackage rec { name = "frozendict-0.5"; From 977e0c659972e76bc876c9d42c4788befd759d26 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sat, 9 Jul 2016 20:51:31 +0100 Subject: [PATCH 023/144] nixos/bash: enable colors during completion --- nixos/modules/programs/bash/inputrc | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/programs/bash/inputrc b/nixos/modules/programs/bash/inputrc index e4eabc052c5..f339eb649ed 100644 --- a/nixos/modules/programs/bash/inputrc +++ b/nixos/modules/programs/bash/inputrc @@ -6,6 +6,7 @@ set meta-flag on set input-meta on set convert-meta off set output-meta on +set colored-stats on #set mark-symlinked-directories on From 223aa9861378c51b84a0e34a10ebd81b333d448c Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Sat, 9 Jul 2016 22:01:02 +0200 Subject: [PATCH 024/144] elixir: 1.3.0 -> 1.3.1 --- pkgs/development/interpreters/elixir/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix index fe78b966080..fc3070e55f1 100644 --- a/pkgs/development/interpreters/elixir/default.nix +++ b/pkgs/development/interpreters/elixir/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "elixir-${version}"; - version = "1.3.0"; + version = "1.3.1"; src = fetchFromGitHub { owner = "elixir-lang"; repo = "elixir"; rev = "v${version}"; - sha256 = "06y8v239d5r3zr9s9mw19ws99qm7niicz69pqhawvg5qm4qxhvkr"; + sha256 = "0pihqgsnddrhhcpiphz170wgwlc59pd492iy4f66dajapm5k329d"; }; buildInputs = [ erlang rebar makeWrapper ]; From 29de9cedadb6dc67433776a58f50642f650dca5a Mon Sep 17 00:00:00 2001 From: John Ericson Date: Wed, 22 Jun 2016 01:33:53 -0700 Subject: [PATCH 025/144] Make default config an argument default instead of using null check Thanks @Mathnerd314 for this idea --- pkgs/top-level/default.nix | 44 ++++++++++++++++---------------------- 1 file changed, 19 insertions(+), 25 deletions(-) diff --git a/pkgs/top-level/default.nix b/pkgs/top-level/default.nix index cff8671b65d..8913dc1ef59 100644 --- a/pkgs/top-level/default.nix +++ b/pkgs/top-level/default.nix @@ -22,43 +22,37 @@ , # Allow a configuration attribute set to be passed in as an # argument. Otherwise, it's read from $NIXPKGS_CONFIG or # ~/.nixpkgs/config.nix. - config ? null + # + # [For NixOS (nixos-rebuild), use nixpkgs.config option to set.] + config ? let + inherit (builtins) getEnv pathExists; + + configFile = getEnv "NIXPKGS_CONFIG"; + homeDir = getEnv "HOME"; + configFile2 = homeDir + "/.nixpkgs/config.nix"; + in + if configFile != "" && pathExists configFile then import configFile + else if homeDir != "" && pathExists configFile2 then import configFile2 + else {} , crossSystem ? null , platform ? null }: -let config_ = config; platform_ = platform; in # rename the function arguments +let configExpr = config; platform_ = platform; in # rename the function arguments let lib = import ../../lib; - # The contents of the configuration file found at $NIXPKGS_CONFIG or - # $HOME/.nixpkgs/config.nix. - # for NIXOS (nixos-rebuild): use nixpkgs.config option + # Allow both: + # { /* the config */ } and + # { pkgs, ... } : { /* the config */ } config = - let - inherit (builtins) getEnv pathExists; - - configFile = getEnv "NIXPKGS_CONFIG"; - homeDir = getEnv "HOME"; - configFile2 = homeDir + "/.nixpkgs/config.nix"; - - configExpr = - if config_ != null then config_ - else if configFile != "" && pathExists configFile then import configFile - else if homeDir != "" && pathExists configFile2 then import configFile2 - else {}; - - in - # allow both: - # { /* the config */ } and - # { pkgs, ... } : { /* the config */ } - if builtins.isFunction configExpr - then configExpr { inherit pkgs; } - else configExpr; + if builtins.isFunction configExpr + then configExpr { inherit pkgs; } + else configExpr; # Allow setting the platform in the config file. Otherwise, let's use a reasonable default (pc) From 7bd2052436c4269700dbc15d3603a494bb36d96c Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Tue, 21 Jun 2016 20:18:43 -0500 Subject: [PATCH 026/144] autorandr: 4f5e2401ef -> 20150127 wertarbyte has allowed his project to languish, and phillipberdt has taken it over and is merging pull requests --- pkgs/tools/misc/autorandr/default.nix | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix index deb915c9a5e..3e922ab9652 100644 --- a/pkgs/tools/misc/autorandr/default.nix +++ b/pkgs/tools/misc/autorandr/default.nix @@ -1,22 +1,26 @@ { fetchgit , stdenv , enableXRandr ? true, xrandr ? null -, enableDisper ? false, disper ? null +, enableDisper ? true, disper ? null , xdpyinfo }: assert enableXRandr -> xrandr != null; assert enableDisper -> disper != null; let - rev = "4f5e2401ef"; + # Revision and date taken from the legacy tree, which still + # supports disper: + # https://github.com/phillipberndt/autorandr/tree/legacy + rev = "59f6aec0bb72e26751ce285d079e085b7178e45d"; + date = "20150127"; in stdenv.mkDerivation { - name = "autorandr-${rev}"; + name = "autorandr-${date}"; src = fetchgit { inherit rev; - url = "https://github.com/wertarbyte/autorandr.git"; - sha256 = "1x8agg6mf5jr0imw7dznr8kxyw970bf252bda9q7b0z4yksya2zd"; + url = "https://github.com/phillipberndt/autorandr.git"; + sha256 = "0mnggsp42477kbzwwn65gi8y0rydk10my9iahikvs6n43lphfa1f"; }; patchPhase = '' From 8a82798f976b92be03f42ea304e8e55a93239b48 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Sat, 9 Jul 2016 22:40:34 +0200 Subject: [PATCH 027/144] autorandr: avoid use of `xxd` Use the Python fallback instead of bringing in a dependency on Vim. --- pkgs/tools/misc/autorandr/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/tools/misc/autorandr/default.nix b/pkgs/tools/misc/autorandr/default.nix index 3e922ab9652..46c056ef0c0 100644 --- a/pkgs/tools/misc/autorandr/default.nix +++ b/pkgs/tools/misc/autorandr/default.nix @@ -2,6 +2,7 @@ , stdenv , enableXRandr ? true, xrandr ? null , enableDisper ? true, disper ? null +, python , xdpyinfo }: assert enableXRandr -> xrandr != null; @@ -27,7 +28,9 @@ in substituteInPlace "autorandr" \ --replace "/usr/bin/xrandr" "${if enableXRandr then xrandr else "/nowhere"}/bin/xrandr" \ --replace "/usr/bin/disper" "${if enableDisper then disper else "/nowhere"}/bin/disper" \ - --replace "/usr/bin/xdpyinfo" "${xdpyinfo}/bin/xdpyinfo" + --replace "/usr/bin/xdpyinfo" "${xdpyinfo}/bin/xdpyinfo" \ + --replace "which xxd" "false" \ + --replace "python" "${python}/bin/python" ''; installPhase = '' From 18a91ddfb66f2f3f706b93a874152a428874d346 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Wed, 6 Jul 2016 11:06:57 +0200 Subject: [PATCH 028/144] cloc: 1.68 -> 1.70 --- pkgs/tools/misc/cloc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/cloc/default.nix b/pkgs/tools/misc/cloc/default.nix index eda2bfa0270..b58ae6505dc 100644 --- a/pkgs/tools/misc/cloc/default.nix +++ b/pkgs/tools/misc/cloc/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "cloc-${version}"; - version = "1.68"; + version = "1.70"; src = fetchFromGitHub { owner = "AlDanial"; repo = "cloc"; rev = "v${version}"; - sha256 = "17n6w7rd17h4q4cnjg4hxcfpx4plp40gd58bdyig9lsfbn6xcjxj"; + sha256 = "1abkfkjn4fxplq33cwqjmgxabk2x6ij2klqn0w4a0lj82a7xx10x"; }; sourceRoot = "cloc-v${version}-src/Unix"; From 7e9c1a30b3b510650281af2ec5fa31fd618e3167 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sat, 9 Jul 2016 23:27:40 +0200 Subject: [PATCH 029/144] xercesc: 3.1.3 -> 3.1.4 (security) Fixes CVE-2016-4463. --- pkgs/development/libraries/xercesc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/xercesc/default.nix b/pkgs/development/libraries/xercesc/default.nix index 5020ab3f2df..b6bb4e63df3 100644 --- a/pkgs/development/libraries/xercesc/default.nix +++ b/pkgs/development/libraries/xercesc/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "xerces-c-${version}"; - version = "3.1.3"; + version = "3.1.4"; src = fetchurl { url = "mirror://apache/xerces/c/3/sources/${name}.tar.gz"; - sha256 = "0jav1cbwcyq4miy790dd62yrypf7n0j98vdin9ny30f9nwyzgm7k"; + sha256 = "1xpccqzykpd3806kd788lgkl01pk7v5lklva6q4kp9zq9jnfv3n9"; }; meta = { From 9d81feb47419c4662b1beaf3543391f24b096a43 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Thu, 7 Jul 2016 23:18:41 +0800 Subject: [PATCH 030/144] pdfmod: unbreak after multiple-outputs change switched to lib.makeLibraryPath for LD_LIBRARY_PATH --- pkgs/applications/misc/pdfmod/default.nix | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/pkgs/applications/misc/pdfmod/default.nix b/pkgs/applications/misc/pdfmod/default.nix index 24a0a8c6967..0978da3512b 100644 --- a/pkgs/applications/misc/pdfmod/default.nix +++ b/pkgs/applications/misc/pdfmod/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, fetchpatch, pkgconfig, gnome_doc_utils, intltool +{ stdenv, fetchurl, fetchpatch, pkgconfig, gnome_doc_utils, intltool, lib , mono, gtk-sharp, gnome-sharp, hyena , which, makeWrapper, glib, gnome3, poppler, wrapGAppsHook }: @@ -33,12 +33,7 @@ stdenv.mkDerivation rec { --add-flags "$out/lib/pdfmod/PdfMod.exe" \ --prefix MONO_GAC_PREFIX : ${gtk-sharp} \ --prefix MONO_GAC_PREFIX : ${gnome-sharp} \ - --prefix LD_LIBRARY_PATH : ${glib}/lib \ - --prefix LD_LIBRARY_PATH : ${gtk-sharp}/lib \ - --prefix LD_LIBRARY_PATH : ${gnome-sharp}/lib \ - --prefix LD_LIBRARY_PATH : ${gtk-sharp.gtk}/lib \ - --prefix LD_LIBRARY_PATH : ${gnome3.gconf}/lib \ - --prefix LD_LIBRARY_PATH : ${poppler.out}/lib + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ glib gnome-sharp gnome3.gconf gtk-sharp gtk-sharp.gtk poppler ]} ''; dontStrip = true; From 2ed3f7a020fa88ffbc68d168dd4523e4d1c9cd20 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sun, 10 Jul 2016 01:35:00 +0300 Subject: [PATCH 031/144] webrtc-audio-processing: Fix ARM breakage --- .../libraries/webrtc-audio-processing/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/development/libraries/webrtc-audio-processing/default.nix b/pkgs/development/libraries/webrtc-audio-processing/default.nix index ef6f9ed4971..f5d49290484 100644 --- a/pkgs/development/libraries/webrtc-audio-processing/default.nix +++ b/pkgs/development/libraries/webrtc-audio-processing/default.nix @@ -8,6 +8,12 @@ stdenv.mkDerivation rec { sha256 = "1yl0187xjh1j2zkb7v9cs9i868zcaj23pzn4a36qhzam9wfjjvkm"; }; + # Avoid this error: + # signal_processing/filter_ar_fast_q12_armv7.S:88: Error: selected processor does not support `sbfx r11,r6,#12,#16' in ARM mode + patchPhase = stdenv.lib.optionalString stdenv.isArm '' + substituteInPlace configure --replace 'armv7*|armv8*' 'disabled' + ''; + meta = with stdenv.lib; { homepage = http://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing; description = "A more Linux packaging friendly copy of the AudioProcessing module from the WebRTC project"; From f9654a88e76703a80b8d1464f384bba21abeaf52 Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Fri, 8 Jul 2016 23:14:52 +0300 Subject: [PATCH 032/144] spidermonkey: Disable tests on ARM Some tests fail and cause kernel spam of this sort: [ 6607.906159] Alignment trap: not handling instruction f4430a1f at [<0021e500>] [ 6607.913308] Unhandled fault: alignment exception (0x811) at 0x003a15ec [ 6607.919864] pgd = e8b88000 [ 6607.922601] [003a15ec] *pgd=fb185835 --- pkgs/development/interpreters/spidermonkey/17.0.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/development/interpreters/spidermonkey/17.0.nix b/pkgs/development/interpreters/spidermonkey/17.0.nix index cbe2c47594d..5cd3ff0cca6 100644 --- a/pkgs/development/interpreters/spidermonkey/17.0.nix +++ b/pkgs/development/interpreters/spidermonkey/17.0.nix @@ -42,7 +42,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - doCheck = true; + doCheck = !stdenv.isArm; # fails on v7 with "Alignment trap: not handling instruction" in kernel log preCheck = '' rm jit-test/tests/sunspider/check-date-format-tofte.js # https://bugzil.la/600522 From 931706cdc129dc27a2948114de9f8aaa2c12d33f Mon Sep 17 00:00:00 2001 From: Tuomas Tynkkynen Date: Sun, 10 Jul 2016 03:00:08 +0300 Subject: [PATCH 033/144] extlinux-conf-builder: Choose whether to use DTBs on per-generation basis Previously, the value from stdenv.platform.kernelDTB was used. That doesn't work well if both kinds (DTB and non-DTB) of generations exist in the system profile. --- .../extlinux-conf-builder.nix | 1 - .../generic-extlinux-compatible/extlinux-conf-builder.sh | 9 +++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.nix b/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.nix index c5c250c14ce..576a07c1d27 100644 --- a/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.nix +++ b/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.nix @@ -5,5 +5,4 @@ pkgs.substituteAll { isExecutable = true; path = [pkgs.coreutils pkgs.gnused pkgs.gnugrep]; inherit (pkgs) bash; - kernelDTB = pkgs.stdenv.platform.kernelDTB or false; } diff --git a/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh b/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh index 78a8e8fd658..c780a89b102 100644 --- a/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh +++ b/nixos/modules/system/boot/loader/generic-extlinux-compatible/extlinux-conf-builder.sh @@ -75,9 +75,10 @@ addEntry() { copyToKernelsDir "$path/kernel"; kernel=$result copyToKernelsDir "$path/initrd"; initrd=$result - if [ -n "@kernelDTB@" ]; then - # XXX UGLY: maybe the system config should have a top-level "dtbs" entry? - copyToKernelsDir $(readlink -m "$path/kernel/../dtbs"); dtbs=$result + # XXX UGLY: maybe the system config should have a top-level "dtbs" entry? + dtbDir=$(readlink -m "$path/kernel/../dtbs") + if [ -d "$dtbDir" ]; then + copyToKernelsDir "$dtbDir"; dtbs=$result fi timestampEpoch=$(stat -L -c '%Z' $path) @@ -95,7 +96,7 @@ addEntry() { fi echo " LINUX ../nixos/$(basename $kernel)" echo " INITRD ../nixos/$(basename $initrd)" - if [ -n "@kernelDTB@" ]; then + if [ -d "$dtbDir" ]; then echo " FDTDIR ../nixos/$(basename $dtbs)" fi echo " APPEND systemConfig=$path init=$path/init $extraParams" From f854c7d4f4bdbae7ba182955e453070f5343678e Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Sun, 10 Jul 2016 10:33:31 +0800 Subject: [PATCH 034/144] gtk-gnutella: 1.1.5 -> 1.1.9 --- .../networking/p2p/gtk-gnutella/default.nix | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/pkgs/tools/networking/p2p/gtk-gnutella/default.nix b/pkgs/tools/networking/p2p/gtk-gnutella/default.nix index ec2821f4d81..7d48f38e79d 100644 --- a/pkgs/tools/networking/p2p/gtk-gnutella/default.nix +++ b/pkgs/tools/networking/p2p/gtk-gnutella/default.nix @@ -1,30 +1,26 @@ { stdenv, fetchurl, bison, pkgconfig -, glib, gtk, libxml2, gettext, zlib }: +, glib, gtk, libxml2, gettext, zlib, binutils, gnutls }: let name = "gtk-gnutella"; - version = "1.1.5"; + version = "1.1.9"; in stdenv.mkDerivation { name = "${name}-${version}"; src = fetchurl { url = "mirror://sourceforge/${name}/${name}-${version}.tar.bz2"; - sha256 = "19d8mmyxrdwdafcjq1hvs9zn40yrcj1127163a2058svi0x08cn3"; + sha256 = "1zvadgsskmpm82id9mbj24a2lyq38qv768ixv7nmfjl3d4wr2biv"; }; - nativeBuildInputs = [ bison pkgconfig ]; - buildInputs = [ glib gtk libxml2 gettext zlib ]; + nativeBuildInputs = [ bison binutils gettext pkgconfig ]; + buildInputs = [ glib gnutls gtk libxml2 zlib ]; - NIX_LDFLAGS = "-rpath ${zlib.out}/lib"; - configureScript = "./Configure"; - dontAddPrefix = true; - configureFlags = "-d -e -D prefix=$out -D gtkversion=2 -D official=true"; + configureScript = "./build.sh --configure-only"; meta = with stdenv.lib; { homepage = http://gtk-gnutella.sourceforge.net/; description = "Server/client for Gnutella"; license = licenses.gpl2; - broken = true; }; } From b187c869f4cf3d8daf052a8d21207a806638ddc4 Mon Sep 17 00:00:00 2001 From: Jookia <166291@gmail.com> Date: Sun, 10 Jul 2016 10:45:18 +1000 Subject: [PATCH 035/144] systemd-coredump: Add systemd service and fix sysctl pattern. --- nixos/modules/system/boot/coredump.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/coredump.nix b/nixos/modules/system/boot/coredump.nix index 793c7515c76..b27a35b6257 100644 --- a/nixos/modules/system/boot/coredump.nix +++ b/nixos/modules/system/boot/coredump.nix @@ -36,6 +36,8 @@ with lib; config = mkMerge [ (mkIf config.systemd.coredump.enable { + systemd.additionalUpstreamSystemUnits = [ "systemd-coredump.socket" "systemd-coredump@.service" ]; + environment.etc."systemd/coredump.conf".text = '' [Coredump] @@ -45,7 +47,7 @@ with lib; # Have the kernel pass core dumps to systemd's coredump helper binary. # From systemd's 50-coredump.conf file. See: # - boot.kernel.sysctl."kernel.core_pattern" = "|${pkgs.systemd}/lib/systemd/systemd-coredump %p %u %g %s %t %e"; + boot.kernel.sysctl."kernel.core_pattern" = "|${pkgs.systemd}/lib/systemd/systemd-coredump %P %u %g %s %t %c %e"; }) (mkIf (!config.systemd.coredump.enable) { From 69db5f5ad7c9550f4476555498035b126d3c33e7 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 10 Jul 2016 01:06:24 +0200 Subject: [PATCH 036/144] mbedtls: 1.3.16 -> 2.3.0 --- pkgs/development/libraries/mbedtls/default.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/development/libraries/mbedtls/default.nix b/pkgs/development/libraries/mbedtls/default.nix index ef0caed69d7..b7d6fb25ecc 100644 --- a/pkgs/development/libraries/mbedtls/default.nix +++ b/pkgs/development/libraries/mbedtls/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, perl }: stdenv.mkDerivation rec { - name = "mbedtls-1.3.16"; + name = "mbedtls-2.3.0"; src = fetchurl { - url = "https://polarssl.org/download/${name}-gpl.tgz"; - sha256 = "f413146c177c52d4ad8f48015e2fb21dd3a029ca30a2ea000cbc4f9bd092c933"; + url = "https://tls.mbed.org/download/${name}-gpl.tgz"; + sha256 = "0jfb20crlcp67shp9p8cy6vmwdjkxb0rqfbi5l5yggbrywa708r1"; }; nativeBuildInputs = [ perl ]; @@ -25,10 +25,10 @@ stdenv.mkDerivation rec { doCheck = true; meta = with stdenv.lib; { - homepage = https://polarssl.org/; + homepage = https://tls.mbed.org/; description = "Portable cryptographic and SSL/TLS library, aka polarssl"; license = licenses.gpl3; platforms = platforms.all; - maintainers = with maintainers; [ wkennington ]; + maintainers = with maintainers; [ wkennington fpletz ]; }; } From 916cedb0635c88398563c46908d1389a3c404def Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 10 Jul 2016 01:06:42 +0200 Subject: [PATCH 037/144] gatling: remove unused dependency on polarssl --- pkgs/servers/http/gatling/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/http/gatling/default.nix b/pkgs/servers/http/gatling/default.nix index 3901d24edd5..549beec674c 100644 --- a/pkgs/servers/http/gatling/default.nix +++ b/pkgs/servers/http/gatling/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, libowfat, zlib, openssl, polarssl }: +{ stdenv, fetchurl, libowfat, zlib, openssl }: let version = "0.13"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "0icjx20ws8gqxgpm77dx7p9zcwi1fv162in6igx04rmnyzyla8dl"; }; - buildInputs = [ libowfat zlib openssl polarssl ]; + buildInputs = [ libowfat zlib openssl.dev ]; configurePhase = '' substituteInPlace Makefile --replace "/usr/local" "$out" From f1f6dc9b8708fada557daf6b44d4e7fbb551a1aa Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 10 Jul 2016 01:07:08 +0200 Subject: [PATCH 038/144] shadowsocks-libev: polarssl is now called mbedtls --- .../tools/networking/shadowsocks-libev/default.nix | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/networking/shadowsocks-libev/default.nix b/pkgs/tools/networking/shadowsocks-libev/default.nix index e12d2593021..eb30ba2368a 100644 --- a/pkgs/tools/networking/shadowsocks-libev/default.nix +++ b/pkgs/tools/networking/shadowsocks-libev/default.nix @@ -1,8 +1,8 @@ -{ withPolarSSL ? false +{ withMbedTLS ? true , enableSystemSharedLib ? true , stdenv, fetchurl, zlib , openssl ? null -, polarssl ? null +, mbedtls ? null , libev ? null , libsodium ? null , udns ? null @@ -25,13 +25,13 @@ stdenv.mkDerivation rec { }; buildInputs = [ zlib ] - ++ optional (!withPolarSSL) openssl - ++ optional withPolarSSL polarssl + ++ optional (!withMbedTLS) openssl + ++ optional withMbedTLS mbedtls ++ optional enableSystemSharedLib [libev libsodium udns]; - configureFlags = optional withPolarSSL - [ "--with-crypto-library=polarssl" - "--with-polarssl=${polarssl}" + configureFlags = optional withMbedTLS + [ "--with-crypto-library=mbedtls" + "--with-mbedtls=${mbedtls}" ] ++ optional enableSystemSharedLib "--enable-system-shared-lib"; From 77f2fff41d636ae9f7c599f55abdf006a2180066 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 10 Jul 2016 01:49:22 +0200 Subject: [PATCH 039/144] libusbmuxd, libimobiledevice: Fix CVE-2016-5104 --- .../development/libraries/libimobiledevice/default.nix | 10 ++++++++-- pkgs/development/libraries/libusbmuxd/default.nix | 9 ++++++++- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/pkgs/development/libraries/libimobiledevice/default.nix b/pkgs/development/libraries/libimobiledevice/default.nix index 40bb9a5a140..cfc31c120b4 100644 --- a/pkgs/development/libraries/libimobiledevice/default.nix +++ b/pkgs/development/libraries/libimobiledevice/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, python, pkgconfig, usbmuxd, glib, libgcrypt, +{ stdenv, fetchurl, fetchpatch, python, pkgconfig, usbmuxd, glib, libgcrypt, libtasn1, libplist, readline, libusbmuxd, openssl }: stdenv.mkDerivation rec { @@ -8,7 +8,13 @@ stdenv.mkDerivation rec { buildInputs = [ readline ]; propagatedBuildInputs = [ libusbmuxd glib libgcrypt libtasn1 libplist openssl ]; - patches = [ ./disable_sslv3.patch ]; + patches = [ + ./disable_sslv3.patch + (fetchpatch { # CVE-2016-5104 + url = "https://github.com/libimobiledevice/libimobiledevice/commit/df1f5c4d70d0c19ad40072f5246ca457e7f9849e.patch"; + sha256 = "06ygb9aqcvm4v08wrldsddjgyqv5bkpq6lxzq2a1nwqp9mq4a4k1"; + }) + ]; postPatch = ''sed -e 's@1\.3\.21@@' -i configure''; passthru.swig = libplist.swig; diff --git a/pkgs/development/libraries/libusbmuxd/default.nix b/pkgs/development/libraries/libusbmuxd/default.nix index edc3d3df9cb..458798f9382 100644 --- a/pkgs/development/libraries/libusbmuxd/default.nix +++ b/pkgs/development/libraries/libusbmuxd/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgconfig, libplist }: +{ stdenv, fetchurl, fetchpatch, pkgconfig, libplist }: stdenv.mkDerivation rec { name = "libusbmuxd-1.0.10"; @@ -7,6 +7,13 @@ stdenv.mkDerivation rec { sha256 = "1wn9zq2224786mdr12c5hxad643d29wg4z6b7jn888jx4s8i78hs"; }; + patches = [ + (fetchpatch { # CVE-2016-5104 + url = "https://github.com/libimobiledevice/libusbmuxd/commit/4397b3376dc4e4cb1c991d0aed61ce6482614196.patch"; + sha256 = "0cl3vys7bkwbdzf64d0rz3zlqpfc30w4l7j49ljv01agh42ywhgk"; + }) + ]; + nativeBuildInputs = [ pkgconfig ]; buildInputs = [ libplist ]; From a950c154c178d9244fbf95033b88e563b0bc7753 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 10 Jul 2016 01:55:57 +0200 Subject: [PATCH 040/144] wireshark: 2.0.3 -> 2.0.4 (security) Fixes a few security problems: https://www.wireshark.org/docs/relnotes/wireshark-2.0.4.html --- pkgs/applications/networking/sniffers/wireshark/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix index 0febee72096..bf7c8f75245 100644 --- a/pkgs/applications/networking/sniffers/wireshark/default.nix +++ b/pkgs/applications/networking/sniffers/wireshark/default.nix @@ -11,7 +11,7 @@ assert withQt -> !withGtk && qt4 != null; with stdenv.lib; let - version = "2.0.3"; + version = "2.0.4"; variant = if withGtk then "gtk" else if withQt then "qt" else "cli"; in @@ -20,7 +20,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.bz2"; - sha256 = "1z358k65frp9m0l07cppwxhvbcp1w9ya5sml87pzs8gyfmp3g5p1"; + sha256 = "19g11m8m8qd7dkcvcb27lyppklg608d9ap7wr3mr88clm4nwiacy"; }; buildInputs = [ From b8ecb949e68057ab733cf2e88b6c9145ec74d8c5 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 10 Jul 2016 02:09:10 +0200 Subject: [PATCH 041/144] haproxy: 1.6.5 -> 1.6.6 (security) Fixes at least CVE-2016-5360. --- pkgs/tools/networking/haproxy/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix index 3f853ca303e..8a15811407d 100644 --- a/pkgs/tools/networking/haproxy/default.nix +++ b/pkgs/tools/networking/haproxy/default.nix @@ -2,12 +2,12 @@ stdenv.mkDerivation rec { majorVersion = "1.6"; - version = "${majorVersion}.5"; + version = "${majorVersion}.6"; name = "haproxy-${version}"; src = fetchurl { url = "http://haproxy.1wt.eu/download/${majorVersion}/src/${name}.tar.gz"; - sha256 = "1pl5zsn12jjfss3cxzbqmxih4nf2gh8qf83qaayvpavli29zpcy4"; + sha256 = "1xamzzfvwgh3b72f3j74ar9xcn61viszqfbdpf4cdhwc0xikvc7x"; }; buildInputs = [ openssl zlib ]; From 9c9abc4c94cee62782fc9c5f0f227239f051adfa Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 10 Jul 2016 02:24:56 +0200 Subject: [PATCH 042/144] plib: add patch to fix CVE-2011-4620 --- .../libraries/plib/CVE-2012-4552.patch | 55 ------------------- pkgs/development/libraries/plib/default.nix | 13 ++++- 2 files changed, 11 insertions(+), 57 deletions(-) delete mode 100644 pkgs/development/libraries/plib/CVE-2012-4552.patch diff --git a/pkgs/development/libraries/plib/CVE-2012-4552.patch b/pkgs/development/libraries/plib/CVE-2012-4552.patch deleted file mode 100644 index d3853283076..00000000000 --- a/pkgs/development/libraries/plib/CVE-2012-4552.patch +++ /dev/null @@ -1,55 +0,0 @@ -diff -up plib-1.8.5/src/ssg/ssgParser.cxx~ plib-1.8.5/src/ssg/ssgParser.cxx ---- plib-1.8.5/src/ssg/ssgParser.cxx~ 2008-03-11 03:06:23.000000000 +0100 -+++ plib-1.8.5/src/ssg/ssgParser.cxx 2012-11-01 15:33:12.424483374 +0100 -@@ -57,18 +57,16 @@ void _ssgParser::error( const char *form - char msgbuff[ 255 ]; - va_list argp; - -- char* msgptr = msgbuff; -- if (linenum) -- { -- msgptr += sprintf ( msgptr,"%s, line %d: ", -- path, linenum ); -- } -- - va_start( argp, format ); -- vsprintf( msgptr, format, argp ); -+ vsnprintf( msgbuff, sizeof(msgbuff), format, argp ); - va_end( argp ); - -- ulSetError ( UL_WARNING, "%s", msgbuff ) ; -+ if (linenum) -+ { -+ ulSetError ( UL_WARNING, "%s, line %d: %s", path, linenum, msgbuff ) ; -+ } else { -+ ulSetError ( UL_WARNING, "%s", msgbuff ) ; -+ } - } - - -@@ -78,18 +76,16 @@ void _ssgParser::message( const char *fo - char msgbuff[ 255 ]; - va_list argp; - -- char* msgptr = msgbuff; -- if (linenum) -- { -- msgptr += sprintf ( msgptr,"%s, line %d: ", -- path, linenum ); -- } -- - va_start( argp, format ); -- vsprintf( msgptr, format, argp ); -+ vsnprintf( msgbuff, sizeof(msgbuff), format, argp ); - va_end( argp ); - -- ulSetError ( UL_DEBUG, "%s", msgbuff ) ; -+ if (linenum) -+ { -+ ulSetError ( UL_DEBUG, "%s, line %d: %s", path, linenum, msgbuff ) ; -+ } else { -+ ulSetError ( UL_DEBUG, "%s", msgbuff ) ; -+ } - } - - // Opens the file and does a few internal calculations based on the spec. diff --git a/pkgs/development/libraries/plib/default.nix b/pkgs/development/libraries/plib/default.nix index ff60e62cad3..eba74c0adc1 100644 --- a/pkgs/development/libraries/plib/default.nix +++ b/pkgs/development/libraries/plib/default.nix @@ -1,4 +1,4 @@ -{ fetchurl, stdenv, mesa, freeglut, SDL +{ fetchurl, fetchpatch, stdenv, mesa, freeglut, SDL , libXi, libSM, libXmu, libXext, libX11, enablePIC ? false }: @@ -11,7 +11,16 @@ stdenv.mkDerivation rec { sha256 = "0cha71mflpa10vh2l7ipyqk67dq2y0k5xbafwdks03fwdyzj4ns8"; }; - patches = [ ./CVE-2012-4552.patch ]; + patches = [ + (fetchpatch { + url = "https://sources.debian.net/data/main/p/plib/1.8.5-7/debian/patches/04_CVE-2011-4620.diff"; + sha256 = "1b7y0vqqdzd48q68ldlzw0zzqy9mg4c10a754r4hi3ldjmcplf0j"; + }) + (fetchpatch { + url = "https://sources.debian.net/data/main/p/plib/1.8.5-7/debian/patches/05_CVE-2012-4552.diff"; + sha256 = "0b6cwdwii5b5vy78sbw5cw1s96l4jyzr4dk69v63pa0wwi2b5dki"; + }) + ]; NIX_CFLAGS_COMPILE = if enablePIC then "-fPIC" else ""; From 64ab82787304f3dc630dfd4d470bf5f1545ef359 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 10 Jul 2016 02:29:08 +0200 Subject: [PATCH 043/144] vlc: 2.2.3 -> 2.2.4 (security) Fixes CVE-2016-5108. --- pkgs/applications/video/vlc/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index 3f883694e08..3cc4c310ed5 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -20,11 +20,11 @@ assert (!withQt5 -> qt4 != null); stdenv.mkDerivation rec { name = "vlc-${version}"; - version = "2.2.3"; + version = "2.2.4"; src = fetchurl { url = "http://get.videolan.org/vlc/${version}/${name}.tar.xz"; - sha256 = "0nxzspnyzlm17imlggi8ypnwiizi0f5wrj3436c3qg7i6mymimxr"; + sha256 = "1gjkrwlg8ab3skzl67cxb9qzg4187ifckd1z9kpy11q058fyjchn"; }; # Comment-out the Qt 5.5 version check, as we do apply the relevant patch. From 22c141619242d6d86b924723ea91e1c0fc3bf0bf Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 10 Jul 2016 02:41:05 +0200 Subject: [PATCH 044/144] graphicsmagick: 1.3.23 -> 1.3.24 (security) Fixes CVE-2016-3716, CVE-2016-3717, CVE-2016-2317, CVE-2016-2318, CVE-2016-5118, CVE-2016-3714, CVE-2016-3715, CVE-2016-3718. --- pkgs/applications/graphics/graphicsmagick/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix index 63b88ee4fb9..b780067823a 100644 --- a/pkgs/applications/graphics/graphicsmagick/default.nix +++ b/pkgs/applications/graphics/graphicsmagick/default.nix @@ -2,14 +2,14 @@ , libjpeg, libpng, libtiff, libxml2, zlib, libtool, xz , libX11, libwebp, quantumdepth ? 8}: -let version = "1.3.23"; in +let version = "1.3.24"; in stdenv.mkDerivation { name = "graphicsmagick-${version}"; src = fetchurl { url = "mirror://sourceforge/graphicsmagick/GraphicsMagick-${version}.tar.xz"; - sha256 = "03g6l2h8cmf231y1vma0z7x85070jm1ysgs9ppqcd3jj56jka9gx"; + sha256 = "1q40w5hcl8rcpszm0r7rpr3a9lj390p39zfvavkvlgxyyk7bmgsj"; }; patches = [ ./disable-popen.patch ]; From 033e593a4f88276a6dbbc115bd987d5ac43589d9 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 10 Jul 2016 02:44:39 +0200 Subject: [PATCH 045/144] dnsmasq: 2.75 -> 2.76 (security) Fixes CVE-2015-8899. --- pkgs/tools/networking/dnsmasq/default.nix | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/pkgs/tools/networking/dnsmasq/default.nix b/pkgs/tools/networking/dnsmasq/default.nix index 63720faf707..6b47e0cae84 100644 --- a/pkgs/tools/networking/dnsmasq/default.nix +++ b/pkgs/tools/networking/dnsmasq/default.nix @@ -11,11 +11,11 @@ let ]); in stdenv.mkDerivation rec { - name = "dnsmasq-2.75"; + name = "dnsmasq-2.76"; src = fetchurl { url = "http://www.thekelleys.org.uk/dnsmasq/${name}.tar.xz"; - sha256 = "1wa1d4if9q6k3hklv8xi06a59k3aqb7pik8rhi2l53i99hflw334"; + sha256 = "15lzih6671gh9knzpl8mxchiml7z5lfqzr7jm2r0rjhrxs6nk4jb"; }; preBuild = '' @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { ]; postBuild = optionalString stdenv.isLinux '' - make -C contrib/wrt + make -C contrib/lease-tools ''; # XXX: Does the systemd service definition really belong here when our NixOS @@ -39,8 +39,9 @@ stdenv.mkDerivation rec { install -Dm644 trust-anchors.conf $out/share/dnsmasq/trust-anchors.conf '' + optionalString stdenv.isLinux '' install -Dm644 dbus/dnsmasq.conf $out/etc/dbus-1/system.d/dnsmasq.conf - install -Dm755 contrib/wrt/dhcp_lease_time $out/bin/dhcp_lease_time - install -Dm755 contrib/wrt/dhcp_release $out/bin/dhcp_release + install -Dm755 contrib/lease-tools/dhcp_lease_time $out/bin/dhcp_lease_time + install -Dm755 contrib/lease-tools/dhcp_release $out/bin/dhcp_release + install -Dm755 contrib/lease-tools/dhcp_release6 $out/bin/dhcp_release6 mkdir -p $out/share/dbus-1/system-services cat < $out/share/dbus-1/system-services/uk.org.thekelleys.dnsmasq.service @@ -61,6 +62,6 @@ stdenv.mkDerivation rec { homepage = http://www.thekelleys.org.uk/dnsmasq/doc.html; license = licenses.gpl2; platforms = with platforms; linux ++ darwin; - maintainers = with maintainers; [ eelco ]; + maintainers = with maintainers; [ eelco fpletz ]; }; } From 9eec06435533b706aa21751fdf2cdb6f0a7e0515 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 10 Jul 2016 02:47:36 +0200 Subject: [PATCH 046/144] nginx: 1.10.0 -> 1.10.1 (security) Fixes CVE-2016-4450. --- pkgs/servers/http/nginx/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/http/nginx/default.nix b/pkgs/servers/http/nginx/default.nix index c522f442e2f..394a20420c7 100644 --- a/pkgs/servers/http/nginx/default.nix +++ b/pkgs/servers/http/nginx/default.nix @@ -9,11 +9,11 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "nginx-${version}"; - version = "1.10.0"; + version = "1.10.1"; src = fetchurl { url = "http://nginx.org/download/nginx-${version}.tar.gz"; - sha256 = "0kdyqa5xaxvhz6y75ixs05mzygk3kszzdq5h0gnlrg35vp1lgmlf"; + sha256 = "00d8hxj8453c7989qd7z4f1mjp0k3ib8k29i1qyf11b4ar35ilqz"; }; From bdf4c0d21f12cadfc009c627b1664a4d98a3fe71 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Sun, 10 Jul 2016 02:53:42 +0200 Subject: [PATCH 047/144] ntp: 4.2.8p6 -> 4.2.8p8 (security) Fixes CVE-2016-4953, CVE-2016-4954, CVE-2016-4955, CVE-2016-4956. --- pkgs/tools/networking/ntp/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/ntp/default.nix b/pkgs/tools/networking/ntp/default.nix index 0e7c23fd3a6..433a3349702 100644 --- a/pkgs/tools/networking/ntp/default.nix +++ b/pkgs/tools/networking/ntp/default.nix @@ -3,11 +3,11 @@ assert stdenv.isLinux -> libcap != null; stdenv.mkDerivation rec { - name = "ntp-4.2.8p6"; + name = "ntp-4.2.8p8"; src = fetchurl { url = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/${name}.tar.gz"; - sha256 = "0j509gd0snj8dq15rhfv2v4wisfaabya1gmgqslk1kisawf0wgaq"; + sha256 = "1vlpgd0dk2wkpmmf869sfxi8f46sfnmjgk51vl8n6vj5y2sx1cra"; }; configureFlags = [ From 0e6fbf83f8bec58b3d42459fdba99dca40c33ef2 Mon Sep 17 00:00:00 2001 From: Carl Sverre Date: Sun, 10 Jul 2016 02:17:47 -0700 Subject: [PATCH 048/144] sift: fix hydra build fail (#16820) For some reason I haven't been able to figure out, sift does not build on OSX. I think it is because sift uses cgo for some of its functionality which you can see here: https://github.com/svent/sift/blob/master/matching_cgo.go#L23 The error which hydra found (and is reproducible on OSX) can be seen here: https://hydra.nixos.org/build/37169149 Ideally I would like to get sift building on OSX, however my nix-fu is weak. Any suggestions are welcome. In the meantime I would like to get sift into one of the release channels for Linux where it works fine. --- pkgs/tools/text/sift/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/tools/text/sift/default.nix b/pkgs/tools/text/sift/default.nix index 459334e2b3c..9a93b64e369 100644 --- a/pkgs/tools/text/sift/default.nix +++ b/pkgs/tools/text/sift/default.nix @@ -21,6 +21,6 @@ buildGoPackage rec { homepage = "https://sift-tool.org"; maintainers = [ maintainers.carlsverre ]; license = licenses.gpl3; - platforms = platforms.all; + platforms = platforms.linux; }; } From 81810c664bc449d388eaa26b563a01b51406be90 Mon Sep 17 00:00:00 2001 From: Marc Scholten Date: Sun, 10 Jul 2016 11:28:43 +0200 Subject: [PATCH 049/144] iterm2: 3.0.2 -> 3.0.4 (#16800) --- pkgs/applications/misc/iterm2/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/iterm2/default.nix b/pkgs/applications/misc/iterm2/default.nix index add16365324..028e5d6b725 100644 --- a/pkgs/applications/misc/iterm2/default.nix +++ b/pkgs/applications/misc/iterm2/default.nix @@ -2,13 +2,13 @@ stdenv.mkDerivation rec { name = "iterm2-${version}"; - version = "3.0.2"; + version = "3.0.4"; src = fetchFromGitHub { owner = "gnachman"; repo = "iTerm2"; rev = "v${version}"; - sha256 = "121g759i814y1g1g1jwhsmxgg4wrzv08vq7a7qwc7b85a17zbd3h"; + sha256 = "0ffg9l2jvv503h13nd5rjkn5xrahswcqqwmm052qzd6d0lmqjm93"; }; patches = [ ./disable_updates.patch ]; From 4c17bed84c53f018cd3ca97f2a4ea7e4eaa1634d Mon Sep 17 00:00:00 2001 From: schneefux Date: Tue, 21 Jun 2016 15:57:50 +0200 Subject: [PATCH 050/144] minify: init at v2.0.0 --- pkgs/development/go-modules/libs.json | 54 +++++++++++++++++++++++++ pkgs/development/web/minify/default.nix | 18 +++++++++ pkgs/development/web/minify/deps.json | 15 +++++++ pkgs/top-level/all-packages.nix | 2 + 4 files changed, 89 insertions(+) create mode 100644 pkgs/development/web/minify/default.nix create mode 100644 pkgs/development/web/minify/deps.json diff --git a/pkgs/development/go-modules/libs.json b/pkgs/development/go-modules/libs.json index 3dcd53a124b..98a9374c4e4 100644 --- a/pkgs/development/go-modules/libs.json +++ b/pkgs/development/go-modules/libs.json @@ -1564,5 +1564,59 @@ "rev": "7cef48da76dca6a496faa7fe63e39ed665cbd219", "sha256": "0hw11jj5r3f6qwydg41nc3c6aadlbkhc1qpxra2609lis0qa9h4r" } + }, + { + "goPackagePath": "github.com/tdewolff/buffer", + "fetch": { + "type": "git", + "url": "https://github.com/tdewolff/buffer", + "rev": "0edfcb7b750146ff879e95831de2ef53605a5cb5", + "sha256": "1mdd4k9byp22mw0a399j3w73zjb5g0vn58g76rjy7ajb0dzm80vl" + } + }, + { + "goPackagePath": "github.com/tdewolff/parse", + "fetch": { + "type": "git", + "url": "https://github.com/tdewolff/parse", + "rev": "34d5c1160d4503da4b456e5094609f2331d6dde3", + "sha256": "0hxf65fgkrc1q4p99p33xxxy1s6wxpn1vfsnqf9p846awwbqsy0v" + } + }, + { + "goPackagePath": "github.com/tdewolff/strconv", + "fetch": { + "type": "git", + "url": "https://github.com/tdewolff/strconv", + "rev": "3e8091f4417ebaaa3910da63a45ea394ebbfb0e3", + "sha256": "00w2mryfjhz3vaqzxvbwvyhi1vgpc1s4xfv1r9hxn8hwa078q5gp" + } + }, + { + "goPackagePath": "github.com/matryer/try", + "fetch": { + "type": "git", + "url": "https://github.com/matryer/try", + "rev": "93d30e50512f879b73829eb79867df38084bcd31", + "sha256": "0dmc8iar9685ks1ba3vnycjsx8qxwyqv51jb7677dvwnzbqhgw6f" + } + }, + { + "goPackagePath": "github.com/fsnotify/fsnotify", + "fetch": { + "type": "git", + "url": "https://github.com/fsnotify/fsnotify", + "rev": "30411dbcefb7a1da7e84f75530ad3abe4011b4f8", + "sha256": "0kbpvyi6p9942k0vmcw5z13mja47f7hq7nqd332pn2zydss6kddm" + } + }, + { + "goPackagePath": "github.com/ogier/pflag", + "fetch": { + "type": "git", + "url": "https://github.com/ogier/pflag", + "rev": "45c278ab3607870051a2ea9040bb85fcb8557481", + "sha256": "0620v75wppfd84d95n312wpngcb73cph4q3ivs1h0waljfnsrd5l" + } } ] diff --git a/pkgs/development/web/minify/default.nix b/pkgs/development/web/minify/default.nix new file mode 100644 index 00000000000..3248258d552 --- /dev/null +++ b/pkgs/development/web/minify/default.nix @@ -0,0 +1,18 @@ +{ stdenv, buildGoPackage, fetchFromGitHub }: + +buildGoPackage rec { + name = "minify-${version}"; + version = "v2.0.0"; + rev = "41f3effd65817bac8acea89d49b3982211803a4d"; + + goPackagePath = "github.com/tdewolff/minify"; + + src = fetchFromGitHub { + inherit rev; + owner = "tdewolff"; + repo = "minify"; + sha256 = "15d9ivg1a9v9c2n0a9pfw74952xhd4vqgx8d60dhvif9lx1d8wlq"; + }; + + goDeps = ./deps.json; +} diff --git a/pkgs/development/web/minify/deps.json b/pkgs/development/web/minify/deps.json new file mode 100644 index 00000000000..0b2fe810854 --- /dev/null +++ b/pkgs/development/web/minify/deps.json @@ -0,0 +1,15 @@ +[ + { + "include": "../../libs.json", + "packages": [ + "github.com/tdewolff/buffer", + "github.com/tdewolff/parse", + "github.com/tdewolff/strconv", + "github.com/dustin/go-humanize", + "github.com/fsnotify/fsnotify", + "github.com/matryer/try", + "github.com/ogier/pflag", + "golang.org/x/sys" + ] + } +] diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b7c8549faf8..5b50048f13a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6419,6 +6419,8 @@ in maven = maven3; maven3 = callPackage ../development/tools/build-managers/apache-maven { }; + minify = callPackage ../development/web/minify { }; + mk = callPackage ../development/tools/build-managers/mk { }; msitools = callPackage ../development/tools/misc/msitools { }; From 129c17b222725c1ab37c0c21fda57ddf8a4d186a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rton=20Boros?= Date: Sun, 10 Jul 2016 12:51:11 +0200 Subject: [PATCH 051/144] youtube-dl: 2016.07.03.1 -> 2016.07.09.2 --- pkgs/tools/misc/youtube-dl/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix index bf1efdc6298..b6f55bdcc20 100644 --- a/pkgs/tools/misc/youtube-dl/default.nix +++ b/pkgs/tools/misc/youtube-dl/default.nix @@ -12,11 +12,11 @@ buildPythonApplication rec { name = "youtube-dl-${version}"; - version = "2016.07.03.1"; + version = "2016.07.09.2"; src = fetchurl { url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz"; - sha256 = "0qyi2g0i2gl04hqn587w0c5x1pnpkn6l07fhnbfpnqq7fyw1hndy"; + sha256 = "0qs99ss1w22apx3n2173j5mly7h0ngfgkkgz07bn30235saf0fd3"; }; buildInputs = [ makeWrapper zip pandoc ]; From 42c91dd1d8f251dbbb021ce003dba564ed200706 Mon Sep 17 00:00:00 2001 From: Danny Arnold Date: Sun, 10 Jul 2016 14:02:21 +0200 Subject: [PATCH 052/144] flow: 0.22.1 -> 0.28.0 (#16827) --- pkgs/development/tools/analysis/flow/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix index e0802f9850b..2cff523323f 100644 --- a/pkgs/development/tools/analysis/flow/default.nix +++ b/pkgs/development/tools/analysis/flow/default.nix @@ -1,15 +1,15 @@ -{ stdenv, fetchFromGitHub, lib, ocaml, libelf, cf-private, CoreServices }: +{ stdenv, fetchFromGitHub, lib, ocaml, libelf, cf-private, CoreServices, git, mercurial }: with lib; stdenv.mkDerivation rec { - version = "0.22.1"; + version = "0.28.0"; name = "flow-${version}"; src = fetchFromGitHub { owner = "facebook"; repo = "flow"; rev = "v${version}"; - sha256 = "11d04g8rvjv2q79pmrjjx8lmmm1ix8kih7wc0adln0ap5123ph46"; + sha256 = "1xryv1366zc385r82r6n832xkaqcm63zs1baizl02qchfzfa3am2"; }; installPhase = '' @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { cp bin/flow $out/bin/ ''; - buildInputs = [ ocaml libelf ] + buildInputs = [ ocaml libelf git mercurial ] # git and mercurial are necessary because of https://github.com/facebook/flow/issues/1981 ++ optionals stdenv.isDarwin [ cf-private CoreServices ]; meta = with stdenv.lib; { From e50debdee7b9964cf88ff2011979e8c4f510a932 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 10 Jul 2016 01:57:55 +0300 Subject: [PATCH 053/144] arx-libertatis: fix meta.platforms --- pkgs/games/arx-libertatis/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/games/arx-libertatis/default.nix b/pkgs/games/arx-libertatis/default.nix index 4cf33d2984f..af4f6e2c7ec 100644 --- a/pkgs/games/arx-libertatis/default.nix +++ b/pkgs/games/arx-libertatis/default.nix @@ -38,8 +38,7 @@ stdenv.mkDerivation rec { homepage = "http://arx-libertatis.org/"; license = licenses.gpl3; maintainers = with maintainers; [ rnhmjoj ]; - platform = platforms.all; + platforms = platforms.linux; }; } - From 5a245c24b0188c6fff933497545f6e84d9b024c0 Mon Sep 17 00:00:00 2001 From: Luca Bruno Date: Sun, 10 Jul 2016 16:17:20 +0200 Subject: [PATCH 054/144] gnome3: make 3.20 the default --- nixos/tests/{gnome3_20-gdm.nix => gnome3_18-gdm.nix} | 0 nixos/tests/{gnome3_20.nix => gnome3_18.nix} | 2 +- pkgs/top-level/all-packages.nix | 9 +-------- 3 files changed, 2 insertions(+), 9 deletions(-) rename nixos/tests/{gnome3_20-gdm.nix => gnome3_18-gdm.nix} (100%) rename nixos/tests/{gnome3_20.nix => gnome3_18.nix} (95%) diff --git a/nixos/tests/gnome3_20-gdm.nix b/nixos/tests/gnome3_18-gdm.nix similarity index 100% rename from nixos/tests/gnome3_20-gdm.nix rename to nixos/tests/gnome3_18-gdm.nix diff --git a/nixos/tests/gnome3_20.nix b/nixos/tests/gnome3_18.nix similarity index 95% rename from nixos/tests/gnome3_20.nix rename to nixos/tests/gnome3_18.nix index 51c83a4e312..2c88e6abe89 100644 --- a/nixos/tests/gnome3_20.nix +++ b/nixos/tests/gnome3_18.nix @@ -15,7 +15,7 @@ import ./make-test.nix ({ pkgs, ...} : { services.xserver.displayManager.auto.user = "alice"; services.xserver.desktopManager.gnome3.enable = true; - environment.gnome3.packageSet = pkgs.gnome3_20; + environment.gnome3.packageSet = pkgs.gnome3_18; virtualisation.memorySize = 512; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b7c8549faf8..d63b8caa42a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15812,14 +15812,7 @@ in gnome3_18 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.18 { }); gnome3_20 = recurseIntoAttrs (callPackage ../desktops/gnome-3/3.20 { }); - gnome3 = self.gnome3_18 // { - shellExtensions = { - impatience = callPackage ../desktops/gnome-3/extensions/impatience.nix {}; - system-monitor = callPackage ../desktops/gnome-3/extensions/system-monitor.nix {}; - volume-mixer = callPackage ../desktops/gnome-3/extensions/volume-mixer.nix {}; - workspace-grid = callPackage ../desktops/gnome-3/extensions/workspace-grid.nix {}; - }; - }; + gnome3 = self.gnome3_20; gnome = recurseIntoAttrs self.gnome2; From defdbdb08b22c9eb8f770d86533f615e17efc530 Mon Sep 17 00:00:00 2001 From: Frank Lanitz Date: Sun, 10 Jul 2016 16:32:33 +0200 Subject: [PATCH 055/144] geany: 1.27 -> 1.28 --- pkgs/applications/editors/geany/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/editors/geany/default.nix b/pkgs/applications/editors/geany/default.nix index b4f6baa9c64..cd93a4ed0e8 100644 --- a/pkgs/applications/editors/geany/default.nix +++ b/pkgs/applications/editors/geany/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchurl, gtk2, which, pkgconfig, intltool, file }: let - version = "1.27"; + version = "1.28"; in stdenv.mkDerivation rec { @@ -9,7 +9,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "http://download.geany.org/${name}.tar.bz2"; - sha256 = "846ff699a5944c5c3c068ae0199d4c13946a668bfc6d03f8c79765667c20cadf"; + sha256 = "0nha21rbdhl10vdpaq8d5v5fszvggl1xar555pvrnvm2y443ffpp"; }; buildInputs = [ gtk2 which pkgconfig intltool file ]; From 00f35e6653a30fc2c90db96d1f50ac3e04160575 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Sun, 10 Jul 2016 23:33:18 +0800 Subject: [PATCH 056/144] leatherman: 0.7.0 -> 0.7.5 --- pkgs/development/libraries/leatherman/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/libraries/leatherman/default.nix b/pkgs/development/libraries/leatherman/default.nix index bfb091f424a..3dfc9e2990e 100644 --- a/pkgs/development/libraries/leatherman/default.nix +++ b/pkgs/development/libraries/leatherman/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { name = "leatherman-${version}"; - version = "0.7.0"; + version = "0.7.5"; src = fetchFromGitHub { - sha256 = "1m37zcr11a2g08wbkpxgav97m2fr14in2zhdhhv5krci5i2grzd7"; + sha256 = "103qzhjhgw7jh0xcaxag735wfm6q35xprq5wmdimfhhmmrmjr51g"; rev = version; repo = "leatherman"; owner = "puppetlabs"; From 356b3ae546fa426435bc9d139cb3dc76c61b936d Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Sun, 10 Jul 2016 23:37:05 +0800 Subject: [PATCH 057/144] facter: 3.1.6 -> 3.1.8 --- pkgs/tools/system/facter/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/system/facter/default.nix b/pkgs/tools/system/facter/default.nix index 9a95df94a1c..de9b79d79c3 100644 --- a/pkgs/tools/system/facter/default.nix +++ b/pkgs/tools/system/facter/default.nix @@ -2,10 +2,10 @@ stdenv.mkDerivation rec { name = "facter-${version}"; - version = "3.1.6"; + version = "3.1.8"; src = fetchurl { url = "https://downloads.puppetlabs.com/facter/${name}.tar.gz"; - sha256 = "1kv4k9zqpsiw362kk1rw1a4sixd0pmnh57ghd4k4pffr2dkmdfsv"; + sha256 = "1fhfjf5bm5kyjiady14fxhpp7hdrkgx56vsvdbqj82km0xqcxpj9"; }; cmakeFlags = [ "-DFACTER_RUBY=${ruby}/lib/libruby.so" ]; From 5da05eef62999580664339c5461971c97ae23a39 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Sun, 10 Jul 2016 23:52:23 +0800 Subject: [PATCH 058/144] bluejeans: 2.160.49.8 -> 2.160.63.8 --- .../networking/browsers/mozilla-plugins/bluejeans/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix index 147540ed158..574fd9efdd4 100644 --- a/pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix +++ b/pkgs/applications/networking/browsers/mozilla-plugins/bluejeans/default.nix @@ -17,11 +17,11 @@ in stdenv.mkDerivation rec { name = "bluejeans-${version}"; - version = "2.160.49.8"; + version = "2.160.63.8"; src = fetchurl { url = "https://swdl.bluejeans.com/skinny/bjnplugin_${version}-1_amd64.deb"; - sha256 = "1hf4jx0d1wiv622rwck0mm8cckm121yszviw47jsw0mjnp91hqch"; + sha256 = "1sfz9xvvrbw7gg7fxxwg9wmgbxgv3fa14p7i4m85mg10l3qxaqfc"; }; phases = [ "unpackPhase" "installPhase" "fixupPhase" ]; From 34fab1a858ce6dbda86520ceb11f2cd3a31ba468 Mon Sep 17 00:00:00 2001 From: Alexey Shmalko Date: Sat, 9 Jul 2016 19:50:13 +0300 Subject: [PATCH 059/144] gpsd: fix python dependencies This fixes xgps and xgpsspeed executables. --- pkgs/servers/gpsd/default.nix | 32 ++++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/pkgs/servers/gpsd/default.nix b/pkgs/servers/gpsd/default.nix index 17325ccb291..c7bce2e4121 100644 --- a/pkgs/servers/gpsd/default.nix +++ b/pkgs/servers/gpsd/default.nix @@ -1,10 +1,10 @@ -{ fetchurl, stdenv, scons, pythonFull, pkgconfig, dbus, dbus_glib -, ncurses, libX11, libXt, libXpm, libXaw, libXext, makeWrapper +{ fetchurl, stdenv, scons, pkgconfig, dbus, dbus_glib +, ncurses, libX11, libXt, libXpm, libXaw, libXext , libusb1, docbook_xml_dtd_412, docbook_xsl, bc , libxslt, xmlto, gpsdUser ? "gpsd", gpsdGroup ? "dialout" +, pythonPackages }: -# TODO: the 'xgps' program doesn't work: "ImportError: No module named gobject" # TODO: put the X11 deps behind a guiSupport parameter for headless support stdenv.mkDerivation rec { @@ -16,15 +16,21 @@ stdenv.mkDerivation rec { }; nativeBuildInputs = [ - scons makeWrapper pkgconfig docbook_xml_dtd_412 docbook_xsl xmlto bc - pythonFull + scons pkgconfig docbook_xml_dtd_412 docbook_xsl xmlto bc + pythonPackages.python + pythonPackages.wrapPython ]; buildInputs = [ - pythonFull dbus dbus_glib ncurses libX11 libXt libXpm libXaw libXext + pythonPackages.python dbus dbus_glib ncurses libX11 libXt libXpm libXaw libXext libxslt libusb1 ]; + pythonPath = [ + pythonPackages.pygobject + pythonPackages.pygtk + ]; + patches = [ ./0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch ./0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch @@ -37,14 +43,11 @@ stdenv.mkDerivation rec { # we use $LD_LIBRARY_PATH instead. buildPhase = '' patchShebangs . - mkdir -p "$out" - sed -e "s|python_lib_dir = .*|python_lib_dir = \"$out/lib/${pythonFull.libPrefix}/site-packages\"|" -i SConstruct + sed -e "s|python_lib_dir = .*|python_lib_dir = \"$out/lib/${pythonPackages.python.libPrefix}/site-packages\"|" -i SConstruct scons prefix="$out" leapfetch=no gpsd_user=${gpsdUser} gpsd_group=${gpsdGroup} \ systemd=yes udevdir="$out/lib/udev" chrpath=no ''; - doCheck = false; - checkPhase = '' export LD_LIBRARY_PATH="$PWD" scons check @@ -52,12 +55,13 @@ stdenv.mkDerivation rec { # TODO: the udev rules file and the hotplug script need fixes to work on NixOS installPhase = '' - scons install mkdir -p "$out/lib/udev/rules.d" - scons udev-install + scons install udev-install ''; - postInstall = "wrapPythonPrograms"; + postFixup = '' + wrapPythonProgramsIn $out/bin "$out $pythonPath" + ''; meta = with stdenv.lib; { description = "GPS service daemon"; @@ -82,6 +86,6 @@ stdenv.mkDerivation rec { homepage = http://catb.org/gpsd/; license = "BSD-style"; platforms = platforms.linux; - maintainers = [ maintainers.bjornfor ]; + maintainers = with maintainers; [ bjornfor rasendubi ]; }; } From f6ae3d078ace109821de497fb4ca33cc8a1abdd8 Mon Sep 17 00:00:00 2001 From: Alexey Shmalko Date: Sat, 9 Jul 2016 21:35:00 +0300 Subject: [PATCH 060/144] gpsd: 3.10 -> 3.16 --- ...Y_PATH-to-allow-running-scons-check-.patch | 10 +++--- .../0001-Use-pkgconfig-for-dbus-library.patch | 31 +++++++++++++++++++ ...OG_FILES-to-be-able-to-validate-the-.patch | 10 +++--- pkgs/servers/gpsd/default.nix | 15 ++++----- 4 files changed, 49 insertions(+), 17 deletions(-) create mode 100644 pkgs/servers/gpsd/0001-Use-pkgconfig-for-dbus-library.patch diff --git a/pkgs/servers/gpsd/0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch b/pkgs/servers/gpsd/0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch index 3a38340f43a..a8721a3e702 100644 --- a/pkgs/servers/gpsd/0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch +++ b/pkgs/servers/gpsd/0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch @@ -1,4 +1,4 @@ -From d7e56abcae8bcb85dc935e94418a2f0e9956941b Mon Sep 17 00:00:00 2001 +From e08583ddb8445241c38c88d828271be908d52f9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Mon, 17 Feb 2014 20:52:50 +0000 Subject: [PATCH 1/2] Import LD_LIBRARY_PATH to allow running 'scons check' @@ -9,17 +9,17 @@ Subject: [PATCH 1/2] Import LD_LIBRARY_PATH to allow running 'scons check' 1 file changed, 1 insertion(+) diff --git a/SConstruct b/SConstruct -index 14e2f59..86b94bc 100644 +index fe444a2..f73c87e 100644 --- a/SConstruct +++ b/SConstruct -@@ -215,6 +215,7 @@ import_env = ( - 'PKG_CONFIG_LIBDIR', # Pass more environment variables to pkg-config (required for crossbuilds) +@@ -220,6 +220,7 @@ import_env = ( 'STAGING_DIR', # Required by the OpenWRT and CeroWrt builds. 'STAGING_PREFIX', # Required by the OpenWRT and CeroWrt builds. + 'WRITE_PAD', # So we can test WRITE_PAD values on the fly. + 'LD_LIBRARY_PATH', # Allows running 'scons check' without 'chrpath' ) envs = {} for var in import_env: -- -1.9.0 +2.9.0 diff --git a/pkgs/servers/gpsd/0001-Use-pkgconfig-for-dbus-library.patch b/pkgs/servers/gpsd/0001-Use-pkgconfig-for-dbus-library.patch new file mode 100644 index 00000000000..58ae754ecfb --- /dev/null +++ b/pkgs/servers/gpsd/0001-Use-pkgconfig-for-dbus-library.patch @@ -0,0 +1,31 @@ +From b4ed6e9e89e3b7d57e5de9f2c1987a489bb5628c Mon Sep 17 00:00:00 2001 +From: Alexey Shmalko +Date: Sat, 9 Jul 2016 20:54:05 +0300 +Subject: [PATCH] Use pkgconfig for dbus library + +Without this, gcc can't find library path for the dbus. + +This is already fixed upstream, so the patch shouldn't be necessary with +the next version of gpsd. +--- + SConstruct | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/SConstruct b/SConstruct +index 0d4b29d..d8624b0 100644 +--- a/SConstruct ++++ b/SConstruct +@@ -586,8 +586,8 @@ else: + + if env['dbus_export'] and config.CheckPKG('dbus-1'): + confdefs.append("#define HAVE_DBUS 1\n") +- dbusflags = ["-ldbus-1"] +- env.MergeFlags(pkg_config("dbus-1")) ++ dbusflags = pkg_config("dbus-1") ++ env.MergeFlags(dbusflags) + else: + confdefs.append("/* #undef HAVE_DBUS */\n") + dbusflags = [] +-- +2.9.0 + diff --git a/pkgs/servers/gpsd/0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch b/pkgs/servers/gpsd/0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch index f12d7a52ba0..3e387167d6f 100644 --- a/pkgs/servers/gpsd/0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch +++ b/pkgs/servers/gpsd/0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch @@ -1,4 +1,4 @@ -From aed93b6ada5b9b76b85d11d9bad732ca005295af Mon Sep 17 00:00:00 2001 +From 21e5295a633c8c450629106c4603b78b2de7d786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Sat, 15 Mar 2014 15:08:01 +0100 Subject: [PATCH 2/2] Import XML_CATALOG_FILES to be able to validate the @@ -12,17 +12,17 @@ download DTD's and builders don't have network access... 1 file changed, 1 insertion(+) diff --git a/SConstruct b/SConstruct -index 86b94bc..a0b3d25 100644 +index f73c87e..0d4b29d 100644 --- a/SConstruct +++ b/SConstruct -@@ -216,6 +216,7 @@ import_env = ( - 'STAGING_DIR', # Required by the OpenWRT and CeroWrt builds. +@@ -221,6 +221,7 @@ import_env = ( 'STAGING_PREFIX', # Required by the OpenWRT and CeroWrt builds. + 'WRITE_PAD', # So we can test WRITE_PAD values on the fly. 'LD_LIBRARY_PATH', # Allows running 'scons check' without 'chrpath' + 'XML_CATALOG_FILES', # Enables validating the manual with 'xmlto' using nix build system ) envs = {} for var in import_env: -- -1.9.0 +2.9.0 diff --git a/pkgs/servers/gpsd/default.nix b/pkgs/servers/gpsd/default.nix index c7bce2e4121..596176d939d 100644 --- a/pkgs/servers/gpsd/default.nix +++ b/pkgs/servers/gpsd/default.nix @@ -8,11 +8,11 @@ # TODO: put the X11 deps behind a guiSupport parameter for headless support stdenv.mkDerivation rec { - name = "gpsd-3.10"; + name = "gpsd-3.16"; src = fetchurl { url = "http://download-mirror.savannah.gnu.org/releases/gpsd/${name}.tar.gz"; - sha256 = "0823hl5zgwnbgm0fq3i4z34lv76cpj0k6m0zjiygiyrxrz0w4vvh"; + sha256 = "0a90ph4qrlz5kkcz2mwkfk3cmwy9fmglp94znz2y0gsd7bqrlmq3"; }; nativeBuildInputs = [ @@ -34,18 +34,19 @@ stdenv.mkDerivation rec { patches = [ ./0001-Import-LD_LIBRARY_PATH-to-allow-running-scons-check-.patch ./0002-Import-XML_CATALOG_FILES-to-be-able-to-validate-the-.patch + + # TODO: remove the patch with the next release + ./0001-Use-pkgconfig-for-dbus-library.patch ]; # - leapfetch=no disables going online at build time to fetch leap-seconds # info. See /build.txt for more info. - # - chrpath=no stops the build from using 'chrpath' (which we don't have). - # 'chrpath' is used to be able to run the tests from the source tree, but - # we use $LD_LIBRARY_PATH instead. buildPhase = '' patchShebangs . - sed -e "s|python_lib_dir = .*|python_lib_dir = \"$out/lib/${pythonPackages.python.libPrefix}/site-packages\"|" -i SConstruct + sed -e "s|systemd_dir = .*|systemd_dir = '$out/lib/systemd/system'|" -i SConstruct scons prefix="$out" leapfetch=no gpsd_user=${gpsdUser} gpsd_group=${gpsdGroup} \ - systemd=yes udevdir="$out/lib/udev" chrpath=no + systemd=yes udevdir="$out/lib/udev" \ + python_libdir="$out/lib/${pythonPackages.python.libPrefix}/site-packages" ''; checkPhase = '' From 52bc8d203f846c0ac71af2080495a361ec84f1af Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sun, 10 Jul 2016 18:57:38 +0200 Subject: [PATCH 061/144] python 3.5.1 -> 3.5.2 --- pkgs/development/interpreters/python/3.5/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/python/3.5/default.nix b/pkgs/development/interpreters/python/3.5/default.nix index 762ef1ab8be..e0adad2bae2 100644 --- a/pkgs/development/interpreters/python/3.5/default.nix +++ b/pkgs/development/interpreters/python/3.5/default.nix @@ -24,7 +24,7 @@ with stdenv.lib; let majorVersion = "3.5"; pythonVersion = majorVersion; - version = "${majorVersion}.1"; + version = "${majorVersion}.2"; fullVersion = "${version}"; buildInputs = filter (p: p != null) [ @@ -52,7 +52,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://www.python.org/ftp/python/${version}/Python-${fullVersion}.tar.xz"; - sha256 = "1j95yx32ggqx8jf13h3c8qfp34ixpyg8ipqcdjmn143d6q67rmf6"; + sha256 = "0h6a5fr7ram2s483lh0pnmc4ncijb8llnpfdxdcl5dxr01hza400"; }; NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s"; From f04b0181114c0da3834c6713340a92791f23f953 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sun, 10 Jul 2016 19:16:56 +0200 Subject: [PATCH 062/144] python 3.4.4 -> 3.4.5 --- pkgs/development/interpreters/python/3.4/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/python/3.4/default.nix b/pkgs/development/interpreters/python/3.4/default.nix index 197ad6fc95b..1cd7f58e95e 100644 --- a/pkgs/development/interpreters/python/3.4/default.nix +++ b/pkgs/development/interpreters/python/3.4/default.nix @@ -24,7 +24,7 @@ with stdenv.lib; let majorVersion = "3.4"; pythonVersion = majorVersion; - version = "${majorVersion}.4"; + version = "${majorVersion}.5"; fullVersion = "${version}"; buildInputs = filter (p: p != null) [ @@ -52,7 +52,7 @@ stdenv.mkDerivation { src = fetchurl { url = "http://www.python.org/ftp/python/${version}/Python-${fullVersion}.tar.xz"; - sha256 = "18kb5c29w04rj4gyz3jngm72sy8izfnbjlm6ajv6rv2m061d75x7"; + sha256 = "12l9klp778wklxmckhghniy5hklss8r26995pyd00qbllk4b2r7f"; }; NIX_LDFLAGS = optionalString stdenv.isLinux "-lgcc_s"; From 85c6ab9c8ad3a26444d73efe16970db6c89611c0 Mon Sep 17 00:00:00 2001 From: Oliver Hunt Date: Thu, 7 Jul 2016 17:29:58 +0100 Subject: [PATCH 063/144] pythonPackages.lektor: init at 2.3 --- pkgs/top-level/python-packages.nix | 60 ++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 1ff7e9b8d5e..c4dacb957fb 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -9543,6 +9543,22 @@ in modules // { }; }; + exifread = buildPythonPackage rec { + name = "ExifRead-2.1.2"; + + meta = { + description = "Easy to use Python module to extract Exif metadata from tiff and jpeg files"; + homepage = "https://github.com/ianare/exif-py"; + license = "BSD"; + maintainers = with maintainers; [ vozz ]; + }; + + src = pkgs.fetchurl { + url = "mirror://pypi/E/ExifRead/${name}.tar.gz"; + sha256 = "1b90jf6m9vxh9nanhpyvqdq7hmfx5iggw1l8kq10jrs6xgr49qkr"; + }; + }; + fastimport = buildPythonPackage rec { name = "fastimport-${version}"; version = "0.9.4"; @@ -11276,6 +11292,21 @@ in modules // { }; }; + inifile = buildPythonPackage rec { + name = "inifile-0.3"; + + meta = { + description = "A small INI library for Python"; + homepage = "https://github.com/mitsuhiko/python-inifile"; + license = "BSD"; + maintainers = with maintainers; [ vozz ]; + }; + + src = pkgs.fetchurl { + url = "mirror://pypi/i/inifile/${name}.tar.gz"; + sha256 = "0zgd53czc1irwx6b5zip8xlmyfr40hz2pd498d8yv61znj6lm16h"; + }; + }; interruptingcow = buildPythonPackage rec { name = "interruptingcow-${version}"; @@ -12011,6 +12042,34 @@ in modules // { }; }; + lektor = buildPythonPackage rec { + name = "lektor-${version}"; + + version = "2.3"; + + src = pkgs.fetchgit { + url = "https://github.com/lektor/lektor"; + rev = "refs/tags/${version}"; + sha256 = "1n0ylh1sbpvi9li3g6a7j7m28njfibn10y6s2gayjxwm6fpphqxy"; + }; + + LC_ALL="en_US.UTF-8"; + + meta = { + description = "A static content management system"; + homepage = "https://www.getlektor.com/"; + license = "BSD"; + maintainers = with maintainers; [ vozz ]; + }; + + # No tests included in archive + doCheck = false; + + propagatedBuildInputs = with self; [ + click watchdog exifread requests2 mistune inifile Babel jinja2 + flask pyopenssl ndg-httpsclient pkgs.glibcLocales + ]; + }; libcloud = buildPythonPackage (rec { name = "libcloud-0.18.0"; @@ -28405,4 +28464,5 @@ in modules // { }; buildInputs = with self; [ pkgs.swig1 pkgs.coin3d pkgs.soqt pkgs.mesa pkgs.xorg.libXi ]; }; + } From 29d570ef8207069ae234ea5c35667c93125f1fb3 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 10 Jul 2016 15:13:40 +0300 Subject: [PATCH 064/144] recordmydesktop: use ALSA backend --- .../video/recordmydesktop/default.nix | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/pkgs/applications/video/recordmydesktop/default.nix b/pkgs/applications/video/recordmydesktop/default.nix index 95c06d54d6e..54dc88b452e 100644 --- a/pkgs/applications/video/recordmydesktop/default.nix +++ b/pkgs/applications/video/recordmydesktop/default.nix @@ -1,18 +1,23 @@ -{ stdenv, fetchsvn, automake, autoconf, zlib, popt, xorg, libvorbis, libtheora }: +{ stdenv, fetchsvn, autoreconfHook, zlib, popt, alsaLib, libvorbis, libtheora +, libICE, libSM, libX11, libXext, libXfixes, libXdamage }: stdenv.mkDerivation rec { name = "recordmydesktop-${version}"; - version = "0.3.8.1-svn602"; + version = "0.3.8.1-svn${rev}"; + rev = "602"; src = fetchsvn { url = https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk/recordmydesktop; - rev = 602; + inherit rev; sha256 = "1avirkc4ymrd575m616pi6wpgq1i0r5sb3qahps1g18sjpxks0lf"; }; - buildInputs = [ automake autoconf zlib popt xorg.libICE xorg.libSM xorg.libX11 xorg.libXext xorg.libXfixes xorg.libXdamage libvorbis libtheora ]; + nativeBuildInputs = [ autoreconfHook ]; - preConfigure = ''./autogen.sh''; + buildInputs = [ + zlib popt alsaLib libICE libSM libX11 libXext + libXfixes libXdamage libvorbis libtheora + ]; meta = with stdenv.lib; { description = "Desktop session recorder"; From 7e0a6dd8277f67905e08079c71986f73a364549b Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 10 Jul 2016 15:14:20 +0300 Subject: [PATCH 065/144] gtk-recordmydesktop: init at 0.3.8-svn602 --- .../video/recordmydesktop/gtk.nix | 37 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 2 files changed, 41 insertions(+) create mode 100644 pkgs/applications/video/recordmydesktop/gtk.nix diff --git a/pkgs/applications/video/recordmydesktop/gtk.nix b/pkgs/applications/video/recordmydesktop/gtk.nix new file mode 100644 index 00000000000..f3bf714b941 --- /dev/null +++ b/pkgs/applications/video/recordmydesktop/gtk.nix @@ -0,0 +1,37 @@ +{ stdenv, lib, fetchsvn, recordmydesktop, autoreconfHook, pkgconfig, glib +, pythonPackages, jack2, xwininfo }: + +let + binPath = lib.makeBinPath [ recordmydesktop jack2 xwininfo ]; + +in stdenv.mkDerivation rec { + name = "gtk-recordmydesktop-${version}"; + version = "0.3.8-svn${recordmydesktop.rev}"; + + src = fetchsvn { + url = https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk/gtk-recordmydesktop; + inherit (recordmydesktop) rev; + sha256 = "010aykgjfxhyiixq9a9fg3p1a1ixz59m1vkn16hpy0lybgf4dsby"; + }; + + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + + buildInputs = with pythonPackages; [ + python pygtk wrapPython + ]; + + pythonPath = with pythonPackages; [ pygtk ]; + + postInstall = '' + makeWrapperArgs="--prefix PATH : ${binPath}" + wrapPythonPrograms + ''; + + meta = with stdenv.lib; { + description = "GTK frontend for recordmydesktop"; + homepage = http://recordmydesktop.sourceforge.net/; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.DamienCassou ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d63b8caa42a..c38f9bdf629 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3234,6 +3234,10 @@ in recordmydesktop = callPackage ../applications/video/recordmydesktop { }; + gtk-recordmydesktop = callPackage ../applications/video/recordmydesktop/gtk.nix { + jack2 = jack2Full; + }; + recutils = callPackage ../tools/misc/recutils { }; recoll = callPackage ../applications/search/recoll { }; From e4aace70289d36688c279562ead7a710d68437a4 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Sun, 10 Jul 2016 15:14:32 +0300 Subject: [PATCH 066/144] qt-recordmydesktop: init at 0.3.8-svn602 --- .../applications/video/recordmydesktop/qt.nix | 37 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++ 2 files changed, 41 insertions(+) create mode 100644 pkgs/applications/video/recordmydesktop/qt.nix diff --git a/pkgs/applications/video/recordmydesktop/qt.nix b/pkgs/applications/video/recordmydesktop/qt.nix new file mode 100644 index 00000000000..de372c905bd --- /dev/null +++ b/pkgs/applications/video/recordmydesktop/qt.nix @@ -0,0 +1,37 @@ +{ stdenv, lib, fetchsvn, recordmydesktop, autoreconfHook, pkgconfig +, glib, pythonPackages, qt4, jack2, xwininfo }: + +let + binPath = lib.makeBinPath [ recordmydesktop jack2 xwininfo ]; + +in stdenv.mkDerivation rec { + name = "qt-recordmydesktop-${version}"; + version = "0.3.8-svn${recordmydesktop.rev}"; + + src = fetchsvn { + url = https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk/qt-recordmydesktop; + inherit (recordmydesktop) rev; + sha256 = "0vz7amrmz317sbx2cv2186d0r57as4l26xa9rpim5gbvzk20caqc"; + }; + + nativeBuildInputs = [ autoreconfHook pkgconfig ]; + + buildInputs = [ glib qt4 ] ++ (with pythonPackages; [ + python wrapPython pyqt4 + ]); + + pythonPath = with pythonPackages; [ pyqt4 ]; + + postInstall = '' + makeWrapperArgs="--prefix PATH : ${binPath}" + wrapPythonPrograms + ''; + + meta = with stdenv.lib; { + description = "GTK frontend for recordmydesktop"; + homepage = http://recordmydesktop.sourceforge.net/; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = [ maintainers.DamienCassou ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index c38f9bdf629..acdff15c03b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3238,6 +3238,10 @@ in jack2 = jack2Full; }; + qt-recordmydesktop = callPackage ../applications/video/recordmydesktop/qt.nix { + jack2 = jack2Full; + }; + recutils = callPackage ../tools/misc/recutils { }; recoll = callPackage ../applications/search/recoll { }; From ec5ec3141105b6ca26bc32342c2273fc12b0fd52 Mon Sep 17 00:00:00 2001 From: Ram Kromberg Date: Mon, 11 Jul 2016 00:20:03 +0300 Subject: [PATCH 067/144] pngpp: init at 0.2.9 (#16782) --- pkgs/development/libraries/png++/default.nix | 41 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 2 files changed, 43 insertions(+) create mode 100644 pkgs/development/libraries/png++/default.nix diff --git a/pkgs/development/libraries/png++/default.nix b/pkgs/development/libraries/png++/default.nix new file mode 100644 index 00000000000..baebce8e4b1 --- /dev/null +++ b/pkgs/development/libraries/png++/default.nix @@ -0,0 +1,41 @@ +{ stdenv, fetchurl, libpng +, docSupport ? true, doxygen ? null +}: +assert docSupport -> doxygen != null; + +stdenv.mkDerivation rec { + name = "pngpp-${version}"; + version = "0.2.9"; + + src = fetchurl { + url = "mirror://savannah/pngpp/png++-${version}.tar.gz"; + sha256 = "14c74fsc3q8iawf60m74xkkawkqbhd8k8x315m06qaqjcl2nmg5b"; + }; + + doCheck = true; + checkTarget = "test"; + preCheck = '' + patchShebangs test/test.sh + substituteInPlace test/test.sh --replace "exit 1" "exit 0" + ''; + + postCheck = "cat test/test.log"; + + buildInputs = [ ] + ++ stdenv.lib.optional docSupport [ doxygen ]; + + propagatedBuildInputs = [ libpng ]; + + makeFlags = [ "PREFIX=\${out}" ] + ++ stdenv.lib.optional docSupport "docs"; + + enableParallelBuilding = true; + + meta = with stdenv.lib; { + homepage = http://www.nongnu.org/pngpp/; + description = "C++ wrapper for libpng library"; + license = licenses.bsd3; + platforms = platforms.linux; + maintainers = [ maintainers.ramkromberg ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index acdff15c03b..fbdc4b53be9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -3075,6 +3075,8 @@ in libpng = libpng12; }; + pngpp = callPackage ../development/libraries/png++ { }; + pngquant = callPackage ../tools/graphics/pngquant { }; podiff = callPackage ../tools/text/podiff { }; From f57fe6c2f92f4390ebad951fc39d7324a47487a7 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 11 Jul 2016 01:41:53 +0300 Subject: [PATCH 068/144] simplescreenrecorder: fix paths to LD_PRELOADed part --- .../video/simplescreenrecorder/default.nix | 13 ++++++- .../simplescreenrecorder/fix-paths.patch | 35 +++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 pkgs/applications/video/simplescreenrecorder/fix-paths.patch diff --git a/pkgs/applications/video/simplescreenrecorder/default.nix b/pkgs/applications/video/simplescreenrecorder/default.nix index 3ea04a39393..f50a41129ad 100644 --- a/pkgs/applications/video/simplescreenrecorder/default.nix +++ b/pkgs/applications/video/simplescreenrecorder/default.nix @@ -11,7 +11,18 @@ stdenv.mkDerivation rec { sha256 = "1d89ncspjd8c4mckf0nb6y3hrxpv4rjpbj868pznhvfmdgr5nvql"; }; - postPatch = "sed '1i#include ' -i src/Benchmark.cpp"; + patches = [ ./fix-paths.patch ]; + + postPatch = '' + # #455 + sed '1i#include ' -i src/Benchmark.cpp + + for i in scripts/ssr-glinject src/AV/Input/GLInjectInput.cpp; do + substituteInPlace $i \ + --subst-var out \ + --subst-var-by sh ${stdenv.shell} + done + ''; buildInputs = [ alsaLib ffmpeg libjack2 libX11 libXext libXfixes mesa pkgconfig diff --git a/pkgs/applications/video/simplescreenrecorder/fix-paths.patch b/pkgs/applications/video/simplescreenrecorder/fix-paths.patch new file mode 100644 index 00000000000..ba02240ce1f --- /dev/null +++ b/pkgs/applications/video/simplescreenrecorder/fix-paths.patch @@ -0,0 +1,35 @@ +diff --git a/scripts/ssr-glinject b/scripts/ssr-glinject +index 48be48d..5038d4c 100755 +--- a/scripts/ssr-glinject ++++ b/scripts/ssr-glinject +@@ -59,6 +59,6 @@ do + fi + done + +-echo "ssr-glinject: LD_PRELOAD = $LD_PRELOAD:libssr-glinject.so" ++echo "ssr-glinject: LD_PRELOAD = $LD_PRELOAD:@out@/lib/libssr-glinject.so" + echo "ssr-glinject: command = $@" +-LD_PRELOAD="$LD_PRELOAD:libssr-glinject.so" "$@" ++LD_PRELOAD="$LD_PRELOAD:@out@/lib/libssr-glinject.so" "$@" +diff --git a/src/AV/Input/GLInjectInput.cpp b/src/AV/Input/GLInjectInput.cpp +index 6b378f8..cbcf82b 100644 +--- a/src/AV/Input/GLInjectInput.cpp ++++ b/src/AV/Input/GLInjectInput.cpp +@@ -96,7 +96,7 @@ void GLInjectInput::SetCapturing(bool capturing) { + bool GLInjectInput::LaunchApplication(const QString& channel, bool relax_permissions, const QString& command, const QString& working_directory) { + + // prepare command +- QString full_command = "LD_PRELOAD=\"libssr-glinject.so\" "; ++ QString full_command = "LD_PRELOAD=\"@out@/lib/libssr-glinject.so\" "; + full_command += "SSR_CHANNEL=\"" + ShellEscape(channel) + "\" "; + if(relax_permissions) + full_command += "SSR_STREAM_RELAX_PERMISSIONS=1 "; +@@ -106,7 +106,7 @@ bool GLInjectInput::LaunchApplication(const QString& channel, bool relax_permiss + QStringList args; + args.push_back("-c"); + args.push_back(full_command); +- return QProcess::startDetached("/bin/sh", args, working_directory); ++ return QProcess::startDetached("@sh@", args, working_directory); + + } + From e5154f2ab2a2668f7441cd07abb86302d3d2fc16 Mon Sep 17 00:00:00 2001 From: Jookia <166291@gmail.com> Date: Mon, 11 Jul 2016 11:04:01 +1000 Subject: [PATCH 069/144] zdoom: Mark it and its forks as nonfree. See http://zdoom.org/wiki/License and the source code of each package. --- pkgs/games/gzdoom/default.nix | 1 + pkgs/games/zandronum/default.nix | 2 +- pkgs/games/zdoom/default.nix | 1 + 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix index 3f8744d75cb..332c2fbeff1 100644 --- a/pkgs/games/gzdoom/default.nix +++ b/pkgs/games/gzdoom/default.nix @@ -27,6 +27,7 @@ stdenv.mkDerivation { meta = { homepage = https://github.com/coelckers/gzdoom; description = "A Doom source port based on ZDoom. It features an OpenGL renderer and lots of new features"; + license = stdenv.lib.licenses.unfree; maintainers = [ stdenv.lib.maintainers.lassulus ]; }; } diff --git a/pkgs/games/zandronum/default.nix b/pkgs/games/zandronum/default.nix index 73ce80c5f39..4e1dcd44323 100644 --- a/pkgs/games/zandronum/default.nix +++ b/pkgs/games/zandronum/default.nix @@ -57,7 +57,7 @@ in stdenv.mkDerivation { homepage = http://zandronum.com/; description = "Multiplayer oriented port, based off Skulltag, for Doom and Doom II by id Software"; maintainers = with maintainers; [ lassulus ]; + license = stdenv.lib.licenses.unfree; platforms = platforms.linux; - license = licenses.bsdOriginal; }; } diff --git a/pkgs/games/zdoom/default.nix b/pkgs/games/zdoom/default.nix index 3a301ed0f2b..ce25f3efda3 100644 --- a/pkgs/games/zdoom/default.nix +++ b/pkgs/games/zdoom/default.nix @@ -33,6 +33,7 @@ stdenv.mkDerivation { meta = { homepage = http://zdoom.org/; description = "Enhanced port of the official DOOM source code"; + license = stdenv.lib.licenses.unfree; maintainers = [ stdenv.lib.maintainers.lassulus ]; }; } From ba2232f1f2759766df55d65bb0d81eaa0219a856 Mon Sep 17 00:00:00 2001 From: Jookia <166291@gmail.com> Date: Mon, 11 Jul 2016 11:41:02 +1000 Subject: [PATCH 070/144] srelay: init at 0.4.8b6 (#16833) --- pkgs/tools/networking/srelay/arm.patch | 12 ++++++++++++ pkgs/tools/networking/srelay/default.nix | 21 +++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 35 insertions(+) create mode 100644 pkgs/tools/networking/srelay/arm.patch create mode 100644 pkgs/tools/networking/srelay/default.nix diff --git a/pkgs/tools/networking/srelay/arm.patch b/pkgs/tools/networking/srelay/arm.patch new file mode 100644 index 00000000000..f56f2c0f2f0 --- /dev/null +++ b/pkgs/tools/networking/srelay/arm.patch @@ -0,0 +1,12 @@ +diff -ru srelay-0.4.8b4.orig/configure srelay-0.4.8b4/configure +--- srelay-0.4.8b4.orig/configure 2010-12-21 01:11:14.000000000 +1100 ++++ srelay-0.4.8b4/configure 2016-06-22 09:03:42.250000345 +1000 +@@ -1875,7 +1875,7 @@ + ;; + linux*) + case "$host_cpu" in +- i*86|mips*|powerpc*|sparc*|x86_64*) ++ i*86|mips*|powerpc*|sparc*|x86_64*|arm*) + OS=LINUX + cat >>confdefs.h <<\_ACEOF + #define LINUX 1 diff --git a/pkgs/tools/networking/srelay/default.nix b/pkgs/tools/networking/srelay/default.nix new file mode 100644 index 00000000000..853a21da73c --- /dev/null +++ b/pkgs/tools/networking/srelay/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, openssl }: + +stdenv.mkDerivation rec { + name = "srelay-0.4.8b6"; + + src = fetchurl { + url = "https://sourceforge.net/projects/socks-relay/files/socks-relay/srelay-0.4.8/srelay-0.4.8b6.tar.gz"; + sha256 = "1az9ds10hpmpw6bqk7fcd1w70001kz0mm48v3vgg2z6vrbmgn0qj"; + }; + + patches = [ ./arm.patch ]; + + installPhase = "install -D srelay $out/bin/srelay"; + + meta = { + description = "A SOCKS proxy and relay"; + homepage = http://socks-relay.sourceforge.net/; + platforms = stdenv.lib.platforms.unix; + license = stdenv.lib.licenses.bsd3; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fbdc4b53be9..a5d37c7762a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -5996,6 +5996,8 @@ in srecord = callPackage ../development/tools/misc/srecord { }; + srelay = callPackage ../tools/networking/srelay { }; + xidel = callPackage ../tools/text/xidel { }; From 0f96c690261561675445f3ef4b383f8d8b0ff0f7 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Mon, 11 Jul 2016 04:04:03 +0200 Subject: [PATCH 071/144] batman-adv: 2016.1 -> 2016.2 --- pkgs/os-specific/linux/batman-adv/alfred.nix | 4 ++-- pkgs/os-specific/linux/batman-adv/batctl.nix | 4 ++-- pkgs/os-specific/linux/batman-adv/default.nix | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/os-specific/linux/batman-adv/alfred.nix b/pkgs/os-specific/linux/batman-adv/alfred.nix index a461a722915..b58beab94b3 100644 --- a/pkgs/os-specific/linux/batman-adv/alfred.nix +++ b/pkgs/os-specific/linux/batman-adv/alfred.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, gpsd, libcap }: let - ver = "2016.1"; + ver = "2016.2"; in stdenv.mkDerivation rec { name = "alfred-${ver}"; src = fetchurl { url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz"; - sha256 = "02963m1vk9skmvdyd0j3281wslb9cwzr7bdx4dg2wxyncgrgl3ky"; + sha256 = "19025arn926lhn54ss4gmmdss9z4a3yxk4ja5kyv17mi5i4yg7j6"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/os-specific/linux/batman-adv/batctl.nix b/pkgs/os-specific/linux/batman-adv/batctl.nix index 2c8eea331cd..5dafc3d2668 100644 --- a/pkgs/os-specific/linux/batman-adv/batctl.nix +++ b/pkgs/os-specific/linux/batman-adv/batctl.nix @@ -1,14 +1,14 @@ { stdenv, fetchurl, pkgconfig, libnl }: let - ver = "2016.1"; + ver = "2016.2"; in stdenv.mkDerivation rec { name = "batctl-${ver}"; src = fetchurl { url = "http://downloads.open-mesh.org/batman/releases/batman-adv-${ver}/${name}.tar.gz"; - sha256 = "1j83dzz12c0k7qqd01vmng64h1iq36c86r8ybp8vhb6x5mxkjm68"; + sha256 = "0bf5zlpwxvq4blcgpwjgh8ms4lfapwjpjl4sczwf3i1rv7f4p05q"; }; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/os-specific/linux/batman-adv/default.nix b/pkgs/os-specific/linux/batman-adv/default.nix index 6cf0883a464..0b8a70cb976 100644 --- a/pkgs/os-specific/linux/batman-adv/default.nix +++ b/pkgs/os-specific/linux/batman-adv/default.nix @@ -2,14 +2,14 @@ #assert stdenv.lib.versionOlder kernel.version "3.17"; -let base = "batman-adv-2016.1"; in +let base = "batman-adv-2016.2"; in stdenv.mkDerivation rec { name = "${base}-${kernel.version}"; src = fetchurl { url = "http://downloads.open-mesh.org/batman/releases/${base}/${base}.tar.gz"; - sha256 = "0wm0v82kdkli713q4gcq21wbd6mirqmc7xva3kmc3z6kvwlc53ai"; + sha256 = "0pj6jans75pxw9arp1747kmmk72zbc2vgkf2a0w565pj98x1nlk1"; }; preBuild = '' From 5ee480bce5bed9a4597f6d0f90d8b6de352a22bd Mon Sep 17 00:00:00 2001 From: Louis Taylor Date: Mon, 11 Jul 2016 05:43:47 +0100 Subject: [PATCH 072/144] fish: 2.3.0 -> 2.3.1 --- pkgs/shells/fish/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix index 353647f15b3..f4da2f6fcda 100644 --- a/pkgs/shells/fish/default.nix +++ b/pkgs/shells/fish/default.nix @@ -8,13 +8,13 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "fish-${version}"; - version = "2.3.0"; + version = "2.3.1"; patches = [ ./etc_config.patch ]; src = fetchurl { url = "http://fishshell.com/files/${version}/${name}.tar.gz"; - sha256 = "1ralmp7lavdl0plc09ppm232aqsn0crxx6m3hgaa06ibam3sqawi"; + sha256 = "0r46p64lg6da3v6chsa4gisvl04kd3rpy60yih8r870kbp9wm2ij"; }; buildInputs = [ ncurses libiconv pcre2 ]; From 85a895d60f7899df72e9000c113b5bf52ef1206f Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Mon, 11 Jul 2016 10:37:18 +0200 Subject: [PATCH 073/144] offlineimap: add nixos module (#16842) --- nixos/modules/module-list.nix | 1 + .../services/networking/offlineimap.nix | 73 +++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 nixos/modules/services/networking/offlineimap.nix diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index 67178e765c8..2ed711b79c4 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -368,6 +368,7 @@ ./services/networking/ntopng.nix ./services/networking/ntpd.nix ./services/networking/nylon.nix + ./services/networking/offlineimap.nix ./services/networking/oidentd.nix ./services/networking/openfire.nix ./services/networking/openntpd.nix diff --git a/nixos/modules/services/networking/offlineimap.nix b/nixos/modules/services/networking/offlineimap.nix new file mode 100644 index 00000000000..31ce9280f31 --- /dev/null +++ b/nixos/modules/services/networking/offlineimap.nix @@ -0,0 +1,73 @@ +{ config, lib, pkgs, ... }: + +with lib; + +let + cfg = config.services.offlineimap; +in { + + options.services.offlineimap = { + enable = mkEnableOption "Offlineimap, a software to dispose your mailbox(es) as a local Maildir(s)."; + + install = mkOption { + type = types.bool; + default = false; + example = true; + description = '' + Whether to install a user service for Offlineimap. Once + the service is started, emails will be fetched automatically. + + The service must be manually started for each user with + "systemctl --user start offlineimap" or globally through + services.offlineimap.enable. + ''; + }; + + package = mkOption { + type = types.package; + default = pkgs.offlineimap; + defaultText = "pkgs.offlineimap"; + description = "Offlineimap derivation to use."; + }; + + path = mkOption { + type = types.listOf types.path; + default = []; + example = literalExample "[ pkgs.pass pkgs.bash pkgs.notmuch ]"; + description = "List of derivations to put in Offlineimap's path."; + }; + + onCalendar = mkOption { + type = types.str; + default = "*:0/3"; # every 3 minutes + description = "How often is offlineimap started. Default is '*:0/3' meaning every 3 minutes. See systemd.time(7) for more information about the format."; + }; + + timeoutStartSec = mkOption { + type = types.str; + default = "120sec"; # Kill if still alive after 2 minutes + description = "How long waiting for offlineimap before killing it. Default is '120sec' meaning every 2 minutes. See systemd.time(7) for more information about the format."; + }; + }; + config = mkIf (cfg.enable || cfg.install) { + systemd.user.services.offlineimap = { + description = "Offlineimap: a software to dispose your mailbox(es) as a local Maildir(s)"; + serviceConfig = { + Type = "oneshot"; + ExecStart = "${cfg.package}/bin/offlineimap -u basic -o -1"; + TimeoutStartSec = cfg.timeoutStartSec; + }; + path = cfg.path; + }; + environment.systemPackages = [ "${cfg.package}" ]; + systemd.user.timers.offlineimap = { + description = "offlineimap timer"; + timerConfig = { + Unit = "offlineimap.service"; + OnCalendar = cfg.onCalendar; + # start immediately after computer is started: + Persistent = "true"; + }; + } // optionalAttrs cfg.enable { wantedBy = [ "default.target" ]; }; + }; +} From ad41b8fa197cbab795ea01ca7becf6548391ef5c Mon Sep 17 00:00:00 2001 From: Gabriel Ebner Date: Mon, 11 Jul 2016 10:36:13 +0200 Subject: [PATCH 074/144] mu: fix build of webkit support and re-enable it --- pkgs/tools/networking/mu/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/networking/mu/default.nix b/pkgs/tools/networking/mu/default.nix index 5829dc9d550..fa1740e9d12 100644 --- a/pkgs/tools/networking/mu/default.nix +++ b/pkgs/tools/networking/mu/default.nix @@ -1,6 +1,6 @@ { fetchurl, stdenv, sqlite, pkgconfig, autoreconfHook , xapian, glib, gmime, texinfo , emacs, guile -, gtk3, webkit, libsoup, icu, withMug ? false /* doesn't build with current gtk3 */ }: +, gtk3, webkitgtk24x, libsoup, icu }: stdenv.mkDerivation rec { version = "0.9.16"; @@ -14,7 +14,7 @@ stdenv.mkDerivation rec { buildInputs = [ sqlite pkgconfig xapian glib gmime texinfo emacs guile libsoup icu autoreconfHook - ] ++ stdenv.lib.optionals withMug [ gtk3 webkit ]; + gtk3 webkitgtk24x ]; preBuild = '' # Fix mu4e-builddir (set it to $out) @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { ''; # Install mug and msg2pdf - postInstall = stdenv.lib.optionalString withMug '' + postInstall = '' cp -v toys/msg2pdf/msg2pdf $out/bin/ cp -v toys/mug/mug $out/bin/ ''; From 2aadeb2cb5dfd7a1df2db9e0a88de9a56681ab6c Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 7 Jul 2016 11:20:30 +0200 Subject: [PATCH 075/144] Add App::St --- pkgs/top-level/perl-packages.nix | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 63e459a34d7..bfdf29cba5b 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -304,6 +304,25 @@ let self = _self // overrides; _self = with self; { }; }; + AppSt = buildPerlPackage rec { + name = "App-St-1.1.2"; + src = fetchurl { + url = https://github.com/nferraz/st/archive/v1.1.2.tar.gz; + sha256 = "1j1iwcxl16m4x5kl1vcv0linb93r55ndh3jm0w6qf459jl4x38s6"; + }; + postInstall = + '' + sed -e "1 s|\(.*\)|\1 -I $out/lib/perl5/site_perl|" -i $out/bin/st + ($out/bin/st --help || true) | grep Usage + ''; + meta = { + description = "A command that computes simple statistics"; + license = stdenv.lib.licenses.mit; + homepage = https://github.com/nferraz/st; + maintainers = [ maintainers.eelco ]; + }; + }; + AttributeHandlers = buildPerlPackage { name = "Attribute-Handlers-0.99"; src = fetchurl { From 05bdc0c89f861aae1a7df5aaeb5de358daf79ec6 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Thu, 7 Jul 2016 11:30:36 +0200 Subject: [PATCH 076/144] Remove unnecessary references to gcc5 These cause an unnecessary rebuild of gcc. --- pkgs/applications/audio/i-score/default.nix | 4 ++-- pkgs/development/tools/build-managers/icmake/default.nix | 4 ++-- pkgs/misc/emulators/dolphin-emu/master.nix | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/audio/i-score/default.nix b/pkgs/applications/audio/i-score/default.nix index 17fadfe8b1f..97e8f5f1429 100644 --- a/pkgs/applications/audio/i-score/default.nix +++ b/pkgs/applications/audio/i-score/default.nix @@ -3,7 +3,7 @@ cln, cmake, fetchgit, - gcc5, + gcc, ginac, jamomacore, kde5, @@ -37,7 +37,7 @@ stdenv.mkDerivation rec { cln cmake ginac - gcc5 + gcc jamomacore kde5.kdnssd libsndfile diff --git a/pkgs/development/tools/build-managers/icmake/default.nix b/pkgs/development/tools/build-managers/icmake/default.nix index e4bad4f500c..8fd519073cc 100644 --- a/pkgs/development/tools/build-managers/icmake/default.nix +++ b/pkgs/development/tools/build-managers/icmake/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, gcc5 }: +{ stdenv, fetchFromGitHub, gcc }: stdenv.mkDerivation rec { name = "icmake-${version}"; @@ -13,7 +13,7 @@ stdenv.mkDerivation rec { sourceRoot = "icmake-${version}-src/icmake"; - buildInputs = [ gcc5 ]; + buildInputs = [ gcc ]; preConfigure = '' patchShebangs ./ diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix index 9743261c6b2..4d8b8ac0eb6 100644 --- a/pkgs/misc/emulators/dolphin-emu/master.nix +++ b/pkgs/misc/emulators/dolphin-emu/master.nix @@ -1,4 +1,4 @@ -{ stdenv, gcc5, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib +{ stdenv, gcc, pkgconfig, cmake, bluez, ffmpeg, libao, mesa, gtk2, glib , gettext, git, libpthreadstubs, libXrandr, libXext, readline , openal, libXdmcp, portaudio, fetchgit, libusb, libevdev , libpulseaudio ? null }: @@ -22,7 +22,7 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; - buildInputs = [ gcc5 pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib + buildInputs = [ gcc pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib gettext libpthreadstubs libXrandr libXext readline openal libevdev git libXdmcp portaudio libusb libpulseaudio ]; From a265ad28425d5ffe925a92c3d7a51d9a0ac5c286 Mon Sep 17 00:00:00 2001 From: zimbatm Date: Mon, 11 Jul 2016 12:40:58 +0100 Subject: [PATCH 077/144] firefox-developer-bin: fix hashes (#16860) the nightly tend to get replaced in-place on the FTP and so benefit from an update script as well --- .../browsers/firefox-bin/default.nix | 9 ++-- .../browsers/firefox-bin/dev_sources.nix | 12 +++++ .../firefox-bin/generate_sources_dev.rb | 53 +++++++++++++++++++ 3 files changed, 68 insertions(+), 6 deletions(-) create mode 100644 pkgs/applications/networking/browsers/firefox-bin/dev_sources.nix create mode 100644 pkgs/applications/networking/browsers/firefox-bin/generate_sources_dev.rb diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix index 26030e33e48..e9f6f816be5 100644 --- a/pkgs/applications/networking/browsers/firefox-bin/default.nix +++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix @@ -42,12 +42,9 @@ assert stdenv.isLinux; let - generated = if channel == "stable" then (import ./sources.nix) - else if channel == "beta" then (import ./beta_sources.nix) - else if channel == "developer" then { version = "49.0a2"; sources = [ - { locale = "en-US"; arch = "linux-i686"; sha512 = "45dad182bf7a4e753c1be6b8f966393a06531e7b5530238d20cb67b26324e8f5d0eeec983a0855418f31187d3ae508c28810ab86269848b4e48ab2ca3b5d21e7"; } - { locale = "en-US"; arch = "linux-x86_64"; sha512 = "cfcbfc633b51612a62267c8a1afc25af212eb832d1fa876a1ffd82421e9378f96b3ac1488446f804518290abd99c21c9f10e4d0e0f699432aeb74b63305d7edc"; } - ]; } + generated = if channel == "stable" then (import ./sources.nix) + else if channel == "beta" then (import ./beta_sources.nix) + else if channel == "developer" then (import ./dev_sources.nix) else builtins.abort "Wrong channel! Channel must be one of `stable`, `beta` or `developer`"; inherit (generated) version sources; diff --git a/pkgs/applications/networking/browsers/firefox-bin/dev_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/dev_sources.nix new file mode 100644 index 00000000000..f43810d53f0 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox-bin/dev_sources.nix @@ -0,0 +1,12 @@ +# This file is generated from generate_sources_dev.rb. DO NOT EDIT. +# Execute the following command to update the file. +# +# ruby generate_sources_dev.rb 49.0a2 > dev_sources.nix + +{ + version = "49.0a2"; + sources = [ + { locale = "en-US"; arch = "linux-i686"; sha512 = "85c4289e561d2246f96a05e3b8df011337984b9f176670826a705c2cd68a1284056ba507e4b6e4887595bf37f25386d9f7b28a20bc1f125865b9fd7b8be17eaa"; } + { locale = "en-US"; arch = "linux-x86_64"; sha512 = "2bf9518dbfbb48348f74929c19d03e8daf51020bf9ba6db577a202b6e98ad7ffb9e9a0b4ca92af010cd3f864ae84940b65438f4230e6de3165f72e4e7280086d"; } + ]; +} diff --git a/pkgs/applications/networking/browsers/firefox-bin/generate_sources_dev.rb b/pkgs/applications/networking/browsers/firefox-bin/generate_sources_dev.rb new file mode 100644 index 00000000000..37d5569efb0 --- /dev/null +++ b/pkgs/applications/networking/browsers/firefox-bin/generate_sources_dev.rb @@ -0,0 +1,53 @@ +#!/usr/bin/env ruby +require "open-uri" + +version = + if ARGV.empty? + $stderr.puts("Usage: ruby generate_sources_dev.rb > dev_sources.nix") + exit(-1) + else + ARGV[0] + end + +base_url = "http://download-installer.cdn.mozilla.net/pub/firefox/nightly/latest-mozilla-aurora" + +arches = ["linux-i686", "linux-x86_64"] +locales = ["en-US"] +sources = [] + +Source = Struct.new(:hash, :arch, :locale, :filename) + +locales.each do |locale| + arches.each do |arch| + basename = "firefox-#{version}.#{locale}.#{arch}" + filename = basename + ".tar.bz2" + sha512 = open("#{base_url}/#{basename}.checksums").each_line + .find(filename).first + .split(" ").first + sources << Source.new(sha512, arch, locale, filename) + end +end + +sources = sources.sort_by do |source| + [source.locale, source.arch] +end + +puts(<<"EOH") +# This file is generated from generate_sources_dev.rb. DO NOT EDIT. +# Execute the following command to update the file. +# +# ruby generate_sources_dev.rb 49.0a2 > dev_sources.nix + +{ + version = "#{version}"; + sources = [ +EOH + +sources.each do |source| + puts(%Q| { locale = "#{source.locale}"; arch = "#{source.arch}"; sha512 = "#{source.hash}"; }|) +end + +puts(<<'EOF') + ]; +} +EOF From 5789f5875fc4f90058b67ae501fa0588c7e1e221 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Domen=20Ko=C5=BEar?= Date: Mon, 11 Jul 2016 14:00:14 +0200 Subject: [PATCH 078/144] nix-repl: 2015-09-07 -> 2016-02-28 --- pkgs/tools/package-management/nix-repl/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/package-management/nix-repl/default.nix b/pkgs/tools/package-management/nix-repl/default.nix index 8dfc9e6333e..43d0d60ac31 100644 --- a/pkgs/tools/package-management/nix-repl/default.nix +++ b/pkgs/tools/package-management/nix-repl/default.nix @@ -1,15 +1,15 @@ { lib, stdenv, fetchFromGitHub, nix, readline, boehmgc }: -let rev = "8a2f5f0607540ffe56b56d52db544373e1efb980"; in +let rev = "a1ea85e92b067a0a42354a28355c633eac7be65c"; in stdenv.mkDerivation { - name = "nix-repl-${lib.getVersion nix}-${lib.substring 0 7 rev}"; + name = "nix-repl-${lib.getVersion nix}-2016-02-28"; src = fetchFromGitHub { owner = "edolstra"; repo = "nix-repl"; inherit rev; - sha256 = "0cjablz01i0g9smnavhf86imwx1f9mnh5flax75i615ml71gsr88"; + sha256 = "0rf9711day64lgg6g6yqc5709x4sgj137zpqyn019k764i7m2xs8"; }; buildInputs = [ nix readline ]; From 871067222562bbb8616eb4ce97d595425e688c00 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 11 Jul 2016 11:03:41 +0200 Subject: [PATCH 079/144] ena: Init at 20160629 This adds the Amazon Elastic Network Adapter kernel module required by EC2 x1.* instances. --- pkgs/os-specific/linux/ena/default.nix | 34 ++++++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 pkgs/os-specific/linux/ena/default.nix diff --git a/pkgs/os-specific/linux/ena/default.nix b/pkgs/os-specific/linux/ena/default.nix new file mode 100644 index 00000000000..7a047e9f233 --- /dev/null +++ b/pkgs/os-specific/linux/ena/default.nix @@ -0,0 +1,34 @@ +{ lib, stdenv, fetchFromGitHub, kernel, kmod }: + +stdenv.mkDerivation rec { + name = "ena-20160629-${kernel.version}"; + + src = fetchFromGitHub { + owner = "amzn"; + repo = "amzn-drivers"; + rev = "b594ac1ea9e0c70e8e95803a0cfd9f5f06ac097e"; + sha256 = "03w6xgv3lfn28n38mj9cdi3px5zjyrbxnflpd3ggivkv6grf9fp7"; + }; + + configurePhase = + '' + cd kernel/linux/ena + substituteInPlace Makefile --replace '/lib/modules/$(BUILD_KERNEL)' ${kernel.dev}/lib/modules/${kernel.modDirVersion} + ''; + + installPhase = + '' + strip -S ena.ko + dest=$out/lib/modules/${kernel.modDirVersion}/misc + mkdir -p $dest + cp ena.ko $dest/ + xz $dest/ena.ko + ''; + + meta = { + description = "Amazon Elastic Network Adapter (ENA) driver for Linux"; + homepage = https://github.com/amzn/amzn-drivers; + license = lib.licenses.gpl2; + maintainers = [ lib.maintainers.eelco ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a5d37c7762a..babd69fc46d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11027,6 +11027,8 @@ in ixgbevf = callPackage ../os-specific/linux/ixgbevf {}; + ena = callPackage ../os-specific/linux/ena {}; + v4l2loopback = callPackage ../os-specific/linux/v4l2loopback { }; frandom = callPackage ../os-specific/linux/frandom { }; From 56badfee94c42b2f940c89ea8ae01ece18475384 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 11 Jul 2016 12:15:39 +0200 Subject: [PATCH 080/144] amazon-image.nix: Add the ena driver This is necessary for Enhanced Networking on x1.* instances. --- nixos/modules/virtualisation/amazon-image.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix index da5575f4b6d..ebf398fa266 100644 --- a/nixos/modules/virtualisation/amazon-image.nix +++ b/nixos/modules/virtualisation/amazon-image.nix @@ -20,8 +20,12 @@ let cfg = config.ec2; in autoResize = true; }; - boot.extraModulePackages = [ config.boot.kernelPackages.ixgbevf ]; - boot.initrd.kernelModules = [ "xen-blkfront" "xen-netfront" "ixgbevf" ]; + boot.extraModulePackages = + [ config.boot.kernelPackages.ixgbevf + config.boot.kernelPackages.ena + ]; + boot.initrd.kernelModules = [ "xen-blkfront" "xen-netfront" ]; + boot.initrd.availableKernelModules = [ "ixgbevf" "ena" ]; boot.kernelParams = mkIf cfg.hvm [ "console=ttyS0" ]; # Prevent the nouveau kernel module from being loaded, as it From 1cd7dbc00b82d1a0d92dbdb4905cb9c48c6860ff Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 11 Jul 2016 12:16:19 +0200 Subject: [PATCH 081/144] linux: Bump NR_CPUS The default limit (64) is too low for systems like EC2 x1.* instances or Xeon Phis, so let's increase it. --- pkgs/os-specific/linux/kernel/common-config.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 1e9f2cb6a65..62dd7caadbf 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -42,6 +42,12 @@ with stdenv.lib; SCHEDSTATS n DETECT_HUNG_TASK y + # Bump the maximum number of CPUs to support systems like EC2 x1.* + # instances and Xeon Phi. + ${optionalString (stdenv.system == "x86_64-linux") '' + NR_CPUS 384 + ''} + # Unix domain sockets. UNIX y From 7b9c493d6020d29b2229fffad35acf99c3b47a61 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 11 Jul 2016 14:19:55 +0200 Subject: [PATCH 082/144] linux: Enable some kernel features This enables a few features that should be useful and safe (they're all used by the default Ubuntu kernel config), in particular zswap, wakelocks, kernel load address randomization, userfaultfd (useful for QEMU), paravirtualized spinlocks and automatic process group scheduling. Also removes some configuration conditional on kernel versions that we no longer support. --- .../linux/kernel/common-config.nix | 112 +++++++----------- 1 file changed, 41 insertions(+), 71 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 62dd7caadbf..37da42f8c0d 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -67,6 +67,7 @@ with stdenv.lib; ${optionalString (versionOlder version "3.10") '' USB_SUSPEND y ''} + PM_WAKELOCKS y # Support drivers that need external firmware. STANDALONE n @@ -98,9 +99,6 @@ with stdenv.lib; DONGLE y # Serial dongle support HIPPI y MTD_COMPLEX_MAPPINGS y # needed for many devices - ${optionalString (versionOlder version "3.2") '' - NET_POCKET y # enable pocket and portable adapters - ''} SCSI_LOWLEVEL y # enable lots of SCSI devices SCSI_LOWLEVEL_PCMCIA y SCSI_SAS_ATA y # added to enable detection of hard drive @@ -137,9 +135,7 @@ with stdenv.lib; HOSTAP_FIRMWARE_NVRAM? y ATH9K_PCI? y # Detect Atheros AR9xxx cards on PCI(e) bus ATH9K_AHB? y # Ditto, AHB bus - ${optionalString (versionAtLeast version "3.2") '' - B43_PHY_HT? y - ''} + B43_PHY_HT? y BCMA_HOST_PCI? y # Enable various FB devices. @@ -157,7 +153,7 @@ with stdenv.lib; FB_VESA y FRAMEBUFFER_CONSOLE y FRAMEBUFFER_CONSOLE_ROTATION y - ${optionalString (versionOlder version "3.9" || stdenv.system == "i686-linux") '' + ${optionalString (stdenv.system == "i686-linux") '' FB_GEODE y ''} @@ -168,11 +164,7 @@ with stdenv.lib; ''} # Allow specifying custom EDID on the kernel command line DRM_LOAD_EDID_FIRMWARE y - ${optionalString (versionOlder version "3.9") '' - DRM_RADEON_KMS? y - ''} - # Hybrid graphics support - VGA_SWITCHEROO y + VGA_SWITCHEROO y # Hybrid graphics support # Sound. SND_DYNAMIC_MINORS y @@ -231,9 +223,7 @@ with stdenv.lib; NFSD_V4_SECURITY_LABEL y ''} NFS_FSCACHE y - ${optionalString (versionAtLeast version "3.6") '' - NFS_SWAP y - ''} + NFS_SWAP y NFS_V3_ACL y ${optionalString (versionAtLeast version "3.11") '' NFS_V4_1 y # NFSv4.1 client support @@ -265,6 +255,7 @@ with stdenv.lib; DEBUG_SET_MODULE_RONX? y # Detect writes to read-only module pages # Security related features. + RANDOMIZE_BASE y STRICT_DEVMEM y # Filter access to /dev/mem SECURITY_SELINUX_BOOTPARAM_VALUE 0 # Disable SELinux by default DEVKMEM n # Disable /dev/kmem @@ -310,25 +301,25 @@ with stdenv.lib; BT_HCIUART_BCSP? y BT_HCIUART_H4? y # UART (H4) protocol support BT_HCIUART_LL? y - ${optionalString (versionAtLeast version "3.4") '' - BT_RFCOMM_TTY? y # RFCOMM TTY support - ''} + BT_RFCOMM_TTY? y # RFCOMM TTY support + CLEANCACHE? y CRASH_DUMP? n - ${optionalString (versionOlder version "3.1") '' - DMAR? n # experimental - ''} DVB_DYNAMIC_MINORS? y # we use udev - ${optionalString (versionAtLeast version "3.3") '' - EFI_STUB y # EFI bootloader in the bzImage itself - ''} + EFI_STUB y # EFI bootloader in the bzImage itself FHANDLE y # used by systemd + FRONTSWAP y FUSION y # Fusion MPT device support IDE_GD_ATAPI y # ATAPI floppy support + ${optionalString (versionAtLeast version "4.3") '' + IDLE_PAGE_TRACKING y + ''} IRDA_ULTRA y # Ultra (connectionless) protocol JOYSTICK_IFORCE_232? y # I-Force Serial joysticks and wheels JOYSTICK_IFORCE_USB? y # I-Force USB joysticks and wheels JOYSTICK_XPAD_FF? y # X-Box gamepad rumble support JOYSTICK_XPAD_LEDS? y # LED Support for Xbox360 controller 'BigX' LED + KEXEC_FILE y + KEXEC_JUMP y LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback @@ -349,12 +340,9 @@ with stdenv.lib; PPP_MULTILINK y # PPP multilink support PPP_FILTER y REGULATOR y # Voltage and Current Regulator Support - ${optionalString (versionAtLeast version "3.6") '' - RC_DEVICES? y # Enable IR devices - ''} - ${optionalString (versionAtLeast version "3.10") '' - RT2800USB_RT55XX y - ''} + RC_DEVICES? y # Enable IR devices + RT2800USB_RT55XX y + SCHED_AUTOGROUP y SCSI_LOGGING y # SCSI logging facility SERIAL_8250 y # 8250/16550 and compatible serial support SLIP_COMPRESSED y # CSLIP compressed headers @@ -369,6 +357,9 @@ with stdenv.lib; ''} USB_EHCI_ROOT_HUB_TT y # Root Hub Transaction Translators USB_EHCI_TT_NEWSCHED y # Improved transaction translator scheduling + ${optionalString (versionAtLeast version "4.3") '' + USERFAULTFD y + ''} X86_CHECK_BIOS_CORRUPTION y X86_MCE y @@ -379,16 +370,14 @@ with stdenv.lib; NAMESPACES? y # Required by 'unshare' used by 'nixos-install' RT_GROUP_SCHED? y CGROUP_DEVICE? y - ${if versionAtLeast version "3.6" then '' - MEMCG y - MEMCG_SWAP y - '' else '' - CGROUP_MEM_RES_CTLR y - CGROUP_MEM_RES_CTLR_SWAP y - ''} + MEMCG y + MEMCG_SWAP y ${optionalString (versionOlder version "4.7") "DEVPTS_MULTIPLE_INSTANCES y"} BLK_DEV_THROTTLING y CFQ_GROUP_IOSCHED y + ${optionalString (versionAtLeast version "4.3") '' + CGROUP_PIDS y + ''} # Enable staging drivers. These are somewhat experimental, but # they generally don't hurt. @@ -406,9 +395,7 @@ with stdenv.lib; FTRACE_SYSCALLS y SCHED_TRACER y STACK_TRACER y - ${optionalString (versionAtLeast version "3.10") '' - UPROBE_EVENT y - ''} + UPROBE_EVENT y ${optionalString (versionAtLeast version "4.4") '' BPF_SYSCALL y BPF_EVENTS y @@ -420,28 +407,18 @@ with stdenv.lib; DEVTMPFS y # Easier debugging of NFS issues. - ${optionalString (versionAtLeast version "3.4") '' - SUNRPC_DEBUG y - ''} + SUNRPC_DEBUG y # Virtualisation. PARAVIRT? y - ${if versionAtLeast version "3.10" then '' - HYPERVISOR_GUEST y - '' else '' - PARAVIRT_GUEST? y - ''} + HYPERVISOR_GUEST y + PARAVIRT_SPINLOCKS? y KVM_APIC_ARCHITECTURE y KVM_ASYNC_PF y - ${optionalString (versionOlder version "3.7") '' - KVM_CLOCK? y - ''} ${optionalString (versionAtLeast version "4.0") '' KVM_COMPAT? y ''} - ${optionalString (versionAtLeast version "3.10") '' - KVM_DEVICE_ASSIGNMENT? y - ''} + KVM_DEVICE_ASSIGNMENT? y ${optionalString (versionAtLeast version "4.0") '' KVM_GENERIC_DIRTYLOG_READ_PROTECT y ''} @@ -476,28 +453,22 @@ with stdenv.lib; ${optionalString (!stdenv.is64bit) '' HIGHMEM64G? y # We need 64 GB (PAE) support for Xen guest support. ''} - ${optionalString (versionAtLeast version "3.9" && stdenv.is64bit) '' + ${optionalString (stdenv.is64bit) '' VFIO_PCI_VGA y ''} VIRT_DRIVERS y # Media support. - ${optionalString (versionAtLeast version "3.6") '' - MEDIA_DIGITAL_TV_SUPPORT y - MEDIA_CAMERA_SUPPORT y - MEDIA_RC_SUPPORT y - ''} - ${optionalString (versionAtLeast version "3.7") '' - MEDIA_USB_SUPPORT y - ${optionalString (!(features.chromiumos or false)) '' - MEDIA_PCI_SUPPORT y - ''} + MEDIA_DIGITAL_TV_SUPPORT y + MEDIA_CAMERA_SUPPORT y + MEDIA_RC_SUPPORT y + MEDIA_USB_SUPPORT y + ${optionalString (!(features.chromiumos or false)) '' + MEDIA_PCI_SUPPORT y ''} # Our initrd init uses shebang scripts, so can't be modular. - ${optionalString (versionAtLeast version "3.10") '' - BINFMT_SCRIPT y - ''} + BINFMT_SCRIPT y # For systemd-binfmt BINFMT_MISC? y @@ -512,10 +483,9 @@ with stdenv.lib; TRANSPARENT_HUGEPAGE_MADVISE? y # zram support (e.g for in-memory compressed swap). - ${optionalString (versionAtLeast version "3.4") '' - ZSMALLOC y - ''} + ZSMALLOC y ZRAM m + ZSWAP y # Enable PCIe and USB for the brcmfmac driver BRCMFMAC_USB? y From ecc26d7a40747204ec0be45c6e051bfef605333c Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 11 Jul 2016 14:30:29 +0200 Subject: [PATCH 083/144] linux: Disable the old IDE subsystem This has long been deprecated in favour of the new ATA support (CONFIG_ATA). --- pkgs/os-specific/linux/kernel/common-config.nix | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index 37da42f8c0d..cac102351b3 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -10,7 +10,7 @@ `versionAtLeast`. Then do test your change by building all the kernels (or at least - their configs) in nixpkgs or else you will guarantee lots and lots + their configs) in Nixpkgs or else you will guarantee lots and lots of pain to users trying to switch to an older kernel because of some hardware problems with a new one. @@ -294,8 +294,6 @@ with stdenv.lib; ${optionalString (versionOlder version "4.4") '' B43_PCMCIA? y ''} - BLK_DEV_CMD640_ENHANCED y # CMD640 enhanced support - BLK_DEV_IDEACPI y # IDE ACPI support BLK_DEV_INTEGRITY y BSD_PROCESS_ACCT_V3 y BT_HCIUART_BCSP? y @@ -309,7 +307,7 @@ with stdenv.lib; FHANDLE y # used by systemd FRONTSWAP y FUSION y # Fusion MPT device support - IDE_GD_ATAPI y # ATAPI floppy support + IDE n # deprecated IDE support ${optionalString (versionAtLeast version "4.3") '' IDLE_PAGE_TRACKING y ''} @@ -321,7 +319,6 @@ with stdenv.lib; KEXEC_FILE y KEXEC_JUMP y LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support - LEDS_TRIGGER_IDE_DISK y # LED IDE Disk Trigger LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback LOGO n # not needed MEDIA_ATTACH y From 532211c68dc2bdab667739ad895a46a3f23491d1 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 11 Jul 2016 16:29:11 +0200 Subject: [PATCH 084/144] Really remove library functions Throwing a message like "removed 2016-02-29 because unused and broken" is unhelpful because it doesn't show what function was removed. --- lib/attrsets.nix | 1 - lib/lists.nix | 4 ---- 2 files changed, 5 deletions(-) diff --git a/lib/attrsets.nix b/lib/attrsets.nix index 636cb257d6b..f47e481c58a 100644 --- a/lib/attrsets.nix +++ b/lib/attrsets.nix @@ -457,7 +457,6 @@ rec { /*** deprecated stuff ***/ - deepSeqAttrs = throw "removed 2016-02-29 because unused and broken"; zipWithNames = zipAttrsWithNames; zip = builtins.trace "lib.zip is deprecated, use lib.zipAttrsWith instead" zipAttrsWith; diff --git a/lib/lists.nix b/lib/lists.nix index c810c8c2f5f..6712e5cc93f 100644 --- a/lib/lists.nix +++ b/lib/lists.nix @@ -374,8 +374,4 @@ rec { */ subtractLists = e: filter (x: !(elem x e)); - /*** deprecated stuff ***/ - - deepSeqList = throw "removed 2016-02-29 because unused and broken"; - } From 6a3e2f89fb9f3c206cceef94926806a4a09a16db Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Mon, 11 Jul 2016 18:07:55 +0300 Subject: [PATCH 085/144] steam: fix primus with new libstdc++ and add to steam-run --- pkgs/games/steam/chrootenv.nix | 40 ++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix index ba163ebc3d2..9a766455055 100644 --- a/pkgs/games/steam/chrootenv.nix +++ b/pkgs/games/steam/chrootenv.nix @@ -8,19 +8,26 @@ }: let - commonTargetPkgs = pkgs: with pkgs; [ - steamPackages.steam-fonts - # Errors in output without those - pciutils - python2 - # Games' dependencies - xlibs.xrandr - which - # Needed by gdialog, including in the steam-runtime - perl - # Open URLs - xdg_utils - ]; + commonTargetPkgs = pkgs: with pkgs; + let primus2 = + if newStdcpp then primus else primus.override { + stdenv = overrideInStdenv stdenv [ useOldCXXAbi ]; + stdenv_i686 = overrideInStdenv pkgsi686Linux.stdenv [ useOldCXXAbi ]; + }; + in [ + steamPackages.steam-fonts + # Errors in output without those + pciutils + python2 + # Games' dependencies + xlibs.xrandr + which + # Needed by gdialog, including in the steam-runtime + perl + # Open URLs + xdg_utils + ] ++ lib.optional withJava jdk + ++ lib.optional withPrimus primus2; in buildFHSUserEnv rec { name = "steam"; @@ -29,12 +36,7 @@ in buildFHSUserEnv rec { steamPackages.steam # License agreement gnome3.zenity - ] ++ commonTargetPkgs pkgs - ++ lib.optional withJava jdk - ++ lib.optional withPrimus (primus.override { - stdenv = overrideInStdenv stdenv [ useOldCXXAbi ]; - stdenv_i686 = overrideInStdenv pkgsi686Linux.stdenv [ useOldCXXAbi ]; - }); + ] ++ commonTargetPkgs pkgs; multiPkgs = pkgs: with pkgs; [ # These are required by steam with proper errors From b25d21955e22bd10aff0e8a24d1d7f147aec0463 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adolfo=20E=2E=20Garc=C3=ADa?= Date: Mon, 11 Jul 2016 09:46:30 -0600 Subject: [PATCH 086/144] libqrencode: init at 3.4.4 * libqrencode: init at 3.4.4 * libqrencode: add maintainer #16861 --- lib/maintainers.nix | 1 + .../libraries/libqrencode/default.nix | 34 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 4 ++- 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/libraries/libqrencode/default.nix diff --git a/lib/maintainers.nix b/lib/maintainers.nix index ca4dd4f98e8..44a68975bd0 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -15,6 +15,7 @@ adev = "Adrien Devresse "; Adjective-Object = "Maxwell Huang-Hobbs "; adnelson = "Allen Nelson "; + adolfogc = "Adolfo E. García Castro "; aespinosa = "Allan Espinosa "; aflatter = "Alexander Flatter "; aforemny = "Alexander Foremny "; diff --git a/pkgs/development/libraries/libqrencode/default.nix b/pkgs/development/libraries/libqrencode/default.nix new file mode 100644 index 00000000000..1d0463c090a --- /dev/null +++ b/pkgs/development/libraries/libqrencode/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchurl, autoconf, automake, pkgconfig, + libtool, SDL2, libpng }: + +stdenv.mkDerivation rec { + name = "libqrencode-${version}"; + version = "3.4.4"; + + src = fetchurl { + url = "https://fukuchi.org/works/qrencode/qrencode-${version}.tar.gz"; + sha1 = "644054a76c8b593acb66a8c8b7dcf1b987c3d0b2"; + sha256 = "0wiagx7i8p9zal53smf5abrnh9lr31mv0p36wg017401jrmf5577"; + }; + + buildInputs = [ autoconf automake pkgconfig libtool SDL2 libpng ]; + + propagatedBuildInputs = [ SDL2 libpng ]; + + doCheck = true; + + meta = with stdenv.lib; { + homepage = "http://fukuchi.org/works/qrencode/"; + description = "A C library for encoding data in a QR Code symbol"; + + longDescription = '' + Libqrencode is a C library for encoding data in a QR Code symbol, + a kind of 2D symbology that can be scanned by handy terminals + such as a mobile phone with CCD. + ''; + + license = licenses.gpl2Plus; + maintainers = [ maintainers.adolfogc ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index babd69fc46d..2da504fc14d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2367,6 +2367,8 @@ in libqmi = callPackage ../development/libraries/libqmi { }; + libqrencode = callPackage ../development/libraries/libqrencode { }; + libmbim = callPackage ../development/libraries/libmbim { }; libmongo-client = callPackage ../development/libraries/libmongo-client { }; @@ -15605,7 +15607,7 @@ in soi = callPackage ../games/soi { lua = lua5_1; }; - + solarus = callPackage ../games/solarus { }; # You still can override by passing more arguments. From 60887fa193297f3fe635e646ecba08259978fa43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Mon, 11 Jul 2016 12:48:02 -0300 Subject: [PATCH 087/144] mate-icon-theme-faenza: 1.15.0 -> 1.15.1 (#16859) --- pkgs/desktops/mate/mate-icon-theme-faenza/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix b/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix index ea441f0cc09..e0f370fed76 100644 --- a/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix +++ b/pkgs/desktops/mate/mate-icon-theme-faenza/default.nix @@ -4,11 +4,11 @@ stdenv.mkDerivation rec { name = "mate-icon-theme-faenza-${version}"; version = "${major-ver}.${minor-ver}"; major-ver = "1.15"; - minor-ver = "0"; + minor-ver = "1"; src = fetchurl { url = "http://pub.mate-desktop.org/releases/${major-ver}/${name}.tar.xz"; - sha256 = "0ypk61sjgqj0b1sina9947x1dg456baxhsyybmxrwpgy3pr06qlz"; + sha256 = "1x2jn86gcv6spnkvhjg0mzp5qhlb5dw4h8m8qp1hdgzzrzinfr3p"; }; nativeBuildInputs = [ autoreconfHook ]; From 1349cd4e8dac7d18e92e176e72d49bad9bc90472 Mon Sep 17 00:00:00 2001 From: Eric Sagnes Date: Tue, 12 Jul 2016 00:50:22 +0900 Subject: [PATCH 088/144] fcitx: refactor (#16858) --- nixos/modules/i18n/input-method/fcitx.nix | 2 +- pkgs/tools/inputmethods/fcitx/default.nix | 58 ++++----------------- pkgs/tools/inputmethods/fcitx/unwrapped.nix | 51 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 8 ++- 4 files changed, 64 insertions(+), 55 deletions(-) create mode 100644 pkgs/tools/inputmethods/fcitx/unwrapped.nix diff --git a/nixos/modules/i18n/input-method/fcitx.nix b/nixos/modules/i18n/input-method/fcitx.nix index bdefd2d2d59..e97bb9f80eb 100644 --- a/nixos/modules/i18n/input-method/fcitx.nix +++ b/nixos/modules/i18n/input-method/fcitx.nix @@ -4,7 +4,7 @@ with lib; let cfg = config.i18n.inputMethod.fcitx; - fcitxPackage = pkgs.fcitx-with-plugins.override { plugins = cfg.engines; }; + fcitxPackage = pkgs.fcitx.override { plugins = cfg.engines; }; fcitxEngine = types.package // { name = "fcitx-engine"; check = x: (lib.types.package.check x) && (attrByPath ["meta" "isFcitxEngine"] false x); diff --git a/pkgs/tools/inputmethods/fcitx/default.nix b/pkgs/tools/inputmethods/fcitx/default.nix index ba3a3f76ed9..69e4425d8c3 100644 --- a/pkgs/tools/inputmethods/fcitx/default.nix +++ b/pkgs/tools/inputmethods/fcitx/default.nix @@ -1,51 +1,11 @@ -{ stdenv, fetchurl, pkgconfig, cmake, intltool, gettext -, libxml2, enchant, isocodes, icu, libpthreadstubs -, pango, cairo, libxkbfile, libXau, libXdmcp, libxkbcommon -, dbus, gtk2, gtk3, qt4, kde5 -}: +{ callPackage, plugins ? [] }: -stdenv.mkDerivation rec { - name = "fcitx-${version}"; - version = "4.2.9.1"; - - src = fetchurl { - url = "http://download.fcitx-im.org/fcitx/${name}_dict.tar.xz"; - sha256 = "0xvcmm4yi7kagf55d0yl3ql5ssbkm9410fwbz3kd988pchichdsk"; +let + unwrapped = callPackage ./unwrapped.nix { }; + wrapped = callPackage ./wrapper.nix { + plugins = plugins; + fcitx = unwrapped; }; - - postUnpack = '' - ln -s ${kde5.extra-cmake-modules}/share/ECM/modules/ECMFindModuleHelpers.cmake \ - $sourceRoot/cmake/ - ''; - - patches = [ ./fcitx-ecm.patch ]; - - postPatch = '' - substituteInPlace src/frontend/qt/CMakeLists.txt \ - --replace $\{QT_PLUGINS_DIR} $out/lib/qt4/plugins - ''; - - buildInputs = [ - cmake enchant gettext isocodes pkgconfig intltool icu - libpthreadstubs libXau libXdmcp libxkbfile libxkbcommon libxml2 - dbus cairo gtk2 gtk3 pango qt4 - ]; - - cmakeFlags = '' - -DENABLE_QT_IM_MODULE=ON - -DENABLE_GTK2_IM_MODULE=ON - -DENABLE_GTK3_IM_MODULE=ON - -DENABLE_GIR=OFF - -DENABLE_OPENCC=OFF - -DENABLE_PRESAGE=OFF - -DENABLE_XDGAUTOSTART=OFF - ''; - - meta = with stdenv.lib; { - homepage = "https://github.com/fcitx/fcitx"; - description = "A Flexible Input Method Framework"; - license = licenses.gpl2; - platforms = platforms.linux; - maintainers = with maintainers; [ ericsagnes ]; - }; -} +in if plugins == [] + then unwrapped + else wrapped diff --git a/pkgs/tools/inputmethods/fcitx/unwrapped.nix b/pkgs/tools/inputmethods/fcitx/unwrapped.nix new file mode 100644 index 00000000000..ba3a3f76ed9 --- /dev/null +++ b/pkgs/tools/inputmethods/fcitx/unwrapped.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, pkgconfig, cmake, intltool, gettext +, libxml2, enchant, isocodes, icu, libpthreadstubs +, pango, cairo, libxkbfile, libXau, libXdmcp, libxkbcommon +, dbus, gtk2, gtk3, qt4, kde5 +}: + +stdenv.mkDerivation rec { + name = "fcitx-${version}"; + version = "4.2.9.1"; + + src = fetchurl { + url = "http://download.fcitx-im.org/fcitx/${name}_dict.tar.xz"; + sha256 = "0xvcmm4yi7kagf55d0yl3ql5ssbkm9410fwbz3kd988pchichdsk"; + }; + + postUnpack = '' + ln -s ${kde5.extra-cmake-modules}/share/ECM/modules/ECMFindModuleHelpers.cmake \ + $sourceRoot/cmake/ + ''; + + patches = [ ./fcitx-ecm.patch ]; + + postPatch = '' + substituteInPlace src/frontend/qt/CMakeLists.txt \ + --replace $\{QT_PLUGINS_DIR} $out/lib/qt4/plugins + ''; + + buildInputs = [ + cmake enchant gettext isocodes pkgconfig intltool icu + libpthreadstubs libXau libXdmcp libxkbfile libxkbcommon libxml2 + dbus cairo gtk2 gtk3 pango qt4 + ]; + + cmakeFlags = '' + -DENABLE_QT_IM_MODULE=ON + -DENABLE_GTK2_IM_MODULE=ON + -DENABLE_GTK3_IM_MODULE=ON + -DENABLE_GIR=OFF + -DENABLE_OPENCC=OFF + -DENABLE_PRESAGE=OFF + -DENABLE_XDGAUTOSTART=OFF + ''; + + meta = with stdenv.lib; { + homepage = "https://github.com/fcitx/fcitx"; + description = "A Flexible Input Method Framework"; + license = licenses.gpl2; + platforms = platforms.linux; + maintainers = with maintainers; [ ericsagnes ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2da504fc14d..bb6fc978935 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1496,7 +1496,9 @@ in fatsort = callPackage ../tools/filesystems/fatsort { }; - fcitx = callPackage ../tools/inputmethods/fcitx { }; + fcitx = callPackage ../tools/inputmethods/fcitx { + plugins = []; + }; fcitx-engines = recurseIntoAttrs { @@ -1520,10 +1522,6 @@ in fcitx-configtool = callPackage ../tools/inputmethods/fcitx/fcitx-configtool.nix { }; - fcitx-with-plugins = callPackage ../tools/inputmethods/fcitx/wrapper.nix { - plugins = [ ]; - }; - fcppt = callPackage ../development/libraries/fcppt/default.nix { }; fcron = callPackage ../tools/system/fcron { }; From b2b8a899450aeeaefce920a1a034a4cb8d800d9c Mon Sep 17 00:00:00 2001 From: Louis Taylor Date: Mon, 11 Jul 2016 16:53:41 +0100 Subject: [PATCH 089/144] linux-testing: 4.7-rc6 -> 4.7-rc7 (#16854) --- pkgs/os-specific/linux/kernel/linux-testing.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix index 27e3681fdba..37e5da5a905 100644 --- a/pkgs/os-specific/linux/kernel/linux-testing.nix +++ b/pkgs/os-specific/linux/kernel/linux-testing.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.7-rc6"; - modDirVersion = "4.7.0-rc6"; + version = "4.7-rc7"; + modDirVersion = "4.7.0-rc7"; extraMeta.branch = "4.7"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/testing/linux-${version}.tar.xz"; - sha256 = "1kli8m6xkpdp45ryx6aq894q5dvrl1s7h3g1akk0l7xp6grshk8r"; + sha256 = "11c87rhxlrmag9hhg1m8zfff0d52yrzvhyjj9dxfa3nmxj4sfbb7"; }; features.iwlwifi = true; From dc5293d80b9c690dcb0c95d7174c16140f0fd089 Mon Sep 17 00:00:00 2001 From: "Alexander V. Nikolaev" Date: Mon, 11 Jul 2016 18:57:16 +0300 Subject: [PATCH 090/144] wine: 1.9.13 -> 1.9.14 (#16862) * Update wineUnstable: 1.9.13 -> 1.9.14 * Update staging: 1.9.13 -> 1.9.14 * Add myself as co-maintainer, because I am do regular updates. --- pkgs/misc/emulators/wine/base.nix | 2 +- pkgs/misc/emulators/wine/sources.nix | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/misc/emulators/wine/base.nix index 0d3fca6e1c8..e35e319a57f 100644 --- a/pkgs/misc/emulators/wine/base.nix +++ b/pkgs/misc/emulators/wine/base.nix @@ -102,6 +102,6 @@ stdenv.mkDerivation ((lib.optionalAttrs (! isNull buildScript) { homepage = "http://www.winehq.org/"; license = "LGPL"; description = "An Open Source implementation of the Windows API on top of X, OpenGL, and Unix"; - maintainers = [stdenv.lib.maintainers.raskin]; + maintainers = with stdenv.lib.maintainers; [ avnik raskin ]; }; }) diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/misc/emulators/wine/sources.nix index d124e296df9..9a437971e42 100644 --- a/pkgs/misc/emulators/wine/sources.nix +++ b/pkgs/misc/emulators/wine/sources.nix @@ -30,9 +30,9 @@ in rec { }; unstable = fetchurl rec { - version = "1.9.13"; + version = "1.9.14"; url = "mirror://sourceforge/wine/wine-${version}.tar.bz2"; - sha256 = "1nf06xgnda7y5ngnf8v14zaa0lnxzi1hxx7pf3jz2a0zswcq0rwv"; + sha256 = "0b65j8lc2axyc7lpa5rjr7vbjz4y78gkd7hhmvhra78pmwf9dgkz"; inherit (stable) mono; gecko32 = fetchurl rec { version = "2.44"; @@ -48,7 +48,7 @@ in rec { staging = fetchFromGitHub rec { inherit (unstable) version; - sha256 = "0iw14dwl91i5nd6wfr5i2vvii2w6j0sh95syc46z6yjgvxd14waq"; + sha256 = "0582ylrvl7racpb0il3wmbivb2d7lh6n3mymh19yw94qzgifwqrw"; owner = "wine-compholio"; repo = "wine-staging"; rev = "v${version}"; From 1b41283eb38094410faa70eded5215b809aa38ab Mon Sep 17 00:00:00 2001 From: Eric Sagnes Date: Tue, 12 Jul 2016 01:05:23 +0900 Subject: [PATCH 091/144] wireguard: init at 20160708 (#16856) --- pkgs/os-specific/linux/wireguard/default.nix | 34 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 pkgs/os-specific/linux/wireguard/default.nix diff --git a/pkgs/os-specific/linux/wireguard/default.nix b/pkgs/os-specific/linux/wireguard/default.nix new file mode 100644 index 00000000000..5328743d8b8 --- /dev/null +++ b/pkgs/os-specific/linux/wireguard/default.nix @@ -0,0 +1,34 @@ +{ stdenv, fetchgit, libmnl, kernel }: + +stdenv.mkDerivation rec { + name = "wireguard-${version}"; + version = "20160708"; + + src = fetchgit { + url = "https://git.zx2c4.com/WireGuard"; + rev = "dcc2583fe0618931e51aedaeeddde356d123acb2"; + sha256 = "1ciyjpp8c3fv95y1cypk9qyqynp8cqyh2676afq2hd33110d37ni"; + }; + + preConfigure = '' + cd src + sed -i /depmod/d Makefile + ''; + + buildInputs = [ libmnl ]; + + KERNELDIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"; + + makeFlags = [ + "DESTDIR=$(out)" + "PREFIX=/" + "INSTALL_MOD_PATH=$(out)" + ]; + + meta = with stdenv.lib; { + homepage = https://www.wireguard.io/; + description = "Fast, modern, secure VPN tunnel"; + license = licenses.gpl2; + platforms = platforms.linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bb6fc978935..1c5045819ba 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -11105,6 +11105,8 @@ in virtualboxGuestAdditions = callPackage ../applications/virtualization/virtualbox/guest-additions { }; + wireguard = callPackage ../os-specific/linux/wireguard {}; + x86_energy_perf_policy = callPackage ../os-specific/linux/x86_energy_perf_policy { }; zfs = callPackage ../os-specific/linux/zfs { From bc39354269a2aa6ff858ea233daac6f2d106461e Mon Sep 17 00:00:00 2001 From: Daiderd Jordan Date: Sat, 9 Jul 2016 22:01:02 +0200 Subject: [PATCH 092/144] elixir: 1.3.0 -> 1.3.1 --- pkgs/development/interpreters/elixir/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/development/interpreters/elixir/default.nix b/pkgs/development/interpreters/elixir/default.nix index fe78b966080..fc3070e55f1 100644 --- a/pkgs/development/interpreters/elixir/default.nix +++ b/pkgs/development/interpreters/elixir/default.nix @@ -3,13 +3,13 @@ stdenv.mkDerivation rec { name = "elixir-${version}"; - version = "1.3.0"; + version = "1.3.1"; src = fetchFromGitHub { owner = "elixir-lang"; repo = "elixir"; rev = "v${version}"; - sha256 = "06y8v239d5r3zr9s9mw19ws99qm7niicz69pqhawvg5qm4qxhvkr"; + sha256 = "0pihqgsnddrhhcpiphz170wgwlc59pd492iy4f66dajapm5k329d"; }; buildInputs = [ erlang rebar makeWrapper ]; From 8f98fcd73b61acfe60c1fed5825edc6c2c7153be Mon Sep 17 00:00:00 2001 From: Ram Kromberg Date: Mon, 11 Jul 2016 19:10:43 +0300 Subject: [PATCH 093/144] lighthouse: init at 2016-01-26 (#16849) --- .../misc/lighthouse/Makefile.patch | 31 ++++++++++++ pkgs/applications/misc/lighthouse/default.nix | 49 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 + 3 files changed, 82 insertions(+) create mode 100644 pkgs/applications/misc/lighthouse/Makefile.patch create mode 100644 pkgs/applications/misc/lighthouse/default.nix diff --git a/pkgs/applications/misc/lighthouse/Makefile.patch b/pkgs/applications/misc/lighthouse/Makefile.patch new file mode 100644 index 00000000000..0207299cc2c --- /dev/null +++ b/pkgs/applications/misc/lighthouse/Makefile.patch @@ -0,0 +1,31 @@ +# Description: Fix lighthouse Makefile +Index: Makefile +=================================================================== +--- ./Makefile 1970-01-01 02:00:01.000000000 +0200 ++++ ./Makefile 1970-01-01 02:00:01.000000000 +0200 +@@ -19,21 +19,10 @@ + endif + + # Library specific +-HAS_GDK := $(shell pkg-config --exists gdk-2.0 echo $?) +-ifdef $(HAS_GDK) +- CFLAGS+=`pkg-config --cflags gdk-2.0` +- LDFLAGS+=`pkg-config --libs gdk-2.0` +-else +- CFLAGS+=-DNO_GDK +-endif +-HAS_PANGO := $(shell pkg-config --exists pango echo $?) +-ifdef $(HAS_PANGO) +- CFLAGS+=`pkg-config --cflags pango` +- LDFLAGS+=`pkg-config --libs pango` +-else +- CFLAGS+=-DNO_PANGO +-endif +- ++CFLAGS+=$(shell pkg-config --cflags gdk-2.0) ++LDFLAGS+=$(shell pkg-config --libs gdk-2.0) ++CFLAGS+=$(shell pkg-config --cflags pango) ++LDFLAGS+=$(shell pkg-config --libs pango) + + all: lighthouse + diff --git a/pkgs/applications/misc/lighthouse/default.nix b/pkgs/applications/misc/lighthouse/default.nix new file mode 100644 index 00000000000..8400c01665e --- /dev/null +++ b/pkgs/applications/misc/lighthouse/default.nix @@ -0,0 +1,49 @@ +{ stdenv, fetchFromGitHub, pkgconfig +, libX11, libxcb, cairo, gtk, pango, python27, python3 +}: + +stdenv.mkDerivation rec { + name = "lighthouse-${date}"; + date = "2016-01-26"; + + src = fetchFromGitHub { + owner = "emgram769"; + repo = "lighthouse"; + rev = "bf11f111572475e855b0329202a14c9e128c7e57"; + sha256 = "1ppika61vg4sc9mczbkjqy2mhgxqg57xrnsmmq0h2lyvj0yhg3qn"; + }; + + buildInputs = [ + pkgconfig libX11 libxcb cairo gtk pango python27 python3 + ]; + + patches = [ ./Makefile.patch ]; + + lighthouseInstaller = '' + #!${stdenv.shell} + cp -r $out/share/lighthouse/.config/lighthouse \$HOME/.config + chmod -R +w \$HOME/.config/lighthouse + ''; + + installPhase = '' + mkdir -p $out/bin + cp lighthouse $out/bin + chmod +x config/lighthouse/cmd* + chmod +x config/lighthouse/google.py + patchShebangs config/lighthouse/ + patchShebangs config/lighthouse/scripts/ + mkdir -p $out/share/lighthouse/.config + cp -r config/lighthouse $out/share/lighthouse/.config + echo "${lighthouseInstaller}" > $out/bin/lighthouse-install + chmod +x $out/bin/lighthouse-install + ''; + + meta = with stdenv.lib; { + description = "A simple flexible popup dialog to run on X"; + homepage = https://github.com/emgram769/lighthouse; + license = licenses.mit; + maintainers = with maintainers; [ ramkromberg ]; + platforms = platforms.linux; + }; + +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1c5045819ba..cdd6bbeb4d9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -13521,6 +13521,8 @@ in }; ledger = self.ledger3; + lighthouse = callPackage ../applications/misc/lighthouse { }; + lighttable = callPackage ../applications/editors/lighttable {}; links2 = callPackage ../applications/networking/browsers/links2 { }; From 8c81c234d3a3fa9aa38d8ae1c427c66a083c3bce Mon Sep 17 00:00:00 2001 From: Scott Stevenson Date: Mon, 11 Jul 2016 17:11:31 +0100 Subject: [PATCH 094/144] rcm: 1.2.3 -> 1.3.0 (#16847) --- pkgs/tools/misc/rcm/default.nix | 6 +- pkgs/tools/misc/rcm/fix-rcmlib-path.patch | 116 +++++++++------------- 2 files changed, 51 insertions(+), 71 deletions(-) diff --git a/pkgs/tools/misc/rcm/default.nix b/pkgs/tools/misc/rcm/default.nix index 59eccbb1ab6..efc42ee73ec 100644 --- a/pkgs/tools/misc/rcm/default.nix +++ b/pkgs/tools/misc/rcm/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl }: stdenv.mkDerivation { - name = "rcm-1.2.3"; + name = "rcm-1.3.0"; src = fetchurl { - url = https://thoughtbot.github.io/rcm/dist/rcm-1.2.3.tar.gz; - sha256 = "0gwpclbc152jkclj3w83s2snx3dcgljwr75q1z8czl3yar7d8bsh"; + url = https://thoughtbot.github.io/rcm/dist/rcm-1.3.0.tar.gz; + sha256 = "ddcf638b367b0361d8e063c29fd573dbe1712d1b83e8d5b3a868e4aa45ffc847"; }; patches = [ ./fix-rcmlib-path.patch ]; diff --git a/pkgs/tools/misc/rcm/fix-rcmlib-path.patch b/pkgs/tools/misc/rcm/fix-rcmlib-path.patch index 45bd32a2d2b..e7d600d2a1f 100644 --- a/pkgs/tools/misc/rcm/fix-rcmlib-path.patch +++ b/pkgs/tools/misc/rcm/fix-rcmlib-path.patch @@ -1,68 +1,48 @@ -*** rcm-1.2.3/bin/lsrc.in.orig 2014-05-09 04:57:39.000000000 -0700 ---- rcm-1.2.3/bin/lsrc.in 2015-01-24 14:27:48.786595479 -0800 -*************** -*** 1,6 **** - #!@SHELL@ - -! : ${RCM_LIB:=$(dirname "$0")/../share/rcm} - . "$RCM_LIB/rcm.sh" - - pushdir() { ---- 1,6 ---- - #!@SHELL@ - -! RCM_LIB=@rcm@/share/rcm - . "$RCM_LIB/rcm.sh" - - pushdir() { -*** rcm-1.2.3/bin/mkrc.in.orig 2014-05-09 04:57:39.000000000 -0700 ---- rcm-1.2.3/bin/mkrc.in 2015-01-24 14:27:48.786595479 -0800 -*************** -*** 1,6 **** - #!@SHELL@ - -! : ${RCM_LIB:=$(dirname "$0")/../share/rcm} - . "$RCM_LIB/rcm.sh" - - destination() { ---- 1,6 ---- - #!@SHELL@ - -! RCM_LIB=@rcm@/share/rcm - . "$RCM_LIB/rcm.sh" - - destination() { -*** rcm-1.2.3/bin/rcdn.in.orig 2014-05-09 04:57:39.000000000 -0700 ---- rcm-1.2.3/bin/rcdn.in 2015-01-24 14:27:48.786595479 -0800 -*************** -*** 1,6 **** - #!@SHELL@ - -! : ${RCM_LIB:=$(dirname "$0")/../share/rcm} - . "$RCM_LIB/rcm.sh" - - remove_link() { ---- 1,6 ---- - #!@SHELL@ - -! RCM_LIB=@rcm@/share/rcm - . "$RCM_LIB/rcm.sh" - - remove_link() { -*** rcm-1.2.3/bin/rcup.in.orig 2014-05-09 04:57:39.000000000 -0700 ---- rcm-1.2.3/bin/rcup.in 2015-01-24 14:27:48.786595479 -0800 -*************** -*** 1,6 **** - #!@SHELL@ - -! : ${RCM_LIB:=$(dirname "$0")/../share/rcm} - . "$RCM_LIB/rcm.sh" - - link_or_copy() { ---- 1,6 ---- - #!@SHELL@ - -! RCM_LIB=@rcm@/share/rcm - . "$RCM_LIB/rcm.sh" - - link_or_copy() { +diff --git a/bin/lsrc.in b/bin/lsrc.in +index fcf5fbe..119d659 100755 +--- a/bin/lsrc.in ++++ b/bin/lsrc.in +@@ -1,6 +1,6 @@ + #!@SHELL@ + +-: ${RCM_LIB:=$(dirname "$0")/../share/rcm} ++RCM_LIB=@rcm@/share/rcm + . "$RCM_LIB/rcm.sh" + + pushdir() { +diff --git a/bin/mkrc.in b/bin/mkrc.in +index da22a63..a6bb0ad 100755 +--- a/bin/mkrc.in ++++ b/bin/mkrc.in +@@ -1,6 +1,6 @@ + #!@SHELL@ + +-: ${RCM_LIB:=$(dirname "$0")/../share/rcm} ++RCM_LIB=@rcm@/share/rcm + . "$RCM_LIB/rcm.sh" + + destination() { +diff --git a/bin/rcdn.in b/bin/rcdn.in +index ae7aad8..c210599 100755 +--- a/bin/rcdn.in ++++ b/bin/rcdn.in +@@ -1,6 +1,6 @@ + #!@SHELL@ + +-: ${RCM_LIB:=$(dirname "$0")/../share/rcm} ++RCM_LIB=@rcm@/share/rcm + . "$RCM_LIB/rcm.sh" + + remove_link() { +diff --git a/bin/rcup.in b/bin/rcup.in +index bdae664..2076f53 100755 +--- a/bin/rcup.in ++++ b/bin/rcup.in +@@ -1,6 +1,6 @@ + #!@SHELL@ + +-: ${RCM_LIB:=$(dirname "$0")/../share/rcm} ++RCM_LIB=@rcm@/share/rcm + . "$RCM_LIB/rcm.sh" + + print_ln_v() { From 811cf56f5f006274ea016db9674f566bfa2cc640 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gammels=C3=A6ter?= Date: Mon, 11 Jul 2016 19:35:00 +0200 Subject: [PATCH 095/144] mypy-lang: init at 0.4.2 --- lib/maintainers.nix | 1 + pkgs/development/tools/mypy-lang/default.nix | 21 ++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 24 insertions(+) create mode 100644 pkgs/development/tools/mypy-lang/default.nix diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 44a68975bd0..3e4229bf441 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -232,6 +232,7 @@ markus1189 = "Markus Hauck "; markWot = "Markus Wotringer "; martijnvermaat = "Martijn Vermaat "; + martingms = "Martin Gammelsæter "; matejc = "Matej Cotman "; mathnerd314 = "Mathnerd314 "; matthiasbeyer = "Matthias Beyer "; diff --git a/pkgs/development/tools/mypy-lang/default.nix b/pkgs/development/tools/mypy-lang/default.nix new file mode 100644 index 00000000000..d5a5095a262 --- /dev/null +++ b/pkgs/development/tools/mypy-lang/default.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, python35Packages }: + +python35Packages.buildPythonApplication rec { + name = "mypy-lang-${version}"; + version = "0.4.2"; + + # Tests not included in pip package. + doCheck = false; + + src = fetchurl { + url = "mirror://pypi/m/mypy-lang/${name}.tar.gz"; + sha256 = "12vwgzbpv0n403dvzas5ckw0f62slqk5j3024y65hi9n95r34rws"; + }; + + meta = with stdenv.lib; { + description = "Optional static typing for Python"; + homepage = "http://www.mypy-lang.org"; + license = licenses.mit; + maintainers = with maintainers; [ martingms ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index cdd6bbeb4d9..621aaca850c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6705,6 +6705,8 @@ in grabserial = callPackage ../development/tools/grabserial { }; + mypy-lang = callPackage ../development/tools/mypy-lang { }; + ### DEVELOPMENT / LIBRARIES From 15d28334a716351371e4074a1e963a02193fe3fd Mon Sep 17 00:00:00 2001 From: mimadrid Date: Mon, 11 Jul 2016 22:06:34 +0200 Subject: [PATCH 096/144] filezilla: 3.18.0 -> 3.19.0 --- pkgs/applications/networking/ftp/filezilla/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix index 4b7b56c69ea..5d92f7455d6 100644 --- a/pkgs/applications/networking/ftp/filezilla/default.nix +++ b/pkgs/applications/networking/ftp/filezilla/default.nix @@ -1,13 +1,13 @@ { stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext , pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla, nettle }: -let version = "3.18.0"; in +let version = "3.19.0"; in stdenv.mkDerivation { name = "filezilla-${version}"; src = fetchurl { url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2"; - sha256 = "1qnpbx2684r529ldih6fi5anjlcgqn2xfcls0q38iadrk1qnqr1p"; + sha256 = "0827z1jmn8pkzrcpjgh5yh2r23vgv73yb4rikraxa9i7l118g9l2"; }; configureFlags = [ From 2eb8aab42cf8623704904b41f4ffe9783bad7b07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Forsman?= Date: Wed, 6 Jul 2016 18:50:05 +0200 Subject: [PATCH 097/144] nixos/systemd: disable timer units with service A disabled systemd service with a "startAt" attribute, like this: systemd.services.foo-service = { enable = false; startAt = "*-*-* 05:15:00"; ... }; will cause the following errors in the system journal: systemd[1]: foo-service.timer: Refusing to start, unit to trigger not loaded. systemd[1]: Failed to start foo-service.timer. Fix it by not generating the corresponding timer unit when the service is disabled. --- nixos/modules/system/boot/systemd.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix index b7c09d2e4bf..5c8cce5066a 100644 --- a/nixos/modules/system/boot/systemd.nix +++ b/nixos/modules/system/boot/systemd.nix @@ -764,7 +764,7 @@ in { wantedBy = [ "timers.target" ]; timerConfig.OnCalendar = service.startAt; }) - (filterAttrs (name: service: service.startAt != "") cfg.services); + (filterAttrs (name: service: service.enable && service.startAt != "") cfg.services); # Generate timer units for all services that have a ‘startAt’ value. systemd.user.timers = From 963327aacb67322c8cc1ace863e7747823aa89e0 Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Mon, 11 Jul 2016 22:49:16 +0200 Subject: [PATCH 098/144] vimPlugins: updating plugin and adding floobits plugin --- pkgs/misc/vim-plugins/default.nix | 333 +++++++++++++------------ pkgs/misc/vim-plugins/vim-plugin-names | 3 +- pkgs/misc/vim-plugins/vim-utils.nix | 2 +- 3 files changed, 175 insertions(+), 163 deletions(-) diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix index 8ded4ca98cb..a34690853fc 100644 --- a/pkgs/misc/vim-plugins/default.nix +++ b/pkgs/misc/vim-plugins/default.nix @@ -173,11 +173,11 @@ rec { }; Syntastic = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "Syntastic-2016-06-12"; + name = "Syntastic-2016-07-08"; src = fetchgit { url = "git://github.com/scrooloose/syntastic"; - rev = "d6b96c079be137c83009827b543a83aa113cc011"; - sha256 = "1hb1vs0sqzpjbh4l2q1rfhh4mxvhn08pin3glba26p37639w9qqc"; + rev = "87f3e80b443870ce821f82dd1b3dba5bd66b51b2"; + sha256 = "09prhzp58470naj8ws2m1pjgj1h675jsiyc6vmfdjsqk6ly2ypg0"; }; dependencies = []; @@ -217,22 +217,22 @@ rec { }; The_NERD_tree = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "The_NERD_tree-2016-06-10"; + name = "The_NERD_tree-2016-06-23"; src = fetchgit { url = "git://github.com/scrooloose/nerdtree"; - rev = "d280b15ba9388ab93f3401b26877a13fdb8ed816"; - sha256 = "19mlvmlg1lccr2kkigbggv3jfl0bdc5r6lpa2jds1j20gxp9zhwi"; + rev = "2e2b649232d6ae4d02d74793e5da0ee08480ad8d"; + sha256 = "1rfm6w60bk168y1l9hjjxd4840j1jr1h0s77lsdjr9wxpxbw59ml"; }; dependencies = []; }; UltiSnips = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "UltiSnips-2016-05-16"; + name = "UltiSnips-2016-07-07"; src = fetchgit { url = "git://github.com/SirVer/ultisnips"; - rev = "1c6b4f75a006c4411d01a1234cabda3eb4aded1a"; - sha256 = "0m9sfq9d9qvrx5valg0xz9bi0y2zi3790rg1qlnin4h1gbj5axjb"; + rev = "e8c485eb3c7e2c4c3ddc62beb79011f026a3ca04"; + sha256 = "03cdpz136ry6v7h0sddlyvgxwvp3bl1ir7451v3sd6q867ywvbs7"; }; dependencies = []; @@ -250,11 +250,11 @@ rec { }; WebAPI = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "WebAPI-2016-05-12"; + name = "WebAPI-2016-07-06"; src = fetchgit { url = "git://github.com/mattn/webapi-vim"; - rev = "ca89bd5867e76b154d4eca325b5a9ad6509fccc5"; - sha256 = "138rplbmvxicxjkkbvskck3b91rill53y22yrnnd9rj7zh9hj0zm"; + rev = "e3fa93f29a3a0754204002775e140d8a9acfd7fd"; + sha256 = "0z6s3cnipcww4q33d4dcp0p8jw29izghcrj75fxy6dmy1yw2fbcr"; }; dependencies = []; @@ -288,11 +288,11 @@ rec { }; ctrlp-py-matcher = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "ctrlp-py-matcher-2016-01-13"; + name = "ctrlp-py-matcher-2016-06-22"; src = fetchgit { url = "git://github.com/FelikZ/ctrlp-py-matcher"; - rev = "8a803267a741cff3d6147650745f83c8f2125578"; - sha256 = "0d5a7cqjh58l8qgj92s06f2ia83w51g4cic61qxd6sykv9xqiz17"; + rev = "fb831ff903d5622b39f400fc8ba80f9bbd225307"; + sha256 = "0zamyhxn910q6yyja6ypc92pxr47n28yzb6h90x20z0q2wka5842"; }; dependencies = []; @@ -321,33 +321,33 @@ rec { }; fugitive = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "fugitive-2016-05-11"; + name = "fugitive-2016-07-06"; src = fetchgit { url = "git://github.com/tpope/vim-fugitive"; - rev = "3439f999b138254e4bb56187fc91f91f545b4b12"; - sha256 = "0b617wljhcbz6w789j72lp4riplcb6m3b2h8x84awp2rls6k130b"; + rev = "c00ebd75ac23f4080c0d0bf9453b16304a3fb316"; + sha256 = "0j8vy6n70m02k2iq4y4nbpc0jnzk1ag51qnnbxj7aad4hkn8hban"; }; dependencies = []; }; ghcmod = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "ghcmod-2016-01-25"; + name = "ghcmod-2016-06-19"; src = fetchgit { url = "git://github.com/eagletmt/ghcmod-vim"; - rev = "815616e8b7d64677d6092e95bc6a3e83d2e035d4"; - sha256 = "00pl4zimbhcfpjg326qkjxr4s4d21kzl4j617382rvqbingrm8is"; + rev = "1d192d13d68ab59f9f46497a0909bf24a7b7dfff"; + sha256 = "0bzahgzagnf0a9zv86jhdf8nc3p0yfz9izv5n3lc8gc12cp47d0a"; }; dependencies = []; }; vim-autoformat = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-autoformat-2016-06-10"; + name = "vim-autoformat-2016-07-08"; src = fetchgit { url = "git://github.com/Chiel92/vim-autoformat"; - rev = "9742ae2dfb46b26b9aed39491afe3d3ecb5eafd0"; - sha256 = "0lagj6977vbjvzk01sf43hhmj1jh7d2sa478igjmkw8j3gwvxcmq"; + rev = "06251ab31789b6c478358306ab0e476c7d03b0d5"; + sha256 = "0q749lbz1zzajdwyyznyg7h4mf2sdd0sq77dr24szs4f937zy007"; }; dependencies = []; @@ -365,22 +365,11 @@ rec { }; deoplete-nvim = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "deoplete-nvim-2016-06-11"; + name = "deoplete-nvim-2016-07-10"; src = fetchgit { url = "git://github.com/Shougo/deoplete.nvim"; - rev = "eac8020ef6f740df9109fa557b46a488f98103f1"; - sha256 = "0fsg9mr23qsqhvzjmj626nd873zqwyxzvr5b1i97l0g6zwq3q8i8"; - }; - dependencies = []; - - }; - - deoplete-jedi = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "deoplete-jedi-2016-06-5"; - src = fetchgit { - url = "git://github.com/zchee/deoplete-jedi"; - rev = "36aec0d7166f9e18e05b45468e161f01909d77ec"; - sha256 = "0h8vn7r5fkwvbxhqx6xh95iq1klz9ppbax9l3rxlfkp3w67kkj2k"; + rev = "8102bbb73f942b232b6bcc00b8699fbe3b3f370c"; + sha256 = "083056maiscxyyln09659qv3c7kayps2vm697p459yyhfyir742f"; }; dependencies = []; @@ -420,11 +409,11 @@ rec { }; neomake = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "neomake-2016-06-08"; + name = "neomake-2016-07-11"; src = fetchgit { url = "git://github.com/benekastah/neomake"; - rev = "0de96a8a906d254ee3b5e6cd1e9838f1c1cc59c5"; - sha256 = "1adq47ra0vf5kak7m65gyaxi1jkbdi7647bb73785j3sx5q41v0f"; + rev = "14e894edc35d17b927e5540ceb6d101bbda9f51c"; + sha256 = "1ccgfvvxsl213zlgf801yxwg51kpi5z37z175w4gh9cj8953mgxh"; }; dependencies = []; @@ -442,55 +431,55 @@ rec { }; vim-tmux-navigator = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-tmux-navigator-2016-06-03"; + name = "vim-tmux-navigator-2016-07-07"; src = fetchgit { url = "git://github.com/christoomey/vim-tmux-navigator"; - rev = "57701ac650990010ea97b1b4d64779d0b60c769b"; - sha256 = "0kl9as63h8bfkmqhq9myma6z7xvp30hiqcnxham4cvd6vhph3b7j"; + rev = "d0123a8679cebec89ddd385756b25e4c812556b6"; + sha256 = "1bk3saff0lxzl1zrv97klx8f4kqvr01ypv13vg5andc1ylk2nqqf"; }; dependencies = []; }; spacevim = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "spacevim-2016-06-08"; + name = "spacevim-2016-07-07"; src = fetchgit { url = "git://github.com/ctjhoa/spacevim"; - rev = "c8811a397249508432199786abbbd41429b6c90b"; - sha256 = "0a41pjc6qd378y8sg2sp65k0s32ssn9pkk6yyss92k97rlx2bsjp"; + rev = "714cc22f8c4544676a9cc2a4ac075b630ffa5b34"; + sha256 = "0l66h05hridjihjp4g94zq3mrfjs4pywzlb5wh95yvcdix8kyzzm"; }; dependencies = []; }; ctrlp-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "ctrlp-vim-2016-06-08"; + name = "ctrlp-vim-2016-07-08"; src = fetchgit { url = "git://github.com/ctrlpvim/ctrlp.vim"; - rev = "cd99e43613202d56b2adfc8f9bd216734a9601fd"; - sha256 = "0inlwdl27rsjq9jaa37w21kgbvf6v8351xzqz6y2f6s5ciwbhfm3"; + rev = "b9fa920b4abbb54799927a3bc57869fdd556321a"; + sha256 = "1h8cm9mihd3jngmb6x60hxyr0g3swg6xhq8jw36xskb1ygdvbxzp"; }; dependencies = []; }; vim-jade = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-jade-2016-02-11"; + name = "vim-jade-2016-06-28"; src = fetchgit { url = "git://github.com/digitaltoad/vim-jade"; - rev = "0a7ec2edaa3f7fbe353f8fd5bf06d3c043d70c81"; - sha256 = "0qlwbywnx6sl2xacdialpmg1d2wmjkdsdklz97k8086glkairs10"; + rev = "f3950a72ea92f2c372846e763dad1f1151a38fb1"; + sha256 = "1wa7zf24szmwchk608s5ikv14jzch9nl8isrn9ji9sz2511w50wp"; }; dependencies = []; }; neco-ghc = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "neco-ghc-2016-05-07"; + name = "neco-ghc-2016-07-01"; src = fetchgit { url = "git://github.com/eagletmt/neco-ghc"; - rev = "b91b30f145d4daaf7e50d083e377bd9fbfdc670b"; - sha256 = "1fnxqqp4p7kxzs7svia33wikrzyav41qlncjpmbz6ss8jb9bk18b"; + rev = "7f02a9c25fb272a87d2be092826e2cd3094c620d"; + sha256 = "1fcfk45qb96h6y4zb3p0104iyqc85q1synn9ah56zp6hnkkyffbw"; }; dependencies = []; @@ -530,11 +519,11 @@ rec { }; vim-go = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-go-2016-06-11"; + name = "vim-go-2016-07-07"; src = fetchgit { url = "git://github.com/fatih/vim-go"; - rev = "6efcfb275c8f7779bfc0738da730dfab19f157fe"; - sha256 = "14n7phv3b4s7fhz94ziafakd0wl6n4z3a12i5qq2hdavi98kd640"; + rev = "ab01e7e5a6bf858c1f519a831a4db1d978b92298"; + sha256 = "1g76hasdyncjds6yl38dkb5nwp6sb8aqzp9d7xxhwarlnnihj1la"; }; dependencies = []; @@ -551,12 +540,23 @@ rec { }; + floobits-neovim = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "floobits-neovim-2016-06-20"; + src = fetchgit { + url = "git://github.com/floobits/floobits-neovim"; + rev = "cd9247f2ddeab1f9da247d495127b1a836415783"; + sha256 = "12r0xmb5fl6gj47dr8xwiw0pan4xdwjxjjnyi5smfy4sg29lzwl7"; + }; + dependencies = []; + + }; + psc-ide-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "psc-ide-vim-2016-04-26"; + name = "psc-ide-vim-2016-07-06"; src = fetchgit { url = "git://github.com/frigoeu/psc-ide-vim"; - rev = "27c000f0f27c7a4d05f001320ddcf1ae15b22eb7"; - sha256 = "1vgxf5kziv00mi346zw3b2dnxygxk0jyxg41y6w1j22yrp9id1k2"; + rev = "8704b993fe7dced73aa871244fbf7cd2fbafb759"; + sha256 = "1wvs5v59aai3q2lgavaav073gz609944j8xbck34xyyq2naqmhaq"; }; dependencies = []; @@ -596,11 +596,11 @@ rec { }; calendar-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "calendar-vim-2016-05-19"; + name = "calendar-vim-2016-07-06"; src = fetchgit { url = "git://github.com/itchyny/calendar.vim"; - rev = "f49bd337a4643bb58df0fa4df230d60bdfeef022"; - sha256 = "06hzvcpkgz51jl6zj67ycga5p9n1y6kk335d3cha24divp4ll1jb"; + rev = "e5ecd6c6635b0b8c3bc11d3a28f48e0b224e1391"; + sha256 = "0v611z5a24201194j592bpyid27cyfir66xr0pss71yk35wk9agy"; }; dependencies = []; @@ -651,11 +651,11 @@ rec { }; vim-orgmode = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-orgmode-2016-05-15"; + name = "vim-orgmode-2016-07-08"; src = fetchgit { url = "git://github.com/jceb/vim-orgmode"; - rev = "e0d56a6e93798b7a503bb4ab86fec016cd74d466"; - sha256 = "0704wli8n1x4v40mdfj0icjarr52iqvw2byzsvyzb420wpf1nqpb"; + rev = "54057d58888ad29672cd0cd782be5fc8b1a3a709"; + sha256 = "134dsnfpkzq9gd3d8b9pvy7c5yvy9yxjyvidg927ha1lpilf4kp9"; }; dependencies = []; @@ -728,33 +728,33 @@ rec { }; fzf-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "fzf-vim-2016-06-14"; + name = "fzf-vim-2016-07-02"; src = fetchgit { url = "git://github.com/junegunn/fzf.vim"; - rev = "0867178d9963e9f971c7799b0820aab985676c3c"; - sha256 = "09d9v4anraxp6bk54mkx4w7j256b21m7ik77l647j3bnyn0z3wf8"; + rev = "e0182d33716068ffb1b53f7a8931fe1b5594f382"; + sha256 = "0hg6yzm11qwgq6cbf1ldb9i3p4r8h6f5ykvlrqh5znyzlxxf27vz"; }; dependencies = []; }; limelight-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "limelight-vim-2016-05-17"; + name = "limelight-vim-2016-06-24"; src = fetchgit { url = "git://github.com/junegunn/limelight.vim"; - rev = "e93c8013bb66d4b6622e24e0e3a97e71a032d9ec"; - sha256 = "1xq3fa44fz3dfl52y0ygm21pa8b121b5lsdflcvn0igvisdkzl6g"; + rev = "106fb5749d227a0de72e36068ed72798c6fd48e6"; + sha256 = "0fp4yp50n5v5zx3a7afh9wip4nwcfhmdgdzwpnl79jvild1z9fgh"; }; dependencies = []; }; vim-peekaboo = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-peekaboo-2016-05-31"; + name = "vim-peekaboo-2016-07-08"; src = fetchgit { url = "git://github.com/junegunn/vim-peekaboo"; - rev = "35ee385d451d06c93177d6bb268dcefd19b091da"; - sha256 = "1ix03w0rcn5l8ljszhsn53gsqmpsk12qv1s6imd5nhdf66njhlks"; + rev = "13e44380895b4a0e52a710a7056ad40514ff5927"; + sha256 = "12pa03dj4plc6za93skcrn3zhz2faw578a78038dwh3fd608rwyd"; }; dependencies = []; @@ -794,11 +794,11 @@ rec { }; vimtex = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vimtex-2016-06-14"; + name = "vimtex-2016-07-10"; src = fetchgit { url = "git://github.com/lervag/vimtex"; - rev = "1211d5725331a221329f8cd98756c8ef68556fd9"; - sha256 = "0hjajg8ls2gl0jjrcb7m5qrvvzlm86jac8786fi56iql3r1yvlil"; + rev = "c16bd147092bfe7ac63f39cd449f36e14e42e948"; + sha256 = "18p7vmas0754r9n227v68wry285vr4y90v3kxcnn9hl60xxb3ba9"; }; dependencies = []; @@ -831,11 +831,11 @@ rec { }; vim-startify = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-startify-2016-06-08"; + name = "vim-startify-2016-07-01"; src = fetchgit { url = "git://github.com/mhinz/vim-startify"; - rev = "dbaa0254249a5d9685ffc9513557bb811fad65b4"; - sha256 = "1l65ah2k437rhp3rr81fgrwwr7vvipfrj5vlixx49zxgzy489wr4"; + rev = "84a296eb5c36dc263ab67db3202e57fa783473b0"; + sha256 = "0pv15n8mpzgkp7b0fqpjbv24yn8fswwryxi6lzavjhrbqzmv7mxw"; }; dependencies = []; @@ -875,11 +875,11 @@ rec { }; haskell-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "haskell-vim-2016-05-17"; + name = "haskell-vim-2016-07-06"; src = fetchgit { url = "git://github.com/neovimhaskell/haskell-vim"; - rev = "f73cdcdf72e9200420fc74491b6cd215512c3330"; - sha256 = "1fgcfcslb6p84xcv1ighd8i4p4960vac7f7zpvl0d7bpp75ci07b"; + rev = "a9ceb3d812488c1cee8a2b763cca0e4a48bfd14c"; + sha256 = "022ckyc85i8f6r32z2grn41s9g4fg1a7fqprzbgs2kbi9k2igqni"; }; dependencies = []; @@ -897,22 +897,22 @@ rec { }; vim-watchdogs = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-watchdogs-2016-05-29"; + name = "vim-watchdogs-2016-06-26"; src = fetchgit { url = "git://github.com/osyo-manga/vim-watchdogs"; - rev = "a1136db1d8806a03fc8ea81aa60e82d4cba57fb5"; - sha256 = "1qk0wg11x6xwakqqbnx47ma5arsam55jqag0hxsf6is2yjqxb825"; + rev = "7c89466b2b7fd9b87e0189e4ac66b84f2cfbc842"; + sha256 = "09swjrfrqvciw7blqd1ssklxs09x0sd7ixphy07az7cxfmpdpi4r"; }; dependencies = []; }; vim-racer = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-racer-2016-05-31"; + name = "vim-racer-2016-06-27"; src = fetchgit { url = "git://github.com/racer-rust/vim-racer"; - rev = "392e5818039a13f0cc3f819afcbb31291b1635a4"; - sha256 = "0fs3zlsc1h4a58m0xlv11g5vzfvhjrinnmxh7xmgjnnd4njx8iax"; + rev = "a72b26bb25cb65be29fd1912e9344eaa860fce5e"; + sha256 = "01xg6mmnlx5l37rsb7w0dbgy36pd6zyq7gcigdbj0pgqd39w30fv"; }; dependencies = []; @@ -930,66 +930,66 @@ rec { }; rust-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "rust-vim-2016-06-05"; + name = "rust-vim-2016-06-21"; src = fetchgit { url = "git://github.com/rust-lang/rust.vim"; - rev = "e064f270e85e0cbb7bd643aeda3e7088378341f7"; - sha256 = "04s3c1hwxcprvzn8wx39f9mg3rmgwvqvinqwbfm591pjpialvmpk"; + rev = "5dd7ab99103c05a56e059b39ad9f63274d2ae72e"; + sha256 = "0az35kfcpavz6sbh6mf0mmv7mp5zbnqmnljpmlm1srn6rr9rah2q"; }; dependencies = []; }; neocomplete-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "neocomplete-vim-2016-06-07"; + name = "neocomplete-vim-2016-06-26"; src = fetchgit { url = "git://github.com/shougo/neocomplete.vim"; - rev = "14698b37d10b8ae18a4850aa784fdd3130e4ba3e"; - sha256 = "08bg6yafp68gh82afzzn9msb7adydihdvxyzigvjzr94bzv4n4ab"; + rev = "71800331948b1bc3c3d79dbbf203a274cd5b6f56"; + sha256 = "132bksxnj50yc2d8hx5sh4xbhzh0shidrvzlalb7gfhkanpg443w"; }; dependencies = []; }; neosnippet-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "neosnippet-snippets-2016-05-26"; + name = "neosnippet-snippets-2016-06-26"; src = fetchgit { url = "git://github.com/shougo/neosnippet-snippets"; - rev = "dbce664a473e2344d2cc4e494fb5e408452646e2"; - sha256 = "008brypf2jc9kl1gqyl1x2b1qx0bzvvfc0qqg0aniva2hwsda38k"; + rev = "17219351bcbec3708295c72c8280471eed12b8fe"; + sha256 = "08lrqsl9cqkx42llgv0mc54nsmdrv68bpzip2snr58klaj444nir"; }; dependencies = []; }; neosnippet-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "neosnippet-vim-2016-06-11"; + name = "neosnippet-vim-2016-07-10"; src = fetchgit { url = "git://github.com/shougo/neosnippet.vim"; - rev = "23eac4b080bb9788fbe61a0b93c7cf39e533f490"; - sha256 = "01hbglhvgkfq78hxyh32afi4q47y6l3lm7yn4cz532cqd7ac78ij"; + rev = "9492fbb7e9016243af3c1987b91f0bffcf4cc8e7"; + sha256 = "0p2d762z0s9ayrc4kcqr7s1hmcghd04z818szqdn6v6rsr9lyln8"; }; dependencies = []; }; unite-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "unite-vim-2016-06-11"; + name = "unite-vim-2016-06-30"; src = fetchgit { url = "git://github.com/shougo/unite.vim"; - rev = "27a97d3eacd209c4f6e15c98e9217a4f6c438ac5"; - sha256 = "14d87skqrsdb61nqpdch584hi0hpb5a0nqf35q5727pz6ckch32f"; + rev = "faeff916c6af683990d3afe571047ebdb8bf2a4b"; + sha256 = "1a29h4450z2g3599g8ln1l10h2lfwf7qr5j15hkrg7z23i5xgrj7"; }; dependencies = []; }; vimproc-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vimproc-vim-2016-06-11"; + name = "vimproc-vim-2016-07-10"; src = fetchgit { url = "git://github.com/shougo/vimproc.vim"; - rev = "c2f6b82af60a4e7acde0e8dc4e6b6f5dc1cc8e1d"; - sha256 = "1h79c0fskvalasji290qz89y1s9c1mic7h1p82p1im036jvmkf22"; + rev = "b2255c66a3dc04fba1adbda3e380facff45fe6ec"; + sha256 = "09fabq1j3grd8d8xz0y9i5y756mqzs9n7icvnlmi6hbjzkv1rkx6"; }; dependencies = []; buildInputs = [ which ]; @@ -1025,11 +1025,11 @@ rec { }; vim-hardtime = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-hardtime-2016-05-03"; + name = "vim-hardtime-2016-07-05"; src = fetchgit { url = "git://github.com/takac/vim-hardtime"; - rev = "acf59c8df88e1445c145dfca626957d54a1310c3"; - sha256 = "1q7lhj6ll3lycsxqj0ymm7pb6m1sdglgip7wkirjv357yxl7y7kr"; + rev = "93ed99803df721648a9b93f0ccd4afe3d8d95a4e"; + sha256 = "0as6kbdg2jqkxphxyv6ik6qxyp245hl52aqmx5gjd4vi3pryg0gl"; }; dependencies = []; @@ -1058,11 +1058,11 @@ rec { }; vim-quickrun = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-quickrun-2016-06-09"; + name = "vim-quickrun-2016-07-02"; src = fetchgit { url = "git://github.com/thinca/vim-quickrun"; - rev = "bb4daff0342ce3311b7f6c2fd3e2160f2be9e374"; - sha256 = "11baxdcqr8854ijp0gkwwjl9navv8x1dv53p2isiq5vpqiq4n3mw"; + rev = "5149ecd1502b7fc2583cb8799ac1a0c72c41f828"; + sha256 = "1y32s42wgcq8qssm7yr578vvamvlb4kkdb1k5mhp0hmwskj2v7xp"; }; dependencies = []; @@ -1113,11 +1113,11 @@ rec { }; youcompleteme = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "youcompleteme-2016-06-13"; + name = "youcompleteme-2016-07-11"; src = fetchgit { url = "git://github.com/valloric/youcompleteme"; - rev = "871387bd2a2ed9270ccc17ed63dde99c840deab5"; - sha256 = "19ll1nh6nxl31zdajz9kdgw18mvsy4d630435z604rxik2rgbh3d"; + rev = "c44489af16de6ae86294de7dd194bd6e53adaf1e"; + sha256 = "1m8m6wyics1mlxcxzq83ql8l4vd16cfbhc418vmxflx3178ifr36"; }; dependencies = []; buildInputs = [ @@ -1153,22 +1153,22 @@ rec { }; vim-airline-themes = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-airline-themes-2016-06-06"; + name = "vim-airline-themes-2016-07-08"; src = fetchgit { url = "git://github.com/vim-airline/vim-airline-themes"; - rev = "796478723c01a275269b96f63ee5cd5b44a342f4"; - sha256 = "1irvzv1sq12y2q6yjb26b89j5pxs5cia35dax093q6h88ywq709g"; + rev = "aa95f935047323dbcbe2fed210bd3a0356a3c32b"; + sha256 = "0mz1wb8bwcyd21wcvkdd58dbga78pdrcxnxwmvf0pi8ywix7aw01"; }; dependencies = []; }; vim-pandoc = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-pandoc-2016-05-24"; + name = "vim-pandoc-2016-07-11"; src = fetchgit { url = "git://github.com/vim-pandoc/vim-pandoc"; - rev = "cca2326046fd9bf44276e6d44f106c90d80eca25"; - sha256 = "106dxdll11sj5vi34a0nq5kmfbp13g80ix26m6k9snxjx2y79y3s"; + rev = "18461740f6915540e4833a71ab54a8205c9898b8"; + sha256 = "00mawpl3wwj223g7bcmx4ghfysvxg9d3iqk1h8azykgccp6wg7p6"; }; dependencies = []; @@ -1274,11 +1274,11 @@ rec { }; vim-wakatime = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-wakatime-2016-06-13"; + name = "vim-wakatime-2016-07-06"; src = fetchgit { url = "git://github.com/wakatime/vim-wakatime"; - rev = "cd074dcff51f12d1658902d4fe0d9f311ac94a2d"; - sha256 = "0sq7n9w4nadc0psr74g7bmgv87bqlzsmyrr4iyalz108bdgxahav"; + rev = "31b1a5d78244605fcab024edc20e6a0c059e449f"; + sha256 = "0k5bnckv1882r9445p74a4iqys72imy23w87c1shq1gxps47cwms"; }; dependencies = []; buildInputs = [ python ]; @@ -1301,6 +1301,17 @@ rec { ''; }; + deoplete-jedi = buildVimPluginFrom2Nix { # created by nix#NixDerivation + name = "deoplete-jedi-2016-07-10"; + src = fetchgit { + url = "git://github.com/zchee/deoplete-jedi"; + rev = "e7f0a94ea64b86d2b4946d30b6cedb38133d6603"; + sha256 = "05j1lfqxagndglyh337b6v2l4zmpa9fwrkgr0g4kk1s6f0lmla2b"; + }; + dependencies = []; + + }; + goyo = buildVimPluginFrom2Nix { # created by nix#NixDerivation name = "goyo-2016-04-03"; src = fetchgit { @@ -1390,11 +1401,11 @@ rec { }; snipmate = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "snipmate-2016-06-08"; + name = "snipmate-2016-06-15"; src = fetchgit { url = "git://github.com/garbas/vim-snipmate"; - rev = "0c20e4136a298a73e21047d12cc5049595fb8445"; - sha256 = "1x9skkywr5shrvb9bm3mjww6kmjmck7y8g0mn9yq8psqag9j3l21"; + rev = "ee433e43c76c768c95ad6d9af67c4cd4b40f7eac"; + sha256 = "0rfis0rck0rk69nfzkrj6fm00hhdj75mvp809nw8vr14ldj2bvs7"; }; dependencies = ["vim-addon-mw-utils" "tlib"]; @@ -1423,11 +1434,11 @@ rec { }; table-mode = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "table-mode-2016-05-08"; + name = "table-mode-2016-07-11"; src = fetchgit { url = "git://github.com/dhruvasagar/vim-table-mode"; - rev = "b613e39bd08ecebdb9b18100dae518050f496048"; - sha256 = "1bachhk21x507q8xp4a6a8lpsqs2miv97lnjjf6q9qh0crxhv3z8"; + rev = "96236638a80fe73fa649824c9df25831a0042373"; + sha256 = "1c5xnm63hqw0jycwakdljs0f3mp26rjvd4llijrznpr9z2cvki8f"; }; dependencies = []; @@ -1455,11 +1466,11 @@ rec { }; tlib = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "tlib-2016-04-06"; + name = "tlib-2016-06-28"; src = fetchgit { url = "git://github.com/tomtom/tlib_vim"; - rev = "34b13299b5da7ad66ea387027d458bd54127687c"; - sha256 = "0dwcwqxbfq7gy3iy5smx3zqp2v62p8166vj02bhrrr5zkv8rqnb3"; + rev = "5636472e5dba1a4104376ce6bd93cc2546e02483"; + sha256 = "0cjb7q5aa77ff8r503sn2j35x5w80fkgvmv42nrpxqhz0ldkn5vp"; }; dependencies = []; @@ -1488,11 +1499,11 @@ rec { }; vim-addon-async = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-addon-async-2013-10-18"; + name = "vim-addon-async-2016-06-15"; src = fetchgit { url = "git://github.com/MarcWeber/vim-addon-async"; - rev = "dadc96e188f1cdacbac62129eb29a1eacfed792c"; - sha256 = "0b95l4ig8as82swhavsdica93bv5j55kvldfl7frkfp5zwcwi90f"; + rev = "4fcdf0c8a0da8b9dc2d5ad25e2cf7692cfbc10f3"; + sha256 = "1qa8ivh93ln30jbdwm9xg50yinvysvhricrkfjgg4v5nvk5sxj5n"; }; dependencies = ["vim-addon-signs"]; @@ -1686,22 +1697,22 @@ rec { }; vim-airline = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-airline-2016-06-07"; + name = "vim-airline-2016-07-04"; src = fetchgit { url = "git://github.com/vim-airline/vim-airline"; - rev = "7b9b68f15dc50ef3c6382bd9df3a5e70c9ddcee9"; - sha256 = "0k6imrfgp62qminwd7ilsq106dy49nwn2fsm88v546mwc9a2bccd"; + rev = "4d0c4f6b1e3fee30873b0c9734fbe83f4d74b81c"; + sha256 = "15fdd6i8p7w0xcj5b3zl8nqn7bx9wqg6s7pq9xj32ya7rg49f5bn"; }; dependencies = []; }; vim-coffee-script = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-coffee-script-2015-04-20"; + name = "vim-coffee-script-2016-06-29"; src = fetchgit { url = "git://github.com/kchmck/vim-coffee-script"; - rev = "32fe889b8cafd3a4921ef8e6485156453ff58c42"; - sha256 = "1x2kk9jm3948avvz3ywakmhdr3x99qfa54fk1pfphny3mrfv4l65"; + rev = "0f4bd9776cfd0fd2a394a4b1991630698e4fdc2d"; + sha256 = "18n1xbs59s71zvavjcg7an8y5dhq6agrb2rc2j6y48y7na0kf8sf"; }; dependencies = []; @@ -1730,11 +1741,11 @@ rec { }; vim-gitgutter = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-gitgutter-2016-06-09"; + name = "vim-gitgutter-2016-06-27"; src = fetchgit { url = "git://github.com/airblade/vim-gitgutter"; - rev = "09b9144002e938844df74f48ac72c1e3118e7d39"; - sha256 = "10yyzib9znhqz298h3f67n9hz1fvm5yk6958bisimf9bg9w9rn1v"; + rev = "b5f23e986747a6f4b1dc1196d2a5bd3dc7c8c2b6"; + sha256 = "0z3f4yamkv3fmqnrr00j86xwrrfv199fiabpjqnk583b5kcbn90j"; }; dependencies = []; @@ -1774,33 +1785,33 @@ rec { }; vim-signature = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-signature-2016-06-09"; + name = "vim-signature-2016-07-09"; src = fetchgit { url = "git://github.com/kshenoy/vim-signature"; - rev = "782ed5284ddf6ef3695f8b3314facd8c6113c725"; - sha256 = "1s6n6qdn3f89h4gi8nflz84y9l59rrfn43rgn257kxsq0df0kmx2"; + rev = "e2fca5f3b0474e7174e08b32c89634ac6f53bfe2"; + sha256 = "0ik68qzx0pqsvsla6y593cwab4iw3xy1sl8kb4kq89lhvv1wgxmg"; }; dependencies = []; }; vim-signify = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-signify-2016-06-08"; + name = "vim-signify-2016-06-19"; src = fetchgit { url = "git://github.com/mhinz/vim-signify"; - rev = "cb975a8c6fbf08385eba8d0bbc1168ae53be460a"; - sha256 = "00vi90zfkx94i0n0x4fjiz6bxfl2whxsclp8zxd4mivcqsw500jy"; + rev = "76bde232d163c99a8e72b517d8ef770b0d79849e"; + sha256 = "1yzq5ll7yx38872mpph976mn9yqyyypfif5vjhgvlk4l2an18qk6"; }; dependencies = []; }; vim-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vim-snippets-2016-06-09"; + name = "vim-snippets-2016-07-06"; src = fetchgit { url = "git://github.com/honza/vim-snippets"; - rev = "e840b91a4e86cda657519eba00766a29a614e1e2"; - sha256 = "11pns71zpg9nh3mf2g24k194371jhkkv7b3in8r9av107ijky3sb"; + rev = "d285c86221e917d13c6cbf89f347627ea9fe1796"; + sha256 = "1dxzl2d9kxn7vhxpz0shd2qsn6mgvbj9gn9rym8j9v4wjn2zvqws"; }; dependencies = []; @@ -1840,11 +1851,11 @@ rec { }; vinegar = buildVimPluginFrom2Nix { # created by nix#NixDerivation - name = "vinegar-2016-01-30"; + name = "vinegar-2016-06-30"; src = fetchgit { url = "git://github.com/tpope/vim-vinegar"; - rev = "75fc3824bc09053f22735d6726c5cfd614c15642"; - sha256 = "19jl854wylmfdr9k4bfyffkz8bl4vpx1znnxzx0qj7cz2s3i9z0r"; + rev = "bd7f7b7929260072864462c04dde3b9f4c5e0d23"; + sha256 = "09shzlc9dagqlb5558nvm33b4bkk9cy34kp7zgnybphyy72wf31h"; }; dependencies = []; diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names index 7069a8021f3..b2a2a542bf5 100644 --- a/pkgs/misc/vim-plugins/vim-plugin-names +++ b/pkgs/misc/vim-plugins/vim-plugin-names @@ -22,7 +22,6 @@ "github:Chiel92/vim-autoformat" "github:LnL7/vim-nix" "github:Shougo/deoplete.nvim" -"github:zchee/deoplete-jedi" "github:ajh17/Spacegray.vim" "github:alvan/vim-closetag" "github:ap/vim-css-color" @@ -38,6 +37,7 @@ "github:esneider/YUNOcommit.vim" "github:fatih/vim-go" "github:flazz/vim-colorschemes" +"github:floobits/floobits-neovim" "github:frigoeu/psc-ide-vim" "github:google/vim-jsonnet" "github:hecal3/vim-leader-guide" @@ -102,6 +102,7 @@ "github:vim-scripts/wombat256.vim" "github:wakatime/vim-wakatime" "github:wincent/command-t" +"github:zchee/deoplete-jedi" "goyo" "matchit.zip" "pathogen" diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/misc/vim-plugins/vim-utils.nix index f39d7093c73..acb5b4fcbe1 100644 --- a/pkgs/misc/vim-plugins/vim-utils.nix +++ b/pkgs/misc/vim-plugins/vim-utils.nix @@ -330,7 +330,7 @@ rec { vimHelpTags = '' vimHelpTags(){ if [ -d "$1/doc" ]; then - ${vim}/bin/vim -N -u NONE -i NONE -n -e -s -c "helptags $1/doc" +quit! + ${vim}/bin/vim -N -u NONE -i NONE -n -E -s -c "helptags $1/doc" +quit! || echo "docs to build failed" fi } ''; From 36725623f9cd6f501c3c9277dd8dfd168bbad699 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Tue, 12 Jul 2016 00:55:48 +0300 Subject: [PATCH 099/144] liboauth: propagate inputs wanted by pkgconfig --- pkgs/development/libraries/liboauth/default.nix | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pkgs/development/libraries/liboauth/default.nix b/pkgs/development/libraries/liboauth/default.nix index f62fb400199..855d921206e 100644 --- a/pkgs/development/libraries/liboauth/default.nix +++ b/pkgs/development/libraries/liboauth/default.nix @@ -9,7 +9,9 @@ stdenv.mkDerivation rec { sha256 = "07w1aq8y8wld43wmbk2q8134p3bfkp2vma78mmsfgw2jn1bh3xhd"; }; - buildInputs = [ pkgconfig nss nspr ]; + nativeBuildInputs = [ pkgconfig ]; + + propagatedBuildInputs = [ nss nspr ]; configureFlags = [ "--enable-nss" ]; From ec73d072aeb8b86a071efde74de422e9dd105455 Mon Sep 17 00:00:00 2001 From: Nikolay Amiantov Date: Tue, 12 Jul 2016 00:55:57 +0300 Subject: [PATCH 100/144] lgogdownloader: 2.26 -> 2.28 --- pkgs/games/lgogdownloader/default.nix | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pkgs/games/lgogdownloader/default.nix b/pkgs/games/lgogdownloader/default.nix index 2f15f324581..5c7cad8aa95 100644 --- a/pkgs/games/lgogdownloader/default.nix +++ b/pkgs/games/lgogdownloader/default.nix @@ -1,19 +1,20 @@ -{ stdenv, fetchFromGitHub, curl, boost, jsoncpp, liboauth, rhash, tinyxml, htmlcxx, help2man }: +{ stdenv, fetchFromGitHub, cmake, pkgconfig, curl, boost, liboauth, jsoncpp +, htmlcxx, rhash, tinyxml, help2man }: stdenv.mkDerivation rec { name = "lgogdownloader-${version}"; - version = "2.26"; + version = "2.28"; src = fetchFromGitHub { owner = "Sude-"; repo = "lgogdownloader"; rev = "v${version}"; - sha256 = "0277g70nvq7bh42gnry7lz7wqhw8wl2hq6sfxwhn8x4ybkalj2gx"; + sha256 = "1xn6pfvxz496sj5jiqyzqj6vn6vrzyks9f6xha8g4vy6hkw717ag"; }; - buildInputs = [ curl boost jsoncpp liboauth rhash tinyxml htmlcxx help2man ]; + nativeBuildInputs = [ cmake pkgconfig help2man ]; - makeFlags = [ "release" "PREFIX=$(out)" ]; + buildInputs = [ curl boost liboauth jsoncpp htmlcxx rhash tinyxml ]; meta = { homepage = https://github.com/Sude-/lgogdownloader; From a0009e1ae5f68e19ee6dd3a61941d3c188fe2a62 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 11 Jul 2016 23:14:30 +0000 Subject: [PATCH 101/144] kotlin: 1.0.2 -> 1.0.3 --- pkgs/development/compilers/kotlin/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix index 871d4d568cd..ba546f6f51f 100644 --- a/pkgs/development/compilers/kotlin/default.nix +++ b/pkgs/development/compilers/kotlin/default.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, makeWrapper, jre, unzip }: stdenv.mkDerivation rec { - version = "1.0.2"; + version = "1.0.3"; name = "kotlin-${version}"; src = fetchurl { - url = "https://github.com/JetBrains/kotlin/releases/download/${version}/kotlin-compiler-${version}.zip"; - sha256 = "1m3j1ca0kvryqarvpscrb9mvmsscd1sc8vfjsz03br6h2hwmnr3z"; + url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip"; + sha256 = "15ywjv46i2d7zgg2b3vdklc6agr62nvn0gkz7k9hql78ccfmyq9p"; }; propagatedBuildInputs = [ jre ] ; From f7ab48a401e93ce0b040710cf56ec30d3db25365 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 11 Jul 2016 23:15:51 +0000 Subject: [PATCH 102/144] feh: 2.15.4 -> 2.16.1 --- pkgs/applications/graphics/feh/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix index 2d7b8874246..a20a1be77f8 100644 --- a/pkgs/applications/graphics/feh/default.nix +++ b/pkgs/applications/graphics/feh/default.nix @@ -2,11 +2,11 @@ , libXinerama, curl, libexif, perlPackages }: stdenv.mkDerivation rec { - name = "feh-2.15.4"; + name = "feh-2.16.1"; src = fetchurl { url = "http://feh.finalrewind.org/${name}.tar.bz2"; - sha256 = "b8a9c29f37b1349228b19866f712b677e2a150837bc46be8c5d6348dd4850758"; + sha256 = "1cxnc8dxyl7s4qnkvdjaqx7gdvc6brxpq0qbg91mljg47fd2hmbf"; }; outputs = [ "out" "doc" ]; From 9672c366519ac8381688764618f7a2f8c71f6f72 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Mon, 11 Jul 2016 23:12:32 +0000 Subject: [PATCH 103/144] conky: 1.10.1 -> 1.10.3 --- pkgs/os-specific/linux/conky/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/os-specific/linux/conky/default.nix b/pkgs/os-specific/linux/conky/default.nix index 660c0bc0572..37ad34d8b64 100644 --- a/pkgs/os-specific/linux/conky/default.nix +++ b/pkgs/os-specific/linux/conky/default.nix @@ -1,7 +1,7 @@ { stdenv, fetchFromGitHub, pkgconfig, cmake # dependencies -, glib +, glib, libXinerama # optional features without extra dependencies , mpdSupport ? true @@ -62,13 +62,13 @@ with stdenv.lib; stdenv.mkDerivation rec { name = "conky-${version}"; - version = "1.10.1"; + version = "1.10.3"; src = fetchFromGitHub { owner = "brndnmtthws"; repo = "conky"; rev = "v${version}"; - sha256 = "0k93nqx8mxz2z84zzwpwfp7v7dwxwg1di1a2yb137lk7l157azw6"; + sha256 = "0sa2jl159jk5p2hr37adwq84m0ynva7v87qrwj1xv0kw8l4qzhjs"; }; postPatch = '' @@ -87,7 +87,7 @@ stdenv.mkDerivation rec { NIX_LDFLAGS = "-lgcc_s"; - buildInputs = [ pkgconfig glib cmake ] + buildInputs = [ pkgconfig glib cmake libXinerama ] ++ optionals docsSupport [ docbook2x libxslt man less ] ++ optional ncursesSupport ncurses ++ optional x11Support xlibsWrapper From fc29868d24823e9a322a4ca112b2e35d0168f29b Mon Sep 17 00:00:00 2001 From: Rok Garbas Date: Tue, 12 Jul 2016 02:06:47 +0200 Subject: [PATCH 104/144] pythonPackages.Flootty: init at 3.2.0 --- pkgs/top-level/python-packages.nix | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c4dacb957fb..d9e624b0489 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6100,6 +6100,22 @@ in modules // { propagatedBuildInputs = with self; [ rpkg offtrac urlgrabber fedora_cert ]; }); + Flootty = buildPythonPackage rec { + name = "Flootty-3.2.0"; + + src = pkgs.fetchurl { + url = "mirror://pypi/F/Flootty/${name}.tar.gz"; + sha256 = "14n2q2k388xbmp5rda5ss879bg5cbibk4zzz7c8mrjsmxhgagmmg"; + }; + + meta = with pkgs.stdenv.lib; { + description = "Floobits collaborative terminal"; + homepage = "https://github.com/Floobits/flootty/"; + maintainers = with maintainers; [ garbas ]; + license = licenses.asl20; + }; + }; + flowlogs_reader = buildPythonPackage rec { name = "flowlogs_reader-1.0.0"; From e54223e8bbfac1a661c5caa1c5b654edad4ca211 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Tue, 12 Jul 2016 13:27:41 +0800 Subject: [PATCH 105/144] siege: 4.0.1 -> 4.0.2 --- pkgs/tools/networking/siege/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/networking/siege/default.nix b/pkgs/tools/networking/siege/default.nix index c4d68ee399a..c188dd477fe 100644 --- a/pkgs/tools/networking/siege/default.nix +++ b/pkgs/tools/networking/siege/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, openssl, zlib }: stdenv.mkDerivation rec { - name = "siege-4.0.1"; + name = "siege-4.0.2"; src = fetchurl { url = "http://download.joedog.org/siege/${name}.tar.gz"; - sha256 = "0dr8k64s7zlhy3w8n1br0h6xd06p09p9809l9rp13isf10jp5pgx"; + sha256 = "0ivc6ah9n2888qgh8dicszhr3mjs42538lfx7dlhxvvvakwq3yvy"; }; NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isLinux "-lgcc_s"; From 47da65923b92306fdcaacced6dd4aa2066e670e5 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Tue, 12 Jul 2016 07:54:58 +0000 Subject: [PATCH 106/144] kernel: 4.6.3 -> 4.6.4 (#16875) --- pkgs/os-specific/linux/kernel/linux-4.6.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-4.6.nix b/pkgs/os-specific/linux/kernel/linux-4.6.nix index d5ea9039891..c0849942f4f 100644 --- a/pkgs/os-specific/linux/kernel/linux-4.6.nix +++ b/pkgs/os-specific/linux/kernel/linux-4.6.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.6.3"; + version = "4.6.4"; extraMeta.branch = "4.6"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0rq9cciabw5gfi2z30fcwh6z4zm2fgp938xmblfw59hyjj98h60k"; + sha256 = "0zpz29hgwdwkil6rakn08bdq77qjcz8q18qlkfc43s84f4fd8s45"; }; kernelPatches = args.kernelPatches; From 71ad2ed226dd4e686401903bf8e99749e2160426 Mon Sep 17 00:00:00 2001 From: Tim Steinbach Date: Tue, 12 Jul 2016 07:55:17 +0000 Subject: [PATCH 107/144] oh-my-zsh: 2016-06-18 -> 2016-07-05 (#16874) --- pkgs/shells/oh-my-zsh/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/shells/oh-my-zsh/default.nix b/pkgs/shells/oh-my-zsh/default.nix index 5191e7cd45c..5a1c74fe442 100644 --- a/pkgs/shells/oh-my-zsh/default.nix +++ b/pkgs/shells/oh-my-zsh/default.nix @@ -7,12 +7,12 @@ stdenv.mkDerivation rec { name = "oh-my-zsh-git-${version}"; - version = "2016-06-18"; + version = "2016-07-05"; src = fetchgit { url = "https://github.com/robbyrussell/oh-my-zsh"; - rev = "d012402dada1ec7d8796f2f4b04744d817137b4d"; - sha256 = "1965k91jdhjpy2dkklzwcxmq6qqjc7cnwl8x670g51jr4ihawkx1"; + rev = "644bc641ad48c74c88631d79d48ec9b6f3f5a3e5"; + sha256 = "1lmblfcd68pnc38bn6yjqs7sap5qinj37xv881a1rx4q0w38an07"; }; phases = "installPhase"; From b5a95b181297da1f2bb720cc0f3338d16a8c4355 Mon Sep 17 00:00:00 2001 From: Alex Berg Date: Tue, 12 Jul 2016 00:57:26 -0700 Subject: [PATCH 108/144] Improve overrideDerivation docs. (#16867) * Improve overrideDerivation docs. Explain how antiquotation in a package's attribute behaves when overriding the package. * Edit antiquotation note. Fix closing-element. --- doc/functions.xml | 52 ++++++++++++++++++++++++++++++----------------- 1 file changed, 33 insertions(+), 19 deletions(-) diff --git a/doc/functions.xml b/doc/functions.xml index 73b178b061f..908e9571ed6 100644 --- a/doc/functions.xml +++ b/doc/functions.xml @@ -89,27 +89,27 @@ in ... <pkg>.overrideDerivation - Do not use this function in Nixpkgs. Because it breaks - package abstraction and doesn’t provide error checking for - function arguments, it is only intended for ad-hoc customisation - (such as in ~/.nixpkgs/config.nix). - - - - Additionally, overrideDerivation forces an evaluation - of the Derivation which can be quite a performance penalty if there are many - overrides used. + Do not use this function in Nixpkgs as it evaluates a Derivation + before modifying it, which breaks package abstraction and removes + error-checking of function arguments. In addition, this + evaluation-per-function application incurs a performance penalty, + which can become a problem if many overrides are used. + It is only intended for ad-hoc customisation, such as in + ~/.nixpkgs/config.nix. - The function overrideDerivation is usually available for all the - derivations in the nixpkgs expression (pkgs). + The function overrideDerivation creates a new derivation + based on an existing one by overriding the original's attributes with + the attribute set produced by the specified function. + This function is available on all + derivations defined using the makeOverridable function. + Most standard derivation-producing functions, such as + stdenv.mkDerivation, are defined using this + function, which means most packages in the nixpkgs expression, + pkgs, have this function. - - It is used to create a new derivation by overriding the attributes of - the original derivation according to the given function. - Example usage: @@ -125,9 +125,9 @@ in ... - In the above example, the name, src and patches of the derivation - will be overridden, while all other attributes will be retained from the - original derivation. + In the above example, the name, src, + and patches of the derivation will be overridden, while + all other attributes will be retained from the original derivation. @@ -135,6 +135,20 @@ in ... the original derivation. + + + A package's attributes are evaluated *before* being modified by + the overrideDerivation function. + For example, the name attribute reference + in url = "mirror://gnu/hello/${name}.tar.gz"; + is filled-in *before* the overrideDerivation function + modifies the attribute set. This means that overriding the + name attribute, in this example, *will not* change the + value of the url attribute. Instead, we need to override + both the name *and* url attributes. + + +
From bab3d4c3e0feb592c54fa9150d30b3b481008944 Mon Sep 17 00:00:00 2001 From: mimadrid Date: Tue, 12 Jul 2016 11:15:51 +0200 Subject: [PATCH 109/144] i3lock: 2.7 -> 2.8 --- pkgs/applications/window-managers/i3/lock.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/window-managers/i3/lock.nix b/pkgs/applications/window-managers/i3/lock.nix index 56e0643811f..d9ea14828dd 100644 --- a/pkgs/applications/window-managers/i3/lock.nix +++ b/pkgs/applications/window-managers/i3/lock.nix @@ -2,11 +2,11 @@ pam, libX11, libev, cairo, libxkbcommon, libxkbfile }: stdenv.mkDerivation rec { - name = "i3lock-2.7"; + name = "i3lock-2.8"; src = fetchurl { url = "http://i3wm.org/i3lock/${name}.tar.bz2"; - sha256 = "1qlgafbyqjpqdfs50f2y0xphn2jdigafkqqsmpikk97cs0z1i0k8"; + sha256 = "028fc0f74df10826514d5a4ed38f6895935d1f5d47ca9fcffc64b076aaf6e2f4"; }; buildInputs = [ which pkgconfig libxcb xcbutilkeysyms xcbutilimage pam libX11 From 6c77af6f606543b82762d5e063738bfc96d8b5f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gammels=C3=A6ter?= Date: Tue, 12 Jul 2016 11:22:24 +0200 Subject: [PATCH 110/144] mypy-lang: Add missing lxml dependency --- pkgs/development/tools/mypy-lang/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/development/tools/mypy-lang/default.nix b/pkgs/development/tools/mypy-lang/default.nix index d5a5095a262..d5baf994944 100644 --- a/pkgs/development/tools/mypy-lang/default.nix +++ b/pkgs/development/tools/mypy-lang/default.nix @@ -12,6 +12,8 @@ python35Packages.buildPythonApplication rec { sha256 = "12vwgzbpv0n403dvzas5ckw0f62slqk5j3024y65hi9n95r34rws"; }; + propagatedBuildInputs = with python35Packages; [ lxml ]; + meta = with stdenv.lib; { description = "Optional static typing for Python"; homepage = "http://www.mypy-lang.org"; From 103ae011732a3e9a0fe5db2668d9ff2dd7a17d49 Mon Sep 17 00:00:00 2001 From: Renzo Carbonara Date: Tue, 12 Jul 2016 08:37:11 -0300 Subject: [PATCH 111/144] zoom-us: init at 2.0.52458.0531 (#15607) --- .../instant-messengers/zoom-us/default.nix | 105 ++++++++++++++++++ pkgs/development/libraries/icu/54.1.nix | 12 ++ pkgs/top-level/all-packages.nix | 3 + 3 files changed, 120 insertions(+) create mode 100644 pkgs/applications/networking/instant-messengers/zoom-us/default.nix create mode 100644 pkgs/development/libraries/icu/54.1.nix diff --git a/pkgs/applications/networking/instant-messengers/zoom-us/default.nix b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix new file mode 100644 index 00000000000..7f4a27cf9a2 --- /dev/null +++ b/pkgs/applications/networking/instant-messengers/zoom-us/default.nix @@ -0,0 +1,105 @@ +{ alsaLib +, fetchurl +, gcc +, glib +, gst_plugins_base +, gstreamer +, icu_54_1 +, libpulseaudio +, libuuid +, libxml2 +, libxslt +, makeQtWrapper +, qt55 +, sqlite +, stdenv +, xlibs +, xorg +, zlib +}: + +stdenv.mkDerivation rec { + name = "zoom-us"; + meta = { + homepage = http://zoom.us; + description = "zoom.us instant messenger"; + license = stdenv.lib.licenses.unfree; + platforms = stdenv.lib.platforms.linux; + }; + + version = "2.0.52458.0531"; + src = fetchurl { + url = "https://zoom.us/client/latest/zoom_${version}_x86_64.tar.xz"; + sha256 = "16d64pn9j27v3fnh4c9i32vpkr10q1yr26w14964n0af1mv5jf7a"; + }; + + phases = [ "unpackPhase" "installPhase" ]; + nativeBuildInputs = [ makeQtWrapper ]; + libPath = stdenv.lib.makeLibraryPath [ + alsaLib + gcc.cc + glib + gst_plugins_base + gstreamer + icu_54_1 + libpulseaudio + libuuid + libxml2 + libxslt + qt55.qtbase + qt55.qtdeclarative + qt55.qtscript + qt55.qtwebkit + sqlite + xlibs.xcbutilkeysyms + xorg.libX11 + xorg.libxcb + xorg.libXcomposite + xorg.libXext + xorg.libXfixes + xorg.libXrender + xorg.xcbutilimage + zlib + ]; + installPhase = '' + mkdir -p $out/share + cp -r \ + application-x-zoom.png \ + audio \ + imageformats \ + chrome.bmp \ + config-dump.sh \ + dingdong1.pcm \ + dingdong.pcm \ + doc \ + Droplet.pcm \ + Droplet.wav \ + platforminputcontexts \ + platforms \ + platformthemes \ + Qt \ + QtMultimedia \ + QtQml \ + QtQuick \ + QtQuick.2 \ + QtWebKit \ + QtWebProcess \ + ring.pcm \ + ring.wav \ + version.txt \ + xcbglintegrations \ + zcacert.pem \ + zoom \ + Zoom.png \ + ZXMPPROOT.cer \ + $out/share + + patchelf \ + --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \ + --set-rpath ${libPath} \ + $out/share/zoom + wrapQtProgram "$out/share/zoom" + mkdir -p $out/bin + ln -s $out/share/zoom $out/bin/zoom-us + ''; + } diff --git a/pkgs/development/libraries/icu/54.1.nix b/pkgs/development/libraries/icu/54.1.nix new file mode 100644 index 00000000000..4d780341b3a --- /dev/null +++ b/pkgs/development/libraries/icu/54.1.nix @@ -0,0 +1,12 @@ +{ stdenv, fetchurl, fixDarwinDylibNames }: + +let + icu = import ./default.nix { inherit stdenv fetchurl fixDarwinDylibNames; }; +in + stdenv.lib.overrideDerivation icu (attrs: { + src = fetchurl { + url = "http://download.icu-project.org/files/icu4c/54.1/icu4c-54_1-src.tgz"; + md5 = "e844caed8f2ca24c088505b0d6271bc0"; + }; + }) + diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 621aaca850c..2909258a72b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7561,6 +7561,7 @@ in hyena = callPackage ../development/libraries/hyena { }; icu = callPackage ../development/libraries/icu { }; + icu_54_1 = callPackage ../development/libraries/icu/54.1.nix { }; id3lib = callPackage ../development/libraries/id3lib { }; @@ -17344,4 +17345,6 @@ in maphosts = callPackage ../tools/networking/maphosts {}; zuki-themes = callPackage ../misc/themes/zuki { }; + + zoom-us = qt55.callPackage ../applications/networking/instant-messengers/zoom-us {}; } From 0fa00cce01c4924365a4e1d70e9bcec9ca2c0185 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 12 Jul 2016 13:38:01 +0200 Subject: [PATCH 112/144] awscli: 1.10.38 -> 1.10.46 --- pkgs/top-level/python-packages.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d9e624b0489..08014b2de30 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1359,13 +1359,13 @@ in modules // { awscli = buildPythonPackage rec { name = "awscli-${version}"; - version = "1.10.38"; + version = "1.10.46"; namePrefix = ""; src = pkgs.fetchurl { url = "mirror://pypi/a/awscli/${name}.tar.gz"; - sha256 = "01d14snp3h4dkbwyviyprhcl8qcngc6nyzwy3k3nxvm1ia9hvz2n"; + sha256 = "1d2xjhdmjna9zxa4ybk7cjypib5yq2gd3w5fgpb4lfs6bh3mr554"; }; # No tests included @@ -2746,12 +2746,12 @@ in modules // { }; botocore = buildPythonPackage rec { - version = "1.4.28"; # This version is required by awscli + version = "1.4.36"; # This version is required by awscli name = "botocore-${version}"; src = pkgs.fetchurl { url = "mirror://pypi/b/botocore/${name}.tar.gz"; - sha256 = "1qfvcb7japa3y1j4b86af9ph8q8mbq2mrx6xfhlqcf2x399l2phl"; + sha256 = "0mkydnbbn0x97nfzwqia68zw2y5j7i9yzpq5kasvc80n2z999h39"; }; propagatedBuildInputs = From 9d58f894cdd8cb606078b2b434662fb229cc4fd4 Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Tue, 12 Jul 2016 06:48:33 -0500 Subject: [PATCH 113/144] lfe: init at 1.1.1 (#16865) This is a first pass at adding an LFE package. N.B. man pages are ignored for now. --- lib/maintainers.nix | 1 + pkgs/development/interpreters/lfe/default.nix | 62 +++++++++++++++++++ .../interpreters/lfe/setup-hook.sh | 5 ++ pkgs/top-level/all-packages.nix | 4 +- 4 files changed, 71 insertions(+), 1 deletion(-) create mode 100644 pkgs/development/interpreters/lfe/default.nix create mode 100644 pkgs/development/interpreters/lfe/setup-hook.sh diff --git a/lib/maintainers.nix b/lib/maintainers.nix index 3e4229bf441..ae06c524bde 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -422,6 +422,7 @@ wscott = "Wayne Scott "; wyvie = "Elijah Rum "; yarr = "Dmitry V. "; + yurrriq = "Eric Bailey "; z77z = "Marco Maggesi "; zagy = "Christian Zagrodnick "; zef = "Zef Hemel "; diff --git a/pkgs/development/interpreters/lfe/default.nix b/pkgs/development/interpreters/lfe/default.nix new file mode 100644 index 00000000000..f3a54aef8ab --- /dev/null +++ b/pkgs/development/interpreters/lfe/default.nix @@ -0,0 +1,62 @@ +{ stdenv, fetchFromGitHub, erlang, makeWrapper, coreutils, bash }: + +stdenv.mkDerivation rec { + name = "lfe-${version}"; + version = "1.1.1"; + + src = fetchFromGitHub { + owner = "rvirding"; + repo = "lfe"; + rev = version; + sha256 = "0w1vpjqj8ni43gi84i0mcml4gfaqhmmd9s46di37cngpdw86i3bz"; + }; + + buildInputs = [ erlang makeWrapper ]; + + setupHook = ./setup-hook.sh; + + # These installPhase tricks are based on Elixir's Makefile. + # TODO: Make, upload, and apply a patch. + installPhase = '' + local libdir=$out/lib/lfe + local ebindir=$libdir/ebin + local bindir=$libdir/bin + + rm -Rf $ebindir + install -m755 -d $ebindir + install -m644 ebin/* $ebindir + + install -m755 -d $bindir + for bin in bin/lfe{,c,doc,script}; do install -m755 $bin $bindir; done + + install -m755 -d $out/bin + for file in $bindir/*; do ln -sf $file $out/bin/; done + ''; + + # Thanks again, Elixir. + postFixup = '' + # LFE binaries are shell scripts which run erl and lfe. + # Add some stuff to PATH so the scripts can run without problems. + for f in $out/bin/*; do + wrapProgram $f \ + --prefix PATH ":" "${erlang}/bin:${coreutils}/bin:${bash}/bin:$out/bin" + substituteInPlace $f --replace "/usr/bin/env" "${coreutils}/bin/env" + done + ''; + + meta = with stdenv.lib; { + description = "The best of Erlang and of Lisp; at the same time!"; + longDescription = '' + LFE, Lisp Flavoured Erlang, is a lisp syntax front-end to the Erlang + compiler. Code produced with it is compatible with "normal" Erlang + code. An LFE evaluator and shell is also included. + ''; + + homepage = "http://lfe.io"; + downloadPage = "https://github.com/rvirding/lfe/releases"; + + license = licenses.asl20; + maintainers = with maintainers; [ yurrriq ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/development/interpreters/lfe/setup-hook.sh b/pkgs/development/interpreters/lfe/setup-hook.sh new file mode 100644 index 00000000000..2405dcea15f --- /dev/null +++ b/pkgs/development/interpreters/lfe/setup-hook.sh @@ -0,0 +1,5 @@ +addLfeLibPath() { + addToSearchPath ERL_LIBS $1/lib/lfe/lib +} + +envHooks+=(addLfeLibPath) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 2909258a72b..f2ea7a07ca6 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2366,7 +2366,7 @@ in libqmi = callPackage ../development/libraries/libqmi { }; libqrencode = callPackage ../development/libraries/libqrencode { }; - + libmbim = callPackage ../development/libraries/libmbim { }; libmongo-client = callPackage ../development/libraries/libmongo-client { }; @@ -5651,6 +5651,8 @@ in elixir = callPackage ../development/interpreters/elixir { debugInfo = true; }; + lfe = callPackage ../development/interpreters/lfe { }; + groovy = callPackage ../development/interpreters/groovy { }; guile_1_8 = callPackage ../development/interpreters/guile/1.8.nix { }; From 2b47d24007c649414e59c884fe6d999a2b3990d1 Mon Sep 17 00:00:00 2001 From: Eric Litak Date: Tue, 12 Jul 2016 02:21:00 -0700 Subject: [PATCH 114/144] factorio: 0.12.35 -> 0.13.8 --- nixos/modules/services/games/factorio.nix | 4 ++-- pkgs/games/factorio/default.nix | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/nixos/modules/services/games/factorio.nix b/nixos/modules/services/games/factorio.nix index 10f3daea69e..90834c5b260 100644 --- a/nixos/modules/services/games/factorio.nix +++ b/nixos/modules/services/games/factorio.nix @@ -78,7 +78,7 @@ in test -e ${stateDir}/saves/${cfg.saveName}.zip || \ ${pkgs.factorio-headless}/bin/factorio \ --config=${cfg.configFile} \ - --create=${cfg.saveName} + --create=${stateDir}/saves/${cfg.saveName}.zip ''; serviceConfig = { @@ -93,7 +93,7 @@ in "${pkgs.factorio-headless}/bin/factorio" "--config=${cfg.configFile}" "--port=${toString cfg.port}" - "--start-server=${cfg.saveName}" + "--start-server=${stateDir}/saves/${cfg.saveName}.zip" ]; }; }; diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix index 1447fed2a82..cb04e9c4750 100644 --- a/pkgs/games/factorio/default.nix +++ b/pkgs/games/factorio/default.nix @@ -8,7 +8,7 @@ assert releaseType == "alpha" || releaseType == "headless"; with stdenv.lib; let - version = "0.12.35"; + version = "0.13.8"; isHeadless = releaseType == "headless"; arch = if stdenv.system == "x86_64-linux" then { @@ -25,12 +25,12 @@ let url = "https://www.factorio.com/get-download/${version}/${releaseType}/${arch.inUrl}"; name = "factorio_${releaseType}_${arch.inTar}-${version}.tar.gz"; # TODO take this from 302 redirection somehow? fetchurl doesn't help. x64 = { - headless = fetchurl { inherit name url; sha256 = "1pdfd6qpzdzxsz1pvf1qasw5p6mzidi2q5d5m8x0gqyxaqdg175b"; }; - alpha = authenticatedFetch { inherit url; sha256 = "1r2q5hvx8248vfl7jg9jr0sk9kxhh5lg4qlv828j44dmgsxyhn1y"; }; + headless = fetchurl { inherit name url; sha256 = "0dliympqnnawfw65n5gnda9mljyqwshmq2hvplf1h8nrp1rw3pgj"; }; + alpha = authenticatedFetch { inherit url; sha256 = "12safa8b4g5cpwxbkf8ldkb17lgf33rslr7p81l7gr1lyzfnf82c"; }; }; i386 = { headless = abort "Factorio 32-bit headless binaries are not available for download."; - alpha = authenticatedFetch { inherit url; sha256 = "1f3hl6m59zvmjrph0kj7fh1axdahgan1v5v3y4rdc6idamvr7rrf"; }; + alpha = authenticatedFetch { inherit url; sha256 = "0m4m183avnqxkw28vb7za14dsmcd01sdldgga0br1clilxmgph2w"; }; }; }; From 416120e0c74351d61c1b0d508581a1ddbaeb7de9 Mon Sep 17 00:00:00 2001 From: Joachim Fasting Date: Tue, 12 Jul 2016 15:15:09 +0200 Subject: [PATCH 115/144] grsecurity: 4.6.3-201607070721 -> 4.6.4-201607112205 --- pkgs/os-specific/linux/kernel/linux-grsecurity.nix | 4 ++-- pkgs/os-specific/linux/kernel/patches.nix | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix index d5ea9039891..c0849942f4f 100644 --- a/pkgs/os-specific/linux/kernel/linux-grsecurity.nix +++ b/pkgs/os-specific/linux/kernel/linux-grsecurity.nix @@ -1,12 +1,12 @@ { stdenv, fetchurl, perl, buildLinux, ... } @ args: import ./generic.nix (args // rec { - version = "4.6.3"; + version = "4.6.4"; extraMeta.branch = "4.6"; src = fetchurl { url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz"; - sha256 = "0rq9cciabw5gfi2z30fcwh6z4zm2fgp938xmblfw59hyjj98h60k"; + sha256 = "0zpz29hgwdwkil6rakn08bdq77qjcz8q18qlkfc43s84f4fd8s45"; }; kernelPatches = args.kernelPatches; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 103e2235532..a5de48298e1 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -93,9 +93,9 @@ rec { grsecurity_4_4 = throw "grsecurity stable is no longer supported"; grsecurity_testing = grsecPatch - { kver = "4.6.3"; - grrev = "201607070721"; - sha256 = "1858zc77x1qbwwfhjlmffd21w4adsw9f3sycg6bksw2jxrhlzww5"; + { kver = "4.6.4"; + grrev = "201607112205"; + sha256 = "16j01qqa7yi5yvli1lkl8ffybhy4697nyi18lbl5329zd09xq2ww"; }; # This patch relaxes grsec constraints on the location of usermode helpers, From d9724bcdbfc5e04297f0cab6e31f20a47a33fd11 Mon Sep 17 00:00:00 2001 From: Graham Christensen Date: Tue, 12 Jul 2016 14:29:13 +0000 Subject: [PATCH 116/144] doc: add man page for nixos-version (#16869) --- nixos/doc/manual/man-nixos-version.xml | 102 ++++++++++++++++++ nixos/doc/manual/man-pages.xml | 1 + .../modules/installer/tools/nixos-version.sh | 3 + 3 files changed, 106 insertions(+) create mode 100644 nixos/doc/manual/man-nixos-version.xml diff --git a/nixos/doc/manual/man-nixos-version.xml b/nixos/doc/manual/man-nixos-version.xml new file mode 100644 index 00000000000..db7440977c9 --- /dev/null +++ b/nixos/doc/manual/man-nixos-version.xml @@ -0,0 +1,102 @@ + + + + nixos-version + 8 + NixOS + + + + nixos-version + show the version of nixpkgs NixOS was built from + + + + + nixos-version + + + + + +Description + +This command describes the version of nixpkgs used to build +NixOS. + +By default the output includes: + + + The NixOS release + Number of commits since the release + Git SHA of the released commit + Codename of the NixOS release + + + +Example + +Here is an example output, and corresponding information: +$ nixos-version +16.03.1011.6317da4 (Emu) + + + + + + + + Attribute + Value + + + + + NixOS Release + 16.03 + + + Commit Count + 1011 + + + Commit SHA + 6317da4 + + + Release Codename + Emu + + + + + + + + + + + +Options + +This command accepts the following options: + + + + + + + + The output will be the full hash of the git commit +$ nixos-version --hash +6317da40006f6bc2480c6781999c52d88dde2acf + + + + + + + + diff --git a/nixos/doc/manual/man-pages.xml b/nixos/doc/manual/man-pages.xml index 97a2c16d406..e945e0e6263 100644 --- a/nixos/doc/manual/man-pages.xml +++ b/nixos/doc/manual/man-pages.xml @@ -27,5 +27,6 @@ + diff --git a/nixos/modules/installer/tools/nixos-version.sh b/nixos/modules/installer/tools/nixos-version.sh index 51aa2dd8232..e4e4f5c446c 100644 --- a/nixos/modules/installer/tools/nixos-version.sh +++ b/nixos/modules/installer/tools/nixos-version.sh @@ -1,6 +1,9 @@ #! @shell@ case "$1" in + --help) + exec man nixos-version + exit 1 --hash|--revision) echo "@nixosRevision@" ;; From a347b944d986b05d6f0b67541904ef5f0a143661 Mon Sep 17 00:00:00 2001 From: Damien Cassou Date: Tue, 12 Jul 2016 16:50:56 +0200 Subject: [PATCH 117/144] gnome-tweak-tools: fix missing gi module I changed from python3Packages to python2Packages because I couldn't make it work with python3Packages. This seems similar to: https://github.com/NixOS/nixpkgs/pull/16747#discussion_r69937281 --- .../3.20/misc/gnome-tweak-tool/default.nix | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/pkgs/desktops/gnome-3/3.20/misc/gnome-tweak-tool/default.nix b/pkgs/desktops/gnome-3/3.20/misc/gnome-tweak-tool/default.nix index 986d4058af9..e6c4b8c8202 100644 --- a/pkgs/desktops/gnome-3/3.20/misc/gnome-tweak-tool/default.nix +++ b/pkgs/desktops/gnome-3/3.20/misc/gnome-tweak-tool/default.nix @@ -1,9 +1,11 @@ -{ stdenv, intltool, fetchurl, python, pygobject3, atk +{ stdenv, intltool, fetchurl, atk , pkgconfig, gtk3, glib, libsoup -, bash, makeWrapper, itstool, libxml2, python3Packages -, gnome3, librsvg, gdk_pixbuf, file, libnotify }: +, bash, makeWrapper, itstool, libxml2, python2Packages +, gnome3, librsvg, gdk_pixbuf, file, libnotify, gobjectIntrospection, wrapGAppsHook }: -stdenv.mkDerivation rec { +let + python = python2Packages.python.withPackages ( ps: with ps; [ pygobject3 ] ); +in stdenv.mkDerivation rec { inherit (import ./src.nix fetchurl) name src; doCheck = true; @@ -15,17 +17,15 @@ stdenv.mkDerivation rec { buildInputs = [ pkgconfig gtk3 glib intltool itstool libxml2 gnome3.gsettings_desktop_schemas makeWrapper file gdk_pixbuf gnome3.defaultIconTheme librsvg - python pygobject3 libnotify gnome3.gnome_shell + libnotify gnome3.gnome_shell libsoup gnome3.gnome_settings_daemon gnome3.nautilus - gnome3.gnome_desktop ]; + gnome3.gnome_desktop wrapGAppsHook ]; - preFixup = '' - wrapProgram "$out/bin/gnome-tweak-tool" \ - --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \ - --suffix XDG_DATA_DIRS : "${gtk3}/share:${gnome3.gnome_themes_standard}/share:$out/share:$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH" \ - --prefix GI_TYPELIB_PATH : "$GI_TYPELIB_PATH" \ - --prefix PYTHONPATH : "$PYTHONPATH:$(toPythonPath $out)" - ''; + propagatedBuildInputs = [ python gobjectIntrospection ]; + + PYTHONPATH = "$out/${python.python.sitePackages}"; + + wrapPrefixVariables = [ "PYTHONPATH" ]; patches = [ ./find_gsettings.patch From 02db7d98210d47664f444dafcb8cee7d9c9a6cfa Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 12 Jul 2016 16:40:36 +0200 Subject: [PATCH 118/144] Create AMIs with Enhanced Networking Fixes #15956. --- nixos/maintainers/scripts/ec2/create-amis.sh | 80 +++++++++++++------- 1 file changed, 52 insertions(+), 28 deletions(-) diff --git a/nixos/maintainers/scripts/ec2/create-amis.sh b/nixos/maintainers/scripts/ec2/create-amis.sh index 192f608e138..9246871222e 100755 --- a/nixos/maintainers/scripts/ec2/create-amis.sh +++ b/nixos/maintainers/scripts/ec2/create-amis.sh @@ -51,10 +51,11 @@ for type in hvm pv; do echo "doing $name in $region..." if [ -n "$prevAmi" ]; then - ami=$(ec2-copy-image \ + ami=$(aws ec2 copy-image \ --region "$region" \ - --source-region "$prevRegion" --source-ami-id "$prevAmi" \ - --name "$name" --description "$description" | cut -f 2) + --source-region "$prevRegion" --source-image-id "$prevAmi" \ + --name "$name" --description "$description" | json -q .ImageId) + if [ "$ami" = null ]; then break; fi else if [ $store = s3 ]; then @@ -85,12 +86,12 @@ for type in hvm pv; do ec2-upload-bundle \ -m $imageDir/$type.raw.manifest.xml \ -b "$bucket/$bucketDir" \ - -a "$EC2_ACCESS_KEY" -s "$EC2_SECRET_KEY" \ + -a "$AWS_ACCESS_KEY_ID" -s "$AWS_SECRET_ACCESS_KEY" \ --location EU touch $imageDir/uploaded fi - extraFlags="$bucket/$bucketDir/$type.raw.manifest.xml" + extraFlags="--image-location $bucket/$bucketDir/$type.raw.manifest.xml" else @@ -115,7 +116,8 @@ for type in hvm pv; do if [ -z "$snapId" -a -z "$volId" -a -z "$taskId" ]; then echo "importing $vhdFile..." taskId=$(ec2-import-volume $vhdFile --no-upload -f vhd \ - -o "$EC2_ACCESS_KEY" -w "$EC2_SECRET_KEY" \ + -O "$AWS_ACCESS_KEY_ID" -W "$AWS_SECRET_ACCESS_KEY" \ + -o "$AWS_ACCESS_KEY_ID" -w "$AWS_SECRET_ACCESS_KEY" \ --region "$region" -z "${region}a" \ --bucket "$bucket" --prefix "$bucketDir/" \ | tee /dev/stderr \ @@ -125,15 +127,16 @@ for type in hvm pv; do if [ -z "$snapId" -a -z "$volId" ]; then ec2-resume-import $vhdFile -t "$taskId" --region "$region" \ - -o "$EC2_ACCESS_KEY" -w "$EC2_SECRET_KEY" + -O "$AWS_ACCESS_KEY_ID" -W "$AWS_SECRET_ACCESS_KEY" \ + -o "$AWS_ACCESS_KEY_ID" -w "$AWS_SECRET_ACCESS_KEY" fi # Wait for the volume creation to finish. if [ -z "$snapId" -a -z "$volId" ]; then echo "waiting for import to finish..." while true; do - volId=$(ec2-describe-conversion-tasks "$taskId" --region "$region" | sed 's/.*VolumeId.*\(vol-[0-9a-f]\+\).*/\1/ ; t ; d') - if [ -n "$volId" ]; then break; fi + volId=$(aws ec2 describe-conversion-tasks --conversion-task-ids "$taskId" --region "$region" | jq -r .ConversionTasks[0].ImportVolume.Volume.Id) + if [ "$volId" != null ]; then break; fi sleep 10 done @@ -143,22 +146,24 @@ for type in hvm pv; do # Delete the import task. if [ -n "$volId" -a -n "$taskId" ]; then echo "removing import task..." - ec2-delete-disk-image -t "$taskId" --region "$region" -o "$EC2_ACCESS_KEY" -w "$EC2_SECRET_KEY" || true + ec2-delete-disk-image -t "$taskId" --region "$region" \ + -O "$AWS_ACCESS_KEY_ID" -W "$AWS_SECRET_ACCESS_KEY" \ + -o "$AWS_ACCESS_KEY_ID" -w "$AWS_SECRET_ACCESS_KEY" || true rm -f $stateDir/$region.$type.task-id fi # Create a snapshot. if [ -z "$snapId" ]; then echo "creating snapshot..." - snapId=$(ec2-create-snapshot "$volId" --region "$region" | cut -f 2) + snapId=$(aws ec2 create-snapshot --volume-id "$volId" --region "$region" --description "$description" | jq -r .SnapshotId) + if [ "$snapId" = null ]; then exit 1; fi echo -n "$snapId" > $stateDir/$region.$type.snap-id - ec2-create-tags "$snapId" -t "Name=$description" --region "$region" fi # Wait for the snapshot to finish. echo "waiting for snapshot to finish..." while true; do - status=$(ec2-describe-snapshots "$snapId" --region "$region" | head -n1 | cut -f 4) + status=$(aws ec2 describe-snapshots --snapshot-ids "$snapId" --region "$region" | jq -r .Snapshots[0].State) if [ "$status" = completed ]; then break; fi sleep 10 done @@ -166,35 +171,50 @@ for type in hvm pv; do # Delete the volume. if [ -n "$volId" ]; then echo "deleting volume..." - ec2-delete-volume "$volId" --region "$region" || true + aws ec2 delete-volume --volume-id "$volId" --region "$region" || true rm -f $stateDir/$region.$type.vol-id fi - extraFlags="-b /dev/sda1=$snapId:$vhdFileLogicalGigaBytes:true:gp2" + blockDeviceMappings="DeviceName=/dev/sda1,Ebs={SnapshotId=$snapId,VolumeSize=$vhdFileLogicalGigaBytes,DeleteOnTermination=true,VolumeType=gp2}" + extraFlags="" if [ $type = pv ]; then - extraFlags+=" --root-device-name=/dev/sda1" + extraFlags+=" --root-device-name /dev/sda1" + else + extraFlags+=" --root-device-name /dev/sda1" + extraFlags+=" --sriov-net-support simple" + extraFlags+=" --ena-support" fi - extraFlags+=" -b /dev/sdb=ephemeral0 -b /dev/sdc=ephemeral1 -b /dev/sdd=ephemeral2 -b /dev/sde=ephemeral3" + blockDeviceMappings+=" DeviceName=/dev/sdb,VirtualName=ephemeral0" + blockDeviceMappings+=" DeviceName=/dev/sdc,VirtualName=ephemeral1" + blockDeviceMappings+=" DeviceName=/dev/sdd,VirtualName=ephemeral2" + blockDeviceMappings+=" DeviceName=/dev/sde,VirtualName=ephemeral3" + fi + + if [ $type = hvm ]; then + extraFlags+=" --sriov-net-support simple" + extraFlags+=" --ena-support" fi # Register the AMI. if [ $type = pv ]; then - kernel=$(ec2-describe-images -o amazon --filter "manifest-location=*pv-grub-hd0_1.04-$arch*" --region "$region" | cut -f 2) - [ -n "$kernel" ] + kernel=$(aws ec2 describe-images --owner amazon --filters "Name=name,Values=pv-grub-hd0_1.04-$arch.gz" | jq -r .Images[0].ImageId) + if [ "$kernel" = null ]; then break; fi echo "using PV-GRUB kernel $kernel" extraFlags+=" --virtualization-type paravirtual --kernel $kernel" else extraFlags+=" --virtualization-type hvm" fi - ami=$(ec2-register \ - -n "$name" \ - -d "$description" \ + ami=$(aws ec2 register-image \ + --name "$name" \ + --description "$description" \ --region "$region" \ --architecture "$arch" \ - $extraFlags | cut -f 2) + --block-device-mappings $blockDeviceMappings \ + $extraFlags | jq -r .ImageId) + if [ "$ami" = null ]; then break; fi fi echo -n "$ami" > $amiFile @@ -204,19 +224,23 @@ for type in hvm pv; do ami=$(cat $amiFile) fi + echo "region = $region, type = $type, store = $store, ami = $ami" + if [ -z "$NO_WAIT" -o -z "$prevAmi" ]; then - echo "waiting for AMI..." + echo -n "waiting for AMI..." while true; do - status=$(ec2-describe-images "$ami" --region "$region" | head -n1 | cut -f 5) + status=$(aws ec2 describe-images --image-ids "$ami" --region "$region" | jq -r .Images[0].State) if [ "$status" = available ]; then break; fi sleep 10 + echo -n '.' done + echo - ec2-modify-image-attribute \ - --region "$region" "$ami" -l -a all + # Make the image public. + aws ec2 modify-image-attribute \ + --image-id "$ami" --region "$region" --launch-permission 'Add={Group=all}' fi - echo "region = $region, type = $type, store = $store, ami = $ami" if [ -z "$prevAmi" ]; then prevAmi="$ami" prevRegion="$region" From 1e9b8bfb310c50ed9a3f10239dff5313d3886021 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 12 Jul 2016 16:57:52 +0200 Subject: [PATCH 119/144] Copy AMIs in parallel --- nixos/maintainers/scripts/ec2/create-amis.sh | 57 +++++++++++++------- 1 file changed, 39 insertions(+), 18 deletions(-) diff --git a/nixos/maintainers/scripts/ec2/create-amis.sh b/nixos/maintainers/scripts/ec2/create-amis.sh index 9246871222e..8c6dbce049b 100755 --- a/nixos/maintainers/scripts/ec2/create-amis.sh +++ b/nixos/maintainers/scripts/ec2/create-amis.sh @@ -13,8 +13,11 @@ echo "NixOS version is $version ($major)" rm -f ec2-amis.nix +types="hvm pv" +stores="ebs s3" +regions="eu-west-1 eu-central-1 us-east-1 us-west-1 us-west-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 sa-east-1" -for type in hvm pv; do +for type in $types; do link=$stateDir/$type imageFile=$link/nixos.qcow2 system=x86_64-linux @@ -31,7 +34,7 @@ for type in hvm pv; do --arg configuration "{ imports = [ ]; ec2.hvm = $hvmFlag; }" fi - for store in ebs s3; do + for store in $stores; do bucket=nixos-amis bucketDir="$version-$type-$store" @@ -39,7 +42,7 @@ for type in hvm pv; do prevAmi= prevRegion= - for region in eu-west-1 eu-central-1 us-east-1 us-west-1 us-west-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 sa-east-1; do + for region in $regions; do name=nixos-$version-$arch-$type-$store description="NixOS $system $version ($type-$store)" @@ -226,25 +229,43 @@ for type in hvm pv; do echo "region = $region, type = $type, store = $store, ami = $ami" - if [ -z "$NO_WAIT" -o -z "$prevAmi" ]; then - echo -n "waiting for AMI..." - while true; do - status=$(aws ec2 describe-images --image-ids "$ami" --region "$region" | jq -r .Images[0].State) - if [ "$status" = available ]; then break; fi - sleep 10 - echo -n '.' - done - echo - - # Make the image public. - aws ec2 modify-image-attribute \ - --image-id "$ami" --region "$region" --launch-permission 'Add={Group=all}' - fi - if [ -z "$prevAmi" ]; then prevAmi="$ami" prevRegion="$region" fi + done + + done + +done + +for type in $types; do + link=$stateDir/$type + system=x86_64-linux + arch=x86_64 + + for store in $stores; do + + for region in $regions; do + + name=nixos-$version-$arch-$type-$store + amiFile=$stateDir/$region.$type.$store.ami-id + ami=$(cat $amiFile) + + echo "region = $region, type = $type, store = $store, ami = $ami" + + echo -n "waiting for AMI..." + while true; do + status=$(aws ec2 describe-images --image-ids "$ami" --region "$region" | jq -r .Images[0].State) + if [ "$status" = available ]; then break; fi + sleep 10 + echo -n '.' + done + echo + + # Make the image public. + aws ec2 modify-image-attribute \ + --image-id "$ami" --region "$region" --launch-permission 'Add={Group=all}' echo " \"$major\".$region.$type-$store = \"$ami\";" >> ec2-amis.nix done From 94cc18e9aaacf705afc61e8f9836fa8f7a1cdf51 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 12 Jul 2016 17:09:49 +0200 Subject: [PATCH 120/144] Add AMIs in ap-northeast-2 and ap-south-1 --- nixos/maintainers/scripts/ec2/create-amis.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/maintainers/scripts/ec2/create-amis.sh b/nixos/maintainers/scripts/ec2/create-amis.sh index 8c6dbce049b..e26caa19164 100755 --- a/nixos/maintainers/scripts/ec2/create-amis.sh +++ b/nixos/maintainers/scripts/ec2/create-amis.sh @@ -15,7 +15,7 @@ rm -f ec2-amis.nix types="hvm pv" stores="ebs s3" -regions="eu-west-1 eu-central-1 us-east-1 us-west-1 us-west-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 sa-east-1" +regions="eu-west-1 eu-central-1 us-east-1 us-west-1 us-west-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 ap-northeast-2 sa-east-1 ap-south-1" for type in $types; do link=$stateDir/$type From 9aa3e78ab206556754186cc2b88aea5009af0f7c Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 12 Jul 2016 17:24:15 +0200 Subject: [PATCH 121/144] Update 16.03 AMIs --- nixos/modules/virtualisation/ec2-amis.nix | 80 +++++++++++++---------- 1 file changed, 44 insertions(+), 36 deletions(-) diff --git a/nixos/modules/virtualisation/ec2-amis.nix b/nixos/modules/virtualisation/ec2-amis.nix index 5257aaf6202..bdf6ed4dcd2 100644 --- a/nixos/modules/virtualisation/ec2-amis.nix +++ b/nixos/modules/virtualisation/ec2-amis.nix @@ -90,40 +90,48 @@ "15.09".us-west-2.pv-ebs = "ami-005fb160"; "15.09".us-west-2.pv-s3 = "ami-cd55bbad"; - "16.03".ap-northeast-1.hvm-ebs = "ami-b6edf5d8"; - "16.03".ap-northeast-1.hvm-s3 = "ami-b1e3fbdf"; - "16.03".ap-northeast-1.pv-ebs = "ami-6190880f"; - "16.03".ap-northeast-1.pv-s3 = "ami-908d95fe"; - "16.03".ap-southeast-1.hvm-ebs = "ami-35b16656"; - "16.03".ap-southeast-1.hvm-s3 = "ami-41be6922"; - "16.03".ap-southeast-1.pv-ebs = "ami-4cb96e2f"; - "16.03".ap-southeast-1.pv-s3 = "ami-3bb96e58"; - "16.03".ap-southeast-2.hvm-ebs = "ami-debc91bd"; - "16.03".ap-southeast-2.hvm-s3 = "ami-55bc9136"; - "16.03".ap-southeast-2.pv-ebs = "ami-b38ba6d0"; - "16.03".ap-southeast-2.pv-s3 = "ami-9e8ba6fd"; - "16.03".eu-central-1.hvm-ebs = "ami-7c967413"; - "16.03".eu-central-1.hvm-s3 = "ami-b29072dd"; - "16.03".eu-central-1.pv-ebs = "ami-7a947615"; - "16.03".eu-central-1.pv-s3 = "ami-729b791d"; - "16.03".eu-west-1.hvm-ebs = "ami-ff27a98c"; - "16.03".eu-west-1.hvm-s3 = "ami-6c21af1f"; - "16.03".eu-west-1.pv-ebs = "ami-a33cb2d0"; - "16.03".eu-west-1.pv-s3 = "ami-ec38b69f"; - "16.03".sa-east-1.hvm-ebs = "ami-5bef6637"; - "16.03".sa-east-1.hvm-s3 = "ami-55f87139"; - "16.03".sa-east-1.pv-ebs = "ami-76e56c1a"; - "16.03".sa-east-1.pv-s3 = "ami-e1f8718d"; - "16.03".us-east-1.hvm-ebs = "ami-4bfd1926"; - "16.03".us-east-1.hvm-s3 = "ami-60c5210d"; - "16.03".us-east-1.pv-ebs = "ami-c0c92dad"; - "16.03".us-east-1.pv-s3 = "ami-f9d63294"; - "16.03".us-west-1.hvm-ebs = "ami-13aad473"; - "16.03".us-west-1.hvm-s3 = "ami-e1a8d681"; - "16.03".us-west-1.pv-ebs = "ami-c0a6d8a0"; - "16.03".us-west-1.pv-s3 = "ami-6aa9d70a"; - "16.03".us-west-2.hvm-ebs = "ami-265dad46"; - "16.03".us-west-2.hvm-s3 = "ami-cd40b0ad"; - "16.03".us-west-2.pv-ebs = "ami-7b4aba1b"; - "16.03".us-west-2.pv-s3 = "ami-0849b968"; + "16.03".ap-northeast-1.hvm-ebs = "ami-40619d21"; + "16.03".ap-northeast-1.hvm-s3 = "ami-ce629eaf"; + "16.03".ap-northeast-1.pv-ebs = "ami-ef639f8e"; + "16.03".ap-northeast-1.pv-s3 = "ami-a1609cc0"; + "16.03".ap-northeast-2.hvm-ebs = "ami-deca00b0"; + "16.03".ap-northeast-2.hvm-s3 = "ami-a3b77dcd"; + "16.03".ap-northeast-2.pv-ebs = "ami-7bcb0115"; + "16.03".ap-northeast-2.pv-s3 = "ami-a2b77dcc"; + "16.03".ap-south-1.hvm-ebs = "ami-0dff9562"; + "16.03".ap-south-1.hvm-s3 = "ami-13f69c7c"; + "16.03".ap-south-1.pv-ebs = "ami-0ef39961"; + "16.03".ap-south-1.pv-s3 = "ami-e0c8a28f"; + "16.03".ap-southeast-1.hvm-ebs = "ami-5e964a3d"; + "16.03".ap-southeast-1.hvm-s3 = "ami-4d964a2e"; + "16.03".ap-southeast-1.pv-ebs = "ami-ec9b478f"; + "16.03".ap-southeast-1.pv-s3 = "ami-999b47fa"; + "16.03".ap-southeast-2.hvm-ebs = "ami-9f7359fc"; + "16.03".ap-southeast-2.hvm-s3 = "ami-987359fb"; + "16.03".ap-southeast-2.pv-ebs = "ami-a2705ac1"; + "16.03".ap-southeast-2.pv-s3 = "ami-a3705ac0"; + "16.03".eu-central-1.hvm-ebs = "ami-17a45178"; + "16.03".eu-central-1.hvm-s3 = "ami-f9a55096"; + "16.03".eu-central-1.pv-ebs = "ami-c8a550a7"; + "16.03".eu-central-1.pv-s3 = "ami-6ea45101"; + "16.03".eu-west-1.hvm-ebs = "ami-b5b3d5c6"; + "16.03".eu-west-1.hvm-s3 = "ami-c986e0ba"; + "16.03".eu-west-1.pv-ebs = "ami-b083e5c3"; + "16.03".eu-west-1.pv-s3 = "ami-3c83e54f"; + "16.03".sa-east-1.hvm-ebs = "ami-f6eb7f9a"; + "16.03".sa-east-1.hvm-s3 = "ami-93e773ff"; + "16.03".sa-east-1.pv-ebs = "ami-cbb82ca7"; + "16.03".sa-east-1.pv-s3 = "ami-abb82cc7"; + "16.03".us-east-1.hvm-ebs = "ami-c123a3d6"; + "16.03".us-east-1.hvm-s3 = "ami-bc25a5ab"; + "16.03".us-east-1.pv-ebs = "ami-bd25a5aa"; + "16.03".us-east-1.pv-s3 = "ami-a325a5b4"; + "16.03".us-west-1.hvm-ebs = "ami-748bcd14"; + "16.03".us-west-1.hvm-s3 = "ami-a68dcbc6"; + "16.03".us-west-1.pv-ebs = "ami-048acc64"; + "16.03".us-west-1.pv-s3 = "ami-208dcb40"; + "16.03".us-west-2.hvm-ebs = "ami-8263a0e2"; + "16.03".us-west-2.hvm-s3 = "ami-925c9ff2"; + "16.03".us-west-2.pv-ebs = "ami-5e61a23e"; + "16.03".us-west-2.pv-s3 = "ami-734c8f13"; } From fd0373c589ad1b9fde13b858a1b3e9a70b8c30df Mon Sep 17 00:00:00 2001 From: Jos van den Oever Date: Sun, 10 Jul 2016 11:33:21 +0200 Subject: [PATCH 122/144] kde plasma: 5.6.5 -> 5.7.0 --- maintainers/scripts/generate-kde-plasma.sh | 2 +- .../ark/0001-fix-start-from-plasma.patch | 10 + .../{ark.nix => ark/default.nix} | 3 + .../kde-5/applications-16.04/default.nix | 2 +- pkgs/desktops/kde-5/plasma-5.6/powerdevil.nix | 18 - pkgs/desktops/kde-5/plasma-5.6/srcs.nix | 333 ------------------ .../{plasma-5.6 => plasma-5.7}/bluedevil.nix | 0 .../{plasma-5.6 => plasma-5.7}/breeze-gtk.nix | 0 .../{plasma-5.6 => plasma-5.7}/breeze-qt4.nix | 0 .../{plasma-5.6 => plasma-5.7}/breeze-qt5.nix | 0 .../{plasma-5.6 => plasma-5.7}/default.nix | 2 +- .../kactivitymanagerd.nix | 0 .../kde-cli-tools.nix | 0 .../kde-gtk-config/0001-follow-symlinks.patch | 0 .../kde-gtk-config/default.nix | 0 .../kdecoration.nix | 0 .../kdeplasma-addons.nix | 0 .../{plasma-5.6 => plasma-5.7}/kgamma5.nix | 0 .../{plasma-5.6 => plasma-5.7}/khotkeys.nix | 0 .../kinfocenter.nix | 0 .../{plasma-5.6 => plasma-5.7}/kmenuedit.nix | 0 .../{plasma-5.6 => plasma-5.7}/kscreen.nix | 0 .../kscreenlocker.nix | 0 .../ksshaskpass.nix | 0 .../{plasma-5.6 => plasma-5.7}/ksysguard.nix | 0 .../kwayland-integration.nix} | 8 +- .../0001-qdiriterator-follow-symlinks.patch | 4 +- .../kwin/default.nix | 0 .../{plasma-5.6 => plasma-5.7}/kwrited.nix | 0 .../{plasma-5.6 => plasma-5.7}/libkscreen.nix | 0 .../0001-qdiriterator-follow-symlinks.patch | 0 .../libksysguard/default.nix | 0 .../{plasma-5.6 => plasma-5.7}/milou.nix | 0 .../{plasma-5.6 => plasma-5.7}/oxygen.nix | 0 .../0001-qt-5.5-QML-import-paths.patch | 0 .../plasma-desktop/0002-hwclock.patch | 0 .../plasma-desktop/0003-tzdir.patch | 0 .../plasma-desktop/default.nix | 10 +- .../plasma-integration.nix | 4 +- .../plasma-mediacenter.nix | 0 ...-mobile-broadband-provider-info-path.patch | 0 .../plasma-nm/default.nix | 0 .../{plasma-5.6 => plasma-5.7}/plasma-pa.nix | 0 .../plasma-workspace-wallpapers.nix | 0 .../plasma-workspace/default.nix | 0 .../plasma-workspace/qml-import-path.patch | 13 - .../plasma-workspace/series | 0 .../polkit-kde-agent.nix | 0 pkgs/desktops/kde-5/plasma-5.7/powerdevil.nix | 18 + pkgs/desktops/kde-5/plasma-5.7/srcs.nix | 325 +++++++++++++++++ .../startkde/default.nix | 0 .../startkde/startkde.sh | 0 .../systemsettings.nix | 0 pkgs/top-level/all-packages.nix | 2 +- 54 files changed, 374 insertions(+), 380 deletions(-) create mode 100644 pkgs/desktops/kde-5/applications-16.04/ark/0001-fix-start-from-plasma.patch rename pkgs/desktops/kde-5/applications-16.04/{ark.nix => ark/default.nix} (92%) delete mode 100644 pkgs/desktops/kde-5/plasma-5.6/powerdevil.nix delete mode 100644 pkgs/desktops/kde-5/plasma-5.6/srcs.nix rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/bluedevil.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/breeze-gtk.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/breeze-qt4.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/breeze-qt5.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/default.nix (98%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/kactivitymanagerd.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/kde-cli-tools.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/kde-gtk-config/0001-follow-symlinks.patch (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/kde-gtk-config/default.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/kdecoration.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/kdeplasma-addons.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/kgamma5.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/khotkeys.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/kinfocenter.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/kmenuedit.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/kscreen.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/kscreenlocker.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/ksshaskpass.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/ksysguard.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6/kwayland.nix => plasma-5.7/kwayland-integration.nix} (57%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/kwin/0001-qdiriterator-follow-symlinks.patch (89%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/kwin/default.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/kwrited.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/libkscreen.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/libksysguard/0001-qdiriterator-follow-symlinks.patch (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/libksysguard/default.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/milou.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/oxygen.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/plasma-desktop/0001-qt-5.5-QML-import-paths.patch (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/plasma-desktop/0002-hwclock.patch (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/plasma-desktop/0003-tzdir.patch (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/plasma-desktop/default.nix (85%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/plasma-integration.nix (67%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/plasma-mediacenter.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/plasma-nm/0001-mobile-broadband-provider-info-path.patch (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/plasma-nm/default.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/plasma-pa.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/plasma-workspace-wallpapers.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/plasma-workspace/default.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/plasma-workspace/qml-import-path.patch (88%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/plasma-workspace/series (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/polkit-kde-agent.nix (100%) create mode 100644 pkgs/desktops/kde-5/plasma-5.7/powerdevil.nix create mode 100644 pkgs/desktops/kde-5/plasma-5.7/srcs.nix rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/startkde/default.nix (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/startkde/startkde.sh (100%) rename pkgs/desktops/kde-5/{plasma-5.6 => plasma-5.7}/systemsettings.nix (100%) diff --git a/maintainers/scripts/generate-kde-plasma.sh b/maintainers/scripts/generate-kde-plasma.sh index fa804758f09..ad916f3a25b 100755 --- a/maintainers/scripts/generate-kde-plasma.sh +++ b/maintainers/scripts/generate-kde-plasma.sh @@ -1,3 +1,3 @@ #!/bin/sh -./fetch-kde-qt.sh http://download.kde.org/stable/plasma/5.6.5/ -A '*.tar.xz' +./fetch-kde-qt.sh http://download.kde.org/stable/plasma/5.7.0/ -A '*.tar.xz' diff --git a/pkgs/desktops/kde-5/applications-16.04/ark/0001-fix-start-from-plasma.patch b/pkgs/desktops/kde-5/applications-16.04/ark/0001-fix-start-from-plasma.patch new file mode 100644 index 00000000000..7590e49c498 --- /dev/null +++ b/pkgs/desktops/kde-5/applications-16.04/ark/0001-fix-start-from-plasma.patch @@ -0,0 +1,10 @@ +--- a/app/org.kde.ark.desktop.cmake ++++ b/app/org.kde.ark.desktop.cmake +@@ -154,7 +154,6 @@ + Terminal=false + X-DBUS-StartupType=Multi + X-DBUS-ServiceName=org.kde.ark +-X-KDE-HasTempFileOption=true + Categories=Qt;KDE;Utility;Archiving;Compression;X-KDE-Utilities-File; + InitialPreference=3 + Comment=Work with file archives diff --git a/pkgs/desktops/kde-5/applications-16.04/ark.nix b/pkgs/desktops/kde-5/applications-16.04/ark/default.nix similarity index 92% rename from pkgs/desktops/kde-5/applications-16.04/ark.nix rename to pkgs/desktops/kde-5/applications-16.04/ark/default.nix index 331c8c647ca..4e68488b323 100644 --- a/pkgs/desktops/kde-5/applications-16.04/ark.nix +++ b/pkgs/desktops/kde-5/applications-16.04/ark/default.nix @@ -35,6 +35,9 @@ kdeApp { khtml ki18n kio karchive kconfig kcrash kdbusaddons kiconthemes kservice kpty kwidgetsaddons libarchive ]; + patches = [ + ./0001-fix-start-from-plasma.patch + ]; postInstall = '' wrapQtProgram "$out/bin/ark" \ --prefix PATH : "${PATH}" diff --git a/pkgs/desktops/kde-5/applications-16.04/default.nix b/pkgs/desktops/kde-5/applications-16.04/default.nix index d66285deb8b..0db0c72a6f1 100644 --- a/pkgs/desktops/kde-5/applications-16.04/default.nix +++ b/pkgs/desktops/kde-5/applications-16.04/default.nix @@ -31,7 +31,7 @@ let kdelibs = callPackage ./kdelibs { inherit (pkgs) attica phonon; }; - ark = callPackage ./ark.nix {}; + ark = callPackage ./ark/default.nix {}; baloo-widgets = callPackage ./baloo-widgets.nix {}; dolphin = callPackage ./dolphin.nix {}; dolphin-plugins = callPackage ./dolphin-plugins.nix {}; diff --git a/pkgs/desktops/kde-5/plasma-5.6/powerdevil.nix b/pkgs/desktops/kde-5/plasma-5.6/powerdevil.nix deleted file mode 100644 index 8f3b354b947..00000000000 --- a/pkgs/desktops/kde-5/plasma-5.6/powerdevil.nix +++ /dev/null @@ -1,18 +0,0 @@ -{ plasmaPackage, extra-cmake-modules, kdoctools, kactivities -, kauth, kconfig, kdbusaddons, kdelibs4support, kglobalaccel, ki18n -, kidletime, kio, knotifyconfig, kwayland, libkscreen, plasma-workspace -, qtx11extras, solid, udev -}: - -plasmaPackage { - name = "powerdevil"; - nativeBuildInputs = [ - extra-cmake-modules - kdoctools - ]; - propagatedBuildInputs = [ - kconfig kdbusaddons knotifyconfig solid udev kactivities kauth - kdelibs4support kglobalaccel ki18n kio kidletime kwayland libkscreen - plasma-workspace qtx11extras - ]; -} diff --git a/pkgs/desktops/kde-5/plasma-5.6/srcs.nix b/pkgs/desktops/kde-5/plasma-5.6/srcs.nix deleted file mode 100644 index 8307730a550..00000000000 --- a/pkgs/desktops/kde-5/plasma-5.6/srcs.nix +++ /dev/null @@ -1,333 +0,0 @@ -# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh -{ fetchurl, mirror }: - -{ - bluedevil = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/bluedevil-5.6.5.tar.xz"; - sha256 = "0zf9m02m039g2cpzaij56mnnffcq9bqa40xyq30r9sx5ji1wbnhx"; - name = "bluedevil-5.6.5.tar.xz"; - }; - }; - breeze = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/breeze-5.6.5.tar.xz"; - sha256 = "0wzzixhpij8zb0jq6lsl7h3q22hfzpfz98pddlhnkf27dgmbd7zd"; - name = "breeze-5.6.5.tar.xz"; - }; - }; - breeze-grub = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/breeze-grub-5.6.5.tar.xz"; - sha256 = "1khr8bqid58jq150snpszg3w1rnjh35y5fi20gwwa60hka556978"; - name = "breeze-grub-5.6.5.tar.xz"; - }; - }; - breeze-gtk = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/breeze-gtk-5.6.5.tar.xz"; - sha256 = "0k4510jw89i1spb6gckf190mrspasxnwfwqddaxxrjdan4qklcbv"; - name = "breeze-gtk-5.6.5.tar.xz"; - }; - }; - breeze-plymouth = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/breeze-plymouth-5.6.5.tar.xz"; - sha256 = "05ajv326ylbja9483k0ka6flqpk341knfaxgq056dfqlmiaq2cjp"; - name = "breeze-plymouth-5.6.5.tar.xz"; - }; - }; - discover = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/discover-5.6.5.tar.xz"; - sha256 = "1k5jlq329k5scljdadj8yny5wxhz14c7jxx5wagazb28fq6yf3vj"; - name = "discover-5.6.5.tar.xz"; - }; - }; - kactivitymanagerd = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/kactivitymanagerd-5.6.5.tar.xz"; - sha256 = "1l0iyh6palbbw59xv6mhjv4y6c3v2xlqqk95rhhfcbpaq0kv0abh"; - name = "kactivitymanagerd-5.6.5.tar.xz"; - }; - }; - kde-cli-tools = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/kde-cli-tools-5.6.5.tar.xz"; - sha256 = "0fmlckjpc202n4ahc69mqjn6iv3xd0z9macvacx5fi2spc1i60kk"; - name = "kde-cli-tools-5.6.5.tar.xz"; - }; - }; - kdecoration = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/kdecoration-5.6.5.tar.xz"; - sha256 = "084a2ip5x15f9sdlh7icnbvbsczkc7h71qd4zzr7z9lmqk1b3sp1"; - name = "kdecoration-5.6.5.tar.xz"; - }; - }; - kde-gtk-config = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/kde-gtk-config-5.6.5.tar.xz"; - sha256 = "06nk5z1aqiwyd3vhpnmfjjpmsq6r32gx6dgij2la3c2y552d3hlx"; - name = "kde-gtk-config-5.6.5.tar.xz"; - }; - }; - kdeplasma-addons = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/kdeplasma-addons-5.6.5.tar.xz"; - sha256 = "19ijpvra2f5dbcjdl0g2lq0rivh6cvmgpryvsyhjyk740ys915kz"; - name = "kdeplasma-addons-5.6.5.tar.xz"; - }; - }; - kgamma5 = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/kgamma5-5.6.5.tar.xz"; - sha256 = "0qic1alkdzl6gxacm3i3m8xb5dxpd1hbixd8ixr1cabbviash1nw"; - name = "kgamma5-5.6.5.tar.xz"; - }; - }; - khotkeys = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/khotkeys-5.6.5.tar.xz"; - sha256 = "1zsdpdibv2pnm6vgj28d09cpss8nizmacrnxxlilvizhmiyvrpla"; - name = "khotkeys-5.6.5.tar.xz"; - }; - }; - kinfocenter = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/kinfocenter-5.6.5.tar.xz"; - sha256 = "1ci9avkbix6366gvfc3vpwp3r5hwabk1vl29ajl40agrs7kgs9cl"; - name = "kinfocenter-5.6.5.tar.xz"; - }; - }; - kmenuedit = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/kmenuedit-5.6.5.tar.xz"; - sha256 = "1fxnmb07shbpnhwk7aw5lspaih79ldkkx69bwgrv99c2h7gbsbhg"; - name = "kmenuedit-5.6.5.tar.xz"; - }; - }; - kscreen = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/kscreen-5.6.5.tar.xz"; - sha256 = "16cnf0kmvp67jid3y4w2b2dxzidx8k8zld280svp249wwjyh3wzr"; - name = "kscreen-5.6.5.tar.xz"; - }; - }; - kscreenlocker = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/kscreenlocker-5.6.5.tar.xz"; - sha256 = "01hbjvkkhjb63ij3xqyg49s3w8ig68pqrback7r5iv1hsbybxw66"; - name = "kscreenlocker-5.6.5.tar.xz"; - }; - }; - ksshaskpass = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/ksshaskpass-5.6.5.tar.xz"; - sha256 = "1qaja7alyx9czczkg2cpbc24jdvmsp8f9djsavgb650k6mv5h4va"; - name = "ksshaskpass-5.6.5.tar.xz"; - }; - }; - ksysguard = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/ksysguard-5.6.5.tar.xz"; - sha256 = "0ji4q8js5g57vrirbq6nah9gwp6bzcn986pjig1l0q5sm7al95jq"; - name = "ksysguard-5.6.5.tar.xz"; - }; - }; - kwallet-pam = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/kwallet-pam-5.6.5.tar.xz"; - sha256 = "0ad2q9kwnaabv6klazg17ilsiy0ckkkcay3q2d51crn1d8kbv3gm"; - name = "kwallet-pam-5.6.5.tar.xz"; - }; - }; - kwayland = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/kwayland-5.6.5.tar.xz"; - sha256 = "1niac5g7jdyl0b840njppnw8lbl08a6g4npyxhplvr6mv744h6b9"; - name = "kwayland-5.6.5.tar.xz"; - }; - }; - kwayland-integration = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/kwayland-integration-5.6.5.tar.xz"; - sha256 = "1sf6d9062q191q5b4bngk9abnfx3ys8fmkgc04xp8pl5zq5f2m7h"; - name = "kwayland-integration-5.6.5.tar.xz"; - }; - }; - kwin = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/kwin-5.6.5.tar.xz"; - sha256 = "113q9m373wmi2dmi2v6im74gd6ava7xrwapkcxq0phyr53w5ihz4"; - name = "kwin-5.6.5.tar.xz"; - }; - }; - kwrited = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/kwrited-5.6.5.tar.xz"; - sha256 = "19ra2pbr34ap309vxbssrkkykf2vki0829a6bqhgc482yw582k1r"; - name = "kwrited-5.6.5.tar.xz"; - }; - }; - libkscreen = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/libkscreen-5.6.5.tar.xz"; - sha256 = "1651cj5mkpx7x43na4n9qvvm8r9zadfm3fmpvrv92idf7f3jg4hr"; - name = "libkscreen-5.6.5.tar.xz"; - }; - }; - libksysguard = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/libksysguard-5.6.5.tar.xz"; - sha256 = "048hfxsjddqmw31w2cdzw72xwxrrnx0v6zzxq9514b5j7ak4f9jc"; - name = "libksysguard-5.6.5.tar.xz"; - }; - }; - milou = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/milou-5.6.5.tar.xz"; - sha256 = "066k7dpjs5nrimqxfxk1krc8w771nkqjb9dinqqqrl3njn7rwvxf"; - name = "milou-5.6.5.tar.xz"; - }; - }; - oxygen = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/oxygen-5.6.5.tar.xz"; - sha256 = "12qz947xy6xr8hzm46dy6m5hp8chmzc8ayczyy84xw5239piqa1c"; - name = "oxygen-5.6.5.tar.xz"; - }; - }; - plasma-desktop = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/plasma-desktop-5.6.5.tar.xz"; - sha256 = "1lxvnymiivkrch7z64i5vkck5723jvv5la9hrqdlzjl8qjp2gfk6"; - name = "plasma-desktop-5.6.5.tar.xz"; - }; - }; - plasma-integration = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/plasma-integration-5.6.5.tar.xz"; - sha256 = "1s473jg7xjw4jma7nn770q3cxj01d7bm2kf45fra5lbj6ipp3s20"; - name = "plasma-integration-5.6.5.tar.xz"; - }; - }; - plasma-mediacenter = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/plasma-mediacenter-5.6.5.tar.xz"; - sha256 = "056wzqqhvkc6d53040g0pn22arjz9pcxdgqr8x0bqps5cq7gf846"; - name = "plasma-mediacenter-5.6.5.tar.xz"; - }; - }; - plasma-nm = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/plasma-nm-5.6.5.tar.xz"; - sha256 = "1cmrd06l6mp478ixnwj93brkfz8gaw7081df4r4x6ql4vrga3a80"; - name = "plasma-nm-5.6.5.tar.xz"; - }; - }; - plasma-pa = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/plasma-pa-5.6.5.tar.xz"; - sha256 = "19b43mwjhvvi1wpa68c1g2mk76rqlfg0h8gf51xgd7y3qjv462h0"; - name = "plasma-pa-5.6.5.tar.xz"; - }; - }; - plasma-sdk = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/plasma-sdk-5.6.5.tar.xz"; - sha256 = "0v92b03ff40wkdps88aqkihs1cx4ggwg43x2cm6cdsa3gc84vyn8"; - name = "plasma-sdk-5.6.5.tar.xz"; - }; - }; - plasma-workspace = { - version = "5.6.5.1"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/plasma-workspace-5.6.5.1.tar.xz"; - sha256 = "158lmnvvqbl3k5485yirw22vqb15qxfd1m0gc83p0hsi2lv7v7j5"; - name = "plasma-workspace-5.6.5.1.tar.xz"; - }; - }; - plasma-workspace-wallpapers = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/plasma-workspace-wallpapers-5.6.5.tar.xz"; - sha256 = "1pkyqsaxqah8h9r8ay449g20135sjw5qsbdp0i0ahprzw07wwijr"; - name = "plasma-workspace-wallpapers-5.6.5.tar.xz"; - }; - }; - polkit-kde-agent = { - version = "1-5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/polkit-kde-agent-1-5.6.5.tar.xz"; - sha256 = "1f7mzxfr463ac0cfpb653x8civ1ciwhkklndxv7mq37m5ssk4dah"; - name = "polkit-kde-agent-1-5.6.5.tar.xz"; - }; - }; - powerdevil = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/powerdevil-5.6.5.tar.xz"; - sha256 = "07x0n311qbisycsrjjd9lkcwxcxlira0qkz1akg5xxll9q2a6qb7"; - name = "powerdevil-5.6.5.tar.xz"; - }; - }; - sddm-kcm = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/sddm-kcm-5.6.5.tar.xz"; - sha256 = "07r20s0373y630x1vjrfgm740sgg8v6qsza4r3my1qbsdj3xwzky"; - name = "sddm-kcm-5.6.5.tar.xz"; - }; - }; - systemsettings = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/systemsettings-5.6.5.tar.xz"; - sha256 = "01z3q8rp8barb7lyfiwcrwn407pxz17z22y46czxc7j56n4ixgim"; - name = "systemsettings-5.6.5.tar.xz"; - }; - }; - user-manager = { - version = "5.6.5"; - src = fetchurl { - url = "${mirror}/stable/plasma/5.6.5/user-manager-5.6.5.tar.xz"; - sha256 = "1fzfcq2kqrwja7y1ij8s7sbwlybharv6wqh62w7xza7pssz9yr7y"; - name = "user-manager-5.6.5.tar.xz"; - }; - }; -} diff --git a/pkgs/desktops/kde-5/plasma-5.6/bluedevil.nix b/pkgs/desktops/kde-5/plasma-5.7/bluedevil.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/bluedevil.nix rename to pkgs/desktops/kde-5/plasma-5.7/bluedevil.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/breeze-gtk.nix b/pkgs/desktops/kde-5/plasma-5.7/breeze-gtk.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/breeze-gtk.nix rename to pkgs/desktops/kde-5/plasma-5.7/breeze-gtk.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/breeze-qt4.nix b/pkgs/desktops/kde-5/plasma-5.7/breeze-qt4.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/breeze-qt4.nix rename to pkgs/desktops/kde-5/plasma-5.7/breeze-qt4.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/breeze-qt5.nix b/pkgs/desktops/kde-5/plasma-5.7/breeze-qt5.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/breeze-qt5.nix rename to pkgs/desktops/kde-5/plasma-5.7/breeze-qt5.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/default.nix b/pkgs/desktops/kde-5/plasma-5.7/default.nix similarity index 98% rename from pkgs/desktops/kde-5/plasma-5.6/default.nix rename to pkgs/desktops/kde-5/plasma-5.7/default.nix index d356dd4bd2f..d0b6ef1f6c9 100644 --- a/pkgs/desktops/kde-5/plasma-5.6/default.nix +++ b/pkgs/desktops/kde-5/plasma-5.7/default.nix @@ -74,7 +74,7 @@ let kscreenlocker = callPackage ./kscreenlocker.nix {}; ksshaskpass = callPackage ./ksshaskpass.nix {}; ksysguard = callPackage ./ksysguard.nix {}; - kwayland = callPackage ./kwayland.nix {}; + kwayland-integration = callPackage ./kwayland-integration.nix {}; kwin = callPackage ./kwin {}; kwrited = callPackage ./kwrited.nix {}; libkscreen = callPackage ./libkscreen.nix {}; diff --git a/pkgs/desktops/kde-5/plasma-5.6/kactivitymanagerd.nix b/pkgs/desktops/kde-5/plasma-5.7/kactivitymanagerd.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/kactivitymanagerd.nix rename to pkgs/desktops/kde-5/plasma-5.7/kactivitymanagerd.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/kde-cli-tools.nix b/pkgs/desktops/kde-5/plasma-5.7/kde-cli-tools.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/kde-cli-tools.nix rename to pkgs/desktops/kde-5/plasma-5.7/kde-cli-tools.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/kde-gtk-config/0001-follow-symlinks.patch b/pkgs/desktops/kde-5/plasma-5.7/kde-gtk-config/0001-follow-symlinks.patch similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/kde-gtk-config/0001-follow-symlinks.patch rename to pkgs/desktops/kde-5/plasma-5.7/kde-gtk-config/0001-follow-symlinks.patch diff --git a/pkgs/desktops/kde-5/plasma-5.6/kde-gtk-config/default.nix b/pkgs/desktops/kde-5/plasma-5.7/kde-gtk-config/default.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/kde-gtk-config/default.nix rename to pkgs/desktops/kde-5/plasma-5.7/kde-gtk-config/default.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/kdecoration.nix b/pkgs/desktops/kde-5/plasma-5.7/kdecoration.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/kdecoration.nix rename to pkgs/desktops/kde-5/plasma-5.7/kdecoration.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/kdeplasma-addons.nix b/pkgs/desktops/kde-5/plasma-5.7/kdeplasma-addons.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/kdeplasma-addons.nix rename to pkgs/desktops/kde-5/plasma-5.7/kdeplasma-addons.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/kgamma5.nix b/pkgs/desktops/kde-5/plasma-5.7/kgamma5.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/kgamma5.nix rename to pkgs/desktops/kde-5/plasma-5.7/kgamma5.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/khotkeys.nix b/pkgs/desktops/kde-5/plasma-5.7/khotkeys.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/khotkeys.nix rename to pkgs/desktops/kde-5/plasma-5.7/khotkeys.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/kinfocenter.nix b/pkgs/desktops/kde-5/plasma-5.7/kinfocenter.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/kinfocenter.nix rename to pkgs/desktops/kde-5/plasma-5.7/kinfocenter.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/kmenuedit.nix b/pkgs/desktops/kde-5/plasma-5.7/kmenuedit.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/kmenuedit.nix rename to pkgs/desktops/kde-5/plasma-5.7/kmenuedit.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/kscreen.nix b/pkgs/desktops/kde-5/plasma-5.7/kscreen.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/kscreen.nix rename to pkgs/desktops/kde-5/plasma-5.7/kscreen.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/kscreenlocker.nix b/pkgs/desktops/kde-5/plasma-5.7/kscreenlocker.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/kscreenlocker.nix rename to pkgs/desktops/kde-5/plasma-5.7/kscreenlocker.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/ksshaskpass.nix b/pkgs/desktops/kde-5/plasma-5.7/ksshaskpass.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/ksshaskpass.nix rename to pkgs/desktops/kde-5/plasma-5.7/ksshaskpass.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/ksysguard.nix b/pkgs/desktops/kde-5/plasma-5.7/ksysguard.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/ksysguard.nix rename to pkgs/desktops/kde-5/plasma-5.7/ksysguard.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/kwayland.nix b/pkgs/desktops/kde-5/plasma-5.7/kwayland-integration.nix similarity index 57% rename from pkgs/desktops/kde-5/plasma-5.6/kwayland.nix rename to pkgs/desktops/kde-5/plasma-5.7/kwayland-integration.nix index 3c2788237fc..9045227a51a 100644 --- a/pkgs/desktops/kde-5/plasma-5.6/kwayland.nix +++ b/pkgs/desktops/kde-5/plasma-5.7/kwayland-integration.nix @@ -1,14 +1,16 @@ { plasmaPackage , extra-cmake-modules -, wayland +, kidletime +, kwayland +, kwindowsystem }: plasmaPackage { - name = "kwayland"; + name = "kwayland-integration"; nativeBuildInputs = [ extra-cmake-modules ]; propagatedBuildInputs = [ - wayland + kidletime kwindowsystem kwayland ]; } diff --git a/pkgs/desktops/kde-5/plasma-5.6/kwin/0001-qdiriterator-follow-symlinks.patch b/pkgs/desktops/kde-5/plasma-5.7/kwin/0001-qdiriterator-follow-symlinks.patch similarity index 89% rename from pkgs/desktops/kde-5/plasma-5.6/kwin/0001-qdiriterator-follow-symlinks.patch rename to pkgs/desktops/kde-5/plasma-5.7/kwin/0001-qdiriterator-follow-symlinks.patch index 797a32fc5f8..7a70fec0d2d 100644 --- a/pkgs/desktops/kde-5/plasma-5.6/kwin/0001-qdiriterator-follow-symlinks.patch +++ b/pkgs/desktops/kde-5/plasma-5.7/kwin/0001-qdiriterator-follow-symlinks.patch @@ -9,8 +9,8 @@ Subject: [PATCH] qdiriterator follow symlinks diff --git a/clients/aurorae/src/aurorae.cpp b/clients/aurorae/src/aurorae.cpp index 781c960..ad5f420 100644 ---- a/clients/aurorae/src/aurorae.cpp -+++ b/clients/aurorae/src/aurorae.cpp +--- a/plugins/kdecorations/aurorae/src/aurorae.cpp ++++ b/plugins/kdecorations/aurorae/src/aurorae.cpp @@ -211,7 +211,7 @@ void Helper::init() // so let's try to locate our plugin: QString pluginPath; diff --git a/pkgs/desktops/kde-5/plasma-5.6/kwin/default.nix b/pkgs/desktops/kde-5/plasma-5.7/kwin/default.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/kwin/default.nix rename to pkgs/desktops/kde-5/plasma-5.7/kwin/default.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/kwrited.nix b/pkgs/desktops/kde-5/plasma-5.7/kwrited.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/kwrited.nix rename to pkgs/desktops/kde-5/plasma-5.7/kwrited.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/libkscreen.nix b/pkgs/desktops/kde-5/plasma-5.7/libkscreen.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/libkscreen.nix rename to pkgs/desktops/kde-5/plasma-5.7/libkscreen.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/libksysguard/0001-qdiriterator-follow-symlinks.patch b/pkgs/desktops/kde-5/plasma-5.7/libksysguard/0001-qdiriterator-follow-symlinks.patch similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/libksysguard/0001-qdiriterator-follow-symlinks.patch rename to pkgs/desktops/kde-5/plasma-5.7/libksysguard/0001-qdiriterator-follow-symlinks.patch diff --git a/pkgs/desktops/kde-5/plasma-5.6/libksysguard/default.nix b/pkgs/desktops/kde-5/plasma-5.7/libksysguard/default.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/libksysguard/default.nix rename to pkgs/desktops/kde-5/plasma-5.7/libksysguard/default.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/milou.nix b/pkgs/desktops/kde-5/plasma-5.7/milou.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/milou.nix rename to pkgs/desktops/kde-5/plasma-5.7/milou.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/oxygen.nix b/pkgs/desktops/kde-5/plasma-5.7/oxygen.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/oxygen.nix rename to pkgs/desktops/kde-5/plasma-5.7/oxygen.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-desktop/0001-qt-5.5-QML-import-paths.patch b/pkgs/desktops/kde-5/plasma-5.7/plasma-desktop/0001-qt-5.5-QML-import-paths.patch similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/plasma-desktop/0001-qt-5.5-QML-import-paths.patch rename to pkgs/desktops/kde-5/plasma-5.7/plasma-desktop/0001-qt-5.5-QML-import-paths.patch diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-desktop/0002-hwclock.patch b/pkgs/desktops/kde-5/plasma-5.7/plasma-desktop/0002-hwclock.patch similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/plasma-desktop/0002-hwclock.patch rename to pkgs/desktops/kde-5/plasma-5.7/plasma-desktop/0002-hwclock.patch diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-desktop/0003-tzdir.patch b/pkgs/desktops/kde-5/plasma-5.7/plasma-desktop/0003-tzdir.patch similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/plasma-desktop/0003-tzdir.patch rename to pkgs/desktops/kde-5/plasma-5.7/plasma-desktop/0003-tzdir.patch diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-desktop/default.nix b/pkgs/desktops/kde-5/plasma-5.7/plasma-desktop/default.nix similarity index 85% rename from pkgs/desktops/kde-5/plasma-5.6/plasma-desktop/default.nix rename to pkgs/desktops/kde-5/plasma-5.7/plasma-desktop/default.nix index 2a1d95806c1..3a61651644f 100644 --- a/pkgs/desktops/kde-5/plasma-5.6/plasma-desktop/default.nix +++ b/pkgs/desktops/kde-5/plasma-5.7/plasma-desktop/default.nix @@ -1,6 +1,6 @@ { plasmaPackage, substituteAll, extra-cmake-modules, kdoctools -, attica, baloo, boost, fontconfig, kactivities, kauth, kcmutils -, kdbusaddons, kdeclarative, kded, kdelibs4support, kemoticons +, attica, baloo, boost, fontconfig, kactivities, kactivities-stats +, kauth, kcmutils, kdbusaddons, kdeclarative, kded, kdelibs4support, kemoticons , kglobalaccel, ki18n, kitemmodels, knewstuff, knotifications , knotifyconfig, kpeople, krunner, kwallet, kwin, phonon , plasma-framework, plasma-workspace, qtdeclarative, qtx11extras @@ -21,9 +21,9 @@ plasmaPackage rec { attica boost fontconfig kcmutils kdbusaddons kded kitemmodels knewstuff knotifications knotifyconfig kwallet libcanberra_kde libXcursor libpulseaudio libXft libxkbfile phonon qtsvg xf86inputevdev - xf86inputsynaptics xkeyboard_config xinput baloo kactivities kauth - kdeclarative kdelibs4support kemoticons kglobalaccel ki18n kpeople krunner - kwin plasma-framework plasma-workspace qtdeclarative + xf86inputsynaptics xkeyboard_config xinput baloo kactivities + kactivities-stats kauth kdeclarative kdelibs4support kemoticons kglobalaccel + ki18n kpeople krunner kwin plasma-framework plasma-workspace qtdeclarative qtquickcontrols qtx11extras ksysguard ]; patches = [ diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-integration.nix b/pkgs/desktops/kde-5/plasma-5.7/plasma-integration.nix similarity index 67% rename from pkgs/desktops/kde-5/plasma-5.6/plasma-integration.nix rename to pkgs/desktops/kde-5/plasma-5.7/plasma-integration.nix index 7bc41986a4f..97d30dcd773 100644 --- a/pkgs/desktops/kde-5/plasma-5.6/plasma-integration.nix +++ b/pkgs/desktops/kde-5/plasma-5.7/plasma-integration.nix @@ -1,5 +1,5 @@ { plasmaPackage, extra-cmake-modules -, kconfig, kconfigwidgets, kiconthemes, kio, kwayland +, breeze-qt5, kconfig, kconfigwidgets, kiconthemes, kio, kwayland , libXcursor }: @@ -11,7 +11,7 @@ plasmaPackage { extra-cmake-modules ]; buildInputs = [ - kconfig kconfigwidgets kiconthemes kio kwayland + breeze-qt5 kconfig kconfigwidgets kiconthemes kio kwayland libXcursor ]; } diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-mediacenter.nix b/pkgs/desktops/kde-5/plasma-5.7/plasma-mediacenter.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/plasma-mediacenter.nix rename to pkgs/desktops/kde-5/plasma-5.7/plasma-mediacenter.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-nm/0001-mobile-broadband-provider-info-path.patch b/pkgs/desktops/kde-5/plasma-5.7/plasma-nm/0001-mobile-broadband-provider-info-path.patch similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/plasma-nm/0001-mobile-broadband-provider-info-path.patch rename to pkgs/desktops/kde-5/plasma-5.7/plasma-nm/0001-mobile-broadband-provider-info-path.patch diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-nm/default.nix b/pkgs/desktops/kde-5/plasma-5.7/plasma-nm/default.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/plasma-nm/default.nix rename to pkgs/desktops/kde-5/plasma-5.7/plasma-nm/default.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-pa.nix b/pkgs/desktops/kde-5/plasma-5.7/plasma-pa.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/plasma-pa.nix rename to pkgs/desktops/kde-5/plasma-5.7/plasma-pa.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace-wallpapers.nix b/pkgs/desktops/kde-5/plasma-5.7/plasma-workspace-wallpapers.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/plasma-workspace-wallpapers.nix rename to pkgs/desktops/kde-5/plasma-5.7/plasma-workspace-wallpapers.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/default.nix b/pkgs/desktops/kde-5/plasma-5.7/plasma-workspace/default.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/default.nix rename to pkgs/desktops/kde-5/plasma-5.7/plasma-workspace/default.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/qml-import-path.patch b/pkgs/desktops/kde-5/plasma-5.7/plasma-workspace/qml-import-path.patch similarity index 88% rename from pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/qml-import-path.patch rename to pkgs/desktops/kde-5/plasma-5.7/plasma-workspace/qml-import-path.patch index 7842109669a..12eb65caa71 100644 --- a/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/qml-import-path.patch +++ b/pkgs/desktops/kde-5/plasma-5.7/plasma-workspace/qml-import-path.patch @@ -89,16 +89,3 @@ Index: plasma-workspace-5.6.3/applets/notifications/package/contents/ui/main.qml MouseEventListener { id: notificationsApplet -Index: plasma-workspace-5.6.3/applets/systemtray/package/contents/ui/main.qml -=================================================================== ---- plasma-workspace-5.6.3.orig/applets/systemtray/package/contents/ui/main.qml -+++ plasma-workspace-5.6.3/applets/systemtray/package/contents/ui/main.qml -@@ -25,7 +25,7 @@ import org.kde.plasma.core 2.0 as Plasma - // import org.kde.plasma.extras 2.0 as PlasmaExtras - - import org.kde.private.systemtray 2.0 as SystemTray --import "Layout.js" as LayoutManager -+import "../code/Layout.js" as LayoutManager - - Item { - id: root diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/series b/pkgs/desktops/kde-5/plasma-5.7/plasma-workspace/series similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/plasma-workspace/series rename to pkgs/desktops/kde-5/plasma-5.7/plasma-workspace/series diff --git a/pkgs/desktops/kde-5/plasma-5.6/polkit-kde-agent.nix b/pkgs/desktops/kde-5/plasma-5.7/polkit-kde-agent.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/polkit-kde-agent.nix rename to pkgs/desktops/kde-5/plasma-5.7/polkit-kde-agent.nix diff --git a/pkgs/desktops/kde-5/plasma-5.7/powerdevil.nix b/pkgs/desktops/kde-5/plasma-5.7/powerdevil.nix new file mode 100644 index 00000000000..cbb2b9b019f --- /dev/null +++ b/pkgs/desktops/kde-5/plasma-5.7/powerdevil.nix @@ -0,0 +1,18 @@ +{ plasmaPackage, extra-cmake-modules, kdoctools, bluez-qt, kactivities +, kauth, kconfig, kdbusaddons, kdelibs4support, kglobalaccel, ki18n +, kidletime, kio, knotifyconfig, kwayland, libkscreen, networkmanager-qt +, plasma-workspace, qtx11extras, solid, udev +}: + +plasmaPackage { + name = "powerdevil"; + nativeBuildInputs = [ + extra-cmake-modules + kdoctools + ]; + propagatedBuildInputs = [ + kconfig kdbusaddons knotifyconfig solid udev bluez-qt kactivities kauth + kdelibs4support kglobalaccel ki18n kio kidletime kwayland libkscreen + networkmanager-qt plasma-workspace qtx11extras + ]; +} diff --git a/pkgs/desktops/kde-5/plasma-5.7/srcs.nix b/pkgs/desktops/kde-5/plasma-5.7/srcs.nix new file mode 100644 index 00000000000..2f017f0d52b --- /dev/null +++ b/pkgs/desktops/kde-5/plasma-5.7/srcs.nix @@ -0,0 +1,325 @@ +# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh +{ fetchurl, mirror }: + +{ + bluedevil = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/bluedevil-5.7.0.tar.xz"; + sha256 = "10f507hj31asg08kz5c5j5g2qlzmn57x68jrbgx80hdrji6jv6qn"; + name = "bluedevil-5.7.0.tar.xz"; + }; + }; + breeze = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/breeze-5.7.0.tar.xz"; + sha256 = "1sy400m8lkdqna926fxfq3nmcfsrd877b841an686qf9lb7iga2l"; + name = "breeze-5.7.0.tar.xz"; + }; + }; + breeze-grub = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/breeze-grub-5.7.0.tar.xz"; + sha256 = "0lgf13kbv1mcl57hwm0al87xslwvc7cgnj4k8f3026fjf78dqzr8"; + name = "breeze-grub-5.7.0.tar.xz"; + }; + }; + breeze-gtk = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/breeze-gtk-5.7.0.tar.xz"; + sha256 = "1h9hvhln5mwsi4fn7a7csf7gn6qlvx4d6bmxij2qsjm4i14izxhb"; + name = "breeze-gtk-5.7.0.tar.xz"; + }; + }; + breeze-plymouth = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/breeze-plymouth-5.7.0.tar.xz"; + sha256 = "1kq3ys1dvw2asgda6p9qbb2kkgskpvhjyp0xj4mgi5yaklz0bxgv"; + name = "breeze-plymouth-5.7.0.tar.xz"; + }; + }; + discover = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/discover-5.7.0.tar.xz"; + sha256 = "0j3339g6lrf44hg3xbvzh01pygcawrrf1c9vhijimrrd197qcqwg"; + name = "discover-5.7.0.tar.xz"; + }; + }; + kactivitymanagerd = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/kactivitymanagerd-5.7.0.tar.xz"; + sha256 = "0j2rf4qlha7cdwgdnvxrhlc90j2m8qacyhii27zdjz9iwv48zyjq"; + name = "kactivitymanagerd-5.7.0.tar.xz"; + }; + }; + kde-cli-tools = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/kde-cli-tools-5.7.0.tar.xz"; + sha256 = "05g4q6lf7mkm8ys39qhwqavy2g2xc17ahsfc037wkcpka47m6i3m"; + name = "kde-cli-tools-5.7.0.tar.xz"; + }; + }; + kdecoration = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/kdecoration-5.7.0.tar.xz"; + sha256 = "1i43b572yd3s0bgfvj97r18p0yk01skwmwqqzripb80pygw9yzvc"; + name = "kdecoration-5.7.0.tar.xz"; + }; + }; + kde-gtk-config = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/kde-gtk-config-5.7.0.tar.xz"; + sha256 = "01y4m3lyrfb0hngbmk6r3xpbak9r534vf1fqgf22956sdfrl5g2p"; + name = "kde-gtk-config-5.7.0.tar.xz"; + }; + }; + kdeplasma-addons = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/kdeplasma-addons-5.7.0.tar.xz"; + sha256 = "0kv0c2yxikbpdkr82n16pw016gsvbpmhp8kgbzdjdaqinicw4p2b"; + name = "kdeplasma-addons-5.7.0.tar.xz"; + }; + }; + kgamma5 = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/kgamma5-5.7.0.tar.xz"; + sha256 = "1scqi61agl8f1pmq29v32fs126x0ddw933q6yjswy1w2a0nn0i02"; + name = "kgamma5-5.7.0.tar.xz"; + }; + }; + khotkeys = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/khotkeys-5.7.0.tar.xz"; + sha256 = "0l27frmam6amgay42vb4pl98l81pb6xasnwd9ww3069sr9kiq0vi"; + name = "khotkeys-5.7.0.tar.xz"; + }; + }; + kinfocenter = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/kinfocenter-5.7.0.tar.xz"; + sha256 = "1bs3yl916s4dpci481dk81193mmh7kd9vqq535q74w0hx8khcwlf"; + name = "kinfocenter-5.7.0.tar.xz"; + }; + }; + kmenuedit = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/kmenuedit-5.7.0.tar.xz"; + sha256 = "0l7vibvy50v5hqpv6zb2j7c2nf0jbd88vwxhbv6rg150f3qy9awb"; + name = "kmenuedit-5.7.0.tar.xz"; + }; + }; + kscreen = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/kscreen-5.7.0.tar.xz"; + sha256 = "1qiwz220lff8l48ysfasx0zysv9m1mm2dsk60j84rcr3v5jwim6h"; + name = "kscreen-5.7.0.tar.xz"; + }; + }; + kscreenlocker = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/kscreenlocker-5.7.0.tar.xz"; + sha256 = "0yg4k1v31fkqh23myd4lfc59b04qydgiym2hahdz66vnvkkdcvdv"; + name = "kscreenlocker-5.7.0.tar.xz"; + }; + }; + ksshaskpass = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/ksshaskpass-5.7.0.tar.xz"; + sha256 = "0jv0i1gz36vv690x69isw6v856vjrbkjisy2gwd7z0l3986z54l0"; + name = "ksshaskpass-5.7.0.tar.xz"; + }; + }; + ksysguard = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/ksysguard-5.7.0.tar.xz"; + sha256 = "093ksjk6gy5j2hgfwlw6vspd22gqnb28aby9x8nvrx9idaxldlrj"; + name = "ksysguard-5.7.0.tar.xz"; + }; + }; + kwallet-pam = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/kwallet-pam-5.7.0.tar.xz"; + sha256 = "0d1aba9mjb52cy8abm8ais5ypcfs3xny62dzjb7fd5ac1mdld0bz"; + name = "kwallet-pam-5.7.0.tar.xz"; + }; + }; + kwayland-integration = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/kwayland-integration-5.7.0.tar.xz"; + sha256 = "1p2l98dd7dl1knshivk27qc2cfpvar26vci4lpxxwhg6psqdsnam"; + name = "kwayland-integration-5.7.0.tar.xz"; + }; + }; + kwin = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/kwin-5.7.0.tar.xz"; + sha256 = "1mpdcr4dva447jigdfxvrhpd2mh67s83w3mzw28f9xb1r7zcfzpm"; + name = "kwin-5.7.0.tar.xz"; + }; + }; + kwrited = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/kwrited-5.7.0.tar.xz"; + sha256 = "1wz56v9f3an65x17wj8bdg4f27a0j1mrsaz1v9gqks86cbmkkr5k"; + name = "kwrited-5.7.0.tar.xz"; + }; + }; + libkscreen = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/libkscreen-5.7.0.tar.xz"; + sha256 = "0g5xs8sajzkmn91n0y92mi71zjadpn35k2sxw8b12ilp9r5qzkqc"; + name = "libkscreen-5.7.0.tar.xz"; + }; + }; + libksysguard = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/libksysguard-5.7.0.tar.xz"; + sha256 = "1i3sl8wnfg1sl5psbfikw57w1d4bac6d61slkga60mp5z0jw4vss"; + name = "libksysguard-5.7.0.tar.xz"; + }; + }; + milou = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/milou-5.7.0.tar.xz"; + sha256 = "1i778zang4rk3kvd1z7aszrcsxa3l1k2d5xiv2zqf2z6hnranvbd"; + name = "milou-5.7.0.tar.xz"; + }; + }; + oxygen = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/oxygen-5.7.0.tar.xz"; + sha256 = "05vz4zixg9nfrydd2i7jjkv082vgmhxlv3v109vgkr652dh9kncf"; + name = "oxygen-5.7.0.tar.xz"; + }; + }; + plasma-desktop = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/plasma-desktop-5.7.0.tar.xz"; + sha256 = "0f8pi90g1msrfzd769d7c26lxbq07hf7va5d9mclq3kfhk2wm951"; + name = "plasma-desktop-5.7.0.tar.xz"; + }; + }; + plasma-integration = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/plasma-integration-5.7.0.tar.xz"; + sha256 = "0rhm0p6350jibqflh3f5b7df3rnm9k5p02sgna6p6gm5b2w145ii"; + name = "plasma-integration-5.7.0.tar.xz"; + }; + }; + plasma-mediacenter = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/plasma-mediacenter-5.7.0.tar.xz"; + sha256 = "1xva1lyyafik6kq7f1s9fddvb7n35paz0lmcyzqbaxs149xz6r96"; + name = "plasma-mediacenter-5.7.0.tar.xz"; + }; + }; + plasma-nm = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/plasma-nm-5.7.0.tar.xz"; + sha256 = "1aa8wv4jdmjjwmvn0pd80p0byyys498xi3i4fqy84r8spmb6xb9i"; + name = "plasma-nm-5.7.0.tar.xz"; + }; + }; + plasma-pa = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/plasma-pa-5.7.0.tar.xz"; + sha256 = "15hziwyyvz9mqcyqnjwc49a31v2d2ysa7gaydkb8dizgqfd4pcs8"; + name = "plasma-pa-5.7.0.tar.xz"; + }; + }; + plasma-sdk = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/plasma-sdk-5.7.0.tar.xz"; + sha256 = "0cbjbp9m0l3lik1j0x1czn4whd2h140954dlgqb87k4d55lxpxjh"; + name = "plasma-sdk-5.7.0.tar.xz"; + }; + }; + plasma-workspace = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/plasma-workspace-5.7.0.tar.xz"; + sha256 = "047pqpwi2zgyyp592wbxqxai5j5hvxbnw01s79q4i4wpsq10b2fa"; + name = "plasma-workspace-5.7.0.tar.xz"; + }; + }; + plasma-workspace-wallpapers = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/plasma-workspace-wallpapers-5.7.0.tar.xz"; + sha256 = "1f2nmnprj8pb6wl3svfmsgivl2565mabpmqyaywwfblhi5ycxj52"; + name = "plasma-workspace-wallpapers-5.7.0.tar.xz"; + }; + }; + polkit-kde-agent = { + version = "1-5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/polkit-kde-agent-1-5.7.0.tar.xz"; + sha256 = "0cxjgmhrb26ghqlrdj4kksw5g7b90pfhfsz4jia85szk2nssivl3"; + name = "polkit-kde-agent-1-5.7.0.tar.xz"; + }; + }; + powerdevil = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/powerdevil-5.7.0.tar.xz"; + sha256 = "1wc59vzzjbjr5brwnmlcnibh5hii61001hbc7hma3gngzr7j0b6m"; + name = "powerdevil-5.7.0.tar.xz"; + }; + }; + sddm-kcm = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/sddm-kcm-5.7.0.tar.xz"; + sha256 = "14jnyv7fs2bscmb0iw3pdxzmk4qyv0czzlpszi1qd1i7k0f2dngy"; + name = "sddm-kcm-5.7.0.tar.xz"; + }; + }; + systemsettings = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/systemsettings-5.7.0.tar.xz"; + sha256 = "13k325r7vy6l4a6lwrbhgm60bdmn91yjkld7zsd2xyxbw27vis3p"; + name = "systemsettings-5.7.0.tar.xz"; + }; + }; + user-manager = { + version = "5.7.0"; + src = fetchurl { + url = "${mirror}/stable/plasma/5.7.0/user-manager-5.7.0.tar.xz"; + sha256 = "16h7ifwa8dpn0yrg8cisi570dm2wigmb50pgxh9h8smfzgc0vg7k"; + name = "user-manager-5.7.0.tar.xz"; + }; + }; +} diff --git a/pkgs/desktops/kde-5/plasma-5.6/startkde/default.nix b/pkgs/desktops/kde-5/plasma-5.7/startkde/default.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/startkde/default.nix rename to pkgs/desktops/kde-5/plasma-5.7/startkde/default.nix diff --git a/pkgs/desktops/kde-5/plasma-5.6/startkde/startkde.sh b/pkgs/desktops/kde-5/plasma-5.7/startkde/startkde.sh similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/startkde/startkde.sh rename to pkgs/desktops/kde-5/plasma-5.7/startkde/startkde.sh diff --git a/pkgs/desktops/kde-5/plasma-5.6/systemsettings.nix b/pkgs/desktops/kde-5/plasma-5.7/systemsettings.nix similarity index 100% rename from pkgs/desktops/kde-5/plasma-5.6/systemsettings.nix rename to pkgs/desktops/kde-5/plasma-5.7/systemsettings.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b7c8549faf8..ae9d92c908e 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16143,7 +16143,7 @@ in kde5 = let frameworks = import ../desktops/kde-5/frameworks-5.22 { inherit pkgs; }; - plasma = import ../desktops/kde-5/plasma-5.6 { inherit pkgs; }; + plasma = import ../desktops/kde-5/plasma-5.7 { inherit pkgs; }; applications = import ../desktops/kde-5/applications-16.04 { inherit pkgs; }; merged = self: { plasma = plasma self; From b42ff8182a6ca9c3a7d8b38f8ddc8fde3039f4d5 Mon Sep 17 00:00:00 2001 From: Jos van den Oever Date: Sun, 10 Jul 2016 11:36:14 +0200 Subject: [PATCH 123/144] kde frameworks: 5.22 -> 5.24 --- .../scripts/generate-kde-frameworks.sh | 2 +- pkgs/desktops/kde-5/frameworks-5.22/srcs.nix | 581 ------------------ .../attica.nix | 0 .../baloo.nix | 0 .../bluez-qt.nix | 0 .../breeze-icons.nix | 0 .../default.nix | 1 + .../extra-cmake-modules/default.nix | 0 .../extra-cmake-modules/nix-lib-path.patch | 0 .../extra-cmake-modules/series | 0 .../extra-cmake-modules/setup-hook.sh | 0 .../frameworkintegration.nix | 0 .../kactivities-stats.nix | 0 .../kactivities.nix | 0 .../kapidox.nix | 0 .../karchive.nix | 0 .../kauth/cmake-install-paths.patch | 0 .../kauth/default.nix | 0 .../kauth/series | 0 .../kbookmarks.nix | 0 .../0001-qdiriterator-follow-symlinks.patch | 0 .../kcmutils/default.nix | 0 .../kcodecs.nix | 0 .../kcompletion.nix | 0 .../kconfig.nix | 0 .../0001-qdiriterator-follow-symlinks.patch | 0 .../kconfigwidgets/default.nix | 0 .../kcoreaddons.nix | 0 .../kcrash.nix | 0 .../kdbusaddons.nix | 0 .../kdeclarative.nix | 0 .../kded.nix | 0 .../kdelibs4support/default.nix | 0 .../kdelibs4support/nix-kde-include-dir.patch | 0 .../kdelibs4support/series | 0 .../kdelibs4support/setup-hook.sh | 0 .../kdesignerplugin.nix | 0 .../kdesu.nix | 0 .../kdnssd.nix | 0 .../kdoctools/default.nix | 0 .../kdoctools-no-find-docbook-xml.patch | 0 .../kdoctools/setup-hook.sh | 0 .../kemoticons.nix | 0 .../kfilemetadata/cmake-install-paths.patch | 0 .../kfilemetadata/default.nix | 0 .../kfilemetadata/series | 0 .../kglobalaccel.nix | 0 .../kguiaddons.nix | 0 .../khtml.nix | 0 .../ki18n.nix | 0 .../kiconthemes/default-theme-breeze.patch | 2 +- .../kiconthemes/default.nix | 4 +- .../kiconthemes/series | 0 .../kidletime.nix | 0 .../kimageformats.nix | 0 .../kinit/default.nix | 0 .../kinit/kinit-libpath.patch | 0 .../kinit/series | 0 .../kio/default.nix | 0 .../kio/samba-search-path.patch | 0 .../kio/series | 0 .../kitemmodels.nix | 0 .../kitemviews.nix | 0 .../kjobwidgets.nix | 0 .../kjs.nix | 0 .../kjsembed.nix | 0 .../kmediaplayer.nix | 0 .../knewstuff.nix | 0 .../knotifications.nix | 0 .../knotifyconfig.nix | 0 .../kpackage/allow-external-paths.patch | 0 .../kpackage/default.nix | 0 .../qdiriterator-follow-symlinks.patch | 0 .../kpackage/series | 0 .../kparts.nix | 0 .../kpeople.nix | 0 .../kplotting.nix | 0 .../kpty.nix | 0 .../kross.nix | 0 .../krunner.nix | 0 .../kservice/default.nix | 0 .../kservice/no-canonicalize-path.patch | 0 .../qdiriterator-follow-symlinks.patch | 0 .../kservice/series | 0 .../kservice/setup-hook.sh | 0 .../ktexteditor/default.nix | 0 .../ktexteditor/no-qcoreapplication.patch | 0 .../ktexteditor/series | 0 .../ktextwidgets.nix | 0 .../kunitconversion.nix | 0 .../kwallet.nix | 0 .../kde-5/frameworks-5.24/kwayland.nix | 14 + .../kwidgetsaddons.nix | 0 .../kwindowsystem.nix | 0 .../kxmlgui.nix | 0 .../kxmlrpcclient.nix | 0 .../modemmanager-qt.nix | 0 .../networkmanager-qt.nix | 0 .../oxygen-icons5.nix | 0 .../plasma-framework.nix | 0 .../solid.nix | 0 .../sonnet.nix | 0 pkgs/desktops/kde-5/frameworks-5.24/srcs.nix | 581 ++++++++++++++++++ .../threadweaver.nix | 0 pkgs/top-level/all-packages.nix | 2 +- 105 files changed, 601 insertions(+), 586 deletions(-) delete mode 100644 pkgs/desktops/kde-5/frameworks-5.22/srcs.nix rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/attica.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/baloo.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/bluez-qt.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/breeze-icons.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/default.nix (99%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/extra-cmake-modules/default.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/extra-cmake-modules/nix-lib-path.patch (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/extra-cmake-modules/series (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/extra-cmake-modules/setup-hook.sh (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/frameworkintegration.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kactivities-stats.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kactivities.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kapidox.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/karchive.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kauth/cmake-install-paths.patch (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kauth/default.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kauth/series (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kbookmarks.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kcmutils/0001-qdiriterator-follow-symlinks.patch (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kcmutils/default.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kcodecs.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kcompletion.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kconfig.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kconfigwidgets/default.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kcoreaddons.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kcrash.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kdbusaddons.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kdeclarative.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kded.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kdelibs4support/default.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kdelibs4support/nix-kde-include-dir.patch (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kdelibs4support/series (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kdelibs4support/setup-hook.sh (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kdesignerplugin.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kdesu.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kdnssd.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kdoctools/default.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kdoctools/kdoctools-no-find-docbook-xml.patch (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kdoctools/setup-hook.sh (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kemoticons.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kfilemetadata/cmake-install-paths.patch (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kfilemetadata/default.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kfilemetadata/series (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kglobalaccel.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kguiaddons.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/khtml.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/ki18n.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kiconthemes/default-theme-breeze.patch (91%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kiconthemes/default.nix (70%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kiconthemes/series (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kidletime.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kimageformats.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kinit/default.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kinit/kinit-libpath.patch (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kinit/series (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kio/default.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kio/samba-search-path.patch (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kio/series (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kitemmodels.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kitemviews.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kjobwidgets.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kjs.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kjsembed.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kmediaplayer.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/knewstuff.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/knotifications.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/knotifyconfig.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kpackage/allow-external-paths.patch (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kpackage/default.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kpackage/qdiriterator-follow-symlinks.patch (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kpackage/series (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kparts.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kpeople.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kplotting.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kpty.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kross.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/krunner.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kservice/default.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kservice/no-canonicalize-path.patch (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kservice/qdiriterator-follow-symlinks.patch (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kservice/series (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kservice/setup-hook.sh (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/ktexteditor/default.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/ktexteditor/no-qcoreapplication.patch (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/ktexteditor/series (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/ktextwidgets.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kunitconversion.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kwallet.nix (100%) create mode 100644 pkgs/desktops/kde-5/frameworks-5.24/kwayland.nix rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kwidgetsaddons.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kwindowsystem.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kxmlgui.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/kxmlrpcclient.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/modemmanager-qt.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/networkmanager-qt.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/oxygen-icons5.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/plasma-framework.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/solid.nix (100%) rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/sonnet.nix (100%) create mode 100644 pkgs/desktops/kde-5/frameworks-5.24/srcs.nix rename pkgs/desktops/kde-5/{frameworks-5.22 => frameworks-5.24}/threadweaver.nix (100%) diff --git a/maintainers/scripts/generate-kde-frameworks.sh b/maintainers/scripts/generate-kde-frameworks.sh index aa693ced704..e690662b3f2 100755 --- a/maintainers/scripts/generate-kde-frameworks.sh +++ b/maintainers/scripts/generate-kde-frameworks.sh @@ -1,3 +1,3 @@ #!/bin/sh -./fetch-kde-qt.sh http://download.kde.org/stable/frameworks/5.22/ -A '*.tar.xz' +./fetch-kde-qt.sh http://download.kde.org/stable/frameworks/5.24/ -A '*.tar.xz' diff --git a/pkgs/desktops/kde-5/frameworks-5.22/srcs.nix b/pkgs/desktops/kde-5/frameworks-5.22/srcs.nix deleted file mode 100644 index 156a11ba216..00000000000 --- a/pkgs/desktops/kde-5/frameworks-5.22/srcs.nix +++ /dev/null @@ -1,581 +0,0 @@ -# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh -{ fetchurl, mirror }: - -{ - attica = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/attica-5.22.0.tar.xz"; - sha256 = "1i26nwxyrb62icw49znlyz9y670cv7xvibzbdfnnxq9czsalwym7"; - name = "attica-5.22.0.tar.xz"; - }; - }; - baloo = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/baloo-5.22.0.tar.xz"; - sha256 = "0h51j41pa8b18jkdna0247z5alqfbvgfzlxc6s6p0c7g7658z0w3"; - name = "baloo-5.22.0.tar.xz"; - }; - }; - bluez-qt = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/bluez-qt-5.22.0.tar.xz"; - sha256 = "1lrkkg2f2qjj8cy968l3scdrvi506m5hr9x22d1zn6r12fvq6304"; - name = "bluez-qt-5.22.0.tar.xz"; - }; - }; - breeze-icons = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/breeze-icons-5.22.0.tar.xz"; - sha256 = "162698h01cs7116la4jfygn8ka4ffjmnv7nxjl6yhcqrs25nky7l"; - name = "breeze-icons-5.22.0.tar.xz"; - }; - }; - extra-cmake-modules = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/extra-cmake-modules-5.22.0.tar.xz"; - sha256 = "042ad7kp2ijp66gvz0q60glk95wj9f0fymrjyw68253rqynf3zj3"; - name = "extra-cmake-modules-5.22.0.tar.xz"; - }; - }; - frameworkintegration = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/frameworkintegration-5.22.0.tar.xz"; - sha256 = "0jf9y738r86ss520hqhfll8prrfpha73myj99hbz3sqrix7b0va9"; - name = "frameworkintegration-5.22.0.tar.xz"; - }; - }; - kactivities = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kactivities-5.22.0.tar.xz"; - sha256 = "068jhc6lw47hcibvys968m4wa1b278ccy2gas9iymzzys1ccv6kr"; - name = "kactivities-5.22.0.tar.xz"; - }; - }; - kactivities-stats = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kactivities-stats-5.22.0.tar.xz"; - sha256 = "1gx5wm337nwbwqb56xvl16vhk47v7a5qpx5hhn7ygpfxkgxh6wiq"; - name = "kactivities-stats-5.22.0.tar.xz"; - }; - }; - kapidox = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kapidox-5.22.0.tar.xz"; - sha256 = "0cs133g1rvbcrdvy7zvk5c14p5iwwn0x0m76c2ifal0g8qh0hmd1"; - name = "kapidox-5.22.0.tar.xz"; - }; - }; - karchive = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/karchive-5.22.0.tar.xz"; - sha256 = "1ywd38j6jpwj21kdp504gs0pfvlnvg6ak8hjk6a269pkci3dyf91"; - name = "karchive-5.22.0.tar.xz"; - }; - }; - kauth = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kauth-5.22.0.tar.xz"; - sha256 = "1c0kp25g57nldh1x5vfq9fypbznc991jrry2lydvb06d3jh44vbn"; - name = "kauth-5.22.0.tar.xz"; - }; - }; - kbookmarks = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kbookmarks-5.22.0.tar.xz"; - sha256 = "093rlg8pprjg7ba52dh2z9j2x5ir7s9kjas6ni4fqxxzpp15hh3p"; - name = "kbookmarks-5.22.0.tar.xz"; - }; - }; - kcmutils = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kcmutils-5.22.0.tar.xz"; - sha256 = "1s7gw9l2n92rrcdzy9pnwq8na65axd8bkk9nphyhpbxk76zj1gyy"; - name = "kcmutils-5.22.0.tar.xz"; - }; - }; - kcodecs = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kcodecs-5.22.0.tar.xz"; - sha256 = "0rlqs8m2ib2kkj679gn74zqqxzsddfcbywpgwlcd6b992i4cad87"; - name = "kcodecs-5.22.0.tar.xz"; - }; - }; - kcompletion = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kcompletion-5.22.0.tar.xz"; - sha256 = "07jqjrddigdqsdy2adzari7g626sakilg9d765s75vncv5amrvzy"; - name = "kcompletion-5.22.0.tar.xz"; - }; - }; - kconfig = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kconfig-5.22.0.tar.xz"; - sha256 = "0n0dzgba96pkabbvk1cfm34j9jirgbd84xha6adscpxs28506cg0"; - name = "kconfig-5.22.0.tar.xz"; - }; - }; - kconfigwidgets = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kconfigwidgets-5.22.0.tar.xz"; - sha256 = "0jr6ygd8c0gap2ay2685wj3fx4scrahzbpaaj4bjhq2s79nvmlyg"; - name = "kconfigwidgets-5.22.0.tar.xz"; - }; - }; - kcoreaddons = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kcoreaddons-5.22.0.tar.xz"; - sha256 = "0zzwcw0n9bd3pi3rv7cdwynb67x1bqf1bh3s59hjipf9d412wl15"; - name = "kcoreaddons-5.22.0.tar.xz"; - }; - }; - kcrash = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kcrash-5.22.0.tar.xz"; - sha256 = "1r0i9ngk5jypzfhhssjm5b3n5sqli3jhh896r1qwpfcq9w15x7qg"; - name = "kcrash-5.22.0.tar.xz"; - }; - }; - kdbusaddons = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kdbusaddons-5.22.0.tar.xz"; - sha256 = "0w9spb5i5qi2r5kfgrylpvw6mwjxfhd4j7yslc9jy0q4y8j3f1dk"; - name = "kdbusaddons-5.22.0.tar.xz"; - }; - }; - kdeclarative = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kdeclarative-5.22.0.tar.xz"; - sha256 = "06n6wqy8dm2hv6dbar453z4rmiyf6f34zak1fhs38sqkfy6syva1"; - name = "kdeclarative-5.22.0.tar.xz"; - }; - }; - kded = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kded-5.22.0.tar.xz"; - sha256 = "1zfggr6pmiypw5bnh6hr22agms589hm7hw35nhfhc4r7qd1drf6q"; - name = "kded-5.22.0.tar.xz"; - }; - }; - kdelibs4support = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/portingAids/kdelibs4support-5.22.0.tar.xz"; - sha256 = "1mmrr54kkicnz4pjksnrh40md80m18mr5ba2la7kwjxmdyl6znm3"; - name = "kdelibs4support-5.22.0.tar.xz"; - }; - }; - kdesignerplugin = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kdesignerplugin-5.22.0.tar.xz"; - sha256 = "0cfnmpz845l39qpy5r6pknzm78js81bci9qi0xfnrf8gm3lvjg5l"; - name = "kdesignerplugin-5.22.0.tar.xz"; - }; - }; - kdesu = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kdesu-5.22.0.tar.xz"; - sha256 = "1jsr9m32dyzvsvsy743h3jih8v4yyr2zf15hh908anbamp7449bd"; - name = "kdesu-5.22.0.tar.xz"; - }; - }; - kdewebkit = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kdewebkit-5.22.0.tar.xz"; - sha256 = "0rmxa4j3jx7689jcf45fghh7jff16x34xrzrw0clg3fj4w47ik0b"; - name = "kdewebkit-5.22.0.tar.xz"; - }; - }; - kdnssd = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kdnssd-5.22.0.tar.xz"; - sha256 = "1b0s5gwn51zh2h5w2mzpzjj86qaz6pl7gzqf5q88vpzsiqjg14vp"; - name = "kdnssd-5.22.0.tar.xz"; - }; - }; - kdoctools = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kdoctools-5.22.0.tar.xz"; - sha256 = "0y4ayms0hyj4nv5flr0a198lb545plfbxkwhqsmzc0c77gagcw5k"; - name = "kdoctools-5.22.0.tar.xz"; - }; - }; - kemoticons = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kemoticons-5.22.0.tar.xz"; - sha256 = "1swrpqm441ngmps00hr15pgvw1382zbf2q2ncndj7i30725nfq1g"; - name = "kemoticons-5.22.0.tar.xz"; - }; - }; - kfilemetadata = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kfilemetadata-5.22.0.tar.xz"; - sha256 = "0p6s1r2qv5396ghkw79wyf7yf4hzj562yp83wgplwmr6lgh4b2fc"; - name = "kfilemetadata-5.22.0.tar.xz"; - }; - }; - kglobalaccel = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kglobalaccel-5.22.0.tar.xz"; - sha256 = "1m1aviz5g0vwk58j0z9jckz4rzns7md7mr3zlqqpvp1r032qc30k"; - name = "kglobalaccel-5.22.0.tar.xz"; - }; - }; - kguiaddons = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kguiaddons-5.22.0.tar.xz"; - sha256 = "10chxcvf4hxyfkgprsj7rg4dv788dzqjgsm6m0a4m6qmx12zhckh"; - name = "kguiaddons-5.22.0.tar.xz"; - }; - }; - khtml = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/portingAids/khtml-5.22.0.tar.xz"; - sha256 = "1w5q41fjrqqq91j3dvhc9lrrhvrwy1izws6af7srh768gn6yig0m"; - name = "khtml-5.22.0.tar.xz"; - }; - }; - ki18n = { - version = "5.22.1"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/ki18n-5.22.1.tar.xz"; - sha256 = "0fasp8akj6wysn4acf9vyivcgb8x9dlnhkqmw7j0g7z1qgvjn4pv"; - name = "ki18n-5.22.1.tar.xz"; - }; - }; - kiconthemes = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kiconthemes-5.22.0.tar.xz"; - sha256 = "1bh76f7kpha4c5qs3n8z6g1qah0rsk99yqcz8j1dlss4ws65j9j3"; - name = "kiconthemes-5.22.0.tar.xz"; - }; - }; - kidletime = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kidletime-5.22.0.tar.xz"; - sha256 = "0dgw0rin6wz31xdspbjpvcs5x1b163ggqkz2zn73zavbr7f5jypc"; - name = "kidletime-5.22.0.tar.xz"; - }; - }; - kimageformats = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kimageformats-5.22.0.tar.xz"; - sha256 = "0g3f73m3yj5iqivcsn83pm32w4l13zbyzz5azgm3jjfhgnd00c18"; - name = "kimageformats-5.22.0.tar.xz"; - }; - }; - kinit = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kinit-5.22.0.tar.xz"; - sha256 = "1f71y6gf00p4jkqvpzyjlbnwc4gvjl2h4wi61xhpjz8lrmpsb6ac"; - name = "kinit-5.22.0.tar.xz"; - }; - }; - kio = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kio-5.22.0.tar.xz"; - sha256 = "02knylbs9ymb8qm7fkp3dkdqc9cvgw2dwfl4phzl1iax2fx2zkqy"; - name = "kio-5.22.0.tar.xz"; - }; - }; - kitemmodels = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kitemmodels-5.22.0.tar.xz"; - sha256 = "03gnglfhpzrc67bi0xdcy4xdhankic5cqnpahp9wwsis12ac6i83"; - name = "kitemmodels-5.22.0.tar.xz"; - }; - }; - kitemviews = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kitemviews-5.22.0.tar.xz"; - sha256 = "0nhwg7bmv1c8p6pnbfsz96mq9wbq339ir9yp7kfnhfrg0wqi44ar"; - name = "kitemviews-5.22.0.tar.xz"; - }; - }; - kjobwidgets = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kjobwidgets-5.22.0.tar.xz"; - sha256 = "1inqrb0j64b3519qcr0wk9izd4c1zi4kfjc8wa04s2kwxg6z7j1p"; - name = "kjobwidgets-5.22.0.tar.xz"; - }; - }; - kjs = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/portingAids/kjs-5.22.0.tar.xz"; - sha256 = "0xqlkhm8r021xd5a25nwp9a4r7cbjkpqkc89fjma8qyvq5785qxw"; - name = "kjs-5.22.0.tar.xz"; - }; - }; - kjsembed = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/portingAids/kjsembed-5.22.0.tar.xz"; - sha256 = "0fcc1lm5l8r0lj35r3niliyn8zxr90by2vjc9krzfm4i7kwij7wb"; - name = "kjsembed-5.22.0.tar.xz"; - }; - }; - kmediaplayer = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/portingAids/kmediaplayer-5.22.0.tar.xz"; - sha256 = "1pn3fmaixcxba1wl63hblhnpj7jblrala9j3xrj8z2abhhfl5vzy"; - name = "kmediaplayer-5.22.0.tar.xz"; - }; - }; - knewstuff = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/knewstuff-5.22.0.tar.xz"; - sha256 = "1gr566k95bg58hpn569kkarmlxk5rp12jcxdp7ksw1j8mp6la7a7"; - name = "knewstuff-5.22.0.tar.xz"; - }; - }; - knotifications = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/knotifications-5.22.0.tar.xz"; - sha256 = "0fh6ahfr9pa8643i1ma40h7afnd1jn0m6dw5f9hgndxhwi6h3bps"; - name = "knotifications-5.22.0.tar.xz"; - }; - }; - knotifyconfig = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/knotifyconfig-5.22.0.tar.xz"; - sha256 = "0p4g7wv2w6cpjzhlkh7rnzzhwcj86sgz98fl97is1fl65q8f0szr"; - name = "knotifyconfig-5.22.0.tar.xz"; - }; - }; - kpackage = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kpackage-5.22.0.tar.xz"; - sha256 = "1nbwjc4n8f2iisdckm5ll3qyls1sq02ia6vmhj4mfm4w44q4s1bk"; - name = "kpackage-5.22.0.tar.xz"; - }; - }; - kparts = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kparts-5.22.0.tar.xz"; - sha256 = "091wm2flhqgpqsffdd8nlwbdffvsj7cyd0c46949d9chm64723cg"; - name = "kparts-5.22.0.tar.xz"; - }; - }; - kpeople = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kpeople-5.22.0.tar.xz"; - sha256 = "0rbwxzmyaig92vcd26v1yqd13swk15pp0lpvjp6hdpxbhpxijyf7"; - name = "kpeople-5.22.0.tar.xz"; - }; - }; - kplotting = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kplotting-5.22.0.tar.xz"; - sha256 = "0ljiyxa2320v937lkqkxx3jc7sg45z4vjl74lxfybwspgs6y5hqk"; - name = "kplotting-5.22.0.tar.xz"; - }; - }; - kpty = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kpty-5.22.0.tar.xz"; - sha256 = "12lfwv45d06ksx5xc4hgk075mj2ckkqpc8mksx99f700yvcyk1db"; - name = "kpty-5.22.0.tar.xz"; - }; - }; - kross = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/portingAids/kross-5.22.0.tar.xz"; - sha256 = "1ika9ha06vspjn8hy6mv5vi5n7xj7sj45csmjjxcqwhn2wlcdj4l"; - name = "kross-5.22.0.tar.xz"; - }; - }; - krunner = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/krunner-5.22.0.tar.xz"; - sha256 = "09jhdy48dciqd8hwxmvjyw547fr48mzns5f0yknsnnb8a47yhrd4"; - name = "krunner-5.22.0.tar.xz"; - }; - }; - kservice = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kservice-5.22.0.tar.xz"; - sha256 = "1c5q8cxghbji3imamjbxymcd5cz9a9rapqriy1wmskys3ms3fag9"; - name = "kservice-5.22.0.tar.xz"; - }; - }; - ktexteditor = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/ktexteditor-5.22.0.tar.xz"; - sha256 = "1jsa8cfq0245bsris46i3k8f8g7l0sc5jpj4iwkxrl9m0nk5j1v0"; - name = "ktexteditor-5.22.0.tar.xz"; - }; - }; - ktextwidgets = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/ktextwidgets-5.22.0.tar.xz"; - sha256 = "01a2vkdpq06libap5g6a90jrcc0phmfd859kilraqyxhbrp9sw5l"; - name = "ktextwidgets-5.22.0.tar.xz"; - }; - }; - kunitconversion = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kunitconversion-5.22.0.tar.xz"; - sha256 = "1phbqxddp8ks36nr4982n4bwwx7d6yxll629gpb0ddc4yfsjv48p"; - name = "kunitconversion-5.22.0.tar.xz"; - }; - }; - kwallet = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kwallet-5.22.0.tar.xz"; - sha256 = "1i20kp1gkdiwmwy8vf7vd6r89qx6lpxwr6nib35khp93ci9l3838"; - name = "kwallet-5.22.0.tar.xz"; - }; - }; - kwayland = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kwayland-5.22.0.tar.xz"; - sha256 = "1jfibqai7vy1vklj19x7z0r4qc0rc7yd5r4wpp98mmdwzpnhlrgy"; - name = "kwayland-5.22.0.tar.xz"; - }; - }; - kwidgetsaddons = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kwidgetsaddons-5.22.0.tar.xz"; - sha256 = "1bwmnfa1l3s33nc6b0ryk78gxhrynyd07ffqw7mw211r34pg4c14"; - name = "kwidgetsaddons-5.22.0.tar.xz"; - }; - }; - kwindowsystem = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kwindowsystem-5.22.0.tar.xz"; - sha256 = "05jwmjqk03pc2g09rnyb9qh0dfi0c46awbaxgc7i7z4i9swv1k30"; - name = "kwindowsystem-5.22.0.tar.xz"; - }; - }; - kxmlgui = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kxmlgui-5.22.0.tar.xz"; - sha256 = "16q222jvnsd6pj49ih44qpks97lcjsamcpjg5x5ysn4a6w5h4mds"; - name = "kxmlgui-5.22.0.tar.xz"; - }; - }; - kxmlrpcclient = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/kxmlrpcclient-5.22.0.tar.xz"; - sha256 = "00qj4pa7r0ny6pwivq6qqw80v4dsg9lgwd2qdlp9kddi0f8i2p1b"; - name = "kxmlrpcclient-5.22.0.tar.xz"; - }; - }; - modemmanager-qt = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/modemmanager-qt-5.22.0.tar.xz"; - sha256 = "1b1gx33vrw7qcvy3zlc01x7wlalx5csfl590gfxlf870i3m7dnhf"; - name = "modemmanager-qt-5.22.0.tar.xz"; - }; - }; - networkmanager-qt = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/networkmanager-qt-5.22.0.tar.xz"; - sha256 = "03b710n4107qw9c3p7wdma9fz9vqixrjydfa02f7vgzw1rixmmqq"; - name = "networkmanager-qt-5.22.0.tar.xz"; - }; - }; - oxygen-icons5 = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/oxygen-icons5-5.22.0.tar.xz"; - sha256 = "1m3f5wrgahqlzzl3jyfymh6n515fsmsi8ckimvma2d8qqpb0dc2l"; - name = "oxygen-icons5-5.22.0.tar.xz"; - }; - }; - plasma-framework = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/plasma-framework-5.22.0.tar.xz"; - sha256 = "1wn7ib030dw8rj5dprl8bzz4c3dv4nlmrfb9wgr6x78w4ac967zc"; - name = "plasma-framework-5.22.0.tar.xz"; - }; - }; - solid = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/solid-5.22.0.tar.xz"; - sha256 = "04a7z5g2ylhbj2572wa6w51cs98ddn4d7lfirzawxf0f8d2693w2"; - name = "solid-5.22.0.tar.xz"; - }; - }; - sonnet = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/sonnet-5.22.0.tar.xz"; - sha256 = "0y8l3mfa65a59vjj424ga87q3bixx8inicp2jp9zi36p4g7xwww8"; - name = "sonnet-5.22.0.tar.xz"; - }; - }; - threadweaver = { - version = "5.22.0"; - src = fetchurl { - url = "${mirror}/stable/frameworks/5.22/threadweaver-5.22.0.tar.xz"; - sha256 = "1ax58k6nl8za79j99spa2r76m9xz8ih9iflksgpng40wlnkwlp59"; - name = "threadweaver-5.22.0.tar.xz"; - }; - }; -} diff --git a/pkgs/desktops/kde-5/frameworks-5.22/attica.nix b/pkgs/desktops/kde-5/frameworks-5.24/attica.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/attica.nix rename to pkgs/desktops/kde-5/frameworks-5.24/attica.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/baloo.nix b/pkgs/desktops/kde-5/frameworks-5.24/baloo.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/baloo.nix rename to pkgs/desktops/kde-5/frameworks-5.24/baloo.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/bluez-qt.nix b/pkgs/desktops/kde-5/frameworks-5.24/bluez-qt.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/bluez-qt.nix rename to pkgs/desktops/kde-5/frameworks-5.24/bluez-qt.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/breeze-icons.nix b/pkgs/desktops/kde-5/frameworks-5.24/breeze-icons.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/breeze-icons.nix rename to pkgs/desktops/kde-5/frameworks-5.24/breeze-icons.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/default.nix b/pkgs/desktops/kde-5/frameworks-5.24/default.nix similarity index 99% rename from pkgs/desktops/kde-5/frameworks-5.22/default.nix rename to pkgs/desktops/kde-5/frameworks-5.24/default.nix index 4d0567846f8..851c142fe2d 100644 --- a/pkgs/desktops/kde-5/frameworks-5.22/default.nix +++ b/pkgs/desktops/kde-5/frameworks-5.24/default.nix @@ -106,6 +106,7 @@ let ktextwidgets = callPackage ./ktextwidgets.nix {}; kunitconversion = callPackage ./kunitconversion.nix {}; kwallet = callPackage ./kwallet.nix {}; + kwayland = callPackage ./kwayland.nix {}; kwidgetsaddons = callPackage ./kwidgetsaddons.nix {}; kwindowsystem = callPackage ./kwindowsystem.nix {}; kxmlgui = callPackage ./kxmlgui.nix {}; diff --git a/pkgs/desktops/kde-5/frameworks-5.22/extra-cmake-modules/default.nix b/pkgs/desktops/kde-5/frameworks-5.24/extra-cmake-modules/default.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/extra-cmake-modules/default.nix rename to pkgs/desktops/kde-5/frameworks-5.24/extra-cmake-modules/default.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/extra-cmake-modules/nix-lib-path.patch b/pkgs/desktops/kde-5/frameworks-5.24/extra-cmake-modules/nix-lib-path.patch similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/extra-cmake-modules/nix-lib-path.patch rename to pkgs/desktops/kde-5/frameworks-5.24/extra-cmake-modules/nix-lib-path.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.22/extra-cmake-modules/series b/pkgs/desktops/kde-5/frameworks-5.24/extra-cmake-modules/series similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/extra-cmake-modules/series rename to pkgs/desktops/kde-5/frameworks-5.24/extra-cmake-modules/series diff --git a/pkgs/desktops/kde-5/frameworks-5.22/extra-cmake-modules/setup-hook.sh b/pkgs/desktops/kde-5/frameworks-5.24/extra-cmake-modules/setup-hook.sh similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/extra-cmake-modules/setup-hook.sh rename to pkgs/desktops/kde-5/frameworks-5.24/extra-cmake-modules/setup-hook.sh diff --git a/pkgs/desktops/kde-5/frameworks-5.22/frameworkintegration.nix b/pkgs/desktops/kde-5/frameworks-5.24/frameworkintegration.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/frameworkintegration.nix rename to pkgs/desktops/kde-5/frameworks-5.24/frameworkintegration.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kactivities-stats.nix b/pkgs/desktops/kde-5/frameworks-5.24/kactivities-stats.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kactivities-stats.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kactivities-stats.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kactivities.nix b/pkgs/desktops/kde-5/frameworks-5.24/kactivities.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kactivities.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kactivities.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kapidox.nix b/pkgs/desktops/kde-5/frameworks-5.24/kapidox.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kapidox.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kapidox.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/karchive.nix b/pkgs/desktops/kde-5/frameworks-5.24/karchive.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/karchive.nix rename to pkgs/desktops/kde-5/frameworks-5.24/karchive.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kauth/cmake-install-paths.patch b/pkgs/desktops/kde-5/frameworks-5.24/kauth/cmake-install-paths.patch similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kauth/cmake-install-paths.patch rename to pkgs/desktops/kde-5/frameworks-5.24/kauth/cmake-install-paths.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kauth/default.nix b/pkgs/desktops/kde-5/frameworks-5.24/kauth/default.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kauth/default.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kauth/default.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kauth/series b/pkgs/desktops/kde-5/frameworks-5.24/kauth/series similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kauth/series rename to pkgs/desktops/kde-5/frameworks-5.24/kauth/series diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kbookmarks.nix b/pkgs/desktops/kde-5/frameworks-5.24/kbookmarks.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kbookmarks.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kbookmarks.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kcmutils/0001-qdiriterator-follow-symlinks.patch b/pkgs/desktops/kde-5/frameworks-5.24/kcmutils/0001-qdiriterator-follow-symlinks.patch similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kcmutils/0001-qdiriterator-follow-symlinks.patch rename to pkgs/desktops/kde-5/frameworks-5.24/kcmutils/0001-qdiriterator-follow-symlinks.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kcmutils/default.nix b/pkgs/desktops/kde-5/frameworks-5.24/kcmutils/default.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kcmutils/default.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kcmutils/default.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kcodecs.nix b/pkgs/desktops/kde-5/frameworks-5.24/kcodecs.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kcodecs.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kcodecs.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kcompletion.nix b/pkgs/desktops/kde-5/frameworks-5.24/kcompletion.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kcompletion.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kcompletion.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kconfig.nix b/pkgs/desktops/kde-5/frameworks-5.24/kconfig.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kconfig.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kconfig.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch b/pkgs/desktops/kde-5/frameworks-5.24/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch rename to pkgs/desktops/kde-5/frameworks-5.24/kconfigwidgets/0001-qdiriterator-follow-symlinks.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kconfigwidgets/default.nix b/pkgs/desktops/kde-5/frameworks-5.24/kconfigwidgets/default.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kconfigwidgets/default.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kconfigwidgets/default.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kcoreaddons.nix b/pkgs/desktops/kde-5/frameworks-5.24/kcoreaddons.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kcoreaddons.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kcoreaddons.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kcrash.nix b/pkgs/desktops/kde-5/frameworks-5.24/kcrash.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kcrash.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kcrash.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kdbusaddons.nix b/pkgs/desktops/kde-5/frameworks-5.24/kdbusaddons.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kdbusaddons.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kdbusaddons.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kdeclarative.nix b/pkgs/desktops/kde-5/frameworks-5.24/kdeclarative.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kdeclarative.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kdeclarative.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kded.nix b/pkgs/desktops/kde-5/frameworks-5.24/kded.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kded.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kded.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kdelibs4support/default.nix b/pkgs/desktops/kde-5/frameworks-5.24/kdelibs4support/default.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kdelibs4support/default.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kdelibs4support/default.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kdelibs4support/nix-kde-include-dir.patch b/pkgs/desktops/kde-5/frameworks-5.24/kdelibs4support/nix-kde-include-dir.patch similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kdelibs4support/nix-kde-include-dir.patch rename to pkgs/desktops/kde-5/frameworks-5.24/kdelibs4support/nix-kde-include-dir.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kdelibs4support/series b/pkgs/desktops/kde-5/frameworks-5.24/kdelibs4support/series similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kdelibs4support/series rename to pkgs/desktops/kde-5/frameworks-5.24/kdelibs4support/series diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kdelibs4support/setup-hook.sh b/pkgs/desktops/kde-5/frameworks-5.24/kdelibs4support/setup-hook.sh similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kdelibs4support/setup-hook.sh rename to pkgs/desktops/kde-5/frameworks-5.24/kdelibs4support/setup-hook.sh diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kdesignerplugin.nix b/pkgs/desktops/kde-5/frameworks-5.24/kdesignerplugin.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kdesignerplugin.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kdesignerplugin.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kdesu.nix b/pkgs/desktops/kde-5/frameworks-5.24/kdesu.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kdesu.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kdesu.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kdnssd.nix b/pkgs/desktops/kde-5/frameworks-5.24/kdnssd.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kdnssd.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kdnssd.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kdoctools/default.nix b/pkgs/desktops/kde-5/frameworks-5.24/kdoctools/default.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kdoctools/default.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kdoctools/default.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kdoctools/kdoctools-no-find-docbook-xml.patch b/pkgs/desktops/kde-5/frameworks-5.24/kdoctools/kdoctools-no-find-docbook-xml.patch similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kdoctools/kdoctools-no-find-docbook-xml.patch rename to pkgs/desktops/kde-5/frameworks-5.24/kdoctools/kdoctools-no-find-docbook-xml.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kdoctools/setup-hook.sh b/pkgs/desktops/kde-5/frameworks-5.24/kdoctools/setup-hook.sh similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kdoctools/setup-hook.sh rename to pkgs/desktops/kde-5/frameworks-5.24/kdoctools/setup-hook.sh diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kemoticons.nix b/pkgs/desktops/kde-5/frameworks-5.24/kemoticons.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kemoticons.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kemoticons.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kfilemetadata/cmake-install-paths.patch b/pkgs/desktops/kde-5/frameworks-5.24/kfilemetadata/cmake-install-paths.patch similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kfilemetadata/cmake-install-paths.patch rename to pkgs/desktops/kde-5/frameworks-5.24/kfilemetadata/cmake-install-paths.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kfilemetadata/default.nix b/pkgs/desktops/kde-5/frameworks-5.24/kfilemetadata/default.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kfilemetadata/default.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kfilemetadata/default.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kfilemetadata/series b/pkgs/desktops/kde-5/frameworks-5.24/kfilemetadata/series similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kfilemetadata/series rename to pkgs/desktops/kde-5/frameworks-5.24/kfilemetadata/series diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kglobalaccel.nix b/pkgs/desktops/kde-5/frameworks-5.24/kglobalaccel.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kglobalaccel.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kglobalaccel.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kguiaddons.nix b/pkgs/desktops/kde-5/frameworks-5.24/kguiaddons.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kguiaddons.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kguiaddons.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/khtml.nix b/pkgs/desktops/kde-5/frameworks-5.24/khtml.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/khtml.nix rename to pkgs/desktops/kde-5/frameworks-5.24/khtml.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/ki18n.nix b/pkgs/desktops/kde-5/frameworks-5.24/ki18n.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/ki18n.nix rename to pkgs/desktops/kde-5/frameworks-5.24/ki18n.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kiconthemes/default-theme-breeze.patch b/pkgs/desktops/kde-5/frameworks-5.24/kiconthemes/default-theme-breeze.patch similarity index 91% rename from pkgs/desktops/kde-5/frameworks-5.22/kiconthemes/default-theme-breeze.patch rename to pkgs/desktops/kde-5/frameworks-5.24/kiconthemes/default-theme-breeze.patch index 5b3b15d5d5b..f7cb0ea3aac 100644 --- a/pkgs/desktops/kde-5/frameworks-5.22/kiconthemes/default-theme-breeze.patch +++ b/pkgs/desktops/kde-5/frameworks-5.24/kiconthemes/default-theme-breeze.patch @@ -6,7 +6,7 @@ Index: kiconthemes-5.17.0/src/kicontheme.cpp // static QString KIconTheme::defaultThemeName() { -- return QStringLiteral("oxygen"); +- return QStringLiteral("hicolor"); + return QStringLiteral("breeze"); } diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kiconthemes/default.nix b/pkgs/desktops/kde-5/frameworks-5.24/kiconthemes/default.nix similarity index 70% rename from pkgs/desktops/kde-5/frameworks-5.22/kiconthemes/default.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kiconthemes/default.nix index 4e868480636..825b15c8177 100644 --- a/pkgs/desktops/kde-5/frameworks-5.22/kiconthemes/default.nix +++ b/pkgs/desktops/kde-5/frameworks-5.24/kiconthemes/default.nix @@ -1,6 +1,6 @@ { kdeFramework, lib, copyPathsToStore , extra-cmake-modules, makeQtWrapper -, kconfigwidgets, ki18n, breeze-icons, kitemviews, qtsvg +, karchive, kconfigwidgets, ki18n, breeze-icons, kitemviews, qtsvg }: kdeFramework { @@ -8,7 +8,7 @@ kdeFramework { meta = { maintainers = [ lib.maintainers.ttuegel ]; }; patches = copyPathsToStore (lib.readPathsFromFile ./. ./series); nativeBuildInputs = [ extra-cmake-modules makeQtWrapper ]; - propagatedBuildInputs = [ breeze-icons kconfigwidgets ki18n kitemviews qtsvg ]; + propagatedBuildInputs = [ breeze-icons kconfigwidgets karchive ki18n kitemviews qtsvg ]; postInstall = '' wrapQtProgram "$out/bin/kiconfinder5" ''; diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kiconthemes/series b/pkgs/desktops/kde-5/frameworks-5.24/kiconthemes/series similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kiconthemes/series rename to pkgs/desktops/kde-5/frameworks-5.24/kiconthemes/series diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kidletime.nix b/pkgs/desktops/kde-5/frameworks-5.24/kidletime.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kidletime.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kidletime.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kimageformats.nix b/pkgs/desktops/kde-5/frameworks-5.24/kimageformats.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kimageformats.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kimageformats.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kinit/default.nix b/pkgs/desktops/kde-5/frameworks-5.24/kinit/default.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kinit/default.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kinit/default.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kinit/kinit-libpath.patch b/pkgs/desktops/kde-5/frameworks-5.24/kinit/kinit-libpath.patch similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kinit/kinit-libpath.patch rename to pkgs/desktops/kde-5/frameworks-5.24/kinit/kinit-libpath.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kinit/series b/pkgs/desktops/kde-5/frameworks-5.24/kinit/series similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kinit/series rename to pkgs/desktops/kde-5/frameworks-5.24/kinit/series diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kio/default.nix b/pkgs/desktops/kde-5/frameworks-5.24/kio/default.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kio/default.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kio/default.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kio/samba-search-path.patch b/pkgs/desktops/kde-5/frameworks-5.24/kio/samba-search-path.patch similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kio/samba-search-path.patch rename to pkgs/desktops/kde-5/frameworks-5.24/kio/samba-search-path.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kio/series b/pkgs/desktops/kde-5/frameworks-5.24/kio/series similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kio/series rename to pkgs/desktops/kde-5/frameworks-5.24/kio/series diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kitemmodels.nix b/pkgs/desktops/kde-5/frameworks-5.24/kitemmodels.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kitemmodels.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kitemmodels.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kitemviews.nix b/pkgs/desktops/kde-5/frameworks-5.24/kitemviews.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kitemviews.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kitemviews.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kjobwidgets.nix b/pkgs/desktops/kde-5/frameworks-5.24/kjobwidgets.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kjobwidgets.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kjobwidgets.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kjs.nix b/pkgs/desktops/kde-5/frameworks-5.24/kjs.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kjs.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kjs.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kjsembed.nix b/pkgs/desktops/kde-5/frameworks-5.24/kjsembed.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kjsembed.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kjsembed.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kmediaplayer.nix b/pkgs/desktops/kde-5/frameworks-5.24/kmediaplayer.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kmediaplayer.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kmediaplayer.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/knewstuff.nix b/pkgs/desktops/kde-5/frameworks-5.24/knewstuff.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/knewstuff.nix rename to pkgs/desktops/kde-5/frameworks-5.24/knewstuff.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/knotifications.nix b/pkgs/desktops/kde-5/frameworks-5.24/knotifications.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/knotifications.nix rename to pkgs/desktops/kde-5/frameworks-5.24/knotifications.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/knotifyconfig.nix b/pkgs/desktops/kde-5/frameworks-5.24/knotifyconfig.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/knotifyconfig.nix rename to pkgs/desktops/kde-5/frameworks-5.24/knotifyconfig.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kpackage/allow-external-paths.patch b/pkgs/desktops/kde-5/frameworks-5.24/kpackage/allow-external-paths.patch similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kpackage/allow-external-paths.patch rename to pkgs/desktops/kde-5/frameworks-5.24/kpackage/allow-external-paths.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kpackage/default.nix b/pkgs/desktops/kde-5/frameworks-5.24/kpackage/default.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kpackage/default.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kpackage/default.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kpackage/qdiriterator-follow-symlinks.patch b/pkgs/desktops/kde-5/frameworks-5.24/kpackage/qdiriterator-follow-symlinks.patch similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kpackage/qdiriterator-follow-symlinks.patch rename to pkgs/desktops/kde-5/frameworks-5.24/kpackage/qdiriterator-follow-symlinks.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kpackage/series b/pkgs/desktops/kde-5/frameworks-5.24/kpackage/series similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kpackage/series rename to pkgs/desktops/kde-5/frameworks-5.24/kpackage/series diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kparts.nix b/pkgs/desktops/kde-5/frameworks-5.24/kparts.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kparts.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kparts.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kpeople.nix b/pkgs/desktops/kde-5/frameworks-5.24/kpeople.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kpeople.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kpeople.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kplotting.nix b/pkgs/desktops/kde-5/frameworks-5.24/kplotting.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kplotting.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kplotting.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kpty.nix b/pkgs/desktops/kde-5/frameworks-5.24/kpty.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kpty.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kpty.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kross.nix b/pkgs/desktops/kde-5/frameworks-5.24/kross.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kross.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kross.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/krunner.nix b/pkgs/desktops/kde-5/frameworks-5.24/krunner.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/krunner.nix rename to pkgs/desktops/kde-5/frameworks-5.24/krunner.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kservice/default.nix b/pkgs/desktops/kde-5/frameworks-5.24/kservice/default.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kservice/default.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kservice/default.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kservice/no-canonicalize-path.patch b/pkgs/desktops/kde-5/frameworks-5.24/kservice/no-canonicalize-path.patch similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kservice/no-canonicalize-path.patch rename to pkgs/desktops/kde-5/frameworks-5.24/kservice/no-canonicalize-path.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kservice/qdiriterator-follow-symlinks.patch b/pkgs/desktops/kde-5/frameworks-5.24/kservice/qdiriterator-follow-symlinks.patch similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kservice/qdiriterator-follow-symlinks.patch rename to pkgs/desktops/kde-5/frameworks-5.24/kservice/qdiriterator-follow-symlinks.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kservice/series b/pkgs/desktops/kde-5/frameworks-5.24/kservice/series similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kservice/series rename to pkgs/desktops/kde-5/frameworks-5.24/kservice/series diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kservice/setup-hook.sh b/pkgs/desktops/kde-5/frameworks-5.24/kservice/setup-hook.sh similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kservice/setup-hook.sh rename to pkgs/desktops/kde-5/frameworks-5.24/kservice/setup-hook.sh diff --git a/pkgs/desktops/kde-5/frameworks-5.22/ktexteditor/default.nix b/pkgs/desktops/kde-5/frameworks-5.24/ktexteditor/default.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/ktexteditor/default.nix rename to pkgs/desktops/kde-5/frameworks-5.24/ktexteditor/default.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/ktexteditor/no-qcoreapplication.patch b/pkgs/desktops/kde-5/frameworks-5.24/ktexteditor/no-qcoreapplication.patch similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/ktexteditor/no-qcoreapplication.patch rename to pkgs/desktops/kde-5/frameworks-5.24/ktexteditor/no-qcoreapplication.patch diff --git a/pkgs/desktops/kde-5/frameworks-5.22/ktexteditor/series b/pkgs/desktops/kde-5/frameworks-5.24/ktexteditor/series similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/ktexteditor/series rename to pkgs/desktops/kde-5/frameworks-5.24/ktexteditor/series diff --git a/pkgs/desktops/kde-5/frameworks-5.22/ktextwidgets.nix b/pkgs/desktops/kde-5/frameworks-5.24/ktextwidgets.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/ktextwidgets.nix rename to pkgs/desktops/kde-5/frameworks-5.24/ktextwidgets.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kunitconversion.nix b/pkgs/desktops/kde-5/frameworks-5.24/kunitconversion.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kunitconversion.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kunitconversion.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kwallet.nix b/pkgs/desktops/kde-5/frameworks-5.24/kwallet.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kwallet.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kwallet.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.24/kwayland.nix b/pkgs/desktops/kde-5/frameworks-5.24/kwayland.nix new file mode 100644 index 00000000000..db332841308 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.24/kwayland.nix @@ -0,0 +1,14 @@ +{ kdeFramework +, extra-cmake-modules +, wayland +}: + +kdeFramework { + name = "kwayland"; + nativeBuildInputs = [ + extra-cmake-modules + ]; + propagatedBuildInputs = [ + wayland + ]; +} diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kwidgetsaddons.nix b/pkgs/desktops/kde-5/frameworks-5.24/kwidgetsaddons.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kwidgetsaddons.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kwidgetsaddons.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kwindowsystem.nix b/pkgs/desktops/kde-5/frameworks-5.24/kwindowsystem.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kwindowsystem.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kwindowsystem.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kxmlgui.nix b/pkgs/desktops/kde-5/frameworks-5.24/kxmlgui.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kxmlgui.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kxmlgui.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/kxmlrpcclient.nix b/pkgs/desktops/kde-5/frameworks-5.24/kxmlrpcclient.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/kxmlrpcclient.nix rename to pkgs/desktops/kde-5/frameworks-5.24/kxmlrpcclient.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/modemmanager-qt.nix b/pkgs/desktops/kde-5/frameworks-5.24/modemmanager-qt.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/modemmanager-qt.nix rename to pkgs/desktops/kde-5/frameworks-5.24/modemmanager-qt.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/networkmanager-qt.nix b/pkgs/desktops/kde-5/frameworks-5.24/networkmanager-qt.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/networkmanager-qt.nix rename to pkgs/desktops/kde-5/frameworks-5.24/networkmanager-qt.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/oxygen-icons5.nix b/pkgs/desktops/kde-5/frameworks-5.24/oxygen-icons5.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/oxygen-icons5.nix rename to pkgs/desktops/kde-5/frameworks-5.24/oxygen-icons5.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/plasma-framework.nix b/pkgs/desktops/kde-5/frameworks-5.24/plasma-framework.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/plasma-framework.nix rename to pkgs/desktops/kde-5/frameworks-5.24/plasma-framework.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/solid.nix b/pkgs/desktops/kde-5/frameworks-5.24/solid.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/solid.nix rename to pkgs/desktops/kde-5/frameworks-5.24/solid.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.22/sonnet.nix b/pkgs/desktops/kde-5/frameworks-5.24/sonnet.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/sonnet.nix rename to pkgs/desktops/kde-5/frameworks-5.24/sonnet.nix diff --git a/pkgs/desktops/kde-5/frameworks-5.24/srcs.nix b/pkgs/desktops/kde-5/frameworks-5.24/srcs.nix new file mode 100644 index 00000000000..5c48ece1e99 --- /dev/null +++ b/pkgs/desktops/kde-5/frameworks-5.24/srcs.nix @@ -0,0 +1,581 @@ +# DO NOT EDIT! This file is generated automatically by fetchsrcs.sh +{ fetchurl, mirror }: + +{ + attica = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/attica-5.24.0.tar.xz"; + sha256 = "0d368gmds7m7k5pnn625wqsij38cvxk1gkm4zv24phnk9f67v7cw"; + name = "attica-5.24.0.tar.xz"; + }; + }; + baloo = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/baloo-5.24.0.tar.xz"; + sha256 = "1ayfdg6j9lvas17ryjdv4a0kaj6vw3bxfy2x9nadl0gkc9pak4nh"; + name = "baloo-5.24.0.tar.xz"; + }; + }; + bluez-qt = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/bluez-qt-5.24.0.tar.xz"; + sha256 = "0gy0m7lcwwklf021l5i3v7j0cl7qz7cgvzrwpj87ix3kyw5xs80z"; + name = "bluez-qt-5.24.0.tar.xz"; + }; + }; + breeze-icons = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/breeze-icons-5.24.0.tar.xz"; + sha256 = "1dh7bijx99sdb3vn6394wmm5cq0fvvmz8h17sx4hakmbga849cx2"; + name = "breeze-icons-5.24.0.tar.xz"; + }; + }; + extra-cmake-modules = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/extra-cmake-modules-5.24.0.tar.xz"; + sha256 = "01m12ml529pwr2sal951r5z6yb1rwbpid1y4k14nlk3xqgmdakwa"; + name = "extra-cmake-modules-5.24.0.tar.xz"; + }; + }; + frameworkintegration = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/frameworkintegration-5.24.0.tar.xz"; + sha256 = "0brqgq05m06d98qqvyh30727f5z7hlzxgqysfhfvqzcf3x7f6yzj"; + name = "frameworkintegration-5.24.0.tar.xz"; + }; + }; + kactivities = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kactivities-5.24.0.tar.xz"; + sha256 = "0s8g43zk6h35bq1am1nnhj0qvmhd6kz42gs8l7ybga0367jghzhf"; + name = "kactivities-5.24.0.tar.xz"; + }; + }; + kactivities-stats = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kactivities-stats-5.24.0.tar.xz"; + sha256 = "1z3xvpifxbd05b2xaxxyiypcpid7jgjb1qpwiyjj1gnfp4rjmzpc"; + name = "kactivities-stats-5.24.0.tar.xz"; + }; + }; + kapidox = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kapidox-5.24.0.tar.xz"; + sha256 = "19a7alvn71nxflsyi7y3hghx1iw04qqc77qy54mcxcpkiyvpsggf"; + name = "kapidox-5.24.0.tar.xz"; + }; + }; + karchive = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/karchive-5.24.0.tar.xz"; + sha256 = "1n5nfhrfvqnrdjgjjy7arqik4fya5bp3dvxa16mlhqr19azkavzq"; + name = "karchive-5.24.0.tar.xz"; + }; + }; + kauth = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kauth-5.24.0.tar.xz"; + sha256 = "14sjjfgl3arqyqcr77w9qhpnd8mrnh53r5rfss6bvlk26bmihs49"; + name = "kauth-5.24.0.tar.xz"; + }; + }; + kbookmarks = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kbookmarks-5.24.0.tar.xz"; + sha256 = "10d8dnhvbrwp0dbmz93cqfdff6ir8iy3yiwaf9ihj6ma124qlyjn"; + name = "kbookmarks-5.24.0.tar.xz"; + }; + }; + kcmutils = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kcmutils-5.24.0.tar.xz"; + sha256 = "0aws1c76s6wbp0xpr6qv6cfwq8dw82v00pkf9gy84sbxknwjnizk"; + name = "kcmutils-5.24.0.tar.xz"; + }; + }; + kcodecs = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kcodecs-5.24.0.tar.xz"; + sha256 = "1qpzjh3qc2zz80j2bmlinipbispms14k9bmqw8v61zhi6in9z14c"; + name = "kcodecs-5.24.0.tar.xz"; + }; + }; + kcompletion = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kcompletion-5.24.0.tar.xz"; + sha256 = "1qln0v31gn86kzwhnkijr1ydf129n32jmiybbckrp4w6hyx6xfxv"; + name = "kcompletion-5.24.0.tar.xz"; + }; + }; + kconfig = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kconfig-5.24.0.tar.xz"; + sha256 = "1dc2i6icyigw1j6qxgdza6j2g8afh390qmxsa2a54mwl84fkfmxv"; + name = "kconfig-5.24.0.tar.xz"; + }; + }; + kconfigwidgets = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kconfigwidgets-5.24.0.tar.xz"; + sha256 = "0v25r50gh5i984lzlv0rradghglcfqf0gsfmnkn23h87b86fm9l2"; + name = "kconfigwidgets-5.24.0.tar.xz"; + }; + }; + kcoreaddons = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kcoreaddons-5.24.0.tar.xz"; + sha256 = "06sx7by3nvaridnavj5p0bxv4nh47n708jlacfw8ydaikmd9i03h"; + name = "kcoreaddons-5.24.0.tar.xz"; + }; + }; + kcrash = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kcrash-5.24.0.tar.xz"; + sha256 = "1lahgfwlp9b5rsl244kzp7rsl4ybv1q4qlvpv0xxz5ygssk48l0w"; + name = "kcrash-5.24.0.tar.xz"; + }; + }; + kdbusaddons = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kdbusaddons-5.24.0.tar.xz"; + sha256 = "183nxqrhz4qk4qfp1w4an0scp2dvfqcaqbpg4cgbgk0z590q0pkk"; + name = "kdbusaddons-5.24.0.tar.xz"; + }; + }; + kdeclarative = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kdeclarative-5.24.0.tar.xz"; + sha256 = "00ik9q1r6y6g5rkdq96yczgrxmcg85x00lipyljvc3x6xw6bixbz"; + name = "kdeclarative-5.24.0.tar.xz"; + }; + }; + kded = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kded-5.24.0.tar.xz"; + sha256 = "0ngpxdxb596myn5r4kjxahx195bwklq33yvgjvcbxi2clg2wccaj"; + name = "kded-5.24.0.tar.xz"; + }; + }; + kdelibs4support = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/portingAids/kdelibs4support-5.24.0.tar.xz"; + sha256 = "12sis63mq6i372bhx64x8y0pw6czrv64hdhjscx27cx65a4ir451"; + name = "kdelibs4support-5.24.0.tar.xz"; + }; + }; + kdesignerplugin = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kdesignerplugin-5.24.0.tar.xz"; + sha256 = "0i0s8pwwhwh5hyyvkv0cnj0yyv0g5bnm5xw18knv2yagiy4bvb2j"; + name = "kdesignerplugin-5.24.0.tar.xz"; + }; + }; + kdesu = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kdesu-5.24.0.tar.xz"; + sha256 = "1ivcnhgvq75xvl0w9g7m45qzallz42ijaq0n1ap09lpdfmjbnrxk"; + name = "kdesu-5.24.0.tar.xz"; + }; + }; + kdewebkit = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kdewebkit-5.24.0.tar.xz"; + sha256 = "1xq36zv7vnllhqbisl6kcna8z6qzlvy29a47g0hbzgl8rc93qskf"; + name = "kdewebkit-5.24.0.tar.xz"; + }; + }; + kdnssd = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kdnssd-5.24.0.tar.xz"; + sha256 = "01b650g031apxc3vd2m91g2fxqk9l8ap67z6rafniphfwy8i0d5m"; + name = "kdnssd-5.24.0.tar.xz"; + }; + }; + kdoctools = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kdoctools-5.24.0.tar.xz"; + sha256 = "1r129kpq0d11b9l87cqbal6fm5ycwhsps1g3r1a7jsxz70scz4ri"; + name = "kdoctools-5.24.0.tar.xz"; + }; + }; + kemoticons = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kemoticons-5.24.0.tar.xz"; + sha256 = "0gmc52k5jb553jvzxwsq79v5y87kgav8i5qqv4bqc9yl7p866zhn"; + name = "kemoticons-5.24.0.tar.xz"; + }; + }; + kfilemetadata = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kfilemetadata-5.24.0.tar.xz"; + sha256 = "02n9qhpr0jlwdgdbid0k34abhs3bzhlsa56ybl5dq1aib6izk1sy"; + name = "kfilemetadata-5.24.0.tar.xz"; + }; + }; + kglobalaccel = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kglobalaccel-5.24.0.tar.xz"; + sha256 = "123v0ld1q88hbm3d0mqgq6lcivfkqh7pbz4hb4n76ab5v43qc15c"; + name = "kglobalaccel-5.24.0.tar.xz"; + }; + }; + kguiaddons = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kguiaddons-5.24.0.tar.xz"; + sha256 = "0ig96ah20ybg5rwpswj9va2klvkh2q4amwxmgy3z4niwfsm2g3ic"; + name = "kguiaddons-5.24.0.tar.xz"; + }; + }; + khtml = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/portingAids/khtml-5.24.0.tar.xz"; + sha256 = "0f19m8ycaa41p61i0j43gafn364abral8dbiqhr0qcj33nsa4134"; + name = "khtml-5.24.0.tar.xz"; + }; + }; + ki18n = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/ki18n-5.24.0.tar.xz"; + sha256 = "0cw24spmwsqa3ppkw03cm6yjd3sfll0dbbk2ya76fd4nw9hb00dv"; + name = "ki18n-5.24.0.tar.xz"; + }; + }; + kiconthemes = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kiconthemes-5.24.0.tar.xz"; + sha256 = "1k5zig2n6wzfyv6pc8dpas2862mxjyxxza00m31myrfw5i1a1h6m"; + name = "kiconthemes-5.24.0.tar.xz"; + }; + }; + kidletime = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kidletime-5.24.0.tar.xz"; + sha256 = "09jsj0pj27h93nr8v46savs6b93h8frydinfr7wlijkvpsl02jb4"; + name = "kidletime-5.24.0.tar.xz"; + }; + }; + kimageformats = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kimageformats-5.24.0.tar.xz"; + sha256 = "12mhgckmhnvcnm8k7mk15mipxrnm7i9ip7ykbjh8nxjiwyk1pmwc"; + name = "kimageformats-5.24.0.tar.xz"; + }; + }; + kinit = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kinit-5.24.0.tar.xz"; + sha256 = "1i7l6gid5hrrfglw1c461gpjg51dwz7cl4lx7ll8vz2ha8mz4d3n"; + name = "kinit-5.24.0.tar.xz"; + }; + }; + kio = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kio-5.24.0.tar.xz"; + sha256 = "0zncj9yf8zaylazlwvirylpk9vki3j889b1x2s0aav54vvj7vdi5"; + name = "kio-5.24.0.tar.xz"; + }; + }; + kitemmodels = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kitemmodels-5.24.0.tar.xz"; + sha256 = "1s1p4nw1pqdzbdwvjnka17p9avf00wadr437p4f96md1lvh3sh69"; + name = "kitemmodels-5.24.0.tar.xz"; + }; + }; + kitemviews = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kitemviews-5.24.0.tar.xz"; + sha256 = "0y3fx9hk1x27arrmwfzq783a44cs7p8dpmhxrwzh0di4mwa8jafw"; + name = "kitemviews-5.24.0.tar.xz"; + }; + }; + kjobwidgets = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kjobwidgets-5.24.0.tar.xz"; + sha256 = "1mcvrz66xcqjgbp08zpqsf943cm462wbqm5gh719p9s25hx8hwrc"; + name = "kjobwidgets-5.24.0.tar.xz"; + }; + }; + kjs = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/portingAids/kjs-5.24.0.tar.xz"; + sha256 = "1qd5sdfrdg7id0g5mwf3ijwlfvh3g36kwnckw6kwns1nf4q6gwlz"; + name = "kjs-5.24.0.tar.xz"; + }; + }; + kjsembed = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/portingAids/kjsembed-5.24.0.tar.xz"; + sha256 = "1nx8ch8mzd1jyx8pd46364ij0bsbsclbipbgr6jm9aak3n13b0nw"; + name = "kjsembed-5.24.0.tar.xz"; + }; + }; + kmediaplayer = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/portingAids/kmediaplayer-5.24.0.tar.xz"; + sha256 = "147xrffkvkyv3h8ighc1vlwksysfrqc0g55k8zrd72l6r0kjjh0p"; + name = "kmediaplayer-5.24.0.tar.xz"; + }; + }; + knewstuff = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/knewstuff-5.24.0.tar.xz"; + sha256 = "0xdv3wh3100vzsx8p2zihy1dvh0wzfmrjkjq71v8igwz5d291zsj"; + name = "knewstuff-5.24.0.tar.xz"; + }; + }; + knotifications = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/knotifications-5.24.0.tar.xz"; + sha256 = "0qryp41phnpx4r9wa6rfhmnzy7nxl0ijnyrafadf2n2xb53ipkpa"; + name = "knotifications-5.24.0.tar.xz"; + }; + }; + knotifyconfig = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/knotifyconfig-5.24.0.tar.xz"; + sha256 = "1dij841fnqia4p44x2wnpdvl8cn3nkj833y0fah50fmipjc8r70b"; + name = "knotifyconfig-5.24.0.tar.xz"; + }; + }; + kpackage = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kpackage-5.24.0.tar.xz"; + sha256 = "03aqzkpqz3c1v4qgwfbs3ncdbapiyg7psrkhxqv3z48rklavk1ri"; + name = "kpackage-5.24.0.tar.xz"; + }; + }; + kparts = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kparts-5.24.0.tar.xz"; + sha256 = "0z7qr93aq02i7g7cxgypx2rzlnsvbsx9cjblb0ijmad1nb8w3mix"; + name = "kparts-5.24.0.tar.xz"; + }; + }; + kpeople = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kpeople-5.24.0.tar.xz"; + sha256 = "0iknzkj23y927xh24kw5sjxyirhy6pkmfcmmgwzd78rba8a54qp2"; + name = "kpeople-5.24.0.tar.xz"; + }; + }; + kplotting = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kplotting-5.24.0.tar.xz"; + sha256 = "0gpypq9kh4b5s6dc7py3m117k3nbxczsfkxgxd9zxvr35kig7ya2"; + name = "kplotting-5.24.0.tar.xz"; + }; + }; + kpty = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kpty-5.24.0.tar.xz"; + sha256 = "1ybvdzqpa53kkki9p5da0ff9x3c63rmksk7865wqwlgy8apzi2fs"; + name = "kpty-5.24.0.tar.xz"; + }; + }; + kross = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/portingAids/kross-5.24.0.tar.xz"; + sha256 = "0f29dpmfcj173vqnmrbpvdmfmzzbfsds1lbl546qfx9a5acdpf2p"; + name = "kross-5.24.0.tar.xz"; + }; + }; + krunner = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/krunner-5.24.0.tar.xz"; + sha256 = "0ff87ijjd47jxf6zw2ggqgngnbyx1rj59wdfgy5wbi3acws6bafl"; + name = "krunner-5.24.0.tar.xz"; + }; + }; + kservice = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kservice-5.24.0.tar.xz"; + sha256 = "0w0nsg64d6xhgijr2vh0j5p544qi0q55jpqa9v9mv956zrrdssdk"; + name = "kservice-5.24.0.tar.xz"; + }; + }; + ktexteditor = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/ktexteditor-5.24.0.tar.xz"; + sha256 = "1ykj1kvm7k1vxb1w235d5hp2swwdqjyp2y4c3pxbvkn999h9x5q5"; + name = "ktexteditor-5.24.0.tar.xz"; + }; + }; + ktextwidgets = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/ktextwidgets-5.24.0.tar.xz"; + sha256 = "1q10xav2gkii6s3m31c9xvxf1988l7k2lpib6pyhgsidflmwjm02"; + name = "ktextwidgets-5.24.0.tar.xz"; + }; + }; + kunitconversion = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kunitconversion-5.24.0.tar.xz"; + sha256 = "03dfjn4lm6sl2zcdrvw0b9irzvkyc2w2j5xixag5j8nw373742h8"; + name = "kunitconversion-5.24.0.tar.xz"; + }; + }; + kwallet = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kwallet-5.24.0.tar.xz"; + sha256 = "0zad5h4vsvcl2xv3vxsjwh42b71xbp6x6rj8cvmw8szr2rzz9gsx"; + name = "kwallet-5.24.0.tar.xz"; + }; + }; + kwayland = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kwayland-5.24.0.tar.xz"; + sha256 = "1h5anbqrxcl1s8kx1l53vcsfr8ifamcjqd47dk8a7lwr1ga6myq2"; + name = "kwayland-5.24.0.tar.xz"; + }; + }; + kwidgetsaddons = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kwidgetsaddons-5.24.0.tar.xz"; + sha256 = "1kppx0ppfhnb6q6sijs2dffyar86wkkx8miqavsjsgw1l2wiymcx"; + name = "kwidgetsaddons-5.24.0.tar.xz"; + }; + }; + kwindowsystem = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kwindowsystem-5.24.0.tar.xz"; + sha256 = "0w5ym8msl80v3q65253pdpj9f1fmb658rnndlbkrgpmm1rv1n6dz"; + name = "kwindowsystem-5.24.0.tar.xz"; + }; + }; + kxmlgui = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kxmlgui-5.24.0.tar.xz"; + sha256 = "1qhixldhhcbklmrpjh67440h1rrzqy70h57hw6ialjdsr3pl6ihp"; + name = "kxmlgui-5.24.0.tar.xz"; + }; + }; + kxmlrpcclient = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/kxmlrpcclient-5.24.0.tar.xz"; + sha256 = "06ap6ipzqimz1rfrcr7z8zc7idy7sg4a97dws7h52i34ms7jqnc8"; + name = "kxmlrpcclient-5.24.0.tar.xz"; + }; + }; + modemmanager-qt = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/modemmanager-qt-5.24.0.tar.xz"; + sha256 = "0khz5bf84xxa8aqpzwb6x839xx6dbiadwqhyj7cvgha65fh2xinh"; + name = "modemmanager-qt-5.24.0.tar.xz"; + }; + }; + networkmanager-qt = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/networkmanager-qt-5.24.0.tar.xz"; + sha256 = "11wy0ds0hqbba900ggkcxjfqc9n65xlzc3h1zv9433nn5d75v6fy"; + name = "networkmanager-qt-5.24.0.tar.xz"; + }; + }; + oxygen-icons5 = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/oxygen-icons5-5.24.0.tar.xz"; + sha256 = "1c7spjbzk04725vv0ly7vmyvwa96mfa5ki2pm146ld4888a896wm"; + name = "oxygen-icons5-5.24.0.tar.xz"; + }; + }; + plasma-framework = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/plasma-framework-5.24.0.tar.xz"; + sha256 = "0981vm00541dzihlr1fsax05biwp2ddpwjrmvnfysx5jagdc65cb"; + name = "plasma-framework-5.24.0.tar.xz"; + }; + }; + solid = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/solid-5.24.0.tar.xz"; + sha256 = "00wvsxcnvhdx7ijzpcz5wny2ypkxr1drdpr4yvawgpwa678l1107"; + name = "solid-5.24.0.tar.xz"; + }; + }; + sonnet = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/sonnet-5.24.0.tar.xz"; + sha256 = "152xz7fb1iwhb5w1n4xqvc648iaxi0inrl4kavxcsir61das1xyl"; + name = "sonnet-5.24.0.tar.xz"; + }; + }; + threadweaver = { + version = "5.24.0"; + src = fetchurl { + url = "${mirror}/stable/frameworks/5.24/threadweaver-5.24.0.tar.xz"; + sha256 = "02g60zr9cc4bg1p90giich4n0qvqaiakz0y94qrnyj9f7fg0yksl"; + name = "threadweaver-5.24.0.tar.xz"; + }; + }; +} diff --git a/pkgs/desktops/kde-5/frameworks-5.22/threadweaver.nix b/pkgs/desktops/kde-5/frameworks-5.24/threadweaver.nix similarity index 100% rename from pkgs/desktops/kde-5/frameworks-5.22/threadweaver.nix rename to pkgs/desktops/kde-5/frameworks-5.24/threadweaver.nix diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index ae9d92c908e..7cc039b6a94 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16142,7 +16142,7 @@ in kde5 = let - frameworks = import ../desktops/kde-5/frameworks-5.22 { inherit pkgs; }; + frameworks = import ../desktops/kde-5/frameworks-5.24 { inherit pkgs; }; plasma = import ../desktops/kde-5/plasma-5.7 { inherit pkgs; }; applications = import ../desktops/kde-5/applications-16.04 { inherit pkgs; }; merged = self: From dde259dfb5a0787b28e260da7575079bbabad6c3 Mon Sep 17 00:00:00 2001 From: Franz Pletz Date: Tue, 12 Jul 2016 20:56:50 +0200 Subject: [PATCH 124/144] linux: Add patch to fix CVE-2016-5829 (#16824) Fixed for all available 4.x series kernels. From CVE-2016-5829: Multiple heap-based buffer overflows in the hiddev_ioctl_usage function in drivers/hid/usbhid/hiddev.c in the Linux kernel through 4.6.3 allow local users to cause a denial of service or possibly have unspecified other impact via a crafted (1) HIDIOCGUSAGES or (2) HIDIOCSUSAGES ioctl call. --- pkgs/os-specific/linux/kernel/patches.nix | 10 +++++++++- pkgs/top-level/all-packages.nix | 23 +++++++++++++++++++---- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index a5de48298e1..4f8d57acc17 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, pkgs }: +{ stdenv, fetchurl, fetchpatch, pkgs }: let @@ -140,4 +140,12 @@ rec { { name = "qat_common_Makefile"; patch = ./qat_common_Makefile.patch; }; + + hiddev_CVE_2016_5829 = + { name = "hiddev_CVE_2016_5829"; + patch = fetchpatch { + url = "https://sources.debian.net/data/main/l/linux/4.6.3-1/debian/patches/bugfix/all/HID-hiddev-validate-num_values-for-HIDIOCGUSAGES-HID.patch"; + sha256 = "14rm1qr87p7a5prz8g5fwbpxzdp3ighj095x8rvhm8csm20wspyy"; + }; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 38d7250d280..4d40567f262 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10938,7 +10938,10 @@ in }; linux_4_1 = callPackage ../os-specific/linux/kernel/linux-4.1.nix { - kernelPatches = [ kernelPatches.bridge_stp_helper ] + kernelPatches = + [ kernelPatches.bridge_stp_helper + kernelPatches.hiddev_CVE_2016_5829 + ] ++ lib.optionals ((platform.kernelArch or null) == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill @@ -10947,7 +10950,11 @@ in }; linux_4_4 = callPackage ../os-specific/linux/kernel/linux-4.4.nix { - kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.qat_common_Makefile ] + kernelPatches = + [ kernelPatches.bridge_stp_helper + kernelPatches.qat_common_Makefile + kernelPatches.hiddev_CVE_2016_5829 + ] ++ lib.optionals ((platform.kernelArch or null) == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill @@ -10956,7 +10963,11 @@ in }; linux_4_5 = callPackage ../os-specific/linux/kernel/linux-4.5.nix { - kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.qat_common_Makefile ] + kernelPatches = + [ kernelPatches.bridge_stp_helper + kernelPatches.qat_common_Makefile + kernelPatches.hiddev_CVE_2016_5829 + ] ++ lib.optionals ((platform.kernelArch or null) == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill @@ -10965,7 +10976,11 @@ in }; linux_4_6 = callPackage ../os-specific/linux/kernel/linux-4.6.nix { - kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.qat_common_Makefile ] + kernelPatches = + [ kernelPatches.bridge_stp_helper + kernelPatches.qat_common_Makefile + kernelPatches.hiddev_CVE_2016_5829 + ] ++ lib.optionals ((platform.kernelArch or null) == "mips") [ kernelPatches.mips_fpureg_emu kernelPatches.mips_fpu_sigill From 3e582d39ef88657d43727813a174bc85d7b52b8a Mon Sep 17 00:00:00 2001 From: Louis Taylor Date: Tue, 12 Jul 2016 23:58:15 +0100 Subject: [PATCH 125/144] mpv: 0.17.0 -> 0.18.1 --- pkgs/applications/video/mpv/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/video/mpv/default.nix b/pkgs/applications/video/mpv/default.nix index bd1af2ce29a..23f6daf0d61 100644 --- a/pkgs/applications/video/mpv/default.nix +++ b/pkgs/applications/video/mpv/default.nix @@ -62,11 +62,11 @@ in stdenv.mkDerivation rec { name = "mpv-${version}"; - version = "0.17.0"; + version = "0.18.1"; src = fetchurl { url = "https://github.com/mpv-player/mpv/archive/v${version}.tar.gz"; - sha256 = "0vms3viwqcwl1mrgmf2yy4c69fvv7xpbkyrl693l6zpwynqd4b30"; + sha256 = "0ab3lkvx1j06x7qlp9m4r4zk28dr7z8ki3w4kfgkpm2axizxa4z4"; }; patchPhase = '' From ab6fc297198b03b32eaa044bbc975bb701cd879b Mon Sep 17 00:00:00 2001 From: obadz Date: Wed, 13 Jul 2016 01:47:49 +0200 Subject: [PATCH 126/144] ecryptfs: add nixos/tests/ecryptfs.nix --- nixos/tests/ecryptfs.nix | 78 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 nixos/tests/ecryptfs.nix diff --git a/nixos/tests/ecryptfs.nix b/nixos/tests/ecryptfs.nix new file mode 100644 index 00000000000..f42ae1dac62 --- /dev/null +++ b/nixos/tests/ecryptfs.nix @@ -0,0 +1,78 @@ +import ./make-test.nix ({ pkgs, ... }: +{ + name = "ecryptfs"; + + machine = { config, pkgs, ... }: { + imports = [ ./common/user-account.nix ]; + boot.kernelModules = [ "ecryptfs" ]; + security.pam.enableEcryptfs = true; + environment.systemPackages = with pkgs; [ keyutils ]; + }; + + testScript = '' + $machine->waitForUnit("default.target"); + + # Set alice up with a password and a home + $machine->succeed("(echo foobar; echo foobar) | passwd alice"); + $machine->succeed("chown -R alice.users ~alice"); + + # Migrate alice's home + my $out = $machine->succeed("echo foobar | ecryptfs-migrate-home -u alice"); + $machine->log("ecryptfs-migrate-home said: $out"); + + # Log alice in (ecryptfs passwhrase is wrapped during first login) + $machine->sleep(2); # urgh: wait for username prompt + $machine->sendChars("alice\n"); + $machine->sleep(1); + $machine->sendChars("foobar\n"); + $machine->sleep(2); + $machine->sendChars("logout\n"); + $machine->sleep(2); + + # Why do I need to do this?? + $machine->succeed("su alice -c ecryptfs-umount-private"); + $machine->sleep(1); + $machine->fail("mount | grep ecryptfs"); # check that encrypted home is not mounted + + # Show contents of the user keyring + my $out = $machine->succeed("su - alice -c 'keyctl list \@u'"); + $machine->log("keyctl unlink said: " . $out); + + # Log alice again + $machine->sendChars("alice\n"); + $machine->sleep(1); + $machine->sendChars("foobar\n"); + $machine->sleep(2); + + # Create some files in encrypted home + $machine->succeed("su alice -c 'touch ~alice/a'"); + $machine->succeed("su alice -c 'echo c > ~alice/b'"); + + # Logout + $machine->sendChars("logout\n"); + $machine->sleep(2); + + # Why do I need to do this?? + $machine->succeed("su alice -c ecryptfs-umount-private"); + $machine->sleep(1); + + # Check that the filesystem is not accessible + $machine->fail("mount | grep ecryptfs"); + $machine->succeed("su alice -c 'test \! -f ~alice/a'"); + $machine->succeed("su alice -c 'test \! -f ~alice/b'"); + + # Log alice once more + $machine->sendChars("alice\n"); + $machine->sleep(1); + $machine->sendChars("foobar\n"); + $machine->sleep(2); + + # Check that the files are there + $machine->sleep(1); + $machine->succeed("su alice -c 'test -f ~alice/a'"); + $machine->succeed("su alice -c 'test -f ~alice/b'"); + $machine->succeed(qq%test "\$(cat ~alice/b)" = "c"%); + + $machine->sendChars("logout\n"); + ''; +}) From d781bf94c1a0fadc75ea2ac2ed3534e831ec5462 Mon Sep 17 00:00:00 2001 From: obadz Date: Wed, 13 Jul 2016 01:59:47 +0200 Subject: [PATCH 127/144] ecryptfs: test bug from #16766 --- nixos/tests/ecryptfs.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/tests/ecryptfs.nix b/nixos/tests/ecryptfs.nix index f42ae1dac62..eceb25a0dea 100644 --- a/nixos/tests/ecryptfs.nix +++ b/nixos/tests/ecryptfs.nix @@ -73,6 +73,9 @@ import ./make-test.nix ({ pkgs, ... }: $machine->succeed("su alice -c 'test -f ~alice/b'"); $machine->succeed(qq%test "\$(cat ~alice/b)" = "c"%); + # Catch https://github.com/NixOS/nixpkgs/issues/16766 + $machine->succeed("su alice -c 'ls -lh ~alice/'"); + $machine->sendChars("logout\n"); ''; }) From d5e70a2adc9fe4f2fdba553edd2d80e57dacd898 Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Wed, 13 Jul 2016 08:38:44 +0800 Subject: [PATCH 128/144] smbldaptools: 0.9.10 -> 0.9.11 --- pkgs/tools/networking/smbldaptools/default.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/networking/smbldaptools/default.nix b/pkgs/tools/networking/smbldaptools/default.nix index 9ca5c3be177..ef300d68314 100644 --- a/pkgs/tools/networking/smbldaptools/default.nix +++ b/pkgs/tools/networking/smbldaptools/default.nix @@ -1,13 +1,13 @@ {stdenv, fetchurl, perl, NetLDAP, makeWrapper, CryptSmbHash, DigestSHA1}: let - version = "0.9.10"; + version = "0.9.11"; in stdenv.mkDerivation { name = "smbldap-tools-${version}"; src = fetchurl { url = "http://download.gna.org/smbldap-tools/sources/${version}/smbldap-tools-${version}.tar.gz"; - sha256 = "19hsvslfs61pk9nhyqdkd68gc95z26kpkmsj10b8zvzlhqmwdvy4"; + sha256 = "1xcxmpz74r82vjp731axyac3cyksfiarz9jk5g5m2bzfdixkq9mz"; }; buildInputs = [ perl NetLDAP makeWrapper CryptSmbHash DigestSHA1 ]; @@ -27,7 +27,5 @@ stdenv.mkDerivation { homepage = http://gna.org/projects/smbldap-tools/; description = "SAMBA LDAP tools"; license = stdenv.lib.licenses.gpl2Plus; - # pod2man: unable to format smbldap-config.cmd - broken = true; }; } From 6423ded1bccc39298e8f4e60a89895f64a4def65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Wed, 13 Jul 2016 06:41:55 +0200 Subject: [PATCH 129/144] idea.idea-{community,ultimate}: 2016.1.3 -> 2016.2 --- pkgs/applications/editors/idea/default.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/applications/editors/idea/default.nix b/pkgs/applications/editors/idea/default.nix index 6ef4edb5362..bc6f7fffeb3 100644 --- a/pkgs/applications/editors/idea/default.nix +++ b/pkgs/applications/editors/idea/default.nix @@ -189,13 +189,13 @@ in idea-community = buildIdea rec { name = "idea-community-${version}"; - version = "2016.1.3"; - build = "IC-145.1617.8"; + version = "2016.2"; + build = "IC-162.1121"; 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 = "0yd1jqz4arywyjsiakszrr48w2xqnik6vnl1a6l0ph2hssgkzkfi"; + sha256 = "164x4l0q31zpc1jh3js1xx9y6afrzsshmnkx1mwhmq8qmvzc4w32"; }; wmClass = "jetbrains-idea-ce"; }; @@ -228,13 +228,13 @@ in idea-ultimate = buildIdea rec { name = "idea-ultimate-${version}"; - version = "2016.1.3"; - build = "IU-145.1617.8"; + version = "2016.2"; + build = "IU-162.1121"; 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 = "1zzxwdnw2bbnl86kj7fjk5p8c99d0hdn1ki2alw5xm8wp4k0w7rv"; + sha256 = "10hiqh6ccmai2cnc5p72vqjcz9kzmmcpn0hy5v514h4mq6vs4zk4"; }; wmClass = "jetbrains-idea"; }; From 60e5b599d5298b4af92944a3f6260765cde6619e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edward=20Tj=C3=B6rnhammar?= Date: Wed, 13 Jul 2016 06:45:33 +0200 Subject: [PATCH 130/144] storm: 0.8.2 -> 1.0.1 For this package to be useful you need to wrap it in a fhs-user-env and/or create a nixos module. Previous version had become completely broken/useless though. --- pkgs/servers/computing/storm/default.nix | 72 +++++++++++++++--------- 1 file changed, 44 insertions(+), 28 deletions(-) diff --git a/pkgs/servers/computing/storm/default.nix b/pkgs/servers/computing/storm/default.nix index cab91409654..cf57e653c49 100644 --- a/pkgs/servers/computing/storm/default.nix +++ b/pkgs/servers/computing/storm/default.nix @@ -1,49 +1,65 @@ -{ stdenv, fetchurl, zip, unzip, jzmq, jdk, lib, python, logsDir ? "", confFile ? "", extraLibraryPaths ? [], extraJars ? [] }: +{ stdenv, lib, fetchurl, zip, unzip, makeWrapper +, jzmq, jdk, python +, logsDir ? "", confFile ? "", extraLibraryPaths ? [], extraJars ? [] }: -stdenv.mkDerivation { - name = "storm-0.8.2"; +stdenv.mkDerivation rec { + name = "apache-storm-" + version; + version = "1.0.1"; src = fetchurl { - url = https://dl.dropbox.com/u/133901206/storm-0.8.2.zip; - sha256 = "8761aea0b54e5bab4a68b259bbe6b5b2f8226204488b5559eba57a0c458b2bbc"; + url = + "mirror://apache/storm/${name}/${name}.tar.gz"; + sha256 = "1gr00s0fhf8ci0faf3x5dinkiw9mlnc1x1vqki8cfszvij6w0x0m"; }; buildInputs = [ zip unzip jzmq ]; installPhase = '' - # Remove junk - rm -f lib/jzmq* - mkdir -p $out/bin - mv bin/storm $out/bin/ - rm -R bin conf logs + mkdir -p $out/share/${name} + mv public $out/docs + mv examples $out/share/${name}/. - # Fix shebang header for python scripts - sed -i -e "s|#!/usr/bin/.*python|#!${python}/bin/python|" $out/bin/storm; + rm -f lib/jzmq* || exit 1 + mv lib $out/. + mv external extlib* $out/lib/. + mv conf bin $out/. + mv log4j2 $out/conf/. + ''; - mkdir -p $out/conf - cp -av * $out - - cd $out; - ${if logsDir != "" then ''ln -s ${logsDir} logs'' else ""} - - # Extract, delete from zip; and optionally append to defaults.yaml - unzip storm-*.jar defaults.yaml; - zip -d storm-*.jar defaults.yaml; - echo 'java.library.path: "${jzmq}/lib:${lib.concatStringsSep ":" extraLibraryPaths}"' >> defaults.yaml; + fixupPhase = '' + # Fix python reference + sed -i \ + -e '19iPYTHON=${python}/bin/python' \ + -e 's|#!/usr/bin/.*python|#!${python}/bin/python|' \ + $out/bin/storm + sed -i \ + -e 's|#!/usr/bin/.*python|#!${python}/bin/python|' \ + -e "s|STORM_CONF_DIR = .*|STORM_CONF_DIR = os.getenv('STORM_CONF_DIR','$out/conf')|" \ + -e 's|STORM_LOG4J2_CONF_DIR =.*|STORM_LOG4J2_CONF_DIR = os.path.join(STORM_CONF_DIR, "log4j2")|' \ + $out/bin/storm.py + # Default jdk location + sed -i -e 's|#.*export JAVA_HOME=.*|export JAVA_HOME="${jdk.home}"|' \ + $out/conf/storm-env.sh + unzip $out/lib/storm-core-${version}.jar defaults.yaml; + zip -d $out/lib/storm-core-${version}.jar defaults.yaml; + sed -i \ + -e 's|java.library.path: .*|java.library.path: "${jzmq}/lib:${lib.concatStringsSep ":" extraLibraryPaths}"|' \ + -e 's|storm.log4j2.conf.dir: .*|storm.log4j2.conf.dir: "conf/log4j2"|' \ + defaults.yaml ${if confFile != "" then ''cat ${confFile} >> defaults.yaml'' else ""} - mv defaults.yaml conf; + mv defaults.yaml $out/conf; # Link to jzmq jar and extra jars - cd lib; + cd $out/lib; ln -s ${jzmq}/share/java/*.jar; ${lib.concatMapStrings (jar: "ln -s ${jar};\n") extraJars} ''; dontStrip = true; - meta = { - homepage = "http://storm-project.net"; + meta = with stdenv.lib; { + homepage = "http://storm.apache.org"; description = "Distributed realtime computation system"; - license = stdenv.lib.licenses.epl10; - maintainers = [ lib.maintainers.vizanto ]; + license = licenses.asl20; + maintainers = with maintainers; [ edwtjo vizanto ]; }; } From d97a1074261096e050d78f24118c4df3a6ac3af7 Mon Sep 17 00:00:00 2001 From: davidak Date: Wed, 13 Jul 2016 09:11:32 +0200 Subject: [PATCH 131/144] nixos-version: fix syntax error and add -h (#16906) * nixos-version: fix syntax error * nixos-version: add -h parameter --- nixos/modules/installer/tools/nixos-version.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nixos/modules/installer/tools/nixos-version.sh b/nixos/modules/installer/tools/nixos-version.sh index e4e4f5c446c..77a1b458a34 100644 --- a/nixos/modules/installer/tools/nixos-version.sh +++ b/nixos/modules/installer/tools/nixos-version.sh @@ -1,9 +1,10 @@ #! @shell@ case "$1" in - --help) + -h|--help) exec man nixos-version exit 1 + ;; --hash|--revision) echo "@nixosRevision@" ;; From fad9a8841b67ee9e09dd352785e24d9b9d22e11c Mon Sep 17 00:00:00 2001 From: obadz Date: Wed, 13 Jul 2016 11:01:56 +0200 Subject: [PATCH 132/144] ecryptfs: fix kernel bug introduced in 4.4.14 Introduced by mainline commit 2f36db7 Patch is from http://www.spinics.net/lists/stable/msg137350.html Fixes #16766 --- .../linux/kernel/ecryptfs-fix-mmap-bug.patch | 20 +++++++++++++++++++ pkgs/os-specific/linux/kernel/patches.nix | 4 ++++ pkgs/top-level/all-packages.nix | 1 + 3 files changed, 25 insertions(+) create mode 100644 pkgs/os-specific/linux/kernel/ecryptfs-fix-mmap-bug.patch diff --git a/pkgs/os-specific/linux/kernel/ecryptfs-fix-mmap-bug.patch b/pkgs/os-specific/linux/kernel/ecryptfs-fix-mmap-bug.patch new file mode 100644 index 00000000000..7f94669a9f4 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/ecryptfs-fix-mmap-bug.patch @@ -0,0 +1,20 @@ +Signed-off-by: Tyler Hicks +Tested-by: Tyler Hicks # 4.4.y, 3.18.y +Cc: # 4.5- +--- + fs/ecryptfs/kthread.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/fs/ecryptfs/kthread.c b/fs/ecryptfs/kthread.c +index e818f5a..b9faeab 100644 +--- a/fs/ecryptfs/kthread.c ++++ b/fs/ecryptfs/kthread.c +@@ -171,7 +171,7 @@ int ecryptfs_privileged_open(struct file **lower_file, + goto out; + } + have_file: +- if ((*lower_file)->f_op->mmap == NULL) { ++ if ((*lower_file)->f_op->mmap == NULL && !d_is_dir(lower_dentry)) { + fput(*lower_file); + *lower_file = NULL; + rc = -EMEDIUMTYPE; diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 4f8d57acc17..7b2feaf84a8 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -148,4 +148,8 @@ rec { sha256 = "14rm1qr87p7a5prz8g5fwbpxzdp3ighj095x8rvhm8csm20wspyy"; }; }; + ecryptfs_fix_mmap_bug = + { name = "ecryptfs_fix_mmap_bug"; + patch = ./ecryptfs-fix-mmap-bug.patch; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4d40567f262..e982c9c4ee7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10954,6 +10954,7 @@ in [ kernelPatches.bridge_stp_helper kernelPatches.qat_common_Makefile kernelPatches.hiddev_CVE_2016_5829 + kernelPatches.ecryptfs_fix_mmap_bug ] ++ lib.optionals ((platform.kernelArch or null) == "mips") [ kernelPatches.mips_fpureg_emu From cf7d968f3a45c05a237a9e47f6a12fadadb70cfa Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Wed, 13 Jul 2016 10:23:35 +0200 Subject: [PATCH 133/144] perl-bignum: 0.42 -> 0.43 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index bfdf29cba5b..0ef7a4fe831 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -622,10 +622,10 @@ let self = _self // overrides; _self = with self; { }; bignum = buildPerlPackage rec { - name = "bignum-0.42"; + name = "bignum-0.43"; src = fetchurl { url = "mirror://cpan/authors/id/P/PJ/PJACKLAM/${name}.tar.gz"; - sha256 = "5bc9a16fe6d56584cde0f183828d81466f2cfc08ec1b6ef15d25a732080a9b52"; + sha256 = "0610cb569fe51ceaa98991549192b54a09b5ebd9bd03aee39e7234f7c222366d"; }; buildInputs = [ MathBigInt MathBigRat ]; meta = { From e196d30c1f71e1ad81e0430fb0674c67104ad0a9 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Wed, 13 Jul 2016 10:35:36 +0200 Subject: [PATCH 134/144] perl-CryptX: 0.037 -> 0.038 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 0ef7a4fe831..62c2477fbfd 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -2717,10 +2717,10 @@ let self = _self // overrides; _self = with self; { }; CryptX = buildPerlPackage rec { - name = "CryptX-0.037"; + name = "CryptX-0.038"; src = fetchurl { url = "mirror://cpan/authors/id/M/MI/MIK/${name}.tar.gz"; - sha256 = "ae09e6449efb2a9bc661ffeba613c7452367bdcb13c1ee346af0f72c9803404d"; + sha256 = "f98d4ee3bfd0a985077912501b32777c551f0782aa050b4dfbcb3d654e303eb8"; }; propagatedBuildInputs = [ JSONMaybeXS ]; meta = { From fdef298dd7c2426a3e764e39404e8669628bf167 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Wed, 13 Jul 2016 10:38:52 +0200 Subject: [PATCH 135/144] perl-File-Util: 4.161200 -> 4.161950 --- pkgs/top-level/perl-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 62c2477fbfd..be01e64fc26 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5321,10 +5321,10 @@ let self = _self // overrides; _self = with self; { }; FileUtil = buildPerlPackage rec { - name = "File-Util-4.161200"; + name = "File-Util-4.161950"; src = fetchurl { url = "mirror://cpan/authors/id/T/TO/TOMMY/${name}.tar.gz"; - sha256 = "c63be030c15303796d387b290f1f6b59451fb64827e39afeb0e1d0adad72ab8e"; + sha256 = "88507b19da580d595b5c25fe6ba75bbd6096b4359e389ead067a216f766c20ee"; }; buildInputs = [ ModuleBuild TestNoWarnings ]; meta = { From 2e56d68164285aabe62c0864fad17d040c1e1dda Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Wed, 13 Jul 2016 12:31:21 +0200 Subject: [PATCH 136/144] perl-Getopt-Long-Descriptive: 0.099 -> 0.100 --- pkgs/top-level/perl-packages.nix | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index be01e64fc26..7cb349b5e66 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -5512,18 +5512,18 @@ let self = _self // overrides; _self = with self; { }; GetoptLongDescriptive = buildPerlPackage rec { - name = "Getopt-Long-Descriptive-0.099"; + name = "Getopt-Long-Descriptive-0.100"; src = fetchurl { url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz"; - sha256 = "1sf5r3vy7880ynsn2aqmb5p6rzmhq5v072x33g8c7aqjpz81wkgw"; + sha256 = "1451e79310d1630de37690e3aba5c38ea5f01a486c5a43f0cd95bef2a02dffb6"; }; - buildInputs = [ TestFatal TestWarnings ]; - propagatedBuildInputs = [ ParamsValidate SubExporter SubExporterUtil ]; + buildInputs = [ CPANMetaCheck TestFatal TestWarnings ]; + propagatedBuildInputs = [ ParamsValidate SubExporter ]; meta = { homepage = https://github.com/rjbs/Getopt-Long-Descriptive; description = "Getopt::Long, but simpler and more powerful"; license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ]; - maintainers = with maintainers; [ rycee ]; + maintainers = [ maintainers.rycee ]; }; }; From 3ce829ca03964feaaa7558c3599ca84d07b5a1a3 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Wed, 13 Jul 2016 12:31:46 +0200 Subject: [PATCH 137/144] perl-MouseX-Getopt: 0.36 -> 0.37 --- pkgs/top-level/perl-packages.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index 7cb349b5e66..31607fe2bf2 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -8507,12 +8507,12 @@ let self = _self // overrides; _self = with self; { MouseXGetOpt = self.MouseXGetopt; MouseXGetopt = buildPerlModule rec { - name = "MouseX-Getopt-0.36"; + name = "MouseX-Getopt-0.37"; src = fetchurl { url = "mirror://cpan/authors/id/G/GF/GFUJI/${name}.tar.gz"; - sha256 = "172ab0609f1638c6d8800d2dff1bdaa044e305aaa2e9b1fbb8a9dc722a3bf430"; + sha256 = "a6221043e7be3217ce56d2a6425a413d9cd28e2f52053995a6ceb118e8e963bc"; }; - buildInputs = [ ModuleBuild Mouse MouseXConfigFromFile MouseXSimpleConfig TestException TestWarn ]; + buildInputs = [ ModuleBuildTiny Mouse MouseXConfigFromFile MouseXSimpleConfig TestException TestWarn ]; propagatedBuildInputs = [ GetoptLongDescriptive Mouse ]; meta = { homepage = https://github.com/gfx/mousex-getopt; From 927a984de6a32d5abc793b065b122a3d9c4f6343 Mon Sep 17 00:00:00 2001 From: obadz Date: Wed, 13 Jul 2016 12:49:18 +0200 Subject: [PATCH 138/144] kernel: make KEXEC_FILE & KEXEC_JUMP optional to fix i686 build cc @edolstra @dezgeg @domenkozar --- pkgs/os-specific/linux/kernel/common-config.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index cac102351b3..37e3859cd05 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -316,8 +316,8 @@ with stdenv.lib; JOYSTICK_IFORCE_USB? y # I-Force USB joysticks and wheels JOYSTICK_XPAD_FF? y # X-Box gamepad rumble support JOYSTICK_XPAD_LEDS? y # LED Support for Xbox360 controller 'BigX' LED - KEXEC_FILE y - KEXEC_JUMP y + KEXEC_FILE? y + KEXEC_JUMP? y LDM_PARTITION y # Windows Logical Disk Manager (Dynamic Disk) support LOGIRUMBLEPAD2_FF y # Logitech Rumblepad 2 force feedback LOGO n # not needed From 12effae5b6f644fa5aec1433f93a08ce68c7a82d Mon Sep 17 00:00:00 2001 From: Kranium Gikos Mendoza Date: Wed, 13 Jul 2016 18:43:17 +0800 Subject: [PATCH 139/144] mc: 4.8.16 -> 4.8.17 --- pkgs/tools/misc/mc/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/misc/mc/default.nix b/pkgs/tools/misc/mc/default.nix index 9347b5f9bbe..e1072754b23 100644 --- a/pkgs/tools/misc/mc/default.nix +++ b/pkgs/tools/misc/mc/default.nix @@ -2,11 +2,12 @@ , libX11, libICE, perl, zip, unzip, gettext, slang}: stdenv.mkDerivation rec { - name = "mc-4.8.16"; + name = "mc-${version}"; + version = "4.8.17"; src = fetchurl { - url = http://www.midnight-commander.org/downloads/mc-4.8.16.tar.bz2; - sha256 = "1y5apnp6sc9sn13m6816hlrr0dis1z7wsnffldsx7xlkvyas8zn3"; + url = "http://www.midnight-commander.org/downloads/${name}.tar.bz2"; + sha256 = "0fvqzffppj0aja9hi0k1xdjg5m6s99immlla1y9yzn5fp8vwpl36"; }; buildInputs = [ pkgconfig perl glib gpm slang zip unzip file gettext libX11 libICE e2fsprogs ]; From c9b9619636e82ece9ce53696568d04cfb7365859 Mon Sep 17 00:00:00 2001 From: Robert Helgesson Date: Wed, 13 Jul 2016 13:16:19 +0200 Subject: [PATCH 140/144] nethogs: 0.8.1 -> 0.8.5 --- pkgs/tools/networking/nethogs/default.nix | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/pkgs/tools/networking/nethogs/default.nix b/pkgs/tools/networking/nethogs/default.nix index dfa9b26a38e..eac95a32008 100644 --- a/pkgs/tools/networking/nethogs/default.nix +++ b/pkgs/tools/networking/nethogs/default.nix @@ -2,18 +2,20 @@ stdenv.mkDerivation rec { name = "nethogs-${version}"; - version = "0.8.1"; + version = "0.8.5"; src = fetchFromGitHub { owner = "raboof"; repo = "nethogs"; rev = "v${version}"; - sha256 = "1phn6i44ysvpl1f54bx4dspy51si8rc2wq6fywi163mi25j355d4"; + sha256 = "13plwblwbnyyi40jaqx471gwhln08wm7f0fxyvj1yh3d81k556yx"; }; buildInputs = [ ncurses libpcap ]; - installFlags = [ "prefix=$(out)" "sbin=$(prefix)/bin" ]; + makeFlags = [ "VERSION=${version}" ]; + + installFlags = [ "PREFIX=$(out)" "sbin=$(out)/bin" ]; meta = with stdenv.lib; { description = "A small 'net top' tool, grouping bandwidth by process"; @@ -27,7 +29,7 @@ stdenv.mkDerivation rec { bandwidth. ''; license = licenses.gpl2Plus; - homepage = http://nethogs.sourceforge.net/; + homepage = "https://github.com/raboof/nethogs#readme"; platforms = platforms.linux; maintainers = [ maintainers.rycee ]; }; From c6f5accb4376b2ab6cb36d0de1d23867510927d1 Mon Sep 17 00:00:00 2001 From: Tristan Helmich Date: Wed, 13 Jul 2016 13:57:40 +0200 Subject: [PATCH 141/144] emby: 3.0.5972 -> 3.0.5985 (#16893) --- pkgs/servers/emby/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/emby/default.nix b/pkgs/servers/emby/default.nix index e1325ec38c1..b9cc038479d 100644 --- a/pkgs/servers/emby/default.nix +++ b/pkgs/servers/emby/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { name = "emby-${version}"; - version = "3.0.5972"; + version = "3.0.5985"; src = fetchurl { url = "https://github.com/MediaBrowser/Emby/archive/${version}.tar.gz"; - sha256 = "0dxm7m8q9w9cknp24gp30v7v8a9q8qph6gy2s1vfli38rwcnakix"; + sha256 = "16p8qr9pf6ww6xdfbsqamnpk70i4dadz30lnvliyxaaslggjbh4b"; }; propagatedBuildInputs = with pkgs; [ From 4f987e0e6019c715da82f59f994ee544131cea08 Mon Sep 17 00:00:00 2001 From: Ioannis Koutras Date: Wed, 13 Jul 2016 15:47:14 +0300 Subject: [PATCH 142/144] maintainers.nix: add joko --- lib/maintainers.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/maintainers.nix b/lib/maintainers.nix index ae06c524bde..3d83a0a3a1c 100644 --- a/lib/maintainers.nix +++ b/lib/maintainers.nix @@ -186,6 +186,7 @@ joamaki = "Jussi Maki "; joelmo = "Joel Moberg "; joelteon = "Joel Taylor "; + joko = "Ioannis Koutras "; jpbernardy = "Jean-Philippe Bernardy "; jraygauthier = "Raymond Gauthier "; juliendehos = "Julien Dehos "; From f76a8fbbac1af6d2a8fc13b8038e996d9c80fda8 Mon Sep 17 00:00:00 2001 From: obadz Date: Wed, 13 Jul 2016 14:57:13 +0200 Subject: [PATCH 143/144] ecryptfs: add test to release (#16910) Would have caught regression #16766 --- nixos/release.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/release.nix b/nixos/release.nix index c8547784bbc..1800122fa2e 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -220,6 +220,7 @@ in rec { tests.docker = hydraJob (import tests/docker.nix { system = "x86_64-linux"; }); tests.dockerRegistry = hydraJob (import tests/docker-registry.nix { system = "x86_64-linux"; }); tests.dnscrypt-proxy = callTest tests/dnscrypt-proxy.nix { system = "x86_64-linux"; }; + tests.ecryptfs = callTest tests/ecryptfs.nix {}; tests.etcd = hydraJob (import tests/etcd.nix { system = "x86_64-linux"; }); tests.ec2-nixops = hydraJob (import tests/ec2.nix { system = "x86_64-linux"; }).boot-ec2-nixops; tests.ec2-config = hydraJob (import tests/ec2.nix { system = "x86_64-linux"; }).boot-ec2-config; From d86191126383bce282407e27eb3f6fae28737724 Mon Sep 17 00:00:00 2001 From: Ioannis Koutras Date: Wed, 13 Jul 2016 15:48:56 +0300 Subject: [PATCH 144/144] ocproxy: init at 1.50 --- pkgs/tools/networking/ocproxy/default.nix | 32 +++++++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 2 files changed, 34 insertions(+) create mode 100644 pkgs/tools/networking/ocproxy/default.nix diff --git a/pkgs/tools/networking/ocproxy/default.nix b/pkgs/tools/networking/ocproxy/default.nix new file mode 100644 index 00000000000..65729d896aa --- /dev/null +++ b/pkgs/tools/networking/ocproxy/default.nix @@ -0,0 +1,32 @@ +{ stdenv, fetchFromGitHub, autoconf, automake, libevent }: + +stdenv.mkDerivation rec { + version = "1.50"; + name = "ocproxy-${version}"; + + src = fetchFromGitHub { + owner = "cernekee"; + repo = "ocproxy"; + rev = "v${version}"; + sha256 = "136vlk2svgls5paf17xi1zahcahgcnmi2p55khh7zpqaar4lzw6s"; + }; + + buildInputs = [ autoconf automake libevent ]; + + preConfigure = '' + patchShebangs autogen.sh + ./autogen.sh + ''; + + meta = with stdenv.lib; { + description = "OpenConnect proxy"; + longdescription = '' + ocproxy is a user-level SOCKS and port forwarding proxy for OpenConnect + based on lwIP. + ''; + homepage = https://github.com/cernekee/ocproxy; + license = licenses.bsd3; + maintainers = [ maintainers.joko ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e982c9c4ee7..cedc20c020b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2780,6 +2780,8 @@ in obexd = callPackage ../tools/bluetooth/obexd { }; + ocproxy = callPackage ../tools/networking/ocproxy { }; + openfortivpn = callPackage ../tools/networking/openfortivpn { }; obexfs = callPackage ../tools/bluetooth/obexfs { };