about summary refs log tree commit diff
path: root/pkgs/applications/misc
diff options
context:
space:
mode:
authorJan Tojnar <jtojnar@gmail.com>2020-04-10 12:12:56 +0200
committerJan Tojnar <jtojnar@gmail.com>2020-04-10 12:12:56 +0200
commit1ab03c3a76dd142a44c27951018f145ff78fb57e (patch)
tree3b5d5847cddc04766e5a755a33bbcc0f0b9ab88c /pkgs/applications/misc
parent2e6fb229923cc2fd7275d26ea87f22898bdc24fa (diff)
parent807ca93fadd5197c2260490de0c76e500562dc05 (diff)
downloadnixlib-1ab03c3a76dd142a44c27951018f145ff78fb57e.tar
nixlib-1ab03c3a76dd142a44c27951018f145ff78fb57e.tar.gz
nixlib-1ab03c3a76dd142a44c27951018f145ff78fb57e.tar.bz2
nixlib-1ab03c3a76dd142a44c27951018f145ff78fb57e.tar.lz
nixlib-1ab03c3a76dd142a44c27951018f145ff78fb57e.tar.xz
nixlib-1ab03c3a76dd142a44c27951018f145ff78fb57e.tar.zst
nixlib-1ab03c3a76dd142a44c27951018f145ff78fb57e.zip
Merge branch 'master' into staging-next
Diffstat (limited to 'pkgs/applications/misc')
-rw-r--r--pkgs/applications/misc/buku/default.nix5
-rw-r--r--pkgs/applications/misc/cheat/default.nix13
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix4
-rw-r--r--pkgs/applications/misc/ddgr/default.nix28
-rw-r--r--pkgs/applications/misc/doing/Gemfile.lock2
-rw-r--r--pkgs/applications/misc/fetchmail/default.nix6
-rw-r--r--pkgs/applications/misc/gollum/Gemfile.lock127
-rw-r--r--pkgs/applications/misc/gollum/default.nix9
-rw-r--r--pkgs/applications/misc/gollum/gemset.nix312
-rw-r--r--pkgs/applications/misc/img2pdf/default.nix6
-rw-r--r--pkgs/applications/misc/jekyll/basic/Gemfile.lock2
-rw-r--r--pkgs/applications/misc/jekyll/full/Gemfile.lock2
-rw-r--r--pkgs/applications/misc/josm/default.nix6
-rw-r--r--pkgs/applications/misc/lutris/default.nix15
-rw-r--r--pkgs/applications/misc/mediainfo/default.nix6
-rw-r--r--pkgs/applications/misc/minder/default.nix4
-rw-r--r--pkgs/applications/misc/obinskit/default.nix4
-rw-r--r--pkgs/applications/misc/orca/default.nix4
-rw-r--r--pkgs/applications/misc/pt/Gemfile.lock2
-rw-r--r--pkgs/applications/misc/qcad/application-dir.patch35
-rw-r--r--pkgs/applications/misc/qcad/default.nix92
-rw-r--r--pkgs/applications/misc/syncthingtray/default.nix4
-rw-r--r--pkgs/applications/misc/taskjuggler/3.x/Gemfile.lock2
-rw-r--r--pkgs/applications/misc/taskjuggler/Gemfile.lock2
-rw-r--r--pkgs/applications/misc/tilda/default.nix21
-rw-r--r--pkgs/applications/misc/tut/default.nix24
-rw-r--r--pkgs/applications/misc/tut/deps.nix273
27 files changed, 844 insertions, 166 deletions
diff --git a/pkgs/applications/misc/buku/default.nix b/pkgs/applications/misc/buku/default.nix
index 98f6e2895d18..8ca6d9ae0453 100644
--- a/pkgs/applications/misc/buku/default.nix
+++ b/pkgs/applications/misc/buku/default.nix
@@ -1,14 +1,14 @@
 { stdenv, python3, fetchFromGitHub }:
 
 with python3.pkgs; buildPythonApplication rec {
-  version = "4.2.2";
+  version = "4.3";
   pname = "buku";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = "buku";
     rev = "v${version}";
-    sha256 = "1wy5i1av1s98yr56ybiq66kv0vg48zci3fp91zfgj04nh2966w1w";
+    sha256 = "1cq508ymak3g5fhi1n4bdiiqkc86s2l3k4dvzw842vv2x0441cac";
   };
 
   checkInputs = [
@@ -31,6 +31,7 @@ with python3.pkgs; buildPythonApplication rec {
     flask-api
     flask-bootstrap
     flask-paginate
+    flask-reverse-proxy-fix
     flask_wtf
     arrow
     werkzeug
diff --git a/pkgs/applications/misc/cheat/default.nix b/pkgs/applications/misc/cheat/default.nix
index ffe2759a5e76..b4765c0aae32 100644
--- a/pkgs/applications/misc/cheat/default.nix
+++ b/pkgs/applications/misc/cheat/default.nix
@@ -1,18 +1,25 @@
-{ stdenv, fetchFromGitHub, buildGoModule }:
+{ stdenv, fetchFromGitHub
+, buildGoModule, installShellFiles }:
 
 buildGoModule rec {
   pname = "cheat";
-  version = "3.8.0";
+  version = "3.9.0";
 
   src = fetchFromGitHub {
     owner = "cheat";
     repo = "cheat";
     rev = version;
-    sha256 = "062dlc54x9qwb3hsxp20h94dpwsa1nzpjln9cqmvwjhvp434l97r";
+    sha256 = "0jbqflkcfdrinx1lk45klm8ml0n4cgp43nzls1376cd3hfayby1y";
   };
 
   subPackages = [ "cmd/cheat" ];
 
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installShellCompletion scripts/cheat.{bash,fish,zsh}
+  '';
+
   modSha256 = "1is19qca5wgzya332rmpk862nnivxzgxchkllv629f5fwwdvdgmg";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index 1334813131b4..64c3f8ac2828 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "dbeaver-ce";
-  version = "7.0.1";
+  version = "7.0.2";
 
   desktopItem = makeDesktopItem {
     name = "dbeaver";
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://dbeaver.io/files/${version}/dbeaver-ce-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "1kq0ingzfl6q2yz3y5nj9k35y9f1izg1idgbgvpz784gn7937m64";
+    sha256 = "0p75kvs9ng5i5x5cpdqxlf18y3k83pqsvrkab0i1azk3x4lfkzmd";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/misc/ddgr/default.nix b/pkgs/applications/misc/ddgr/default.nix
index 7d211b26a422..c4639150dd4b 100644
--- a/pkgs/applications/misc/ddgr/default.nix
+++ b/pkgs/applications/misc/ddgr/default.nix
@@ -1,40 +1,38 @@
-{stdenv, fetchFromGitHub, python3}:
+{ stdenv, fetchFromGitHub, python3, installShellFiles }:
 
 stdenv.mkDerivation rec {
-  version = "1.7";
+  version = "1.8";
   pname = "ddgr";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = "ddgr";
     rev = "v${version}";
-    sha256 = "0kcl8z9w8iwn3pxay1pfahhw6vs2l1dp60yfv3i19in4ac9va7m0";
+    sha256 = "1cyaindcg2vc3ij0p6b35inr01c6ys04izxsn1h70ixhsz46qg8z";
   };
 
+  nativeBuildInputs = [ installShellFiles ];
+
   buildInputs = [ python3 ];
 
   makeFlags = [ "PREFIX=$(out)" ];
 
-  preBuild = ''
-    # Version 1.7 was released as 1.6
-    # https://github.com/jarun/ddgr/pull/95
-    sed -i "s/_VERSION_ = '1.6'/_VERSION_ = '1.7'/" ddgr
+  # Version 1.8 was released as 1.7
+  postPatch = ''
+    substituteInPlace ddgr --replace "_VERSION_ = '1.7'" "_VERSION_ = '${version}'"
   '';
 
   postInstall = ''
-    mkdir -p "$out/share/bash-completion/completions/"
-    cp "auto-completion/bash/ddgr-completion.bash" "$out/share/bash-completion/completions/"
-    mkdir -p "$out/share/fish/vendor_completions.d/"
-    cp "auto-completion/fish/ddgr.fish" "$out/share/fish/vendor_completions.d/"
-    mkdir -p "$out/share/zsh/site-functions/"
-    cp "auto-completion/zsh/_ddgr" "$out/share/zsh/site-functions/"
+    installShellCompletion --bash --name ddgr.bash auto-completion/bash/ddgr-completion.bash
+    installShellCompletion --fish auto-completion/fish/ddgr.fish
+    installShellCompletion --zsh auto-completion/zsh/_ddgr
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://github.com/jarun/ddgr;
+    homepage = "https://github.com/jarun/ddgr";
     description = "Search DuckDuckGo from the terminal";
     license = licenses.gpl3;
     maintainers = with maintainers; [ ceedubs markus1189 ];
-    platforms = platforms.unix;
+    platforms = python3.meta.platforms;
   };
 }
diff --git a/pkgs/applications/misc/doing/Gemfile.lock b/pkgs/applications/misc/doing/Gemfile.lock
index 4d266827415f..1b969869f76c 100644
--- a/pkgs/applications/misc/doing/Gemfile.lock
+++ b/pkgs/applications/misc/doing/Gemfile.lock
@@ -22,4 +22,4 @@ DEPENDENCIES
   doing (= 1.0.10pre)
 
 BUNDLED WITH
-   1.14.6
+   2.1.4
diff --git a/pkgs/applications/misc/fetchmail/default.nix b/pkgs/applications/misc/fetchmail/default.nix
index 07691b26b75b..9e3790090272 100644
--- a/pkgs/applications/misc/fetchmail/default.nix
+++ b/pkgs/applications/misc/fetchmail/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, openssl }:
 
 let
-  version = "6.4.2";
+  version = "6.4.3";
 in
 stdenv.mkDerivation {
   pname = "fetchmail";
@@ -9,7 +9,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "mirror://sourceforge/fetchmail/fetchmail-${version}.tar.xz";
-    sha256 = "0c563if3kribnj771l14aj06irmrlhm61dc68w6dp7zj4qrnn7z2";
+    sha256 = "1r6k14m40ni9114i3j1lr6zwpxky6k89mycgxxg0cpdap4a0wdmh";
   };
 
   buildInputs = [ openssl ];
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   configureFlags = [ "--with-ssl=${openssl.dev}" ];
 
   meta = {
-    homepage = https://www.fetchmail.info/;
+    homepage = "https://www.fetchmail.info/";
     description = "A full-featured remote-mail retrieval and forwarding utility";
     longDescription = ''
       A full-featured, robust, well-documented remote-mail retrieval and
diff --git a/pkgs/applications/misc/gollum/Gemfile.lock b/pkgs/applications/misc/gollum/Gemfile.lock
index 6a705b6a9d82..4759cdcf5737 100644
--- a/pkgs/applications/misc/gollum/Gemfile.lock
+++ b/pkgs/applications/misc/gollum/Gemfile.lock
@@ -1,59 +1,106 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    charlock_holmes (0.7.7)
-    diff-lcs (1.3)
-    gemojione (3.3.0)
+    backports (3.17.0)
+    concurrent-ruby (1.1.6)
+    crass (1.0.6)
+    execjs (2.7.0)
+    ffi (1.12.2)
+    gemojione (4.3.2)
       json
-    github-markup (1.7.0)
-    gitlab-grit (2.8.3)
-      charlock_holmes (~> 0.7)
-      diff-lcs (~> 1.1)
-      mime-types (>= 1.16, < 3)
-      posix-spawn (~> 0.3)
-    gollum (4.1.4)
-      gemojione (~> 3.2)
-      gollum-lib (~> 4.2, >= 4.2.10)
-      kramdown (~> 1.9.0)
+    github-markup (3.0.4)
+    gollum (5.0.1)
+      gemojione (~> 4.1)
+      gollum-lib (~> 5.0)
+      kramdown (~> 2.1.0)
+      kramdown-parser-gfm (~> 1.0.0)
       mustache (>= 0.99.5, < 1.0.0)
-      sinatra (~> 1.4, >= 1.4.4)
+      octicons (~> 8.5)
+      rss (~> 0.2.9)
+      sass (~> 3.5)
+      sinatra (~> 2.0)
+      sinatra-contrib (~> 2.0)
+      sprockets (~> 3.7)
+      sprockets-helpers (~> 1.2)
+      therubyrhino (~> 2.1.0)
+      uglifier (~> 3.2)
       useragent (~> 0.16.2)
-    gollum-grit_adapter (1.0.1)
-      gitlab-grit (~> 2.7, >= 2.7.1)
-    gollum-lib (4.2.10)
-      gemojione (~> 3.2)
-      github-markup (~> 1.6)
-      gollum-grit_adapter (~> 1.0)
-      nokogiri (>= 1.6.1, < 2.0)
-      rouge (~> 2.1)
-      sanitize (~> 2.1.1, >= 2.1.1)
-      stringex (~> 2.6)
+    gollum-lib (5.0.3)
+      gemojione (~> 4.1)
+      github-markup (~> 3.0)
+      gollum-rugged_adapter (~> 0.99.4, >= 0.99.4)
+      loofah (~> 2.3)
+      nokogiri (~> 1.8)
+      octicons (~> 8.5)
+      rouge (~> 3.1)
       twitter-text (= 1.14.7)
+    gollum-rugged_adapter (0.99.4)
+      mime-types (>= 1.15)
+      rugged (~> 0.99)
     json (2.3.0)
-    kramdown (1.9.0)
-    mime-types (2.99.3)
+    kramdown (2.1.0)
+    kramdown-parser-gfm (1.0.1)
+      kramdown (~> 2.0)
+    loofah (2.5.0)
+      crass (~> 1.0.2)
+      nokogiri (>= 1.5.9)
+    mime-types (3.3.1)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2019.1009)
     mini_portile2 (2.4.0)
+    multi_json (1.14.1)
     mustache (0.99.8)
-    nokogiri (1.10.8)
+    mustermann (1.1.1)
+      ruby2_keywords (~> 0.0.1)
+    nokogiri (1.10.9)
       mini_portile2 (~> 2.4.0)
-    posix-spawn (0.3.13)
-    rack (1.6.13)
-    rack-protection (1.5.5)
+    octicons (8.5.0)
+      nokogiri (>= 1.6.3.1)
+    rack (2.2.2)
+    rack-protection (2.0.8.1)
       rack
-    rouge (2.2.1)
-    sanitize (2.1.1)
-      nokogiri (>= 1.4.4)
-    sinatra (1.4.8)
-      rack (~> 1.5)
-      rack-protection (~> 1.4)
-      tilt (>= 1.3, < 3)
-    stringex (2.8.5)
+    rb-fsevent (0.10.3)
+    rb-inotify (0.10.1)
+      ffi (~> 1.0)
+    rexml (3.2.4)
+    rouge (3.17.0)
+    rss (0.2.9)
+      rexml
+    ruby2_keywords (0.0.2)
+    rugged (0.99.0)
+    sass (3.7.4)
+      sass-listen (~> 4.0.0)
+    sass-listen (4.0.0)
+      rb-fsevent (~> 0.9, >= 0.9.4)
+      rb-inotify (~> 0.9, >= 0.9.7)
+    sinatra (2.0.8.1)
+      mustermann (~> 1.0)
+      rack (~> 2.0)
+      rack-protection (= 2.0.8.1)
+      tilt (~> 2.0)
+    sinatra-contrib (2.0.8.1)
+      backports (>= 2.8.2)
+      multi_json
+      mustermann (~> 1.0)
+      rack-protection (= 2.0.8.1)
+      sinatra (= 2.0.8.1)
+      tilt (~> 2.0)
+    sprockets (3.7.2)
+      concurrent-ruby (~> 1.0)
+      rack (> 1, < 3)
+    sprockets-helpers (1.2.3)
+      sprockets (>= 2.2)
+    therubyrhino (2.1.2)
+      therubyrhino_jar (>= 1.7.4, < 1.7.9)
+    therubyrhino_jar (1.7.8)
     tilt (2.0.10)
     twitter-text (1.14.7)
       unf (~> 0.1.0)
+    uglifier (3.2.0)
+      execjs (>= 0.3.0, < 3)
     unf (0.1.4)
       unf_ext
-    unf_ext (0.0.7.6)
+    unf_ext (0.0.7.7)
     useragent (0.16.10)
 
 PLATFORMS
@@ -63,4 +110,4 @@ DEPENDENCIES
   gollum
 
 BUNDLED WITH
-   1.17.3
+   2.1.4
diff --git a/pkgs/applications/misc/gollum/default.nix b/pkgs/applications/misc/gollum/default.nix
index 251e84f04c36..9005f38f563b 100644
--- a/pkgs/applications/misc/gollum/default.nix
+++ b/pkgs/applications/misc/gollum/default.nix
@@ -3,7 +3,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gollum";
-  # nix-shell -p bundix icu zlib
+  # nix-shell -p bundix icu zlib cmake pkg-config openssl
   version = (import ./gemset.nix).gollum.version;
 
   nativeBuildInputs = [ makeWrapper ];
@@ -20,13 +20,16 @@ stdenv.mkDerivation rec {
     mkdir -p $out/bin
     makeWrapper ${env}/bin/gollum $out/bin/gollum \
       --prefix PATH ":" ${stdenv.lib.makeBinPath [ git ]}
+    makeWrapper ${env}/bin/gollum-migrate-tags $out/bin/gollum-migrate-tags \
+      --prefix PATH ":" ${stdenv.lib.makeBinPath [ git ]}
   '';
 
   passthru.updateScript = bundlerUpdateScript "gollum";
 
   meta = with stdenv.lib; {
-    description = "A simple, Git-powered wiki";
-    homepage = https://github.com/gollum/gollum;
+    description = "A simple, Git-powered wiki with a sweet API and local frontend";
+    homepage = "https://github.com/gollum/gollum";
+    changelog = "https://github.com/gollum/gollum/blob/v${version}/HISTORY.md";
     license = licenses.mit;
     maintainers = with maintainers; [ jgillich primeos nicknovitski ];
     platforms = platforms.unix;
diff --git a/pkgs/applications/misc/gollum/gemset.nix b/pkgs/applications/misc/gollum/gemset.nix
index 7ce1d853f368..3febcea2f9a6 100644
--- a/pkgs/applications/misc/gollum/gemset.nix
+++ b/pkgs/applications/misc/gollum/gemset.nix
@@ -1,88 +1,107 @@
 {
-  charlock_holmes = {
+  backports = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hybw8jw9ryvz5zrki3gc9r88jqy373m6v46ynxsdzv1ysiyr40p";
+      sha256 = "13ywgyyxzlgks7nb17gwqjmdqjjmhc8si3iliv8jhf51lb3s865v";
       type = "gem";
     };
-    version = "0.7.7";
+    version = "3.17.0";
   };
-  diff-lcs = {
+  concurrent-ruby = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "18w22bjz424gzafv6nzv98h0aqkwz3d9xhm7cbr1wfbyas8zayza";
+      sha256 = "094387x4yasb797mv07cs3g6f08y56virc2rjcpb1k79rzaj3nhl";
       type = "gem";
     };
-    version = "1.3";
+    version = "1.1.6";
   };
-  gemojione = {
-    dependencies = ["json"];
+  crass = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ayk8r147k1s38nj18pwk76npx1p7jhi86silk800nj913pjvrhj";
+      sha256 = "0pfl5c0pyqaparxaqxi6s4gfl21bdldwiawrc0aknyvflli60lfw";
       type = "gem";
     };
-    version = "3.3.0";
+    version = "1.0.6";
   };
-  github-markup = {
+  execjs = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17g6g18gdjg63k75sfwiskjzl9i0hfcnrkcpb4fwrnb20v3jgswp";
+      sha256 = "1yz55sf2nd3l666ms6xr18sm2aggcvmb8qr3v53lr4rir32y1yp1";
       type = "gem";
     };
-    version = "1.7.0";
+    version = "2.7.0";
   };
-  gitlab-grit = {
-    dependencies = ["charlock_holmes" "diff-lcs" "mime-types" "posix-spawn"];
+  ffi = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0xvcizc4856xlvara1zzwl6j61vxxshzcrdagp58xzfl68vbi63p";
+      sha256 = "10lfhahnnc91v63xpvk65apn61pib086zha3z5sp1xk9acfx12h4";
       type = "gem";
     };
-    version = "2.8.3";
+    version = "1.12.2";
   };
-  gollum = {
-    dependencies = ["gemojione" "gollum-lib" "kramdown" "mustache" "sinatra" "useragent"];
+  gemojione = {
+    dependencies = ["json"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ik1b0f73lcxfwfml1h84dp6br79g0z9v6x54wvl46n9d1ndrhl7";
+      sha256 = "097mrsahv1h67kjrk1cpiqc1cbrfgvlp2rqwmzdzxrq0kx50461w";
       type = "gem";
     };
-    version = "4.1.4";
+    version = "4.3.2";
   };
-  gollum-grit_adapter = {
-    dependencies = ["gitlab-grit"];
+  github-markup = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0fcibm63v1afc0fj5rki0mm51m7nndil4cjcjjvkh3yigfn4nr4b";
+      sha256 = "14991x92v8s60hfqv7162jfmdqa20fifn2bz0km3k5cgi01pf9rs";
       type = "gem";
     };
-    version = "1.0.1";
+    version = "3.0.4";
+  };
+  gollum = {
+    dependencies = ["gemojione" "gollum-lib" "kramdown" "kramdown-parser-gfm" "mustache" "octicons" "rss" "sass" "sinatra" "sinatra-contrib" "sprockets" "sprockets-helpers" "therubyrhino" "uglifier" "useragent"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1f9p1230xmrvcb7ii2gkcvhpgcaqvvd47gy3c58nn730jkv471dr";
+      type = "gem";
+    };
+    version = "5.0.1";
   };
   gollum-lib = {
-    dependencies = ["gemojione" "github-markup" "gollum-grit_adapter" "nokogiri" "rouge" "sanitize" "stringex" "twitter-text"];
+    dependencies = ["gemojione" "github-markup" "gollum-rugged_adapter" "loofah" "nokogiri" "octicons" "rouge" "twitter-text"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1699wiir6f2a8yawk3qg0xn3zdc10mz783v53ri1ivfnzdrm3dvf";
+      sha256 = "0r59fyf7i4rlp6wj9ilnqd9pmgpkafv0yl4jmrxa6hr2p4cmnf1g";
       type = "gem";
     };
-    version = "4.2.10";
+    version = "5.0.3";
+  };
+  gollum-rugged_adapter = {
+    dependencies = ["mime-types" "rugged"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0016yfac3b3sy34k9wrqg422mjm8cpd1jd1m4gdn4x2d4jxhxkzq";
+      type = "gem";
+    };
+    version = "0.99.4";
   };
   json = {
     groups = ["default"];
@@ -99,20 +118,53 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12sral2xli39mnr4b9m2sxdlgam4ni0a1mkxawc5311z107zj3p0";
+      sha256 = "1dl840bvx8d9nq6lg3mxqyvbiqnr6lk3jfsm6r8zhz7p5srmd688";
+      type = "gem";
+    };
+    version = "2.1.0";
+  };
+  kramdown-parser-gfm = {
+    dependencies = ["kramdown"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ykna2apphld9llmjnz0210fipp4fkmj2ja18l7iz9xikg0h0ihi";
       type = "gem";
     };
-    version = "1.9.0";
+    version = "1.0.1";
+  };
+  loofah = {
+    dependencies = ["crass" "nokogiri"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0jk9fgn5ayzbqvzqm11gbkqvas77zdbpkvynlylyiwynclgrn040";
+      type = "gem";
+    };
+    version = "2.5.0";
   };
   mime-types = {
+    dependencies = ["mime-types-data"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03j98xr0qw2p2jkclpmk7pm29yvmmh0073d8d43ajmr0h3w7i5l9";
+      sha256 = "1zj12l9qk62anvk9bjvandpa6vy4xslil15wl6wlivyf51z773vh";
       type = "gem";
     };
-    version = "2.99.3";
+    version = "3.3.1";
+  };
+  mime-types-data = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "18x61fc36951vw7f74gq8cyybdpxvyg5d0azvqhrs82ddw3v16xh";
+      type = "gem";
+    };
+    version = "3.2019.1009";
   };
   mini_portile2 = {
     groups = ["default"];
@@ -124,6 +176,16 @@
     };
     version = "2.4.0";
   };
+  multi_json = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0xy54mjf7xg41l8qrg1bqri75agdqmxap9z466fjismc1rn2jwfr";
+      type = "gem";
+    };
+    version = "1.14.1";
+  };
   mustache = {
     groups = ["default"];
     platforms = [];
@@ -134,36 +196,48 @@
     };
     version = "0.99.8";
   };
+  mustermann = {
+    dependencies = ["ruby2_keywords"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0ccm54qgshr1lq3pr1dfh7gphkilc19dp63rw6fcx7460pjwy88a";
+      type = "gem";
+    };
+    version = "1.1.1";
+  };
   nokogiri = {
     dependencies = ["mini_portile2"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1yi8j8hwrlc3rg5v3w52gxndmwifyk7m732q9yfbal0qajqbh1h8";
+      sha256 = "12j76d0bp608932xkzmfi638c7aqah57l437q8494znzbj610qnm";
       type = "gem";
     };
-    version = "1.10.8";
+    version = "1.10.9";
   };
-  posix-spawn = {
+  octicons = {
+    dependencies = ["nokogiri"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pmxmpins57qrbr31bs3bm7gidhaacmrp4md6i962gvpq4gyfcjw";
+      sha256 = "0fy6shpfmla58dxx3kb2zi1hs7vmdw6pqrksaa8yrva05s4l3y75";
       type = "gem";
     };
-    version = "0.3.13";
+    version = "8.5.0";
   };
   rack = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wr1f3g9rc9i8svfxa9cijajl1661d817s56b2w7rd572zwn0zi0";
+      sha256 = "10mp9s48ssnw004aksq90gvhdvwczh8j6q82q2kqiqq92jd1zxbp";
       type = "gem";
     };
-    version = "1.6.13";
+    version = "2.2.2";
   };
   rack-protection = {
     dependencies = ["rack"];
@@ -171,52 +245,169 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0my0wlw4a5l3hs79jkx2xzv7djhajgf8d28k8ai1ddlnxxb0v7ss";
+      sha256 = "1zyj97bfr1shfgwk4ddmdbw0mdkm4qdyh9s1hl0k7accf3kxx1yi";
+      type = "gem";
+    };
+    version = "2.0.8.1";
+  };
+  rb-fsevent = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1lm1k7wpz69jx7jrc92w3ggczkjyjbfziq5mg62vjnxmzs383xx8";
       type = "gem";
     };
-    version = "1.5.5";
+    version = "0.10.3";
+  };
+  rb-inotify = {
+    dependencies = ["ffi"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1jm76h8f8hji38z3ggf4bzi8vps6p7sagxn3ab57qc0xyga64005";
+      type = "gem";
+    };
+    version = "0.10.1";
+  };
+  rexml = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mkvkcw9fhpaizrhca0pdgjcrbns48rlz4g6lavl5gjjq3rk2sq3";
+      type = "gem";
+    };
+    version = "3.2.4";
   };
   rouge = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "02kpahk5nkc33yxnn75649kzxaz073wvazr2zyg491nndykgnvcs";
+      sha256 = "0xl7k5paf66p57sphm4nfa4k86yf93lhdzzr0cv0l4divq12g2pr";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "3.17.0";
   };
-  sanitize = {
-    dependencies = ["nokogiri"];
+  rss = {
+    dependencies = ["rexml"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1b1zx07kr64kkpm4lssd4r1a1qyr829ppmfl85i4adcvx9mqfid0";
+      type = "gem";
+    };
+    version = "0.2.9";
+  };
+  ruby2_keywords = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "17pcc0wgvh3ikrkr7bm3nx0qhyiqwidd13ij0fa50k7gsbnr2p0l";
+      type = "gem";
+    };
+    version = "0.0.2";
+  };
+  rugged = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04rkxwzaa6897da3mnm70g720gpxwyh71krfn6ag1dkk80x8a8yz";
+      type = "gem";
+    };
+    version = "0.99.0";
+  };
+  sass = {
+    dependencies = ["sass-listen"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0p95lhs0jza5l7hqci1isflxakz83xkj97lkvxl919is0lwhv2w0";
+      type = "gem";
+    };
+    version = "3.7.4";
+  };
+  sass-listen = {
+    dependencies = ["rb-fsevent" "rb-inotify"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12ip1d80r0dgc621qn7c32bk12xxgkkg3w6q21s1ckxivcd7r898";
+      sha256 = "0xw3q46cmahkgyldid5hwyiwacp590zj2vmswlll68ryvmvcp7df";
       type = "gem";
     };
-    version = "2.1.1";
+    version = "4.0.0";
   };
   sinatra = {
-    dependencies = ["rack" "rack-protection" "tilt"];
+    dependencies = ["mustermann" "rack" "rack-protection" "tilt"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0riy3hwjab1mr73jcqx3brmbmwspnw3d193j06a5f0fy1w35z15q";
+      type = "gem";
+    };
+    version = "2.0.8.1";
+  };
+  sinatra-contrib = {
+    dependencies = ["backports" "multi_json" "mustermann" "rack-protection" "sinatra" "tilt"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1mmrfm4pqh98f3irjpkvfpazhcx6q42bnx6bbms9dqvmck3mid28";
+      type = "gem";
+    };
+    version = "2.0.8.1";
+  };
+  sprockets = {
+    dependencies = ["concurrent-ruby" "rack"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "182jw5a0fbqah5w9jancvfmjbk88h8bxdbwnl4d3q809rpxdg8ay";
+      type = "gem";
+    };
+    version = "3.7.2";
+  };
+  sprockets-helpers = {
+    dependencies = ["sprockets"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hy67dwz76n5db00d9n3qy59ici96c2g25c9xpmp2nh8ilvha338";
+      type = "gem";
+    };
+    version = "1.2.3";
+  };
+  therubyrhino = {
+    dependencies = ["therubyrhino_jar"];
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0byxzl7rx3ki0xd7aiv1x8mbah7hzd8f81l65nq8857kmgzj1jqq";
+      sha256 = "034mzpkxm3zjsi4rwa45dhhgq2b9vkabs5bnzbl1d3ka7210b3fc";
       type = "gem";
     };
-    version = "1.4.8";
+    version = "2.1.2";
   };
-  stringex = {
+  therubyrhino_jar = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15ns7j5smw04w6w7bqd5mm2qcl7w9lhwykyb974i4isgg9yc23ys";
+      sha256 = "149a5lsvn2n7k7vcfs77n836q1alv8yjh0503sf9cs65p974ah25";
       type = "gem";
     };
-    version = "2.8.5";
+    version = "1.7.8";
   };
   tilt = {
     groups = ["default"];
@@ -239,6 +430,17 @@
     };
     version = "1.14.7";
   };
+  uglifier = {
+    dependencies = ["execjs"];
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0wmqvn4xncw6h3d5gp2a44170zwxfyj3iq4rsjp16zarvzbdmgnz";
+      type = "gem";
+    };
+    version = "3.2.0";
+  };
   unf = {
     dependencies = ["unf_ext"];
     groups = ["default"];
@@ -255,10 +457,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ll6w64ibh81qwvjx19h8nj7mngxgffg7aigjx11klvf5k2g4nxf";
+      sha256 = "0wc47r23h063l8ysws8sy24gzh74mks81cak3lkzlrw4qkqb3sg4";
       type = "gem";
     };
-    version = "0.0.7.6";
+    version = "0.0.7.7";
   };
   useragent = {
     groups = ["default"];
diff --git a/pkgs/applications/misc/img2pdf/default.nix b/pkgs/applications/misc/img2pdf/default.nix
index 902e9268f722..972e3b7e7b60 100644
--- a/pkgs/applications/misc/img2pdf/default.nix
+++ b/pkgs/applications/misc/img2pdf/default.nix
@@ -4,11 +4,11 @@ with python3Packages;
 
 buildPythonApplication rec {
   pname = "img2pdf";
-  version = "0.3.3";
+  version = "0.3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ksn33j9d9df04n4jx7dli70d700rafbm37gjaz6lwsswrzc2xwx";
+    sha256 = "0jgfk191vvxn2r6bbdknvw5v510mx9g0xrgnmcghaxkv65zjnj0b";
   };
 
   doCheck = false; # needs pdfrw
@@ -19,7 +19,7 @@ buildPythonApplication rec {
 
   meta = with stdenv.lib; {
     description = "Convert images to PDF via direct JPEG inclusion";
-    homepage = https://gitlab.mister-muffin.de/josch/img2pdf;
+    homepage = "https://gitlab.mister-muffin.de/josch/img2pdf";
     license = licenses.lgpl2;
     platforms = platforms.unix;
     maintainers = [ maintainers.veprbl ];
diff --git a/pkgs/applications/misc/jekyll/basic/Gemfile.lock b/pkgs/applications/misc/jekyll/basic/Gemfile.lock
index 332f1bbf1977..b421ea717953 100644
--- a/pkgs/applications/misc/jekyll/basic/Gemfile.lock
+++ b/pkgs/applications/misc/jekyll/basic/Gemfile.lock
@@ -98,4 +98,4 @@ DEPENDENCIES
   jemoji
 
 BUNDLED WITH
-   1.17.3
+   2.1.4
diff --git a/pkgs/applications/misc/jekyll/full/Gemfile.lock b/pkgs/applications/misc/jekyll/full/Gemfile.lock
index ebde3c93e215..51a835e4b9f0 100644
--- a/pkgs/applications/misc/jekyll/full/Gemfile.lock
+++ b/pkgs/applications/misc/jekyll/full/Gemfile.lock
@@ -149,4 +149,4 @@ DEPENDENCIES
   yajl-ruby (~> 1.4)
 
 BUNDLED WITH
-   1.17.3
+   2.1.4
diff --git a/pkgs/applications/misc/josm/default.nix b/pkgs/applications/misc/josm/default.nix
index 4a47437b2497..eec7a066a887 100644
--- a/pkgs/applications/misc/josm/default.nix
+++ b/pkgs/applications/misc/josm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "josm";
-  version = "15937";
+  version = "16239";
 
   src = fetchurl {
     url = "https://josm.openstreetmap.de/download/josm-snapshot-${version}.jar";
-    sha256 = "1mwrmhs5k3b3pvl3cmq78h8gh8zna06l4sym1a4vvlcx6j26a01f";
+    sha256 = "041n81mnd587043f8wwjv8ckbx0hlsqf3pc7hzbns1y89xdghms1";
   };
 
   buildInputs = [ jdk11 makeWrapper ];
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "An extensible editor for OpenStreetMap";
-    homepage = https://josm.openstreetmap.de/;
+    homepage = "https://josm.openstreetmap.de/";
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.rycee ];
     platforms = platforms.all;
diff --git a/pkgs/applications/misc/lutris/default.nix b/pkgs/applications/misc/lutris/default.nix
index 6cd5c6d204ed..297596b8e39c 100644
--- a/pkgs/applications/misc/lutris/default.nix
+++ b/pkgs/applications/misc/lutris/default.nix
@@ -1,7 +1,7 @@
 { buildPythonApplication, lib, fetchFromGitHub, fetchpatch
 , wrapGAppsHook, gobject-introspection, gnome-desktop, libnotify, libgnome-keyring, pango
 , gdk-pixbuf, atk, webkitgtk, gst_all_1
-, evdev, pyyaml, pygobject3, requests, pillow
+, dbus-python, evdev, pyyaml, pygobject3, requests, pillow
 , xrandr, pciutils, psmisc, glxinfo, vulkan-tools, xboxdrv, pulseaudio, p7zip, xgamma
 , libstrangle, wine, fluidsynth, xorgserver
 }:
@@ -31,22 +31,15 @@ let
 
 in buildPythonApplication rec {
   pname = "lutris-original";
-  version = "0.5.4";
+  version = "0.5.5";
 
   src = fetchFromGitHub {
     owner = "lutris";
     repo = "lutris";
     rev = "v${version}";
-    sha256 = "0i4i6g3pys1vf2q1pbs1fkywgapj4qfxrjrvim98hzw9al4l06y9";
+    sha256 = "1g093g0difnkjmnm91p20issdsxn9ri4c56zzddj5wfrbmhwdfag";
   };
 
-  patches = [(
-    fetchpatch {
-      url = "https://github.com/lutris/lutris/pull/2558.patch";
-      sha256 = "1wbsplri5ii06gzv6mzhiic61zkgsp9bkjkaknkd83203p0i9b2d";
-    }
-  )];
-
   buildInputs = [
     wrapGAppsHook gobject-introspection gnome-desktop libnotify libgnome-keyring pango
     gdk-pixbuf atk webkitgtk
@@ -57,7 +50,7 @@ in buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = [
-    evdev pyyaml pygobject3 requests pillow
+    evdev pyyaml pygobject3 requests pillow dbus-python
   ];
 
   preCheck = "export HOME=$PWD";
diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix
index f084d17e3896..1ed1ef4afb53 100644
--- a/pkgs/applications/misc/mediainfo/default.nix
+++ b/pkgs/applications/misc/mediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "19.09";
+  version = "20.03";
   pname = "mediainfo";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "1a2ssklg12sjsw09y8my9kf35mizi3zj7w002nspcmw28apb1x82";
+    sha256 = "1f1shnycf0f1fwka9k9s250l228xjkg0k4k73h8bpld8msighgnw";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
       MediaInfo is a convenient unified display of the most relevant technical
       and tag data for video and audio files.
     '';
-    homepage = https://mediaarea.net/;
+    homepage = "https://mediaarea.net/";
     license = licenses.bsd2;
     platforms = platforms.unix;
     maintainers = [ maintainers.devhell ];
diff --git a/pkgs/applications/misc/minder/default.nix b/pkgs/applications/misc/minder/default.nix
index baa8f69cfacb..fd1aa050fe74 100644
--- a/pkgs/applications/misc/minder/default.nix
+++ b/pkgs/applications/misc/minder/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "minder";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     owner = "phase1geo";
     repo = pname;
     rev = version;
-    sha256 = "0y30gdnx270m857iijhgdv7a2nqxmmd8w6kfhd80763ygk17xk1r";
+    sha256 = "0pfp0dglj2ig2p1h000137dxw777mjvzzqj3gcnbxjxqz3m6fzc0";
   };
 
   nativeBuildInputs = [ pkgconfig meson ninja python3 wrapGAppsHook vala shared-mime-info ];
diff --git a/pkgs/applications/misc/obinskit/default.nix b/pkgs/applications/misc/obinskit/default.nix
index ff09500c43a5..aa11c069a7a8 100644
--- a/pkgs/applications/misc/obinskit/default.nix
+++ b/pkgs/applications/misc/obinskit/default.nix
@@ -29,11 +29,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "obinskit";
-  version = "1.1.1";
+  version = "1.1.4";
 
   src = fetchurl {
     url = "http://releases.obins.net/occ/linux/tar/ObinsKit_${version}_x64.tar.gz";
-    sha256 = "0052m4msslc4k9g3i5vl933cz5q2n1affxhnm433w4apajr8h28h";
+    sha256 = "0q422rmfn4k4ww1qlgrwdmxz4l10dxkd6piynbcw5cr4i5icnh2l";
   };
 
   unpackPhase = "tar -xzf $src";
diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix
index cd442f1bc3ce..c9fc0ff30fc0 100644
--- a/pkgs/applications/misc/orca/default.nix
+++ b/pkgs/applications/misc/orca/default.nix
@@ -35,13 +35,13 @@
 
 buildPythonApplication rec {
   pname = "orca";
-  version = "3.36.0";
+  version = "3.36.1";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0yrkl0j1mm4fd5zib8jvbfgm2iyanlx05vhhnmjcmvpm464c7pf9";
+    sha256 = "07w3k0f791zd1pj9j6d27k7gk7c6hx112ngrdz18h573df5n9b61";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/pt/Gemfile.lock b/pkgs/applications/misc/pt/Gemfile.lock
index 501fae0ef0a2..dfaa018d3724 100644
--- a/pkgs/applications/misc/pt/Gemfile.lock
+++ b/pkgs/applications/misc/pt/Gemfile.lock
@@ -66,4 +66,4 @@ DEPENDENCIES
   pt
 
 BUNDLED WITH
-   1.17.2
+   2.1.4
diff --git a/pkgs/applications/misc/qcad/application-dir.patch b/pkgs/applications/misc/qcad/application-dir.patch
new file mode 100644
index 000000000000..84782e1e7178
--- /dev/null
+++ b/pkgs/applications/misc/qcad/application-dir.patch
@@ -0,0 +1,35 @@
+diff --git a/src/core/RS.cpp b/src/core/RS.cpp
+index d8a135d6f..659795dbb 100644
+--- a/src/core/RS.cpp
++++ b/src/core/RS.cpp
+@@ -151,7 +151,7 @@ QStringList RS::getDirectoryList(const QString& subDirectory) {
+     dirList.append(appDir + "/../../../" + subDirectory);
+     dirList.append(QDir::currentPath() + "/" + subDirectory);
+ #else
+-    dirList.append(appDir + "/" + subDirectory);
++    dirList.append(appDir + "/../lib/" + subDirectory);
+ #endif
+ 
+     /*
+diff --git a/src/core/RSettings.cpp b/src/core/RSettings.cpp
+index c6c31cbf5..c51b59ce6 100644
+--- a/src/core/RSettings.cpp
++++ b/src/core/RSettings.cpp
+@@ -367,6 +367,8 @@ QString RSettings::getApplicationPath() {
+         ret.cdUp();
+     }
+ 
++    ret.cd("../lib");
++
+     return ret.path();
+ }
+ 
+@@ -1268,7 +1270,7 @@ QString RSettings::getRevisionString() {
+ }
+ 
+ QString RSettings::getReleaseDate() {
+-    return __DATE__;
++    return "";
+ }
+ 
+ int RSettings::getSnapRange() {
diff --git a/pkgs/applications/misc/qcad/default.nix b/pkgs/applications/misc/qcad/default.nix
new file mode 100644
index 000000000000..4f046e34b189
--- /dev/null
+++ b/pkgs/applications/misc/qcad/default.nix
@@ -0,0 +1,92 @@
+{ boost
+, fetchFromGitHub
+, mkDerivationWith
+, muparser
+, pkgconfig
+, qmake
+, qt5
+, stdenv
+, libGLU
+}:
+
+mkDerivationWith stdenv.mkDerivation rec {
+  pname = "qcad";
+  version = "3.24.2.1";
+
+  src = fetchFromGitHub {
+    owner = "qcad";
+    repo = "qcad";
+    rev = "v${version}";
+    sha256 = "1g295gljq051x09f4d8k586bkg3vs8z22dn3rxj6xrm6803z8zw2";
+  };
+
+  patches = [
+    ./application-dir.patch
+  ];
+
+  postPatch = ''
+    mkdir src/3rdparty/qt-labs-qtscriptgenerator-${qt5.qtbase.version}
+    cp \
+      src/3rdparty/qt-labs-qtscriptgenerator-5.12.3/qt-labs-qtscriptgenerator-5.12.3.pro \
+      src/3rdparty/qt-labs-qtscriptgenerator-${qt5.qtbase.version}/qt-labs-qtscriptgenerator-${qt5.qtbase.version}.pro
+  '';
+
+  qmakeFlags = [
+    "MUPARSER_DIR=${muparser}"
+    "INSTALLROOT=$(out)"
+    "BOOST_DIR=${boost.dev}"
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm555 -t $out/bin release/qcad-bin
+    install -Dm555 -t $out/lib release/libspatialindexnavel.so
+    install -Dm555 -t $out/lib release/libqcadcore.so
+    install -Dm555 -t $out/lib release/libqcadentity.so
+    install -Dm555 -t $out/lib release/libqcadgrid.so
+    install -Dm555 -t $out/lib release/libqcadsnap.so
+    install -Dm555 -t $out/lib release/libqcadoperations.so
+    install -Dm555 -t $out/lib release/libqcadstemmer.so
+    install -Dm555 -t $out/lib release/libqcadspatialindex.so
+    install -Dm555 -t $out/lib release/libqcadgui.so
+    install -Dm555 -t $out/lib release/libqcadecmaapi.so
+
+    install -Dm444 -t $out/share/applications qcad.desktop
+    install -Dm644 -t $out/share/pixmaps      scripts/qcad_icon.png
+
+    cp -r scripts $out/lib
+    cp -r plugins $out/lib/plugins
+    cp -r patterns $out/lib/patterns
+
+    install -Dm644 scripts/qcad_icon.svg $out/share/icons/hicolor/scalable/apps/qcad.svg
+
+    runHook postInstall
+    '';
+
+  buildInputs = [
+    boost
+    muparser
+    libGLU
+    qt5.qtbase
+    qt5.qtscript
+    qt5.qtsvg
+    qt5.qtxmlpatterns
+  ];
+
+  nativeBuildInputs = [
+    pkgconfig
+    qt5.qmake
+    qt5.qttools
+  ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "2D CAD package based on Qt";
+    homepage = "https://qcad.org";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ yvesf ];
+    platforms = qt5.qtbase.meta.platforms;
+  };
+}
diff --git a/pkgs/applications/misc/syncthingtray/default.nix b/pkgs/applications/misc/syncthingtray/default.nix
index 20dd3d6a3c68..16bfdfb9a032 100644
--- a/pkgs/applications/misc/syncthingtray/default.nix
+++ b/pkgs/applications/misc/syncthingtray/default.nix
@@ -20,14 +20,14 @@
 }:
 
 mkDerivation rec {
-  version = "0.10.7";
+  version = "0.10.8";
   pname = "syncthingtray";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = "syncthingtray";
     rev = "v${version}";
-    sha256 = "0qix22wblakpxwqy63378p5rksnx2ik9gfw0c6za19mzhx7gwln8";
+    sha256 = "1g27v109m0ar090b340x6lsrzfp85hskcr3kapc2rgdhaa0mygpd";
   };
 
   buildInputs = [ qtbase cpp-utilities qtutilities ]
diff --git a/pkgs/applications/misc/taskjuggler/3.x/Gemfile.lock b/pkgs/applications/misc/taskjuggler/3.x/Gemfile.lock
index d1642e76fa65..8831993117d2 100644
--- a/pkgs/applications/misc/taskjuggler/3.x/Gemfile.lock
+++ b/pkgs/applications/misc/taskjuggler/3.x/Gemfile.lock
@@ -18,4 +18,4 @@ DEPENDENCIES
   taskjuggler
 
 BUNDLED WITH
-   1.10.5
+   2.1.4
diff --git a/pkgs/applications/misc/taskjuggler/Gemfile.lock b/pkgs/applications/misc/taskjuggler/Gemfile.lock
index dcc46e370e71..0f05c496173f 100644
--- a/pkgs/applications/misc/taskjuggler/Gemfile.lock
+++ b/pkgs/applications/misc/taskjuggler/Gemfile.lock
@@ -18,4 +18,4 @@ DEPENDENCIES
   taskjuggler
 
 BUNDLED WITH
-   1.17.2
+   2.1.4
diff --git a/pkgs/applications/misc/tilda/default.nix b/pkgs/applications/misc/tilda/default.nix
index 39f54156fef8..f8ae5587ff92 100644
--- a/pkgs/applications/misc/tilda/default.nix
+++ b/pkgs/applications/misc/tilda/default.nix
@@ -1,20 +1,23 @@
-{ stdenv, fetchzip, pkgconfig
-, autoreconfHook, gettext, expat
+{ stdenv, fetchFromGitHub, pkgconfig
+, autoreconfHook, gettext, expat, pcre2
 , libconfuse, vte, gtk
 , makeWrapper }:
 
+with stdenv.lib;
 stdenv.mkDerivation rec {
 
   pname = "tilda";
-  version = "1.4.1";
+  version = "1.5.0";
 
-  src = fetchzip {
-    url = "https://github.com/lanoxx/tilda/archive/${pname}-${version}.tar.gz";
-    sha256 = "154rsldqjv2m1bddisb930qicb0y35kx7bxq392n2hn68jr2pxkj";
+  src = fetchFromGitHub {
+    owner = "lanoxx";
+    repo = "tilda";
+    rev = "${pname}-${version}";
+    sha256 = "13djibj3s7ig13c57ywy38pxy3qfmqihii2c0g15fy2h9q8xp1gx";
   };
 
   nativeBuildInputs = [ autoreconfHook makeWrapper pkgconfig ];
-  buildInputs = [ gettext libconfuse vte gtk ];
+  buildInputs = [ gettext pcre2 libconfuse vte gtk ];
 
   LD_LIBRARY_PATH = "${expat.out}/lib"; # ugly hack for xgettext to work during build
 
@@ -27,9 +30,9 @@ stdenv.mkDerivation rec {
         --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
-  meta = with stdenv.lib; {
+  meta = {
     description = "A Gtk based drop down terminal for Linux and Unix";
-    homepage = https://github.com/lanoxx/tilda/;
+    homepage = "https://github.com/lanoxx/tilda/";
     license = licenses.gpl3;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/misc/tut/default.nix b/pkgs/applications/misc/tut/default.nix
new file mode 100644
index 000000000000..586766e5456c
--- /dev/null
+++ b/pkgs/applications/misc/tut/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  pname = "tut";
+  version = "0.0.2";
+
+  goPackagePath = "github.com/RasmusLindroth/tut";
+  goDeps = ./deps.nix;
+
+  src = fetchFromGitHub {
+    owner = "RasmusLindroth";
+    repo = pname;
+    rev = version;
+    sha256 = "0c44mgkmjnfpf06cj63i6mscxcsm5cipm0l4n6pjxhc7k3qhgsfw";
+  };
+
+  meta = with stdenv.lib; {
+    description = "A TUI for Mastodon with vim inspired keys";
+    homepage = "https://github.com/RasmusLindroth/tut";
+    license = licenses.mit;
+    maintainers = with maintainers; [ equirosa ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/misc/tut/deps.nix b/pkgs/applications/misc/tut/deps.nix
new file mode 100644
index 000000000000..89453f121a9e
--- /dev/null
+++ b/pkgs/applications/misc/tut/deps.nix
@@ -0,0 +1,273 @@
+# file generated from go.mod using vgo2nix (https://github.com/adisbladis/vgo2nix)
+[
+  {
+    goPackagePath = "github.com/BurntSushi/toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/BurntSushi/toml";
+      rev = "v0.3.1";
+      sha256 = "1fjdwwfzyzllgiwydknf1pwjvy49qxfsczqx5gz3y0izs7as99j6";
+    };
+  }
+  {
+    goPackagePath = "github.com/DATA-DOG/go-sqlmock";
+    fetch = {
+      type = "git";
+      url = "https://github.com/DATA-DOG/go-sqlmock";
+      rev = "v1.3.3";
+      sha256 = "1xrly2vmy1mgj9dbkmivhh8gvq6v9f9xy2yp2dw54i1895zzs928";
+    };
+  }
+  {
+    goPackagePath = "github.com/PuerkitoBio/goquery";
+    fetch = {
+      type = "git";
+      url = "https://github.com/PuerkitoBio/goquery";
+      rev = "v1.5.0";
+      sha256 = "1fqf4rs66wy02nxz6w4mvs2qawf2j8srz17i294v64y8gvxisp56";
+    };
+  }
+  {
+    goPackagePath = "github.com/andybalholm/cascadia";
+    fetch = {
+      type = "git";
+      url = "https://github.com/andybalholm/cascadia";
+      rev = "v1.0.0";
+      sha256 = "09j8cavbhqqdxjqrkwbc40g8p0i49zf3184rpjm5p2rjbprcghcc";
+    };
+  }
+  {
+    goPackagePath = "github.com/davecgh/go-spew";
+    fetch = {
+      type = "git";
+      url = "https://github.com/davecgh/go-spew";
+      rev = "v1.1.1";
+      sha256 = "0hka6hmyvp701adzag2g26cxdj47g21x6jz4sc6jjz1mn59d474y";
+    };
+  }
+  {
+    goPackagePath = "github.com/fatih/color";
+    fetch = {
+      type = "git";
+      url = "https://github.com/fatih/color";
+      rev = "v1.9.0";
+      sha256 = "086z8ssmr1fn9ba4mqnw7pnccfpys6l5yfhvycv1gdrsk7n27mvs";
+    };
+  }
+  {
+    goPackagePath = "github.com/gdamore/encoding";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gdamore/encoding";
+      rev = "v1.0.0";
+      sha256 = "1vmm5zll92i2fm4ajqx0gyx0p9j36496x5nabi3y0x7h0inv0pk9";
+    };
+  }
+  {
+    goPackagePath = "github.com/gdamore/tcell";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gdamore/tcell";
+      rev = "v1.3.0";
+      sha256 = "1csg9qkmbg4ksj5247kgqcy7bxvqgz6b98r0rv2s4c1mkc99gx2r";
+    };
+  }
+  {
+    goPackagePath = "github.com/gorilla/websocket";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gorilla/websocket";
+      rev = "v1.4.1";
+      sha256 = "03n1n0nwz3k9qshmriycqznnnvd3dkzsfwpnfjzzvafjxk9kyapv";
+    };
+  }
+  {
+    goPackagePath = "github.com/kyoh86/xdg";
+    fetch = {
+      type = "git";
+      url = "https://github.com/kyoh86/xdg";
+      rev = "v1.2.0";
+      sha256 = "0a5nz53fdz1c2qvwlf2dpjdd72nxri95i6q4b07c37kiipgaxncn";
+    };
+  }
+  {
+    goPackagePath = "github.com/lucasb-eyer/go-colorful";
+    fetch = {
+      type = "git";
+      url = "https://github.com/lucasb-eyer/go-colorful";
+      rev = "v1.0.3";
+      sha256 = "12bgz6dxbb2ki1g3x7fg9ipsjgfkd58fp7cdpv63h4kvlj2n7j69";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-colorable";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-colorable";
+      rev = "v0.1.4";
+      sha256 = "1yxcz08kminqr1221zxpibnbzfcgs3fafin0z9zqb3gqvf74jywz";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-isatty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-isatty";
+      rev = "v0.0.11";
+      sha256 = "0h671sv7hfprja495kavazkalkx7xzaqksjh13brcnwq67ijrali";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-mastodon";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-mastodon";
+      rev = "3e91c76504df";
+      sha256 = "1wh2hqrzx80gfs1y34f4h68mnz83asx88v0bsw372ch5j1shswlr";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-runewidth";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-runewidth";
+      rev = "v0.0.8";
+      sha256 = "14ilkbhnhl8yj443dd1ga4biapswv4g0b4vm2mix78a8srdww39j";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-tty";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-tty";
+      rev = "v0.0.3";
+      sha256 = "0d1d63q02pc5k5ga8bw4yjbkrli2769vg237psajsskjirjy53vf";
+    };
+  }
+  {
+    goPackagePath = "github.com/microcosm-cc/bluemonday";
+    fetch = {
+      type = "git";
+      url = "https://github.com/microcosm-cc/bluemonday";
+      rev = "v1.0.2";
+      sha256 = "0j0aylsxqjcj49w7ph8cmpaqjlpvg7mb5mrcrd9bg71dlb9z9ir2";
+    };
+  }
+  {
+    goPackagePath = "github.com/pelletier/go-toml";
+    fetch = {
+      type = "git";
+      url = "https://github.com/pelletier/go-toml";
+      rev = "v1.6.0";
+      sha256 = "0l2830pi64fg0bdsyd5afkbw0p7879pppzdqqk3c7vjrjfmi5xbq";
+    };
+  }
+  {
+    goPackagePath = "github.com/rivo/tview";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rivo/tview";
+      rev = "cd38d7432498";
+      sha256 = "1rs048gf1jip0p20qir99vy5k0f3m54h7bh56l1sh8lxij5qj406";
+    };
+  }
+  {
+    goPackagePath = "github.com/rivo/uniseg";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rivo/uniseg";
+      rev = "v0.1.0";
+      sha256 = "0flpc1px1l6b1lxzhdxi0mvpkkjchppvgxshxxnlmm40s76i9ww5";
+    };
+  }
+  {
+    goPackagePath = "github.com/tomnomnom/linkheader";
+    fetch = {
+      type = "git";
+      url = "https://github.com/tomnomnom/linkheader";
+      rev = "02ca5825eb80";
+      sha256 = "1ghrv28vrvvrpyr4d4q817yby8g1j04mid8ql00sds1pvfv67d32";
+    };
+  }
+  {
+    goPackagePath = "github.com/urfave/cli";
+    fetch = {
+      type = "git";
+      url = "https://github.com/urfave/cli";
+      rev = "v1.20.0";
+      sha256 = "0y6f4sbzkiiwrxbl15biivj8c7qwxnvm3zl2dd3mw4wzg4x10ygj";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/crypto";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/crypto";
+      rev = "c2843e01d9a2";
+      sha256 = "01xgxbj5r79nmisdvpq48zfy8pzaaj90bn6ngd4nf33j9ar1dp8r";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/net";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/net";
+      rev = "118fecf932d8";
+      sha256 = "1rwrqfwh2yhnnhy7x0mbmlmk0rg1mi2jjad476y45i259a0c2ym6";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sync";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sync";
+      rev = "cd5d95a43a6e";
+      sha256 = "1nqkyz2y1qvqcma52ijh02s8aiqmkfb95j08f6zcjhbga3ds6hds";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "12a6c2dcc1e4";
+      sha256 = "0z1g49d36kh459dz0xhnss2f88vw7n5b3l3637v46f7daddvln67";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "v0.3.2";
+      sha256 = "0flv9idw0jm5nm8lx25xqanbkqgfiym6619w575p7nrdh0riqwqh";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/tools";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/tools";
+      rev = "90fa682c2a6e";
+      sha256 = "03ic2xsy51jw9749wl7gszdbz99iijbd2bckgygl6cm9w5m364ak";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/check.v1";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/check.v1";
+      rev = "20d25e280405";
+      sha256 = "0k1m83ji9l1a7ng8a7v40psbymxasmssbrrhpdv2wl4rhs0nc3np";
+    };
+  }
+  {
+    goPackagePath = "gopkg.in/yaml.v2";
+    fetch = {
+      type = "git";
+      url = "https://gopkg.in/yaml.v2";
+      rev = "v2.2.4";
+      sha256 = "11bwj757wi8kdrcnlgfqb8vv2d2xdhlghmyagd19i62khrkchsg2";
+    };
+  }
+]