diff options
Diffstat (limited to 'pkgs/applications')
102 files changed, 1286 insertions, 1865 deletions
diff --git a/pkgs/applications/audio/mopidy/local.nix b/pkgs/applications/audio/mopidy/local.nix index 43554280565..6cbb8424d35 100644 --- a/pkgs/applications/audio/mopidy/local.nix +++ b/pkgs/applications/audio/mopidy/local.nix @@ -5,11 +5,11 @@ python3Packages.buildPythonApplication rec { pname = "Mopidy-Local"; - version = "3.1.1"; + version = "3.2.0"; src = python3Packages.fetchPypi { inherit pname version; - sha256 = "13m0iz14lyplnpm96gfpisqvv4n89ls30kmkg21z7v238lm0h19j"; + sha256 = "14f78sb3wkg83dg3xcqlq77dh059zzcwry5l9ilyhnmvmyrkhqx0"; }; propagatedBuildInputs = [ diff --git a/pkgs/applications/audio/ncspot/default.nix b/pkgs/applications/audio/ncspot/default.nix index 623682f4173..a1019880318 100644 --- a/pkgs/applications/audio/ncspot/default.nix +++ b/pkgs/applications/audio/ncspot/default.nix @@ -14,16 +14,16 @@ let in rustPlatform.buildRustPackage rec { pname = "ncspot"; - version = "0.2.5"; + version = "0.2.6"; src = fetchFromGitHub { owner = "hrkfdn"; repo = "ncspot"; rev = "v${version}"; - sha256 = "19jy1ma2viqnyfbqdpm4cf8mpdrc0xyxrk7sayx1b7dqmkxcyp5c"; + sha256 = "0x40qzgw9zcih4q6mzclb7gqkw8h76hrmqzmg6nimpla29jcdxss"; }; - cargoSha256 = "0lgd4ff70qsjplm847hkx1hgs3kpwv2ahmgyhsld3mng3k7qfm09"; + cargoSha256 = "1pfl7cblf7d4ci514vlkdh1ybgby71x4aszxmlsrqmn92bq56jys"; cargoBuildFlags = [ "--no-default-features" "--features" "${lib.concatStringsSep "," features}" ]; diff --git a/pkgs/applications/audio/noisetorch/default.nix b/pkgs/applications/audio/noisetorch/default.nix index 1932f239cfd..1796927f529 100644 --- a/pkgs/applications/audio/noisetorch/default.nix +++ b/pkgs/applications/audio/noisetorch/default.nix @@ -2,16 +2,16 @@ buildGoModule rec { pname = "NoiseTorch"; - version = "0.8.2"; + version = "0.9.0"; src = fetchFromGitHub { owner = "lawl"; repo = "NoiseTorch"; rev = version; - sha256 = "14i04rmraxbddcvk0k9c6ak9invln7002g5jms54kcjzv9p39hbf"; + sha256 = "1a4g112h83m55pga8kq2a1wzxpycj59v4bygyjfyi1s09q1y97qg"; }; - patches = [ ./version.patch ./embedlibrnnoise.patch ]; + patches = [ ./version.patch ]; vendorSha256 = null; @@ -21,6 +21,8 @@ buildGoModule rec { buildInputs = [ rnnoise-plugin ]; + postPatch = "substituteInPlace main.go --replace 'librnnoise_ladspa/bin/ladspa/librnnoise_ladspa.so' '$RNNOISE_LADSPA_PLUGIN'"; + preBuild = '' export RNNOISE_LADSPA_PLUGIN="${rnnoise-plugin}/lib/ladspa/librnnoise_ladspa.so"; go generate; diff --git a/pkgs/applications/audio/noisetorch/embedlibrnnoise.patch b/pkgs/applications/audio/noisetorch/embedlibrnnoise.patch deleted file mode 100644 index b1782efb8b3..00000000000 --- a/pkgs/applications/audio/noisetorch/embedlibrnnoise.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/scripts/embedlibrnnoise.go b/scripts/embedlibrnnoise.go -index 43daf80..0b3004b 100644 ---- a/scripts/embedlibrnnoise.go -+++ b/scripts/embedlibrnnoise.go -@@ -8,7 +8,7 @@ import ( - ) - - func main() { -- b, err := ioutil.ReadFile("librnnoise_ladspa/bin/ladspa/librnnoise_ladspa.so") -+ b, err := ioutil.ReadFile(os.Getenv("RNNOISE_LADSPA_PLUGIN")) - if err != nil { - fmt.Printf("Couldn't read librnnoise_ladspa.so: %v\n", err) - os.Exit(1) diff --git a/pkgs/applications/audio/picard/default.nix b/pkgs/applications/audio/picard/default.nix index fb6f59d0ded..428a76ea617 100644 --- a/pkgs/applications/audio/picard/default.nix +++ b/pkgs/applications/audio/picard/default.nix @@ -12,13 +12,13 @@ let ; in pythonPackages.buildPythonApplication rec { pname = "picard"; - version = "2.5.2"; + version = "2.5.4"; src = fetchFromGitHub { owner = "metabrainz"; repo = pname; rev = "release-${version}"; - sha256 = "193pk6fhrqar2ra8krj6xdd7sm5qfw0p708iazzwk4b8c8g0q72j"; + sha256 = "11kx4wwl6d2yy0kijcsda0kz2494a7cywp3mzvbga1hcz78f2xv6"; }; nativeBuildInputs = [ gettext qt5.wrapQtAppsHook qt5.qtbase ] diff --git a/pkgs/applications/editors/emacs/generic.nix b/pkgs/applications/editors/emacs/generic.nix index a84cb41bf30..101dbdaa2e9 100644 --- a/pkgs/applications/editors/emacs/generic.nix +++ b/pkgs/applications/editors/emacs/generic.nix @@ -42,7 +42,12 @@ assert withXwidgets -> withGTK3 && webkitgtk != null; let -in stdenv.mkDerivation { +in stdenv.mkDerivation (lib.optionalAttrs nativeComp { + NATIVE_FULL_AOT = "1"; + LIBRARY_PATH = "${lib.getLib stdenv.cc.libc}/lib"; +} // lib.optionalAttrs stdenv.isDarwin { + CFLAGS = "-DMAC_OS_X_VERSION_MAX_ALLOWED=101200"; +} // { inherit pname version patches; src = fetchurl { @@ -88,10 +93,6 @@ in stdenv.mkDerivation { "" ]; - CFLAGS = "-DMAC_OS_X_VERSION_MAX_ALLOWED=101200"; - - LIBRARY_PATH = if nativeComp then "${lib.getLib stdenv.cc.libc}/lib" else ""; - nativeBuildInputs = [ pkgconfig makeWrapper ] ++ lib.optionals srcRepo [ autoreconfHook texinfo ] ++ lib.optional (withX && (withGTK3 || withXwidgets)) wrapGAppsHook; @@ -155,6 +156,11 @@ in stdenv.mkDerivation { mv nextstep/Emacs.app $out/Applications '' + lib.optionalString (nativeComp && withNS) '' ln -snf $out/lib/emacs/*/native-lisp $out/Applications/Emacs.app/Contents/native-lisp + '' + lib.optionalString nativeComp '' + mkdir -p $out/share/emacs/native-lisp + $out/bin/emacs --batch \ + --eval "(add-to-list 'comp-eln-load-path \"$out/share/emacs/native-lisp\")" \ + -f batch-native-compile $out/share/emacs/site-lisp/site-start.el ''; postFixup = lib.concatStringsSep "\n" [ @@ -195,4 +201,4 @@ in stdenv.mkDerivation { separately. ''; }; -} +}) diff --git a/pkgs/applications/editors/emacs/site-start.el b/pkgs/applications/editors/emacs/site-start.el index 86cad1132f6..01a6422d731 100644 --- a/pkgs/applications/editors/emacs/site-start.el +++ b/pkgs/applications/editors/emacs/site-start.el @@ -34,6 +34,25 @@ least specific (the system profile)" (setenv "EMACSLOADPATH" (when new-env-list (mapconcat 'identity new-env-list ":")))))) +(let ((wrapper-site-lisp (getenv "emacsWithPackages_siteLispNative")) + (env-load-path (getenv "EMACSNATIVELOADPATH"))) + (when wrapper-site-lisp + (setenv "emacsWithPackages_siteLispNative" nil)) + (when (and wrapper-site-lisp env-load-path) + (let* ((env-list (split-string env-load-path ":")) + (new-env-list (delete wrapper-site-lisp env-list))) + (setenv "EMACSNATIVELOADPATH" (when new-env-list + (mapconcat 'identity new-env-list ":")))))) + +;;; Set up native-comp load path. +(when (featurep 'comp) + ;; Append native-comp subdirectories from `NIX_PROFILES'. + (setq comp-eln-load-path + (append (mapcar (lambda (profile-dir) + (concat profile-dir "/share/emacs/native-lisp/")) + (nix--profile-paths)) + comp-eln-load-path))) + ;;; Make `woman' find the man pages (defvar woman-manpath) (eval-after-load 'woman diff --git a/pkgs/applications/editors/jetbrains/common.nix b/pkgs/applications/editors/jetbrains/common.nix index 07776bebe42..43dbd137f78 100644 --- a/pkgs/applications/editors/jetbrains/common.nix +++ b/pkgs/applications/editors/jetbrains/common.nix @@ -1,5 +1,6 @@ -{ stdenv, lib, makeDesktopItem, makeWrapper, patchelf +{ stdenv, lib, makeDesktopItem, makeWrapper, patchelf, writeText , coreutils, gnugrep, which, git, unzip, libsecret, libnotify +, vmopts ? null }: { name, product, version, src, wmClass, jdk, meta }: @@ -9,6 +10,11 @@ with stdenv.lib; let loName = toLower product; hiName = toUpper product; execName = concatStringsSep "-" (init (splitString "-" name)); + vmoptsName = loName + + ( if (with stdenv.hostPlatform; (is32bit || isDarwin)) + then "" + else "64" ) + + ".vmoptions"; in with stdenv; lib.makeOverridable mkDerivation rec { @@ -26,6 +32,8 @@ with stdenv; lib.makeOverridable mkDerivation rec { ''; }; + vmoptsFile = optionalString (vmopts != null) (writeText vmoptsName vmopts); + nativeBuildInputs = [ makeWrapper patchelf unzip ]; patchPhase = lib.optionalString (!stdenv.isDarwin) '' @@ -72,7 +80,8 @@ with stdenv; lib.makeOverridable mkDerivation rec { --set JDK_HOME "$jdk" \ --set ${hiName}_JDK "$jdk" \ --set ANDROID_JAVA_HOME "$jdk" \ - --set JAVA_HOME "$jdk" + --set JAVA_HOME "$jdk" \ + --set ${hiName}_VM_OPTIONS ${vmoptsFile} ln -s "$item/share/applications" $out/share ''; diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix index 78e6ad30b71..9638bea60c9 100644 --- a/pkgs/applications/editors/jetbrains/default.nix +++ b/pkgs/applications/editors/jetbrains/default.nix @@ -2,12 +2,13 @@ , python , jdk, cmake, libxml2, zlib, python3, ncurses5 , dotnet-sdk_3 +, vmopts ? null }: with stdenv.lib; let - mkJetBrainsProduct = callPackage ./common.nix { }; + mkJetBrainsProduct = callPackage ./common.nix { inherit vmopts; }; # Sorted alphabetically buildClion = { name, version, src, license, description, wmClass, ... }: @@ -48,7 +49,7 @@ let patchelf \ --set-rpath "${lib.makeLibraryPath [ stdenv.cc.cc.lib ]}:$lldbLibPath" \ - bin/lldb/linux/lib/python3.*/lib-dynload/zlib.cpython-*m-x86_64-linux-gnu.so + bin/lldb/linux/lib/python3.*/lib-dynload/zlib.cpython-*-x86_64-linux-gnu.so patchelf \ --set-rpath "${lib.makeLibraryPath [ libxml2 zlib stdenv.cc.cc.lib python3 ]}:$lldbLibPath" \ @@ -268,12 +269,12 @@ in clion = buildClion rec { name = "clion-${version}"; - version = "2020.2.5"; /* updated by script */ + version = "2020.3"; /* updated by script */ description = "C/C++ IDE. New. Intelligent. Cross-platform"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz"; - sha256 = "0j7gxh8wqshn2i1f22bl9099sx8a4092qwkp4fwny4649rbkfyrz"; /* updated by script */ + sha256 = "0kqja2c5pz0f9idc52mv7iy2pqq2kfcx4q4x1ywfn3gq3d8n5j7z"; /* updated by script */ }; wmClass = "jetbrains-clion"; update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml @@ -294,12 +295,12 @@ in goland = buildGoland rec { name = "goland-${version}"; - version = "2020.2.3"; /* updated by script */ + version = "2020.3"; /* updated by script */ description = "Up and Coming Go IDE"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/go/${name}.tar.gz"; - sha256 = "18mzlqibgc6lzwhbmyrni56464qhzla9mss27d45hv0mbv087jn0"; /* updated by script */ + sha256 = "0hj1xm3c71y2z1jyv7j3xf2lcj2y0kyvsxd3jjyyhs31w1f3394j"; /* updated by script */ }; wmClass = "jetbrains-goland"; update-channel = "GoLand RELEASE"; @@ -346,12 +347,12 @@ in phpstorm = buildPhpStorm rec { name = "phpstorm-${version}"; - version = "2020.2.4"; /* updated by script */ + version = "2020.3"; /* updated by script */ description = "Professional IDE for Web and PHP developers"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz"; - sha256 = "111dr1a6695msh13cd484yk671jnh2ps6q1k2dl0kmryk9dqnvhd"; /* updated by script */ + sha256 = "1d5rx7p7lvjzgp57n980f2bfrj14p1f4hxmyvx5pzzd86q7hrcbq"; /* updated by script */ }; wmClass = "jetbrains-phpstorm"; update-channel = "PhpStorm RELEASE"; @@ -359,12 +360,12 @@ in pycharm-community = buildPycharm rec { name = "pycharm-community-${version}"; - version = "2020.2.5"; /* updated by script */ + version = "2020.3"; /* updated by script */ description = "PyCharm Community Edition"; license = stdenv.lib.licenses.asl20; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; - sha256 = "0jkc26y3v94jj8q7dxq1py59is2whh45b890iac5adg6x670z3s6"; /* updated by script */ + sha256 = "1c2izsqx27g4jy46iskx5zg00pd8jaf9x1p0vya4l2v5r49dk4jb"; /* updated by script */ }; wmClass = "jetbrains-pycharm-ce"; update-channel = "PyCharm RELEASE"; @@ -372,12 +373,12 @@ in pycharm-professional = buildPycharm rec { name = "pycharm-professional-${version}"; - version = "2020.2.5"; /* updated by script */ + version = "2020.3"; /* updated by script */ description = "PyCharm Professional Edition"; license = stdenv.lib.licenses.unfree; src = fetchurl { url = "https://download.jetbrains.com/python/${name}.tar.gz"; - sha256 = "04imfgr45gvicjjgqzdcdmbnbiszjma3s40k2pgqs5nn6wbrw3dd"; /* updated by script */ + sha256 = "1kzgy90zcligwa9r6r11kx99z0zm93mrzy700y2jwslyzapd16d0"; /* updated by script */ }; wmClass = "jetbrains-pycharm"; update-channel = "PyCharm RELEASE"; diff --git a/pkgs/applications/editors/kdevelop5/kdev-php.nix b/pkgs/applications/editors/kdevelop5/kdev-php.nix index 524835402f4..23c8f0698cf 100644 --- a/pkgs/applications/editors/kdevelop5/kdev-php.nix +++ b/pkgs/applications/editors/kdevelop5/kdev-php.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "kdev-php"; - version = "5.6.0"; + version = "5.6.1"; src = fetchurl { url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz"; - sha256 = "1j5m9mhjzp2r4wdwnnnckms8ic536s6y0iyry2zdndbsy215hqlz"; + sha256 = "0xjijkmp3drnfrx4gb4bwf8n1dgwk310c0mssm6drffwix7ljpbz"; }; nativeBuildInputs = [ cmake extra-cmake-modules ]; diff --git a/pkgs/applications/editors/kdevelop5/kdev-python.nix b/pkgs/applications/editors/kdevelop5/kdev-python.nix index 9af12b386a0..041c25f1728 100644 --- a/pkgs/applications/editors/kdevelop5/kdev-python.nix +++ b/pkgs/applications/editors/kdevelop5/kdev-python.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "kdev-python"; - version = "5.6.0"; + version = "5.6.1"; src = fetchurl { url = "https://github.com/KDE/${pname}/archive/v${version}.tar.gz"; - sha256 = "1bm6jk7gkl4vi579x99mja4znrzzp15zk66ss600dn8aq11jrxv2"; + sha256 = "1jma7j70imzxlyz8580m79jycif7zphga3zzfmqimn8syzz917hv"; }; cmakeFlags = [ diff --git a/pkgs/applications/editors/vscode/update-vscodium.sh b/pkgs/applications/editors/vscode/update-vscodium.sh index 0ddab6063ca..5df4cafdee9 100755 --- a/pkgs/applications/editors/vscode/update-vscodium.sh +++ b/pkgs/applications/editors/vscode/update-vscodium.sh @@ -23,6 +23,6 @@ VSCODIUM_LINUX_URL="https://github.com/VSCodium/vscodium/releases/download/${VSC VSCODIUM_LINUX_SHA256=$(nix-prefetch-url ${VSCODIUM_LINUX_URL}) sed -i "s/x86_64-linux = \".\{52\}\"/x86_64-linux = \"${VSCODIUM_LINUX_SHA256}\"/" "$ROOT/vscodium.nix" -VSCODIUM_DARWIN_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-darwin-${VSCODIUM_VER}.zip" +VSCODIUM_DARWIN_URL="https://github.com/VSCodium/vscodium/releases/download/${VSCODIUM_VER}/VSCodium-darwin-x64-${VSCODIUM_VER}.zip" VSCODIUM_DARWIN_SHA256=$(nix-prefetch-url ${VSCODIUM_DARWIN_URL}) sed -i "s/x86_64-darwin = \".\{52\}\"/x86_64-darwin = \"${VSCODIUM_DARWIN_SHA256}\"/" "$ROOT/vscodium.nix" diff --git a/pkgs/applications/graphics/paraview/default.nix b/pkgs/applications/graphics/paraview/default.nix index b201f9dbf0d..d0c8d1c9ee9 100644 --- a/pkgs/applications/graphics/paraview/default.nix +++ b/pkgs/applications/graphics/paraview/default.nix @@ -66,7 +66,6 @@ mkDerivation rec { libGLU libGL libXt openmpi - (python3.withPackages (ps: with ps; [ numpy matplotlib mpi4py ])) tbb boost ffmpeg @@ -78,6 +77,10 @@ mkDerivation rec { qtsvg ]; + propagatedBuildInputs = [ + (python3.withPackages (ps: with ps; [ numpy matplotlib mpi4py ])) + ]; + meta = with stdenv.lib; { homepage = "https://www.paraview.org/"; description = "3D Data analysis and visualization application"; diff --git a/pkgs/applications/graphics/xournalpp/default.nix b/pkgs/applications/graphics/xournalpp/default.nix index da453b42678..c21d0ed2054 100644 --- a/pkgs/applications/graphics/xournalpp/default.nix +++ b/pkgs/applications/graphics/xournalpp/default.nix @@ -4,7 +4,7 @@ , cmake , gettext , wrapGAppsHook -, pkgconfig +, pkg-config , glib , gsettings-desktop-schemas @@ -22,16 +22,16 @@ stdenv.mkDerivation rec { pname = "xournalpp"; - version = "1.0.19"; + version = "1.0.20"; src = fetchFromGitHub { owner = "xournalpp"; repo = pname; rev = version; - sha256 = "05nx4cmrka6hwdn7r91yy4h46qpa9k7iy9dkgaq3hrkh9z3fxlkq"; + sha256 = "1c7n03xm3m4lwcwxgplkn25i8c6s3i7rijbkcx86br1j4jadcs3k"; }; - nativeBuildInputs = [ cmake gettext pkgconfig wrapGAppsHook ]; + nativeBuildInputs = [ cmake gettext pkg-config wrapGAppsHook ]; buildInputs = [ glib gsettings-desktop-schemas @@ -50,8 +50,6 @@ stdenv.mkDerivation rec { hardeningDisable = [ "format" ]; - enableParallelBuilding = true; - meta = with stdenv.lib; { description = "Xournal++ is a handwriting Notetaking software with PDF annotation support"; homepage = "https://xournalpp.github.io/"; diff --git a/pkgs/applications/misc/archivy/default.nix b/pkgs/applications/misc/archivy/default.nix index 09779f8876f..635cd9a991a 100644 --- a/pkgs/applications/misc/archivy/default.nix +++ b/pkgs/applications/misc/archivy/default.nix @@ -5,25 +5,25 @@ watchdog, wtforms }: python3.pkgs.buildPythonApplication rec { pname = "archivy"; - version = "0.9.2"; + version = "0.9.3"; src = fetchPypi { inherit pname version; - sha256 = "5cb760da57dc9dcdd62c0af824993d1715ec7035915629b4046d8bf50442756c"; + sha256 = "b6ff08a9ecd0a929663c36c73844ac5cb4dc847e69aae639a450c64d4320a506"; }; # Relax some dependencies postPatch = '' substituteInPlace requirements.txt \ - --replace 'validators ==' 'validators >=' \ - --replace 'elasticsearch ==' 'elasticsearch >=' \ - --replace 'python-dotenv ==' 'python-dotenv >=' \ - --replace 'beautifulsoup4 ==' 'beautifulsoup4 >=' \ --replace 'WTForms ==' 'WTForms >=' \ - --replace 'python_dotenv ==' 'python_dotenv >=' \ --replace 'attrs == 20.2.0' 'attrs' \ + --replace 'beautifulsoup4 ==' 'beautifulsoup4 >=' \ + --replace 'elasticsearch ==' 'elasticsearch >=' \ + --replace 'python_dotenv ==' 'python_dotenv >=' \ --replace 'python_frontmatter == 0.5.0' 'python_frontmatter' \ - --replace 'requests ==' 'requests >=' + --replace 'requests ==' 'requests >=' \ + --replace 'validators ==' 'validators >=' \ + --replace 'watchdog ==' 'watchdog >=' ''; propagatedBuildInputs = [ diff --git a/pkgs/applications/misc/dasel/default.nix b/pkgs/applications/misc/dasel/default.nix index 1cfc36d0c4c..cd2bd5383f9 100644 --- a/pkgs/applications/misc/dasel/default.nix +++ b/pkgs/applications/misc/dasel/default.nix @@ -5,13 +5,13 @@ buildGoModule rec { pname = "dasel"; - version = "1.9.1"; + version = "1.10.0"; src = fetchFromGitHub { owner = "TomWright"; repo = pname; rev = "v${version}"; - sha256 = "sha256-W95lMULucXcCDqSDWtRoXZM+zh8mmXhoEeFIukPFI0o="; + sha256 = "1n2c6lcn4gad7w1zrh69rjdn5slnf6p7s5rkkkbpvs0jjwri11md"; }; vendorSha256 = "1il1vnv0v97qh8f47md5i6qaac2k8par0pd0z7zqg67vxq6gim85"; diff --git a/pkgs/applications/misc/librecad/default.nix b/pkgs/applications/misc/librecad/default.nix index 0df0f86ef45..6f7967dfdfd 100644 --- a/pkgs/applications/misc/librecad/default.nix +++ b/pkgs/applications/misc/librecad/default.nix @@ -1,5 +1,6 @@ { boost , fetchFromGitHub +, fetchpatch , installShellFiles , mkDerivationWith , muparser @@ -16,7 +17,7 @@ let stdenv = gcc8Stdenv; in -# Doesn't build with gcc9 + # Doesn't build with gcc9 mkDerivationWith stdenv.mkDerivation rec { pname = "librecad"; version = "2.2.0-rc1"; @@ -30,6 +31,13 @@ mkDerivationWith stdenv.mkDerivation rec { patches = [ ./fix_qt_5_11_build.patch + ( + fetchpatch { + # Fix missing app name and icon on Wayland. + url = "https://github.com/LibreCAD/LibreCAD/commit/a17f8281093403f0c7c36996232665ed21906688.patch"; + sha256 = "1x46psh4bcx2hxck4l83ki43g1252vb033i2x94h4rpai9hww4d5"; + } + ) ]; postPatch = '' diff --git a/pkgs/applications/misc/moolticute/default.nix b/pkgs/applications/misc/moolticute/default.nix index bc825b94fac..804ba33209a 100644 --- a/pkgs/applications/misc/moolticute/default.nix +++ b/pkgs/applications/misc/moolticute/default.nix @@ -9,13 +9,13 @@ mkDerivation rec { pname = "moolticute"; - version = "0.44.17"; + version = "0.44.21"; src = fetchFromGitHub { owner = "mooltipass"; repo = pname; rev = "v${version}"; - sha256 = "1bqp99n8cqr7kjiffbs39v0dd280f50hid5py3c4zgc7aqj9k0bx"; + sha256 = "1m3iy2v8mimyb25xisr7i4ga6qlggv1i2aji9qfgagns7ffp53nf"; }; outputs = [ "out" "udev" ]; diff --git a/pkgs/applications/misc/tasknc/default.nix b/pkgs/applications/misc/tasknc/default.nix index 46378aec33a..9080bec753d 100644 --- a/pkgs/applications/misc/tasknc/default.nix +++ b/pkgs/applications/misc/tasknc/default.nix @@ -1,14 +1,14 @@ { stdenv, fetchFromGitHub, makeWrapper, perl, ncurses5, taskwarrior }: stdenv.mkDerivation rec { - version = "2017-05-15"; + version = "2020-12-17"; pname = "tasknc"; src = fetchFromGitHub { owner = "lharding"; repo = "tasknc"; - rev = "c41d0240e9b848e432f01de735f28de93b934ae7"; - sha256 = "0f7l7fy06p33vw6f6sjnjxfhw951664pmwhjl573jvmh6gi2h1yr"; + rev = "a182661fbcc097a933d5e8cce3922eb1734a563e"; + sha256 = "0jrv2k1yizfdjndbl06lmy2bb62ky2rjdk308967j31c5kqqnw56"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/ulauncher/default.nix b/pkgs/applications/misc/ulauncher/default.nix index f1439dc7d16..ba388e8038b 100644 --- a/pkgs/applications/misc/ulauncher/default.nix +++ b/pkgs/applications/misc/ulauncher/default.nix @@ -20,13 +20,13 @@ python3Packages.buildPythonApplication rec { pname = "ulauncher"; - version = "5.8.0"; + version = "5.8.1"; disabled = python3Packages.isPy27; src = fetchurl { url = "https://github.com/Ulauncher/Ulauncher/releases/download/${version}/ulauncher_${version}.tar.gz"; - sha256 = "1czxzcxix9iwv1sir1q64j5aavc7lzjjwqpisgdc1kidkwnk05zp"; + sha256 = "1hgzfiwfk3dd50jmp184y754ydzmfv22qcv7z40gxj6pc67ahx3r"; }; nativeBuildInputs = with python3Packages; [ diff --git a/pkgs/applications/misc/xdg-launch/default.nix b/pkgs/applications/misc/xdg-launch/default.nix new file mode 100644 index 00000000000..257b15387ba --- /dev/null +++ b/pkgs/applications/misc/xdg-launch/default.nix @@ -0,0 +1,57 @@ +{ stdenv +, lib +, fetchFromGitHub +, autoconf +, automake +, gettext +, libtool +, perl +, pkg-config +, glib +, xorg +}: +stdenv.mkDerivation rec { + pname = "xdg-launch"; + version = "1.10"; + + postPatch = '' + # fix gettext configuration + echo 'AM_GNU_GETTEXT_VERSION' >> configure.ac + echo 'AM_GNU_GETTEXT([external])' >> configure.ac + + sed -i data/*.desktop \ + -e "s,/usr/bin,/$out/bin,g" + ''; + + src = fetchFromGitHub { + owner = "bbidulock"; + repo = pname; + rev = version; + sha256 = "sha256-WY1TAPnXAn5GOaP9aMHar761m1MkKm4vavLlWELWUu8="; + }; + + preConfigure = "./autogen.sh"; + + buildInputs = [ + xorg.libX11 + xorg.libXrandr + glib # can be optional + ]; + + nativeBuildInputs = [ + autoconf + automake + gettext + libtool + perl # pod2man + pkg-config + ]; + + meta = with lib; { + homepage = "https://github.com/bbidulock/xdg-launch"; + description = "A command line XDG compliant launcher and tools"; + license = licenses.gpl3; + platforms = platforms.linux; + maintainers = [ maintainers.ck3d ]; + }; +} diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix index d76dd8b9daa..241df5f0a03 100644 --- a/pkgs/applications/networking/browsers/brave/default.nix +++ b/pkgs/applications/networking/browsers/brave/default.nix @@ -70,7 +70,6 @@ rpath = lib.makeLibraryPath [ libXext libXfixes libXi - libxkbcommon libXrandr libXrender libXtst @@ -89,11 +88,11 @@ in stdenv.mkDerivation rec { pname = "brave"; - version = "1.17.73"; + version = "1.18.70"; src = fetchurl { url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb"; - sha256 = "18bd6kgzfza5r0y2ggfy82pdpnfr2hzgjcfy9vxqq658z7q3jpqy"; + sha256 = "08v9r41knmvi3vi27hs8rsjiyrxiidx24zzwz2gbclf4l42sk88j"; }; dontConfigure = true; diff --git a/pkgs/applications/networking/browsers/chromium/browser.nix b/pkgs/applications/networking/browsers/chromium/browser.nix index d3953da71d2..b9a42e825f3 100644 --- a/pkgs/applications/networking/browsers/chromium/browser.nix +++ b/pkgs/applications/networking/browsers/chromium/browser.nix @@ -1,4 +1,4 @@ -{ stdenv, mkChromiumDerivation, channel, enableWideVine }: +{ stdenv, mkChromiumDerivation, channel, enableWideVine, ungoogled }: with stdenv.lib; @@ -69,18 +69,25 @@ mkChromiumDerivation (base: rec { requiredSystemFeatures = [ "big-parallel" ]; meta = { - description = "An open source web browser from Google"; + description = "An open source web browser from Google" + + optionalString ungoogled ", with dependencies on Google web services removed"; longDescription = '' Chromium is an open source web browser from Google that aims to build a safer, faster, and more stable way for all Internet users to experience the web. It has a minimalist user interface and provides the vast majority of source code for Google Chrome (which has some additional features). ''; - homepage = "https://www.chromium.org/"; - maintainers = with maintainers; [ primeos thefloweringash bendlas ]; # See README.md + homepage = if ungoogled + then "https://github.com/Eloston/ungoogled-chromium" + else "https://www.chromium.org/"; + maintainers = with maintainers; if ungoogled + then [ squalus primeos ] + else [ primeos thefloweringash bendlas ]; license = if enableWideVine then licenses.unfree else licenses.bsd3; platforms = platforms.linux; - hydraPlatforms = if channel == "stable" then ["aarch64-linux" "x86_64-linux"] else []; + hydraPlatforms = if (channel == "stable" || channel == "ungoogled-chromium") + then ["aarch64-linux" "x86_64-linux"] + else []; timeout = 172800; # 48 hours (increased from the Hydra default of 10h) }; }) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 0c16d0c9ec6..d754c2769c9 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -31,6 +31,7 @@ , proprietaryCodecs ? true , cupsSupport ? true , pulseSupport ? false, libpulseaudio ? null +, ungoogled ? false, ungoogled-chromium , channel , upstream-info @@ -109,6 +110,10 @@ let result else result; + ungoogler = ungoogled-chromium { + inherit (upstream-info.deps.ungoogled-patches) rev sha256; + }; + base = rec { name = "${packageName}-unwrapped-${version}"; inherit (upstream-info) version; @@ -208,6 +213,10 @@ let '' + optionalString stdenv.isAarch64 '' substituteInPlace build/toolchain/linux/BUILD.gn \ --replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""' + '' + optionalString ungoogled '' + ${ungoogler}/utils/prune_binaries.py . ${ungoogler}/pruning.list || echo "some errors" + ${ungoogler}/utils/patches.py . ${ungoogler}/patches + ${ungoogler}/utils/domain_substitution.py apply -r ${ungoogler}/domain_regex.list -f ${ungoogler}/domain_substitution.list -c ./ungoogled-domsubcache.tar.gz . ''; gnFlags = mkGnFlags ({ @@ -260,6 +269,24 @@ let use_system_minigbm = true; use_system_libdrm = true; system_wayland_scanner_path = "${wayland}/bin/wayland-scanner"; + } // optionalAttrs ungoogled { + chrome_pgo_phase = 0; + enable_hangout_services_extension = false; + enable_js_type_check = false; + enable_mdns = false; + enable_nacl_nonsfi = false; + enable_one_click_signin = false; + enable_reading_list = false; + enable_remoting = false; + enable_reporting = false; + enable_service_discovery = false; + exclude_unwind_tables = true; + google_api_key = ""; + google_default_client_id = ""; + google_default_client_secret = ""; + safe_browsing_mode = 0; + use_official_google_api_keys = false; + use_unofficial_version_number = false; } // (extraAttrs.gnFlags or {})); configurePhase = '' diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix index e35e4d945dd..6e7c2307d64 100644 --- a/pkgs/applications/networking/browsers/chromium/default.nix +++ b/pkgs/applications/networking/browsers/chromium/default.nix @@ -15,6 +15,7 @@ , enablePepperFlash ? false , enableWideVine ? false , enableVaapi ? false # Disabled by default due to unofficial support +, ungoogled ? false # Whether to build chromium or ungoogled-chromium , cupsSupport ? true , pulseSupport ? config.pulseaudio or stdenv.isLinux , commandLineArgs ? "" @@ -33,7 +34,7 @@ let mkChromiumDerivation = callPackage ./common.nix ({ inherit channel gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs - cupsSupport pulseSupport; + cupsSupport pulseSupport ungoogled; gnChromium = gn.overrideAttrs (oldAttrs: { inherit (upstream-info.deps.gn) version; src = fetchgit { @@ -42,24 +43,28 @@ let }); }); - browser = callPackage ./browser.nix { inherit channel enableWideVine; }; + browser = callPackage ./browser.nix { inherit channel enableWideVine ungoogled; }; plugins = callPackage ./plugins.nix { inherit enablePepperFlash; }; + + ungoogled-chromium = callPackage ./ungoogled.nix {}; }; pkgSuffix = if channel == "dev" then "unstable" else channel; pkgName = "google-chrome-${pkgSuffix}"; - chromeSrc = fetchurl { - urls = map (repo: "${repo}/${pkgName}/${pkgName}_${version}-1_amd64.deb") [ - "https://dl.google.com/linux/chrome/deb/pool/main/g" - "http://95.31.35.30/chrome/pool/main/g" - "http://mirror.pcbeta.com/google/chrome/deb/pool/main/g" - "http://repo.fdzh.org/chrome/deb/pool/main/g" - ]; - sha256 = chromium.upstream-info.sha256bin64; - }; + chromeSrc = if channel == "ungoogled-chromium" + then throw "Google Chrome is not supported for the ungoogled-chromium channel." + else fetchurl { + urls = map (repo: "${repo}/${pkgName}/${pkgName}_${version}-1_amd64.deb") [ + "https://dl.google.com/linux/chrome/deb/pool/main/g" + "http://95.31.35.30/chrome/pool/main/g" + "http://mirror.pcbeta.com/google/chrome/deb/pool/main/g" + "http://repo.fdzh.org/chrome/deb/pool/main/g" + ]; + sha256 = chromium.upstream-info.sha256bin64; + }; mkrpath = p: "${lib.makeSearchPathOutput "lib" "lib64" p}:${lib.makeLibraryPath p}"; widevineCdm = stdenv.mkDerivation { @@ -113,7 +118,9 @@ let }; }; - suffix = if channel != "stable" then "-" + channel else ""; + suffix = if (channel == "stable" || channel == "ungoogled-chromium") + then "" + else "-" + channel; sandboxExecutableName = chromium.browser.passthru.sandboxExecutableName; @@ -133,7 +140,8 @@ let else browser; in stdenv.mkDerivation { - name = "chromium${suffix}-${version}"; + name = lib.optionalString ungoogled "ungoogled-" + + "chromium${suffix}-${version}"; inherit version; buildInputs = [ diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/ungoogled.nix b/pkgs/applications/networking/browsers/chromium/ungoogled.nix index 17418c90af4..299b19f2f4f 100644 --- a/pkgs/applications/networking/browsers/ungoogled-chromium/ungoogled.nix +++ b/pkgs/applications/networking/browsers/chromium/ungoogled.nix @@ -4,6 +4,7 @@ , makeWrapper , patch }: + { rev , sha256 }: diff --git a/pkgs/applications/networking/browsers/chromium/update.py b/pkgs/applications/networking/browsers/chromium/update.py index 9e1f0aec598..b4d16fa149f 100755 --- a/pkgs/applications/networking/browsers/chromium/update.py +++ b/pkgs/applications/networking/browsers/chromium/update.py @@ -1,6 +1,9 @@ #! /usr/bin/env nix-shell #! nix-shell -i python -p python3 nix nix-prefetch-git +"""This script automatically updates chromium, google-chrome, chromedriver, and ungoogled-chromium +via upstream-info.json.""" + import csv import json import re @@ -19,41 +22,54 @@ BUCKET_URL = 'https://commondatastorage.googleapis.com/chromium-browser-official JSON_PATH = dirname(abspath(__file__)) + '/upstream-info.json' + def load_json(path): + """Loads the given JSON file.""" with open(path, 'r') as f: return json.load(f) + def nix_prefetch_url(url, algo='sha256'): + """Prefetches the content of the given URL.""" print(f'nix-prefetch-url {url}') out = subprocess.check_output(['nix-prefetch-url', '--type', algo, url]) return out.decode('utf-8').rstrip() + def nix_prefetch_git(url, rev): + """Prefetches the requested Git revision of the given repository URL.""" print(f'nix-prefetch-git {url} {rev}') out = subprocess.check_output(['nix-prefetch-git', '--quiet', '--url', url, '--rev', rev]) return json.loads(out) + def get_file_revision(revision, file_path): + """Fetches the requested Git revision of the given Chromium file.""" url = f'https://raw.githubusercontent.com/chromium/chromium/{revision}/{file_path}' with urlopen(url) as http_response: return http_response.read() + def get_matching_chromedriver(version): + """Gets the matching chromedriver version for the given Chromium version.""" # See https://chromedriver.chromium.org/downloads/version-selection build = re.sub('.[0-9]+$', '', version) chromedriver_version_url = f'https://chromedriver.storage.googleapis.com/LATEST_RELEASE_{build}' with urlopen(chromedriver_version_url) as http_response: chromedriver_version = http_response.read().decode() def get_chromedriver_url(system): - return f'https://chromedriver.storage.googleapis.com/{chromedriver_version}/chromedriver_{system}.zip' + return ('https://chromedriver.storage.googleapis.com/' + + f'{chromedriver_version}/chromedriver_{system}.zip') return { 'version': chromedriver_version, 'sha256_linux': nix_prefetch_url(get_chromedriver_url('linux64')), 'sha256_darwin': nix_prefetch_url(get_chromedriver_url('mac64')) } -def get_channel_dependencies(channel): - deps = get_file_revision(channel['version'], 'DEPS') + +def get_channel_dependencies(version): + """Gets all dependencies for the given Chromium version.""" + deps = get_file_revision(version, 'DEPS') gn_pattern = b"'gn_version': 'git_revision:([0-9a-f]{40})'" gn_commit = re.search(gn_pattern, deps).group(1).decode() gn = nix_prefetch_git('https://gn.googlesource.com/gn', gn_commit) @@ -66,9 +82,39 @@ def get_channel_dependencies(channel): } } + +def get_latest_ungoogled_chromium_tag(): + """Returns the latest ungoogled-chromium tag using the GitHub API.""" + api_tag_url = 'https://api.github.com/repos/Eloston/ungoogled-chromium/tags?per_page=1' + with urlopen(api_tag_url) as http_response: + tag_data = json.load(http_response) + return tag_data[0]['name'] + + +def get_ungoogled_chromium_channel(): + """Returns a dictionary for the ungoogled-chromium channel.""" + latest_tag = get_latest_ungoogled_chromium_tag() + version = latest_tag.split('-')[0] + if version == last_channels['ungoogled-chromium']['version']: + # No update available -> keep the cached information (no refetching required): + return last_channels['ungoogled-chromium'] + channel = { + 'version': version, + 'sha256': nix_prefetch_url(f'{BUCKET_URL}/chromium-{version}.tar.xz'), + 'deps': get_channel_dependencies(version) + } + repo_url = 'https://github.com/Eloston/ungoogled-chromium.git' + channel['deps']['ungoogled-patches'] = { + 'rev': latest_tag, + 'sha256': nix_prefetch_git(repo_url, latest_tag)['sha256'] + } + return channel + + channels = {} last_channels = load_json(JSON_PATH) + print(f'GET {HISTORY_URL}', file=sys.stderr) with urlopen(HISTORY_URL) as resp: builds = csv.DictReader(iterdecode(resp, 'utf-8')) @@ -92,30 +138,37 @@ with urlopen(HISTORY_URL) as resp: try: channel['sha256'] = nix_prefetch_url(f'{BUCKET_URL}/chromium-{build["version"]}.tar.xz') - channel['sha256bin64'] = nix_prefetch_url(f'{DEB_URL}/google-chrome-{suffix}/google-chrome-{suffix}_{build["version"]}-1_amd64.deb') + channel['sha256bin64'] = nix_prefetch_url( + f'{DEB_URL}/google-chrome-{suffix}/' + + f'google-chrome-{suffix}_{build["version"]}-1_amd64.deb') except subprocess.CalledProcessError: # This build isn't actually available yet. Continue to # the next one. continue - channel['deps'] = get_channel_dependencies(channel) + channel['deps'] = get_channel_dependencies(channel['version']) if channel_name == 'stable': channel['chromedriver'] = get_matching_chromedriver(channel['version']) channels[channel_name] = channel + with open(JSON_PATH, 'w') as out: def get_channel_key(item): + """Orders Chromium channels by their name.""" channel_name = item[0] if channel_name == 'stable': return 0 - elif channel_name == 'beta': + if channel_name == 'beta': return 1 - elif channel_name == 'dev': + if channel_name == 'dev': return 2 - else: - print(f'Error: Unexpected channel: {channel_name}', file=sys.stderr) - sys.exit(1) + if channel_name == 'ungoogled-chromium': + return 3 + print(f'Error: Unexpected channel: {channel_name}', file=sys.stderr) + sys.exit(1) + # Get the special ungoogled-chromium channel: + channels['ungoogled-chromium'] = get_ungoogled_chromium_channel() sorted_channels = OrderedDict(sorted(channels.items(), key=get_channel_key)) json.dump(sorted_channels, out, indent=2) out.write('\n') diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 3b64e601eba..2cd673e9c55 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -18,9 +18,9 @@ } }, "beta": { - "version": "88.0.4324.41", - "sha256": "06hnawylr7fl1zav6cyg1yfw2z04qrpnj4n3v07qx7ya6p8qyp2g", - "sha256bin64": "1iq4qd5x7ivypcxh47d6av45hyqdgga2s80idyhf1f51f660h2vc", + "version": "88.0.4324.50", + "sha256": "17v0qp05785xc4whsbw6fmf0x5ccjx2mk6n4qy6z2mx2yjjjfv8q", + "sha256bin64": "01cphbd56l7g3cdmrvwynkzrpx9h3v7pz6ac76sxlp6irjzhbnva", "deps": { "gn": { "version": "2020-11-05", @@ -31,9 +31,9 @@ } }, "dev": { - "version": "89.0.4350.4", - "sha256": "1jh3r227j70imjzj0gm7cf1mv25zcdd2waa9qvim0p3g6wbdacmq", - "sha256bin64": "06963r7a1xc9vjlwgn0wgzqfj6mavfks20lzf49axw6izrxf8sbr", + "version": "89.0.4356.6", + "sha256": "1jq0wbaaz07kz2190rq3vl2b5spx3qfda4al9ygkm8man817d2nr", + "sha256bin64": "0dgvp2my328s4ah0hmp1hg1c3x21gkrz9mjvbfs54r2pjb7y5sbl", "deps": { "gn": { "version": "2020-11-05", @@ -42,5 +42,21 @@ "sha256": "1xcm07qjk6m2czi150fiqqxql067i832adck6zxrishm70c9jbr9" } } + }, + "ungoogled-chromium": { + "version": "87.0.4280.88", + "sha256": "1h09g9b2zxad85vd146ymvg3w2kpngpi78yig3dn1vrmhwr4aiiy", + "deps": { + "gn": { + "version": "2020-09-09", + "url": "https://gn.googlesource.com/gn", + "rev": "e002e68a48d1c82648eadde2f6aafa20d08c36f2", + "sha256": "0x4c7amxwzxs39grqs3dnnz0531mpf1p75niq7zhinyfqm86i4dk" + }, + "ungoogled-patches": { + "rev": "87.0.4280.88-1", + "sha256": "0w2137w8hfcgl6f938hqnb4ffp33v5r8vdzxrvs814w7dszkiqgg" + } + } } } diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix index 222b1b5b767..ab8a21c5b71 100644 --- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix +++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix @@ -91,19 +91,19 @@ let fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ]; # Upstream source - version = "10.0.5"; + version = "10.0.7"; lang = "en-US"; srcs = { x86_64-linux = fetchurl { url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"; - sha256 = "1cxh39x69m4lgqin5k5p67gs9g26w7cnlbdpjqi8dw47y0bpr9xw"; + sha256 = "1phqsdf9lav0s111chlgyh4xiq2rm5zcxbx676i9711lkmc5l053"; }; i686-linux = fetchurl { url = "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"; - sha256 = "1cyg5ic7mrj6x1gxw5w609933d9ripa5b5gxyqnvnxfa23dkh608"; + sha256 = "1nkppwdcjbrx8nh3d6qvvkgd5by6ja5ckjgpbkhavyy2pqlxyqk8"; }; }; in diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/browser.nix b/pkgs/applications/networking/browsers/ungoogled-chromium/browser.nix deleted file mode 100644 index c23a8cead3a..00000000000 --- a/pkgs/applications/networking/browsers/ungoogled-chromium/browser.nix +++ /dev/null @@ -1,86 +0,0 @@ -{ stdenv, mkChromiumDerivation, channel, enableWideVine }: - -with stdenv.lib; - -mkChromiumDerivation (base: rec { - name = "chromium-browser"; - packageName = "chromium"; - buildTargets = [ "mksnapshot" "chrome_sandbox" "chrome" ]; - - outputs = ["out" "sandbox"]; - - sandboxExecutableName = "__chromium-suid-sandbox"; - - installPhase = '' - mkdir -p "$libExecPath" - cp -v "$buildPath/"*.so "$buildPath/"*.pak "$buildPath/"*.bin "$libExecPath/" - cp -v "$buildPath/icudtl.dat" "$libExecPath/" - cp -vLR "$buildPath/locales" "$buildPath/resources" "$libExecPath/" - cp -v "$buildPath/chrome" "$libExecPath/$packageName" - - # Swiftshader - # See https://stackoverflow.com/a/4264351/263061 for the find invocation. - if [ -n "$(find "$buildPath/swiftshader/" -maxdepth 1 -name '*.so' -print -quit)" ]; then - echo "Swiftshader files found; installing" - mkdir -p "$libExecPath/swiftshader" - cp -v "$buildPath/swiftshader/"*.so "$libExecPath/swiftshader/" - else - echo "Swiftshader files not found" - fi - - mkdir -p "$sandbox/bin" - cp -v "$buildPath/chrome_sandbox" "$sandbox/bin/${sandboxExecutableName}" - - mkdir -vp "$out/share/man/man1" - cp -v "$buildPath/chrome.1" "$out/share/man/man1/$packageName.1" - - for icon_file in chrome/app/theme/chromium/product_logo_*[0-9].png; do - num_and_suffix="''${icon_file##*logo_}" - icon_size="''${num_and_suffix%.*}" - expr "$icon_size" : "^[0-9][0-9]*$" || continue - logo_output_prefix="$out/share/icons/hicolor" - logo_output_path="$logo_output_prefix/''${icon_size}x''${icon_size}/apps" - mkdir -vp "$logo_output_path" - cp -v "$icon_file" "$logo_output_path/$packageName.png" - done - - # Install Desktop Entry - install -D chrome/installer/linux/common/desktop.template \ - $out/share/applications/chromium-browser.desktop - - substituteInPlace $out/share/applications/chromium-browser.desktop \ - --replace "@@MENUNAME@@" "Chromium" \ - --replace "@@PACKAGE@@" "chromium" \ - --replace "Exec=/usr/bin/@@USR_BIN_SYMLINK_NAME@@" "Exec=chromium" - - # Append more mime types to the end - sed -i '/^MimeType=/ s,$,x-scheme-handler/webcal;x-scheme-handler/mailto;x-scheme-handler/about;x-scheme-handler/unknown,' \ - $out/share/applications/chromium-browser.desktop - - # See https://github.com/NixOS/nixpkgs/issues/12433 - sed -i \ - -e '/\[Desktop Entry\]/a\' \ - -e 'StartupWMClass=chromium-browser' \ - $out/share/applications/chromium-browser.desktop - ''; - - passthru = { inherit sandboxExecutableName; }; - - requiredSystemFeatures = [ "big-parallel" ]; - - meta = { - description = "An open source web browser from Google, with dependencies on Google web services removed"; - longDescription = '' - Chromium is an open source web browser from Google that aims to build a - safer, faster, and more stable way for all Internet users to experience - the web. It has a minimalist user interface and provides the vast majority - of source code for Google Chrome (which has some additional features). - ''; - homepage = "https://github.com/Eloston/ungoogled-chromium"; - maintainers = with maintainers; [ squalus ]; - license = if enableWideVine then licenses.unfree else licenses.bsd3; - platforms = platforms.linux; - hydraPlatforms = if channel == "stable" then ["aarch64-linux" "x86_64-linux"] else []; - timeout = 172800; # 48 hours (increased from the Hydra default of 10h) - }; -}) diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/common.nix b/pkgs/applications/networking/browsers/ungoogled-chromium/common.nix deleted file mode 100644 index 17814c26caa..00000000000 --- a/pkgs/applications/networking/browsers/ungoogled-chromium/common.nix +++ /dev/null @@ -1,345 +0,0 @@ -{ stdenv, lib, llvmPackages, gnChromium, ninja, which, nodejs, fetchpatch, fetchurl - -# default dependencies -, gnutar, bzip2, flac, speex, libopus -, libevent, expat, libjpeg, snappy -, libpng, libcap -, xdg_utils, yasm, nasm, minizip, libwebp -, libusb1, pciutils, nss, re2 - -, python2Packages, perl, pkgconfig -, nspr, systemd, kerberos -, util-linux, alsaLib -, bison, gperf -, glib, gtk3, dbus-glib -, glibc -, libXScrnSaver, libXcursor, libXtst, libGLU, libGL -, protobuf, speechd, libXdamage, cups -, ffmpeg, libxslt, libxml2, at-spi2-core -, jre8 -, pipewire_0_2 -, libva - -# optional dependencies -, libgcrypt ? null # gnomeSupport || cupsSupport -, libdrm ? null, wayland ? null, mesa ? null, libxkbcommon ? null # useOzone - -# package customization -, useOzone ? true -, gnomeSupport ? false, gnome ? null -, gnomeKeyringSupport ? false, libgnome-keyring3 ? null -, proprietaryCodecs ? true -, cupsSupport ? true -, pulseSupport ? false, libpulseaudio ? null -, ungoogled-chromium -, ungoogled ? false - -, channel -, upstream-info -}: - -buildFun: - -with stdenv.lib; - -let - jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731 - - # The additional attributes for creating derivations based on the chromium - # source tree. - extraAttrs = buildFun base; - - githubPatch = commit: sha256: fetchpatch { - url = "https://github.com/chromium/chromium/commit/${commit}.patch"; - inherit sha256; - }; - - mkGnFlags = - let - # Serialize Nix types into GN types according to this document: - # https://source.chromium.org/gn/gn/+/master:docs/language.md - mkGnString = value: "\"${escape ["\"" "$" "\\"] value}\""; - sanitize = value: - if value == true then "true" - else if value == false then "false" - else if isList value then "[${concatMapStringsSep ", " sanitize value}]" - else if isInt value then toString value - else if isString value then mkGnString value - else throw "Unsupported type for GN value `${value}'."; - toFlag = key: value: "${key}=${sanitize value}"; - in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs)); - - # https://source.chromium.org/chromium/chromium/src/+/master:build/linux/unbundle/replace_gn_files.py - gnSystemLibraries = [ - "ffmpeg" - "flac" - "libjpeg" - "libpng" - "libwebp" - "libxslt" - "opus" - "snappy" - "zlib" - ]; - - opusWithCustomModes = libopus.override { - withCustomModes = true; - }; - - defaultDependencies = [ - bzip2 flac speex opusWithCustomModes - libevent expat libjpeg snappy - libpng libcap - xdg_utils minizip libwebp - libusb1 re2 - ffmpeg libxslt libxml2 - nasm - ]; - - # build paths and release info - packageName = extraAttrs.packageName or extraAttrs.name; - buildType = "Release"; - buildPath = "out/${buildType}"; - libExecPath = "$out/libexec/${packageName}"; - - versionRange = min-version: upto-version: - let inherit (upstream-info) version; - result = versionAtLeast version min-version && versionOlder version upto-version; - stable-version = (importJSON ./upstream-info.json).stable.version; - in if versionAtLeast stable-version upto-version - then warn "chromium: stable version ${stable-version} is newer than a patchset bounded at ${upto-version}. You can safely delete it." - result - else result; - - ungoogler = - let versionEntry = (import ./ungoogled-src.nix)."${upstream-info.version}"; - in ungoogled-chromium { - inherit (versionEntry) rev sha256; - }; - base = rec { - name = "${packageName}-unwrapped-${version}"; - inherit (upstream-info) version; - inherit channel packageName buildType buildPath; - - src = fetchurl { - url = "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${version}.tar.xz"; - inherit (upstream-info) sha256; - }; - - nativeBuildInputs = [ - llvmPackages.lldClang.bintools - ninja which python2Packages.python perl pkgconfig - python2Packages.ply python2Packages.jinja2 nodejs - gnutar python2Packages.setuptools - ]; - - buildInputs = defaultDependencies ++ [ - nspr nss systemd - util-linux alsaLib - bison gperf kerberos - glib gtk3 dbus-glib - libXScrnSaver libXcursor libXtst libGLU libGL - pciutils protobuf speechd libXdamage at-spi2-core - jre - pipewire_0_2 - libva - ] ++ optional gnomeKeyringSupport libgnome-keyring3 - ++ optionals gnomeSupport [ gnome.GConf libgcrypt ] - ++ optionals cupsSupport [ libgcrypt cups ] - ++ optional pulseSupport libpulseaudio - ++ optionals useOzone [ libdrm wayland mesa.drivers libxkbcommon ]; - - patches = [ - ./patches/no-build-timestamps.patch # Optional patch to use SOURCE_DATE_EPOCH in compute_build_timestamp.py (should be upstreamed) - ./patches/widevine-79.patch # For bundling Widevine (DRM), might be replaceable via bundle_widevine_cdm=true in gnFlags - # ++ optional (versionRange "68" "72") ( githubPatch "<patch>" "0000000000000000000000000000000000000000000000000000000000000000" ) - ]; - - postPatch = '' - # remove unused third-party - for lib in ${toString gnSystemLibraries}; do - if [ -d "third_party/$lib" ]; then - find "third_party/$lib" -type f \ - \! -path "third_party/$lib/chromium/*" \ - \! -path "third_party/$lib/google/*" \ - \! -path "third_party/harfbuzz-ng/utils/hb_scoped.h" \ - \! -regex '.*\.\(gn\|gni\|isolate\)' \ - -delete - fi - done - - # Required for patchShebangs (unsupported interpreter directive, basename: invalid option -- '*', etc.): - substituteInPlace native_client/SConstruct --replace "#! -*- python -*-" "" - if [ -e third_party/harfbuzz-ng/src/src/update-unicode-tables.make ]; then - substituteInPlace third_party/harfbuzz-ng/src/src/update-unicode-tables.make \ - --replace "/usr/bin/env -S make -f" "/usr/bin/make -f" - fi - - # We want to be able to specify where the sandbox is via CHROME_DEVEL_SANDBOX - substituteInPlace sandbox/linux/suid/client/setuid_sandbox_host.cc \ - --replace \ - 'return sandbox_binary;' \ - 'return base::FilePath(GetDevelSandboxPath());' - - substituteInPlace services/audio/audio_sandbox_hook_linux.cc \ - --replace \ - '/usr/share/alsa/' \ - '${alsaLib}/share/alsa/' \ - --replace \ - '/usr/lib/x86_64-linux-gnu/gconv/' \ - '${glibc}/lib/gconv/' \ - --replace \ - '/usr/share/locale/' \ - '${glibc}/share/locale/' - - sed -i -e 's@"\(#!\)\?.*xdg-@"\1${xdg_utils}/bin/xdg-@' \ - chrome/browser/shell_integration_linux.cc - - sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${lib.getLib systemd}/lib/\1!' \ - device/udev_linux/udev?_loader.cc - - sed -i -e '/libpci_loader.*Load/s!"\(libpci\.so\)!"${pciutils}/lib/\1!' \ - gpu/config/gpu_info_collector_linux.cc - - # Allow to put extensions into the system-path. - sed -i -e 's,/usr,/run/current-system/sw,' chrome/common/chrome_paths.cc - - patchShebangs . - # use our own nodejs - mkdir -p third_party/node/linux/node-linux-x64/bin - ln -s "$(command -v node)" third_party/node/linux/node-linux-x64/bin/node - - # Allow building against system libraries in official builds - sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py - - '' + optionalString stdenv.isAarch64 '' - substituteInPlace build/toolchain/linux/BUILD.gn \ - --replace 'toolprefix = "aarch64-linux-gnu-"' 'toolprefix = ""' - '' + optionalString ungoogled '' - ${ungoogler}/utils/prune_binaries.py . ${ungoogler}/pruning.list || echo "some errors" - ${ungoogler}/utils/patches.py . ${ungoogler}/patches - ${ungoogler}/utils/domain_substitution.py apply -r ${ungoogler}/domain_regex.list -f ${ungoogler}/domain_substitution.list -c ./ungoogled-domsubcache.tar.gz . - ''; - - gnFlags = mkGnFlags ({ - custom_toolchain = "//build/toolchain/linux/unbundle:default"; - host_toolchain = "//build/toolchain/linux/unbundle:default"; - is_official_build = true; - - use_vaapi = !stdenv.isAarch64; # TODO: Remove once M88 is released - use_sysroot = false; - use_gnome_keyring = gnomeKeyringSupport; - use_gio = gnomeSupport; - # ninja: error: '../../native_client/toolchain/linux_x86/pnacl_newlib/bin/x86_64-nacl-objcopy', - # needed by 'nacl_irt_x86_64.nexe', missing and no known rule to make it - enable_nacl = false; - # Enabling the Widevine component here doesn't affect whether we can - # redistribute the chromium package; the Widevine component is either - # added later in the wrapped -wv build or downloaded from Google. - enable_widevine = true; - use_cups = cupsSupport; - # Provides the enable-webrtc-pipewire-capturer flag to support Wayland screen capture. - rtc_use_pipewire = true; - - treat_warnings_as_errors = false; - clang_use_chrome_plugins = false; - blink_symbol_level = 0; - symbol_level = 0; - fieldtrial_testing_like_official_build = true; - - # Google API keys, see: - # http://www.chromium.org/developers/how-tos/api-keys - # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution, - # please get your own set of keys. - google_api_key = "AIzaSyDGi15Zwl11UNe6Y-5XW_upsfyw31qwZPI"; - google_default_client_id = "404761575300.apps.googleusercontent.com"; - google_default_client_secret = "9rIFQjfnkykEmqb6FfjJQD1D"; - } // optionalAttrs proprietaryCodecs { - # enable support for the H.264 codec - proprietary_codecs = true; - enable_hangout_services_extension = true; - ffmpeg_branding = "Chrome"; - } // optionalAttrs pulseSupport { - use_pulseaudio = true; - link_pulseaudio = true; - } // optionalAttrs useOzone { - use_ozone = true; - use_xkbcommon = true; - use_glib = true; - use_gtk = true; - use_system_libwayland = true; - use_system_minigbm = true; - use_system_libdrm = true; - system_wayland_scanner_path = "${wayland}/bin/wayland-scanner"; - } // optionalAttrs ungoogled { - chrome_pgo_phase = 0; - enable_hangout_services_extension = false; - enable_js_type_check = false; - enable_mdns = false; - enable_nacl_nonsfi = false; - enable_one_click_signin = false; - enable_reading_list = false; - enable_remoting = false; - enable_reporting = false; - enable_service_discovery = false; - exclude_unwind_tables = true; - google_api_key = ""; - google_default_client_id = ""; - google_default_client_secret = ""; - safe_browsing_mode = 0; - use_official_google_api_keys = false; - use_unofficial_version_number = false; - } // (extraAttrs.gnFlags or {})); - - configurePhase = '' - runHook preConfigure - - # This is to ensure expansion of $out. - libExecPath="${libExecPath}" - python build/linux/unbundle/replace_gn_files.py --system-libraries ${toString gnSystemLibraries} - ${gnChromium}/bin/gn gen --args=${escapeShellArg gnFlags} out/Release | tee gn-gen-outputs.txt - - # Fail if `gn gen` contains a WARNING. - grep -o WARNING gn-gen-outputs.txt && echo "Found gn WARNING, exiting nix build" && exit 1 - - runHook postConfigure - ''; - - # Don't spam warnings about unknown warning options. This is useful because - # our Clang is always older than Chromium's and the build logs have a size - # of approx. 25 MB without this option (and this saves e.g. 66 %). - NIX_CFLAGS_COMPILE = "-Wno-unknown-warning-option"; - - buildPhase = let - buildCommand = target: '' - ninja -C "${buildPath}" -j$NIX_BUILD_CORES -l$NIX_BUILD_CORES "${target}" - ( - source chrome/installer/linux/common/installer.include - PACKAGE=$packageName - MENUNAME="Chromium" - process_template chrome/app/resources/manpage.1.in "${buildPath}/chrome.1" - ) - ''; - targets = extraAttrs.buildTargets or []; - commands = map buildCommand targets; - in concatStringsSep "\n" commands; - - postFixup = '' - # Make sure that libGLESv2 is found by dlopen (if using EGL). - chromiumBinary="$libExecPath/$packageName" - origRpath="$(patchelf --print-rpath "$chromiumBinary")" - patchelf --set-rpath "${libGL}/lib:$origRpath" "$chromiumBinary" - ''; - - passthru = { - updateScript = ./update.py; - chromiumDeps = { - gn = gnChromium; - }; - }; - }; - -# Remove some extraAttrs we supplied to the base attributes already. -in stdenv.mkDerivation (base // removeAttrs extraAttrs [ - "name" "gnFlags" "buildTargets" -] // { passthru = base.passthru // (extraAttrs.passthru or {}); }) diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/default.nix b/pkgs/applications/networking/browsers/ungoogled-chromium/default.nix deleted file mode 100644 index b75d271ace5..00000000000 --- a/pkgs/applications/networking/browsers/ungoogled-chromium/default.nix +++ /dev/null @@ -1,214 +0,0 @@ -{ newScope, config, stdenv, fetchurl, makeWrapper -, llvmPackages_11, ed, gnugrep, coreutils, xdg_utils -, glib, gtk3, gnome3, gsettings-desktop-schemas, gn, fetchgit -, libva ? null -, pipewire_0_2 -, gcc, nspr, nss, runCommand -, lib - -# package customization -# Note: enable* flags should not require full rebuilds (i.e. only affect the wrapper) -, channel ? "stable" -, gnomeSupport ? false, gnome ? null -, gnomeKeyringSupport ? false -, proprietaryCodecs ? true -, enablePepperFlash ? false -, enableWideVine ? false -, enableVaapi ? false # Disabled by default due to unofficial support -, ungoogled ? true -, cupsSupport ? true -, pulseSupport ? config.pulseaudio or stdenv.isLinux -, commandLineArgs ? "" -}: - -let - llvmPackages = llvmPackages_11; - stdenv = llvmPackages.stdenv; - - callPackage = newScope chromium; - - chromium = rec { - inherit stdenv llvmPackages; - - upstream-info = (lib.importJSON ./upstream-info.json).${channel}; - - mkChromiumDerivation = callPackage ./common.nix ({ - inherit channel gnome gnomeSupport gnomeKeyringSupport proprietaryCodecs - cupsSupport pulseSupport; - inherit ungoogled; - gnChromium = gn.overrideAttrs (oldAttrs: { - inherit (upstream-info.deps.gn) version; - src = fetchgit { - inherit (upstream-info.deps.gn) url rev sha256; - }; - }); - }); - - browser = callPackage ./browser.nix { inherit channel enableWideVine; }; - - plugins = callPackage ./plugins.nix { - inherit enablePepperFlash; - }; - - ungoogled-chromium = callPackage ./ungoogled.nix {}; - }; - - pkgSuffix = if channel == "dev" then "unstable" else channel; - pkgName = "google-chrome-${pkgSuffix}"; - chromeSrc = fetchurl { - urls = map (repo: "${repo}/${pkgName}/${pkgName}_${version}-1_amd64.deb") [ - "https://dl.google.com/linux/chrome/deb/pool/main/g" - "http://95.31.35.30/chrome/pool/main/g" - "http://mirror.pcbeta.com/google/chrome/deb/pool/main/g" - "http://repo.fdzh.org/chrome/deb/pool/main/g" - ]; - sha256 = chromium.upstream-info.sha256bin64; - }; - - mkrpath = p: "${lib.makeSearchPathOutput "lib" "lib64" p}:${lib.makeLibraryPath p}"; - widevineCdm = stdenv.mkDerivation { - name = "chrome-widevine-cdm"; - - src = chromeSrc; - - phases = [ "unpackPhase" "patchPhase" "installPhase" "checkPhase" ]; - - unpackCmd = let - widevineCdmPath = - if channel == "stable" then - "./opt/google/chrome/WidevineCdm" - else if channel == "beta" then - "./opt/google/chrome-beta/WidevineCdm" - else if channel == "dev" then - "./opt/google/chrome-unstable/WidevineCdm" - else - throw "Unknown chromium channel."; - in '' - # Extract just WidevineCdm from upstream's .deb file - ar p "$src" data.tar.xz | tar xJ "${widevineCdmPath}" - - # Move things around so that we don't have to reference a particular - # chrome-* directory later. - mv "${widevineCdmPath}" ./ - - # unpackCmd wants a single output directory; let it take WidevineCdm/ - rm -rf opt - ''; - - doCheck = true; - checkPhase = '' - ! find -iname '*.so' -exec ldd {} + | grep 'not found' - ''; - - PATCH_RPATH = mkrpath [ gcc.cc glib nspr nss ]; - - patchPhase = '' - patchelf --set-rpath "$PATCH_RPATH" _platform_specific/linux_x64/libwidevinecdm.so - ''; - - installPhase = '' - mkdir -p $out/WidevineCdm - cp -a * $out/WidevineCdm/ - ''; - - meta = { - platforms = [ "x86_64-linux" ]; - license = lib.licenses.unfree; - }; - }; - - suffix = if channel != "stable" then "-" + channel else ""; - - sandboxExecutableName = chromium.browser.passthru.sandboxExecutableName; - - version = chromium.browser.version; - - # We want users to be able to enableWideVine without rebuilding all of - # chromium, so we have a separate derivation here that copies chromium - # and adds the unfree WidevineCdm. - chromiumWV = let browser = chromium.browser; in if enableWideVine then - runCommand (browser.name + "-wv") { version = browser.version; } - '' - mkdir -p $out - cp -a ${browser}/* $out/ - chmod u+w $out/libexec/chromium - cp -a ${widevineCdm}/WidevineCdm $out/libexec/chromium/ - '' - else browser; - -in stdenv.mkDerivation { - name = "ungoogled-chromium${suffix}-${version}"; - inherit version; - - buildInputs = [ - makeWrapper ed - - # needed for GSETTINGS_SCHEMAS_PATH - gsettings-desktop-schemas glib gtk3 - - # needed for XDG_ICON_DIRS - gnome3.adwaita-icon-theme - ]; - - outputs = ["out" "sandbox"]; - - buildCommand = let - browserBinary = "${chromiumWV}/libexec/chromium/chromium"; - getWrapperFlags = plugin: "$(< \"${plugin}/nix-support/wrapper-flags\")"; - libPath = stdenv.lib.makeLibraryPath [ libva pipewire_0_2 ]; - - in with stdenv.lib; '' - mkdir -p "$out/bin" - - eval makeWrapper "${browserBinary}" "$out/bin/chromium" \ - --add-flags ${escapeShellArg (escapeShellArg commandLineArgs)} \ - ${lib.optionalString enableVaapi "--add-flags --enable-accelerated-video-decode"} \ - ${concatMapStringsSep " " getWrapperFlags chromium.plugins.enabled} - - ed -v -s "$out/bin/chromium" << EOF - 2i - - if [ -x "/run/wrappers/bin/${sandboxExecutableName}" ] - then - export CHROME_DEVEL_SANDBOX="/run/wrappers/bin/${sandboxExecutableName}" - else - export CHROME_DEVEL_SANDBOX="$sandbox/bin/${sandboxExecutableName}" - fi - - '' + lib.optionalString (libPath != "") '' - # To avoid loading .so files from cwd, LD_LIBRARY_PATH here must not - # contain an empty section before or after a colon. - export LD_LIBRARY_PATH="\$LD_LIBRARY_PATH\''${LD_LIBRARY_PATH:+:}${libPath}" - '' + '' - - # libredirect causes chromium to deadlock on startup - export LD_PRELOAD="\$(echo -n "\$LD_PRELOAD" | ${coreutils}/bin/tr ':' '\n' | ${gnugrep}/bin/grep -v /lib/libredirect\\\\.so$ | ${coreutils}/bin/tr '\n' ':')" - - export XDG_DATA_DIRS=$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\''${XDG_DATA_DIRS:+:}\$XDG_DATA_DIRS - - # Mainly for xdg-open but also other xdg-* tools: - export PATH="${xdg_utils}/bin\''${PATH:+:}\$PATH" - - . - w - EOF - - ln -sv "${chromium.browser.sandbox}" "$sandbox" - - ln -s "$out/bin/chromium" "$out/bin/chromium-browser" - - mkdir -p "$out/share" - for f in '${chromium.browser}'/share/*; do # hello emacs */ - ln -s -t "$out/share/" "$f" - done - ''; - - inherit (chromium.browser) packageName; - meta = chromium.browser.meta; - passthru = { - inherit (chromium) upstream-info browser; - mkDerivation = chromium.mkChromiumDerivation; - inherit chromeSrc sandboxExecutableName; - updateScript = ./update.py; - }; -} diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/patches/no-build-timestamps.patch b/pkgs/applications/networking/browsers/ungoogled-chromium/patches/no-build-timestamps.patch deleted file mode 100644 index 6b788f43d29..00000000000 --- a/pkgs/applications/networking/browsers/ungoogled-chromium/patches/no-build-timestamps.patch +++ /dev/null @@ -1,17 +0,0 @@ ---- chromium-70.0.3538.67/build/compute_build_timestamp.py.orig 2018-11-02 16:00:34.368933077 +0200 -+++ chromium-70.0.3538.67/build/compute_build_timestamp.py 2018-11-08 04:06:21.658105129 +0200 -@@ -94,6 +94,14 @@ - 'build_type', help='The type of build', choices=('official', 'default')) - args = argument_parser.parse_args() - -+ # I don't trust LASTCHANGE magic, and I definelly want something deterministic here -+ SOURCE_DATE_EPOCH = os.getenv("SOURCE_DATE_EPOCH", None) -+ if SOURCE_DATE_EPOCH is not None: -+ print(SOURCE_DATE_EPOCH) -+ return 0 -+ else: -+ raise RuntimeError("SOURCE_DATE_EPOCH not set") -+ - # The mtime of the revision in build/util/LASTCHANGE is stored in a file - # next to it. Read it, to get a deterministic time close to "now". - # That date is then modified as described at the top of the file so that diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/patches/widevine-79.patch b/pkgs/applications/networking/browsers/ungoogled-chromium/patches/widevine-79.patch deleted file mode 100644 index 32f0ae2fb5e..00000000000 --- a/pkgs/applications/networking/browsers/ungoogled-chromium/patches/widevine-79.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/third_party/widevine/cdm/BUILD.gn b/third_party/widevine/cdm/BUILD.gn -index ed0e2f5208b..5b431a030d5 100644 ---- a/third_party/widevine/cdm/BUILD.gn -+++ b/third_party/widevine/cdm/BUILD.gn -@@ -14,7 +14,7 @@ buildflag_header("buildflags") { - - flags = [ - "ENABLE_WIDEVINE=$enable_widevine", -- "BUNDLE_WIDEVINE_CDM=$bundle_widevine_cdm", -+ "BUNDLE_WIDEVINE_CDM=true", - "ENABLE_WIDEVINE_CDM_COMPONENT=$enable_widevine_cdm_component", - ] - } diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/plugins.nix b/pkgs/applications/networking/browsers/ungoogled-chromium/plugins.nix deleted file mode 100644 index eef1c5ef38c..00000000000 --- a/pkgs/applications/networking/browsers/ungoogled-chromium/plugins.nix +++ /dev/null @@ -1,92 +0,0 @@ -{ stdenv, gcc -, jshon -, glib -, nspr -, nss -, fetchzip -, enablePepperFlash ? false - -, upstream-info -}: - -with stdenv.lib; - -let - mkrpath = p: "${makeSearchPathOutput "lib" "lib64" p}:${makeLibraryPath p}"; - - # Generate a shell fragment that emits flags appended to the - # final makeWrapper call for wrapping the browser's main binary. - # - # Note that this is shell-escaped so that only the variable specified - # by the "output" attribute is substituted. - mkPluginInfo = { output ? "out", allowedVars ? [ output ] - , flags ? [], envVars ? {} - }: let - shSearch = ["'"] ++ map (var: "@${var}@") allowedVars; - shReplace = ["'\\''"] ++ map (var: "'\"\${${var}}\"'") allowedVars; - # We need to triple-escape "val": - # * First because makeWrapper doesn't do any quoting of its arguments by - # itself. - # * Second because it's passed to the makeWrapper call separated by IFS but - # not by the _real_ arguments, for example the Widevine plugin flags - # contain spaces, so they would end up as separate arguments. - # * Third in order to be correctly quoted for the "echo" call below. - shEsc = val: "'${replaceStrings ["'"] ["'\\''"] val}'"; - mkSh = val: "'${replaceStrings shSearch shReplace (shEsc val)}'"; - mkFlag = flag: ["--add-flags" (shEsc flag)]; - mkEnvVar = key: val: ["--set" (shEsc key) (shEsc val)]; - envList = mapAttrsToList mkEnvVar envVars; - quoted = map mkSh (flatten ((map mkFlag flags) ++ envList)); - in '' - mkdir -p "''$${output}/nix-support" - echo ${toString quoted} > "''$${output}/nix-support/wrapper-flags" - ''; - - flash = stdenv.mkDerivation rec { - pname = "flashplayer-ppapi"; - version = "32.0.0.465"; - - src = fetchzip { - url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz"; - sha256 = "16qbc2s8dg2rwggphf8f5665iccc6lrvgz45bdwskg9pwg87hlj1"; - stripRoot = false; - }; - - patchPhase = '' - chmod +x libpepflashplayer.so - patchelf --set-rpath "${mkrpath [ gcc.cc ]}" libpepflashplayer.so - ''; - - doCheck = true; - checkPhase = '' - ! find -iname '*.so' -exec ldd {} + | grep 'not found' - ''; - - installPhase = '' - flashVersion="$( - "${jshon}/bin/jshon" -F manifest.json -e version -u - )" - - install -vD libpepflashplayer.so "$out/lib/libpepflashplayer.so" - - ${mkPluginInfo { - allowedVars = [ "out" "flashVersion" ]; - flags = [ - "--ppapi-flash-path=@out@/lib/libpepflashplayer.so" - "--ppapi-flash-version=@flashVersion@" - ]; - }} - ''; - - dontStrip = true; - - meta = { - license = stdenv.lib.licenses.unfree; - maintainers = with stdenv.lib.maintainers; [ taku0 ]; - platforms = platforms.x86_64; - }; - }; - -in { - enabled = optional enablePepperFlash flash; -} diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/ungoogled-src.nix b/pkgs/applications/networking/browsers/ungoogled-chromium/ungoogled-src.nix deleted file mode 100644 index 26f2f730a41..00000000000 --- a/pkgs/applications/networking/browsers/ungoogled-chromium/ungoogled-src.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - "87.0.4280.88" = { - rev = "87.0.4280.88-1"; - sha256 = "0w2137w8hfcgl6f938hqnb4ffp33v5r8vdzxrvs814w7dszkiqgg"; - }; -} diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/update.py b/pkgs/applications/networking/browsers/ungoogled-chromium/update.py deleted file mode 100755 index 9e1f0aec598..00000000000 --- a/pkgs/applications/networking/browsers/ungoogled-chromium/update.py +++ /dev/null @@ -1,121 +0,0 @@ -#! /usr/bin/env nix-shell -#! nix-shell -i python -p python3 nix nix-prefetch-git - -import csv -import json -import re -import subprocess -import sys - -from codecs import iterdecode -from collections import OrderedDict -from datetime import datetime -from os.path import abspath, dirname -from urllib.request import urlopen - -HISTORY_URL = 'https://omahaproxy.appspot.com/history?os=linux' -DEB_URL = 'https://dl.google.com/linux/chrome/deb/pool/main/g' -BUCKET_URL = 'https://commondatastorage.googleapis.com/chromium-browser-official' - -JSON_PATH = dirname(abspath(__file__)) + '/upstream-info.json' - -def load_json(path): - with open(path, 'r') as f: - return json.load(f) - -def nix_prefetch_url(url, algo='sha256'): - print(f'nix-prefetch-url {url}') - out = subprocess.check_output(['nix-prefetch-url', '--type', algo, url]) - return out.decode('utf-8').rstrip() - -def nix_prefetch_git(url, rev): - print(f'nix-prefetch-git {url} {rev}') - out = subprocess.check_output(['nix-prefetch-git', '--quiet', '--url', url, '--rev', rev]) - return json.loads(out) - -def get_file_revision(revision, file_path): - url = f'https://raw.githubusercontent.com/chromium/chromium/{revision}/{file_path}' - with urlopen(url) as http_response: - return http_response.read() - -def get_matching_chromedriver(version): - # See https://chromedriver.chromium.org/downloads/version-selection - build = re.sub('.[0-9]+$', '', version) - chromedriver_version_url = f'https://chromedriver.storage.googleapis.com/LATEST_RELEASE_{build}' - with urlopen(chromedriver_version_url) as http_response: - chromedriver_version = http_response.read().decode() - def get_chromedriver_url(system): - return f'https://chromedriver.storage.googleapis.com/{chromedriver_version}/chromedriver_{system}.zip' - return { - 'version': chromedriver_version, - 'sha256_linux': nix_prefetch_url(get_chromedriver_url('linux64')), - 'sha256_darwin': nix_prefetch_url(get_chromedriver_url('mac64')) - } - -def get_channel_dependencies(channel): - deps = get_file_revision(channel['version'], 'DEPS') - gn_pattern = b"'gn_version': 'git_revision:([0-9a-f]{40})'" - gn_commit = re.search(gn_pattern, deps).group(1).decode() - gn = nix_prefetch_git('https://gn.googlesource.com/gn', gn_commit) - return { - 'gn': { - 'version': datetime.fromisoformat(gn['date']).date().isoformat(), - 'url': gn['url'], - 'rev': gn['rev'], - 'sha256': gn['sha256'] - } - } - -channels = {} -last_channels = load_json(JSON_PATH) - -print(f'GET {HISTORY_URL}', file=sys.stderr) -with urlopen(HISTORY_URL) as resp: - builds = csv.DictReader(iterdecode(resp, 'utf-8')) - for build in builds: - channel_name = build['channel'] - - # If we've already found a newer build for this channel, we're - # no longer interested in it. - if channel_name in channels: - continue - - # If we're back at the last build we used, we don't need to - # keep going -- there's no new version available, and we can - # just reuse the info from last time. - if build['version'] == last_channels[channel_name]['version']: - channels[channel_name] = last_channels[channel_name] - continue - - channel = {'version': build['version']} - suffix = 'unstable' if channel_name == 'dev' else channel_name - - try: - channel['sha256'] = nix_prefetch_url(f'{BUCKET_URL}/chromium-{build["version"]}.tar.xz') - channel['sha256bin64'] = nix_prefetch_url(f'{DEB_URL}/google-chrome-{suffix}/google-chrome-{suffix}_{build["version"]}-1_amd64.deb') - except subprocess.CalledProcessError: - # This build isn't actually available yet. Continue to - # the next one. - continue - - channel['deps'] = get_channel_dependencies(channel) - if channel_name == 'stable': - channel['chromedriver'] = get_matching_chromedriver(channel['version']) - - channels[channel_name] = channel - -with open(JSON_PATH, 'w') as out: - def get_channel_key(item): - channel_name = item[0] - if channel_name == 'stable': - return 0 - elif channel_name == 'beta': - return 1 - elif channel_name == 'dev': - return 2 - else: - print(f'Error: Unexpected channel: {channel_name}', file=sys.stderr) - sys.exit(1) - sorted_channels = OrderedDict(sorted(channels.items(), key=get_channel_key)) - json.dump(sorted_channels, out, indent=2) - out.write('\n') diff --git a/pkgs/applications/networking/browsers/ungoogled-chromium/upstream-info.json b/pkgs/applications/networking/browsers/ungoogled-chromium/upstream-info.json deleted file mode 100644 index 6343dd4b246..00000000000 --- a/pkgs/applications/networking/browsers/ungoogled-chromium/upstream-info.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "stable": { - "version": "87.0.4280.88", - "sha256": "1h09g9b2zxad85vd146ymvg3w2kpngpi78yig3dn1vrmhwr4aiiy", - "sha256bin64": "0n3fm6wf8zfkv135d50xl8xxrnng3q55vyxkck1da8jyvh18bijb", - "deps": { - "gn": { - "version": "2020-09-09", - "url": "https://gn.googlesource.com/gn", - "rev": "e002e68a48d1c82648eadde2f6aafa20d08c36f2", - "sha256": "0x4c7amxwzxs39grqs3dnnz0531mpf1p75niq7zhinyfqm86i4dk" - } - }, - "chromedriver": { - "version": "87.0.4280.88", - "sha256_linux": "141mr2jiy3nslwd3s43m4i6plkv9wv5fgi78cn7mz0ac9x6fpcgx", - "sha256_darwin": "048hsqp6575r980m769lzznvxypmfcwn89f1d3ik751ymzmb5r78" - } - }, - "beta": { - "version": "88.0.4324.27", - "sha256": "0mciiyh3sn2zrl8g6znylc2pm9sb0wzsclgavf7mmlknri5sjblc", - "sha256bin64": "0qf2j1j3p94s724rwh8fydpjn88cs9yxxhjf5axvqwi7q3h35cfx", - "deps": { - "gn": { - "version": "2020-11-05", - "url": "https://gn.googlesource.com/gn", - "rev": "53d92014bf94c3893886470a1c7c1289f8818db0", - "sha256": "1xcm07qjk6m2czi150fiqqxql067i832adck6zxrishm70c9jbr9" - } - } - }, - "dev": { - "version": "89.0.4343.0", - "sha256": "0jmc1l0lysl5zax98fjhzsfq3c1sqh3n3xscidafflx362wcfpwa", - "sha256bin64": "1v6xik8kf531y0g5xj0c8szjmak0qvh77kwkw7p7hqxqmnwwp06d", - "deps": { - "gn": { - "version": "2020-11-05", - "url": "https://gn.googlesource.com/gn", - "rev": "53d92014bf94c3893886470a1c7c1289f8818db0", - "sha256": "1xcm07qjk6m2czi150fiqqxql067i832adck6zxrishm70c9jbr9" - } - } - } -} diff --git a/pkgs/applications/networking/cluster/nomad/0.11.nix b/pkgs/applications/networking/cluster/nomad/0.11.nix index 6487a2edd7f..2fd7c0403a3 100644 --- a/pkgs/applications/networking/cluster/nomad/0.11.nix +++ b/pkgs/applications/networking/cluster/nomad/0.11.nix @@ -2,6 +2,6 @@ callPackage ./generic.nix { inherit buildGoPackage; - version = "0.11.7"; - sha256 = "sha256-wp1Je+I3iijD/pHHQtylMQhOiVhS6AT/y2/pUiLr0M4="; + version = "0.11.8"; + sha256 = "1dhh07bifr02jh2lls8fv1d9ra67ymgh8qxqvpvm0cd0qdd469z1"; } diff --git a/pkgs/applications/networking/cluster/nomad/0.12.nix b/pkgs/applications/networking/cluster/nomad/0.12.nix index 863f7cbed2f..0120887957a 100644 --- a/pkgs/applications/networking/cluster/nomad/0.12.nix +++ b/pkgs/applications/networking/cluster/nomad/0.12.nix @@ -2,6 +2,6 @@ callPackage ./generic.nix { inherit buildGoPackage; - version = "0.12.7"; - sha256 = "0y1nwmpc4fqgjyb19n1f2w4y5k7fy4p68v2vnnry11nj3im7ia14"; + version = "0.12.9"; + sha256 = "1a0ig6pb0z3qp7zk4jgz3h241bifmjlyqsfikyy3sxdnzj7yha27"; } diff --git a/pkgs/applications/networking/cluster/sonobuoy/default.nix b/pkgs/applications/networking/cluster/sonobuoy/default.nix index be5cb51d450..668a229a62e 100644 --- a/pkgs/applications/networking/cluster/sonobuoy/default.nix +++ b/pkgs/applications/networking/cluster/sonobuoy/default.nix @@ -7,10 +7,8 @@ buildGoModule rec { pname = "sonobuoy"; version = "0.19.0"; - goPackagePath = "github.com/vmware-tanzu/sonobuoy"; - buildFlagsArray = - let t = goPackagePath; + let t = "github.com/vmware-tanzu/sonobuoy"; in '' -ldflags= -s -X ${t}/pkg/buildinfo.Version=v${version} diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index d18ec94ba8c..6052f6882bc 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -157,9 +157,9 @@ in rec { }); terraform_0_14 = pluggable (generic { - version = "0.14.2"; - sha256 = "0j09bjdl1z836y3zdlgjcdah11wlnvsd5hmsagjsz9am04qlyfya"; - vendorSha256 = "1iifjrnc79f4liyy4pgjbnarv2fx6vwlaqcv75crmyji40xv0w9s"; + version = "0.14.3"; + sha256 = "0w2j1phjv989bspbyvkhr25bdz1zjch3zggwk2lgjyk77mdw5h20"; + vendorSha256 = "03dg703pw3h98vfvi2mnd2lw0mv6hlhvmc1l7ngrqdyv54cmihnp"; patches = [ ./provider-path.patch ]; passthru = { inherit plugins; }; }); diff --git a/pkgs/applications/networking/feedreaders/feeds/default.nix b/pkgs/applications/networking/feedreaders/feeds/default.nix new file mode 100644 index 00000000000..243999553e6 --- /dev/null +++ b/pkgs/applications/networking/feedreaders/feeds/default.nix @@ -0,0 +1,88 @@ +{ lib +, callPackage +, stdenv +, fetchFromGitLab + +, appstream +, gobject-introspection +, meson +, ninja +, pkg-config +, wrapGAppsHook + +, glib +, gtk3 +, libhandy +, listparser ? callPackage ./listparser.nix { } +, webkitgtk +, python3 +}: +python3.pkgs.buildPythonApplication rec { + pname = "feeds"; + version = "0.16.1"; + + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "World"; + repo = "gfeeds"; + rev = version; + sha256 = "10hq06nx7lcm3dqq34qkxc6k6383mvjs7pxii9y9995d9kk5a49k"; + }; + + format = "other"; + + nativeBuildInputs = [ + appstream + glib # for glib-compile-schemas + gobject-introspection + meson + ninja + pkg-config + wrapGAppsHook + ]; + + buildInputs = [ + glib + gtk3 + libhandy + webkitgtk + ]; + + propagatedBuildInputs = with python3.pkgs; [ + beautifulsoup4 + dateutil + feedparser + html5lib + listparser + lxml + pillow + pygments + pygobject3 + pyreadability + pytz + requests + ]; + + # https://github.com/NixOS/nixpkgs/issues/56943 + strictDeps = false; + + dontWrapGApps = true; + + preFixup = '' + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") + ''; + + passthru = { + inherit listparser; + }; + + meta = with lib; { + description = "An RSS/Atom feed reader for GNOME"; + homepage = "https://gitlab.gnome.org/World/gfeeds"; + license = licenses.gpl3Plus; + maintainers = [ + maintainers.pbogdan + ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/networking/feedreaders/feeds/listparser.nix b/pkgs/applications/networking/feedreaders/feeds/listparser.nix new file mode 100644 index 00000000000..c67df416c5c --- /dev/null +++ b/pkgs/applications/networking/feedreaders/feeds/listparser.nix @@ -0,0 +1,31 @@ +{ lib +, python3 +}: +python3.pkgs.buildPythonPackage rec { + pname = "listparser"; + version = "0.18"; + + src = python3.pkgs.fetchPypi { + inherit pname version; + sha256 = "0hdqs1mmayw1r8yla43hgb4d9y3zqs5483vgf8j9ygczkd2wrq2b"; + }; + + propagatedBuildInputs = with python3.pkgs; [ + requests + six + ]; + + checkPhase = '' + ${python3.interpreter} lptest.py + ''; + + meta = with lib; { + description = "A parser for subscription lists"; + homepage = "https://github.com/kurtmckee/listparser"; + license = licenses.lgpl3Plus; + maintainers = [ + maintainers.pbogdan + ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/networking/feedreaders/newsflash/default.nix b/pkgs/applications/networking/feedreaders/newsflash/default.nix index 441a80fc071..e8a76b3d491 100644 --- a/pkgs/applications/networking/feedreaders/newsflash/default.nix +++ b/pkgs/applications/networking/feedreaders/newsflash/default.nix @@ -8,7 +8,7 @@ , gdk-pixbuf , glib , gtk3 -, libhandy_0 +, libhandy , openssl , sqlite , webkitgtk @@ -19,16 +19,16 @@ rustPlatform.buildRustPackage rec { pname = "newsflash"; - version = "1.0.5"; + version = "1.1.1"; src = fetchFromGitLab { owner = "news-flash"; repo = "news_flash_gtk"; rev = version; - sha256 = "0kh1xqvxfz58gnrl8av0zkig9vcgmx9iaxw5p6gdm8a7gv18nvp3"; + sha256 = "1z47h23g87dqmr9sfjl36fs5xjm2wj7z2bri9g0a4jcpwzl5awsd"; }; - cargoSha256 = "059sppidbxzjk8lmjq41d5qbymp9j9v2qr0jxd7xg9avr0klwc2s"; + cargoSha256 = "0rnrdh9ganj63hf9j890yj9pahcgza95z7x020w72mbb4648hq26"; patches = [ ./no-post-install.patch @@ -54,7 +54,7 @@ rustPlatform.buildRustPackage rec { buildInputs = [ gtk3 - libhandy_0 + libhandy openssl sqlite webkitgtk diff --git a/pkgs/applications/networking/icemon/default.nix b/pkgs/applications/networking/icemon/default.nix new file mode 100644 index 00000000000..b757445eb08 --- /dev/null +++ b/pkgs/applications/networking/icemon/default.nix @@ -0,0 +1,24 @@ +{ lib, fetchFromGitHub, mkDerivation, qtbase, cmake, extra-cmake-modules, icecream, libcap_ng, lzo, zstd, libarchive, wrapQtAppsHook }: + +mkDerivation rec { + pname = "icemon"; + version = "3.3"; + + src = fetchFromGitHub { + owner = "icecc"; + repo = pname; + rev = "v${version}"; + sha256 = "09jnipr67dhawbxfn69yh7mmjrkylgiqmd0gmc2limd3z15d7pgc"; + }; + + nativeBuildInputs = [ cmake extra-cmake-modules wrapQtAppsHook ]; + buildInputs = [ icecream qtbase libcap_ng lzo zstd libarchive ]; + + meta = with lib; { + description = "Icecream GUI Monitor"; + inherit (src.meta) homepage; + license = licenses.gpl2; + maintainers = with maintainers; [ emantor ]; + platforms = with platforms; linux ++ darwin; + }; +} diff --git a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix index 8b634834058..5e3f0bdb5d6 100644 --- a/pkgs/applications/networking/instant-messengers/bluejeans/default.nix +++ b/pkgs/applications/networking/instant-messengers/bluejeans/default.nix @@ -39,12 +39,12 @@ stdenv.mkDerivation rec { pname = "bluejeans"; - version = "2.17.0"; - buildNumber = "11"; + version = "2.19.0"; + buildNumber = "61"; src = fetchurl { url = "https://swdl.bluejeans.com/desktop-app/linux/${version}/BlueJeans_${version}.${buildNumber}.rpm"; - sha256 = "1h5jbnp5bwy6bpma9a1ia08v7bpz09fm66jsip470k1r7vjjwa68"; + sha256 = "163p67dqry256d454qzk4k4b692kz8s9fcvaxd6gi7zvnsd48ikr"; }; nativeBuildInputs = [ rpmextract makeWrapper ]; diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix index 7213332a549..63cbb69b187 100644 --- a/pkgs/applications/networking/instant-messengers/hipchat/default.nix +++ b/pkgs/applications/networking/instant-messengers/hipchat/default.nix @@ -43,7 +43,7 @@ in stdenv.mkDerivation { inherit version; src = fetchurl { - url = "https://atlassian.artifactoryonline.com/atlassian/hipchat-apt-client/pool/HipChat4-${version}-Linux.deb"; + url = "https://atlassian.artifactoryonline.com/artifactory/hipchat-apt-client/pool/HipChat4-${version}-Linux.deb"; sha256 = "03pz8wskafn848yvciq29kwdvqcgjrk6sjnm8nk9acl89xf0sn96"; }; diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix index 05d94b2ef71..44df5f6be68 100644 --- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix +++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix @@ -25,7 +25,7 @@ let else ""); in stdenv.mkDerivation rec { pname = "signal-desktop"; - version = "1.39.2"; # Please backport all updates to the stable channel. + version = "1.39.4"; # Please backport all updates to the stable channel. # All releases have a limited lifetime and "expire" 90 days after the release. # When releases "expire" the application becomes unusable until an update is # applied. The expiration date for the current release can be extracted with: @@ -35,7 +35,7 @@ in stdenv.mkDerivation rec { src = fetchurl { url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb"; - sha256 = "15lv8jpnn2cx7hmb7pn32cvq6nqvzjflf77bbnvxva5hf9zjkma9"; + sha256 = "11rjz0vawwyny4rpdqsqyfh8pi177xykm69xxcj6kgcncxaxg0vb"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix index 4a1472fde71..b7858ba14e9 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix @@ -1,665 +1,665 @@ { - version = "78.5.1"; + version = "78.6.0"; sources = [ - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/af/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/af/thunderbird-78.6.0.tar.bz2"; locale = "af"; arch = "linux-x86_64"; - sha256 = "87cb38398aaa5af68e562a5fc6d20d3d3477d871979bd4a635c94c440e66a482"; + sha256 = "7f8fd3a1f0e869ee03a4f120c88b606fbe4ae35d9865394fccd291caa9ae7069"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/ar/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/ar/thunderbird-78.6.0.tar.bz2"; locale = "ar"; arch = "linux-x86_64"; - sha256 = "935efae7caa116e16c341d64634954d77cafbc5e28626b46f5385b8416060f51"; + sha256 = "73e7beba4e5a2b9cd92ded3ee8e662be9a80d65d59790ed1d5401b5a61c8d147"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/ast/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/ast/thunderbird-78.6.0.tar.bz2"; locale = "ast"; arch = "linux-x86_64"; - sha256 = "a5868dc7987529790910e638b64b15295a2d57e449fa515f4e17a4ab88a830e6"; + sha256 = "890cda9e6a9582d43d61c9b4deb2241f46d34dbac5516d9a808dfbb472a22eec"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/be/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/be/thunderbird-78.6.0.tar.bz2"; locale = "be"; arch = "linux-x86_64"; - sha256 = "af52b29567ce26159890f70fcdccd4cafd49c7fc75c620bb606727fd27b7049a"; + sha256 = "b951394def900c975b2796e47d948c03c59f0fde445f22d1b9a0d89ae8b7dd83"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/bg/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/bg/thunderbird-78.6.0.tar.bz2"; locale = "bg"; arch = "linux-x86_64"; - sha256 = "91856a4745a8bdefac7c2b0193766a4f0009378dfe941dbbe1afcae2ffae2337"; + sha256 = "2440a8ea3a49d4fe7a84b0c6e67a98889bf98c5f828699bd980705c100a0e585"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/br/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/br/thunderbird-78.6.0.tar.bz2"; locale = "br"; arch = "linux-x86_64"; - sha256 = "d5ba5fe368c99377a264d8574607335fc4317dad447bb38fdc6a5b53d2e95b49"; + sha256 = "74b48030e64ff509379dd92d08734804006a8cc6176c69e387e03596138c48b0"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/ca/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/ca/thunderbird-78.6.0.tar.bz2"; locale = "ca"; arch = "linux-x86_64"; - sha256 = "396a1d7b668c7f47b56d7cb41e6e914f03e9e517a14b4698abedb501037ef2c1"; + sha256 = "4b951a13352db2cc90aadf94c1e57bc5b40660d82dab855aa80751bbce9aa3b8"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/cak/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/cak/thunderbird-78.6.0.tar.bz2"; locale = "cak"; arch = "linux-x86_64"; - sha256 = "914b76ad8268db608be0595039a68189146ded384c23407ccbcd78a5e74e19ae"; + sha256 = "bfb2ebc8a6b376603b9e310ad664a099725a29183c67b02ee13ecf3eb9a3bdac"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/cs/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/cs/thunderbird-78.6.0.tar.bz2"; locale = "cs"; arch = "linux-x86_64"; - sha256 = "4b62702cabecfbb2567b19446f405936c9d948dad6f65a2e3f21809d4f2b1176"; + sha256 = "de30e9d948ade3c82b7ebd58a3bbed5e880abcdb2d9c58f8e64d9d3d78bb336d"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/cy/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/cy/thunderbird-78.6.0.tar.bz2"; locale = "cy"; arch = "linux-x86_64"; - sha256 = "736d245bd7766ac8c611a6801b3769a84baf4abae94818e0cfcadde8521850ad"; + sha256 = "b7d0bb95acb861c453d8649673d9e582920a6df6a9662b8a6f996636d54c68c2"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/da/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/da/thunderbird-78.6.0.tar.bz2"; locale = "da"; arch = "linux-x86_64"; - sha256 = "53143b51b84ee74ee9131d3b3b80e2cf873e5a8c22478c87db34a9d2ac34607a"; + sha256 = "2c4765b34f1d63a9eae942531b7f489150d6850f68487565082ea18c94f3ad0d"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/de/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/de/thunderbird-78.6.0.tar.bz2"; locale = "de"; arch = "linux-x86_64"; - sha256 = "2f3a4d8bf96e9653dd3883ac4399c650e87831d7df137358401966683d382e6c"; + sha256 = "e29280a519f4eca06d4e5862085d8fb8cefb9577918ba953cdc6f63ffc44a6ed"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/dsb/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/dsb/thunderbird-78.6.0.tar.bz2"; locale = "dsb"; arch = "linux-x86_64"; - sha256 = "81a3674dd2495da673a2fe3e3d200d7cadf83f9c67ff92bf2d607f6546bc2f38"; + sha256 = "d638be5a999fd1b287628b449235e9995169c06c2cf46d1f7e6de282bf4357b8"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/el/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/el/thunderbird-78.6.0.tar.bz2"; locale = "el"; arch = "linux-x86_64"; - sha256 = "651e8f535b2518bc4e56706cfb76da6d0e35d4fec031f8426cbefb404e4790d7"; + sha256 = "34cbbca7eb8ecd5078d52d429b76ed0b5334398040d6e00aa5b5926bf8eeaba8"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/en-CA/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/en-CA/thunderbird-78.6.0.tar.bz2"; locale = "en-CA"; arch = "linux-x86_64"; - sha256 = "775983115d98e3581db993f6202fdad1de6b23d38e5bb7edfd965ad6bc0ae425"; + sha256 = "d50be05404a4b51e3a9c2fc4a73d75504f11e12a7ba7331ca43d5f078f462303"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/en-GB/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/en-GB/thunderbird-78.6.0.tar.bz2"; locale = "en-GB"; arch = "linux-x86_64"; - sha256 = "d0a3569c76b85fdca01e5098cf279b08a63d2d9023e92cadf3f8dc136d76c619"; + sha256 = "4d11d73b268369117861250f4fecd5c6d19a904145caaaeb7ee86c7eb9e63f9f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/en-US/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/en-US/thunderbird-78.6.0.tar.bz2"; locale = "en-US"; arch = "linux-x86_64"; - sha256 = "4363d8fd759ac4f4783eeb76726c8cf22e5afb3c171f26fe5cca5ab194ab6959"; + sha256 = "6691e528ac3fc88a023507e1172d67daac235fa1fce97e75e6fbd7072a493e0f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/es-AR/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/es-AR/thunderbird-78.6.0.tar.bz2"; locale = "es-AR"; arch = "linux-x86_64"; - sha256 = "3a04a2e42935c97c7ef003e4a690c0433783b57ce56700f07ad8b590e48b4ad0"; + sha256 = "2f45d7f6e42fdef4f8bb8ab815879157cd962c91afa352a35f8cbc3fcf52fd82"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/es-ES/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/es-ES/thunderbird-78.6.0.tar.bz2"; locale = "es-ES"; arch = "linux-x86_64"; - sha256 = "f70a3feb09b79153d18e2a382017abbd6e015c78d4d55ff66f8b199b450172c4"; + sha256 = "7bf50cefecce82e20c06441f003cc51eb7cc16d3a0e55a118213eee78e8b8494"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/et/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/et/thunderbird-78.6.0.tar.bz2"; locale = "et"; arch = "linux-x86_64"; - sha256 = "c739f5306a2526baf74e57a029371390d02f8c119681b0f154481ae32c67c18c"; + sha256 = "2b2c624808f75ae0d713ad37e9959ad518ae5702caa10845fb3aa8089e77bc9c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/eu/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/eu/thunderbird-78.6.0.tar.bz2"; locale = "eu"; arch = "linux-x86_64"; - sha256 = "9f95f4f1ec40e2732e053e68b31529b827f95876ad890d752f5380158f53b9e6"; + sha256 = "3495821650563af2a62f36f928fb7503568de920211b9ef2f21904884d4fa3ef"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/fa/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/fa/thunderbird-78.6.0.tar.bz2"; locale = "fa"; arch = "linux-x86_64"; - sha256 = "e53dd458656ee9f39e996042016256949c974161c51b1bee63a401d90d59bace"; + sha256 = "90b9ff389550e5801bc7ca7e1e4d7db5b281081bef2d0d30b7c2e9799e8cd0c9"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/fi/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/fi/thunderbird-78.6.0.tar.bz2"; locale = "fi"; arch = "linux-x86_64"; - sha256 = "b0a96b08e986e49ee6526ab098fb0d44700b3a2aa7f96205b318fdd4b938ef51"; + sha256 = "cd5819b7ed9e3017cbef8e1ca33cb92e1804fc8ece9edf6a74133db90b61ee6f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/fr/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/fr/thunderbird-78.6.0.tar.bz2"; locale = "fr"; arch = "linux-x86_64"; - sha256 = "872da741245da7466de58d766a0362983d59a111a65a333881d3636defe00eb4"; + sha256 = "82b382d1ea014a26a397c3fe06c586732df756104533c7450494ad43b11e43a5"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/fy-NL/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/fy-NL/thunderbird-78.6.0.tar.bz2"; locale = "fy-NL"; arch = "linux-x86_64"; - sha256 = "d57862f51ec01e63ab77916ab352276b7f4992b089508dee0c9c5d389ab88d95"; + sha256 = "3b4b0c4a23ad63f2d152eb8741a30fe4092c2d37d1bbb2cd56eb75c85d885f4a"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/ga-IE/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/ga-IE/thunderbird-78.6.0.tar.bz2"; locale = "ga-IE"; arch = "linux-x86_64"; - sha256 = "bda41b8eff5a5004f753944c49f15ddbd1f76c19b0310481251e04ff64309597"; + sha256 = "093b76080942d3e7584f7948dc65003c20878e8bf4bec4808669f012183cf97f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/gd/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/gd/thunderbird-78.6.0.tar.bz2"; locale = "gd"; arch = "linux-x86_64"; - sha256 = "0671af342859574cb96dbe119d76d7ffa92a8c3fef11eee2a03f662ea71fb84a"; + sha256 = "a726c67ab384b58c3a1ff84a3a1fe95f73219996e7e26f5dcdfe5dda30d34cdf"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/gl/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/gl/thunderbird-78.6.0.tar.bz2"; locale = "gl"; arch = "linux-x86_64"; - sha256 = "b458d6f79914fc4c551b3fa4444dc5ad4fa8d3310907a33a3480bf363bcdbfdb"; + sha256 = "b731c512c61ece7b811d74e5f40cdae742207463799cccfa9906b43f58d5f2fb"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/he/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/he/thunderbird-78.6.0.tar.bz2"; locale = "he"; arch = "linux-x86_64"; - sha256 = "146f2a8417827d2d6352f7cc20486ecca8fd1e0ad384d4eb2d8b2635edf2075f"; + sha256 = "d15591239235d2f7debc8454e65c1e67101b8f32901fcc7543025986c524b156"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/hr/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/hr/thunderbird-78.6.0.tar.bz2"; locale = "hr"; arch = "linux-x86_64"; - sha256 = "5c510bd3a8f8015e5c8a7c0cff401e3557b0cdca83bff77d2384c8f75f287152"; + sha256 = "003d02062016c8f13038e61f189b7ebb75753ffd9a55879e1f8fd3ee1c1f2a2f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/hsb/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/hsb/thunderbird-78.6.0.tar.bz2"; locale = "hsb"; arch = "linux-x86_64"; - sha256 = "605ae5746f0df98c7a561550da9cc938d0e06a222f422910ab118fa89d09e793"; + sha256 = "2325fd29cadc8c824ddd90ba7d0975ca42c2d9964c62269f0361b5318274155f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/hu/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/hu/thunderbird-78.6.0.tar.bz2"; locale = "hu"; arch = "linux-x86_64"; - sha256 = "7d42f5e242e04d06bb9abd9bde8fe21571fa13f91b027369a048447d4de8526c"; + sha256 = "15650cc17e75780f17927ced485a03a23dcf771dd7d8343b28acd0ae1f0e1f9e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/hy-AM/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/hy-AM/thunderbird-78.6.0.tar.bz2"; locale = "hy-AM"; arch = "linux-x86_64"; - sha256 = "74b0b31089be36c0538eb24c98e57123f24599b4122aac5b08c4eb914f6a8f7d"; + sha256 = "c20a4f0ccf2bce093986e3758784190215bf19d31469f6bb51f5a494ed54fb03"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/id/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/id/thunderbird-78.6.0.tar.bz2"; locale = "id"; arch = "linux-x86_64"; - sha256 = "291ad6b1fcdc537e723ee76cf0a40a3084bdf1ebec68fc3c8c54714618f5d790"; + sha256 = "286eb0484f9a4b9c2d24dd836abcc07b00218a6c870535df1e4947482de1a79f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/is/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/is/thunderbird-78.6.0.tar.bz2"; locale = "is"; arch = "linux-x86_64"; - sha256 = "188e2cab8e00421b8a5f9c9a174e8a529ab404a0f4f3976797e41848eb0abc4d"; + sha256 = "b291df9b76800c56424ed8c9ad8e55be68f2606968abef2eb83ee3c86d56fc6f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/it/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/it/thunderbird-78.6.0.tar.bz2"; locale = "it"; arch = "linux-x86_64"; - sha256 = "12daeb5314ae81a82ce95c35dc9e34d676fe8b666a84a38aea36367b52aa2c95"; + sha256 = "51d112544b67c44d82b4d0f54bd35f0dfb485917ad72c09ce6136a8750e58eb0"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/ja/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/ja/thunderbird-78.6.0.tar.bz2"; locale = "ja"; arch = "linux-x86_64"; - sha256 = "cdd41967d60abff6053f1736375cbbdb521bbdf5aa25110ca8e08bb365c853ca"; + sha256 = "931815f8f2e0e3a9e3b9eb150fe8f0112b26537b02cc0c0c0dce9c14c1959ac9"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/ka/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/ka/thunderbird-78.6.0.tar.bz2"; locale = "ka"; arch = "linux-x86_64"; - sha256 = "9548232d8df327e6282b5413d904d5742aadfa75574b1333a235df2097337032"; + sha256 = "d51b241842f8da9d6cfc8307b11b73fe813d46a7d6cd9651c46e1af18201e89c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/kab/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/kab/thunderbird-78.6.0.tar.bz2"; locale = "kab"; arch = "linux-x86_64"; - sha256 = "ca35aa36ed5794661372e76f24dd6c98d11d35da76aff5396215ebe9331aa881"; + sha256 = "935d2e485aff93ee91c20710c286cb591379f5fae1a34851454707710c75df88"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/kk/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/kk/thunderbird-78.6.0.tar.bz2"; locale = "kk"; arch = "linux-x86_64"; - sha256 = "dd90fff1a4ee8380e03e59ef324298d1591833a021d14a11fdb2829cd3a934f3"; + sha256 = "4534b9c69f44c197997283f455d4b692ff96df122e9d633288d2874b8657833b"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/ko/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/ko/thunderbird-78.6.0.tar.bz2"; locale = "ko"; arch = "linux-x86_64"; - sha256 = "4dae3766bf420a0cfb5473fa95356f0061b657a7ebfdc808b69a8e639564893b"; + sha256 = "bb083026c53734d3956126a7bc11f1e02e122e463b0f8cb72757cc7cf94cb911"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/lt/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/lt/thunderbird-78.6.0.tar.bz2"; locale = "lt"; arch = "linux-x86_64"; - sha256 = "de4b448d9651692bc4eb38447d94c94e37d93dae816edb5f3936d56a58aa41af"; + sha256 = "a9cd61089e2898a3e27cd0d10d9295c295b579324a30ff58f7500c0dd9fa1977"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/ms/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/ms/thunderbird-78.6.0.tar.bz2"; locale = "ms"; arch = "linux-x86_64"; - sha256 = "08593e72643de8f79b6d90a0c41d6031f915097d3f28f1e7e901c21caa0ab037"; + sha256 = "f84ac7f403802271c2730979dd7da85ec976d970aa39c1f50215ba1902449245"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/nb-NO/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/nb-NO/thunderbird-78.6.0.tar.bz2"; locale = "nb-NO"; arch = "linux-x86_64"; - sha256 = "21caa07be03725788c41fa527e7656a0467194e8a498de87f2455b571c4e14b2"; + sha256 = "98fd61d91149b26750f06e12f64605ffe04f243d96c5ead0d11a2a600c4baa7d"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/nl/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/nl/thunderbird-78.6.0.tar.bz2"; locale = "nl"; arch = "linux-x86_64"; - sha256 = "7c1c00a8e03d0a8e4fa9cdc3b4acce51215e9f273660e48ad76347e6003a1985"; + sha256 = "44dbe77dbfb8d74c2c79052e1152e0da0a751d0cccea5b643c5019704454b0ac"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/nn-NO/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/nn-NO/thunderbird-78.6.0.tar.bz2"; locale = "nn-NO"; arch = "linux-x86_64"; - sha256 = "103bc1307f47c20102e14362fcd6da696eb122fe77f680e70cd0849c9c03c47a"; + sha256 = "e88e668c434b5b2469ef8268985015735ba5ff8639a1c670d1c9d42e1dd0b30b"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/pa-IN/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/pa-IN/thunderbird-78.6.0.tar.bz2"; locale = "pa-IN"; arch = "linux-x86_64"; - sha256 = "388d01d0881573164816d7ddf6a08c17ad966616f1c8e8e429f821d2bb179a62"; + sha256 = "388b87f10db2a0dc9c73580ccc5248c492d6274766e4350981f8289db39c95cf"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/pl/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/pl/thunderbird-78.6.0.tar.bz2"; locale = "pl"; arch = "linux-x86_64"; - sha256 = "160651e72037bb89ac62534714ce9ecbebdec0cf1f8a6127396c68ab531745f9"; + sha256 = "cc0e7c7bf4fd33ab255b1bcca808e6ae84c9575b3555228f84da8dad83b02d2a"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/pt-BR/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/pt-BR/thunderbird-78.6.0.tar.bz2"; locale = "pt-BR"; arch = "linux-x86_64"; - sha256 = "6d2064a6ed4bb684384f7e79b61cfceb66a9a26900e9947b3666c36d6b8793cd"; + sha256 = "a8b4b7db5ed2a45af8bc595c85f15f9ea78d2a790bb62a9e419b7b2c78616a66"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/pt-PT/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/pt-PT/thunderbird-78.6.0.tar.bz2"; locale = "pt-PT"; arch = "linux-x86_64"; - sha256 = "2ccc7a3d9d845f1a3e2ad3869cbd4cefa10e44992c27444a599f6f1429070f32"; + sha256 = "c4504cebf2b2c831ec94029605b3068ab1cf220d3cce33b085d658c20fbf4dc4"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/rm/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/rm/thunderbird-78.6.0.tar.bz2"; locale = "rm"; arch = "linux-x86_64"; - sha256 = "05e45497c19d46292617de4f247f014f7b14a684f74bfd314caf408416dc5b19"; + sha256 = "b1be40d4a3f6f26c9a06e3179244ae2ad9c9c259e76cdd695cb3f881e43de919"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/ro/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/ro/thunderbird-78.6.0.tar.bz2"; locale = "ro"; arch = "linux-x86_64"; - sha256 = "bf01cf8c987e46f03236dbaab14aa551464019f471aa111299b6c7538e995f80"; + sha256 = "305ecbe685a107461aa3dad94e7b74d9f32b343a3d9813cf7d570e0919d5d931"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/ru/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/ru/thunderbird-78.6.0.tar.bz2"; locale = "ru"; arch = "linux-x86_64"; - sha256 = "a3cbdfa26ff487d0efdabfa9dc324b75ec1446964f1c0192afcd67565dfc4a51"; + sha256 = "4d49f15c2c9e69a6156e89017c71f5cbda3114940bfdf273efd0e82dfcc3457b"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/si/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/si/thunderbird-78.6.0.tar.bz2"; locale = "si"; arch = "linux-x86_64"; - sha256 = "fb26eef7b0c5b233e41f8d4ad79f11aa7d0db21b155bf0d9284881cabb51f6e4"; + sha256 = "9d108c3b3d54d12c5008f0d77c4a6741ab94c7fcfec1cb4ff59bb2730938d01f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/sk/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/sk/thunderbird-78.6.0.tar.bz2"; locale = "sk"; arch = "linux-x86_64"; - sha256 = "d462f2606bfd7f6e0e45334a68d266889f0f9f927f08d5b92c39329711a8c4cf"; + sha256 = "a6e51284b554fd6a8970757d519870098baa26d3fd23561e335105ec5bf836ad"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/sl/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/sl/thunderbird-78.6.0.tar.bz2"; locale = "sl"; arch = "linux-x86_64"; - sha256 = "b6011aefaf1eb60c8849b4ecc7a7a6fa0a72def8ba690f5b7ca61de3e089c9a4"; + sha256 = "99b80fb6efd174beaf885e3d5451557a353693158ef147c931aa4d8560966122"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/sq/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/sq/thunderbird-78.6.0.tar.bz2"; locale = "sq"; arch = "linux-x86_64"; - sha256 = "aeed36c0d6129dc58d496f8f6177a88950a4c4cfe2e4ac157fb389ea79488b11"; + sha256 = "5bba738143daec5c687fedf566052c9d387a87520e510acdb963ae80c5d24b3c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/sr/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/sr/thunderbird-78.6.0.tar.bz2"; locale = "sr"; arch = "linux-x86_64"; - sha256 = "f55cb398b3e6420acf6791d9ab5592b9915d299c5111ea917934b5729d22dd7f"; + sha256 = "c18424e503d87ee7ea940a4d9551b9ec51a90b76b73180c89541872dbba27674"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/sv-SE/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/sv-SE/thunderbird-78.6.0.tar.bz2"; locale = "sv-SE"; arch = "linux-x86_64"; - sha256 = "036b4f2b3d6cd24bcdcdbc1da1f44df2fba012f22ab96d0840a8c7ae0b945055"; + sha256 = "d0eb7a8a1a6248e40142a62b61f9fe3e78bb8c277c9734d821358e0a075d5184"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/th/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/th/thunderbird-78.6.0.tar.bz2"; locale = "th"; arch = "linux-x86_64"; - sha256 = "316ae39fb02b9ad1b28bbe7a21342e5e85dd7593978b4935b7be20253fe6b761"; + sha256 = "04d3465fb8afcff051ce9a578901f3e9a8fbfab65f31cd7245b0b9321daa102f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/tr/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/tr/thunderbird-78.6.0.tar.bz2"; locale = "tr"; arch = "linux-x86_64"; - sha256 = "73811e185274d880abdb15503a928a537428460080245426a07cf1c01e38f1c6"; + sha256 = "46acaf32f9f035dd320d4e28d6b36ef8ce2d8ff5f753cfb6a7b02f37e8edb09f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/uk/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/uk/thunderbird-78.6.0.tar.bz2"; locale = "uk"; arch = "linux-x86_64"; - sha256 = "8ff9e333cf16a02e7888f297851b5a9316c5b57cf546f592f12d2aab6e3bed48"; + sha256 = "60b0be6207532039958f03a81e5fdf070d15cd624a0583c4d8e87e0528ccd240"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/uz/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/uz/thunderbird-78.6.0.tar.bz2"; locale = "uz"; arch = "linux-x86_64"; - sha256 = "899c0c8c886fbaa6a6609a500bb374797bd36272138a6fcdc6aca7c7b6a6fe66"; + sha256 = "070963c90b858e9ab75cee1490671ec3f9f46190896eca554fde0ced205d0d44"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/vi/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/vi/thunderbird-78.6.0.tar.bz2"; locale = "vi"; arch = "linux-x86_64"; - sha256 = "13afdad34f64a1c96f9612c10c8af880e9718ae10d8a1578bc397b238a936dbd"; + sha256 = "9040ed756aa19c0e850391bd9fa148eb0fbca45b84eea888c874a9c93ee0428b"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/zh-CN/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/zh-CN/thunderbird-78.6.0.tar.bz2"; locale = "zh-CN"; arch = "linux-x86_64"; - sha256 = "00a1d01acabd210ba70ed6d0842ab5e1674109c7f39f561e8295d1ffd5f80a0d"; + sha256 = "caba2b9f3fabf1231b947c578c9761a241178f732c110fcd4cf620146ce5002b"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-x86_64/zh-TW/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-x86_64/zh-TW/thunderbird-78.6.0.tar.bz2"; locale = "zh-TW"; arch = "linux-x86_64"; - sha256 = "19b84b15a6bbf593a342c874822764bd73022d2c846fe20a6d7d91aceeb1ee15"; + sha256 = "b48378e3833a0710bca60cb9c87396f0163cf9cd6211725ea711e116557e5abc"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/af/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/af/thunderbird-78.6.0.tar.bz2"; locale = "af"; arch = "linux-i686"; - sha256 = "4c1487a6b823a76d477085e66b377f536f2cfd95b4ddc6804b97c792af77c554"; + sha256 = "b4ca4cd2535fb02c059db2783f2428634373730217d420530d7c2f6441191fe7"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/ar/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/ar/thunderbird-78.6.0.tar.bz2"; locale = "ar"; arch = "linux-i686"; - sha256 = "d33576a1d8c346195a20c8a222281d682d14f604654ff173eb28ca8a9343574b"; + sha256 = "29c287ff2ce37f3d4c23770f85aa220d7b9265df2b188aa38730fca68f8ea40b"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/ast/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/ast/thunderbird-78.6.0.tar.bz2"; locale = "ast"; arch = "linux-i686"; - sha256 = "09d68977bc121e562f3c697bd1d87b21250c8a0bcac013940e3806d4a69a749d"; + sha256 = "e1267edf8d35bfaf1f2bab751b5235855ce9ab768acc607ff308021dc917cd8f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/be/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/be/thunderbird-78.6.0.tar.bz2"; locale = "be"; arch = "linux-i686"; - sha256 = "bb58501c902788b2d1f8f308468aa57447a15979cab59dc89c27e3738748b6d9"; + sha256 = "1359027429e2c1ed2535f0878105bc0485f52b569aa342246d380acd1df13e4f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/bg/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/bg/thunderbird-78.6.0.tar.bz2"; locale = "bg"; arch = "linux-i686"; - sha256 = "373bd3548f518a4ae56e8a103b64eb76c3139b984a5af8013de56b133a0d44c0"; + sha256 = "4e2d1a02d6ef6ee123c68db8ff299037cbfa017334599f5e3ac7114ee3e8874b"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/br/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/br/thunderbird-78.6.0.tar.bz2"; locale = "br"; arch = "linux-i686"; - sha256 = "40934c8ec7070ad29cb0111624de431a0cdeeff9c7c01d8781444e33f65acbca"; + sha256 = "526e73827d595452c40bcd2066885d41a9497bf7d61043a5236d600cb9202e94"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/ca/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/ca/thunderbird-78.6.0.tar.bz2"; locale = "ca"; arch = "linux-i686"; - sha256 = "fbce4213fe7564f2af3f980f5844961cac9a7ec2a30b23d7cdd4e5db6aa4ebaa"; + sha256 = "73605bd265262a8f538b7d15b26915ecb030a76824a09192e7b2e897ac5affe5"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/cak/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/cak/thunderbird-78.6.0.tar.bz2"; locale = "cak"; arch = "linux-i686"; - sha256 = "2aaf7ea23606be03f5f7168aaa4286760f236d084babd1f81540f8b62b37962c"; + sha256 = "bbdcb9447938bc2ae8b4dc0a5a250cf82e316c7ef56abca2962f871abf9d1d4a"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/cs/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/cs/thunderbird-78.6.0.tar.bz2"; locale = "cs"; arch = "linux-i686"; - sha256 = "880e36431f76161674fdb9f2902c9d5487bed528a198722458b7e6e76e80e9b5"; + sha256 = "4052bda928576a30657dc4087bdded6ea2339e271bff36194bbd37e610f55d13"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/cy/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/cy/thunderbird-78.6.0.tar.bz2"; locale = "cy"; arch = "linux-i686"; - sha256 = "eddb4dcac8063e5b245eb1c095c4ff98cb03714bf5b07f0366b89d670a9d95dd"; + sha256 = "d3b337be4b64903d075f8e2269ff5f88831d5a88f24a56deead19ea534867d10"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/da/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/da/thunderbird-78.6.0.tar.bz2"; locale = "da"; arch = "linux-i686"; - sha256 = "2425487caaab7979f504d37cf6b100c7cb030e8e5495b6723fa4f953348e4f40"; + sha256 = "96080cee994410b59935c0baaa4d8bc0c592d1654242b00540b3b1997398951a"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/de/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/de/thunderbird-78.6.0.tar.bz2"; locale = "de"; arch = "linux-i686"; - sha256 = "81df3e5ba46fe5959f785c06bef0b70daa55e8f8721cfff0bf55a76f7343b32f"; + sha256 = "46b4c8b867fbc4f5ed288f0c503a776a256c229799601d7810ac51b73685d6a2"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/dsb/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/dsb/thunderbird-78.6.0.tar.bz2"; locale = "dsb"; arch = "linux-i686"; - sha256 = "995d3aaf3df22aa3166f161b98113fc25b813dc7cee2743b2bdd6913b4a620c4"; + sha256 = "f1b8576a1c5ed9dea2b92b10b03e2f16e17207c1f5dce4f83556b11a846de754"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/el/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/el/thunderbird-78.6.0.tar.bz2"; locale = "el"; arch = "linux-i686"; - sha256 = "ad5162a76dba9c37e2542fa7ed08c63edce9955600e9b50889abb03e352ddf23"; + sha256 = "01d559767ff8a2562b81c7e42007993065b4d46319fe4890e157a2450a34875f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/en-CA/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/en-CA/thunderbird-78.6.0.tar.bz2"; locale = "en-CA"; arch = "linux-i686"; - sha256 = "c605520e5e65449855c355147f18b813f66d38dce52e8d3a23b90afbec5bcbf1"; + sha256 = "99571e51cc28c9dbc5aab42fa5d5f7f680fdfa287f7f8b96c5548949155735a5"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/en-GB/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/en-GB/thunderbird-78.6.0.tar.bz2"; locale = "en-GB"; arch = "linux-i686"; - sha256 = "63b0d984ee8296c5185ed1aab279a0ef065986d989edbd0a7683b9db6a6d94bb"; + sha256 = "e515ef917801e0fa67b9d4821f7185b21e36b35b7df8bb43b6a917851bcae753"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/en-US/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/en-US/thunderbird-78.6.0.tar.bz2"; locale = "en-US"; arch = "linux-i686"; - sha256 = "b5404037f2678d36acbb225f43d426a86db9a4828a69b1beaf44dc3b5264ae7e"; + sha256 = "cee59a70210f9fc8672a914179c957d67556b068d8ce9387c01636e89e54aba9"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/es-AR/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/es-AR/thunderbird-78.6.0.tar.bz2"; locale = "es-AR"; arch = "linux-i686"; - sha256 = "cefe0ff79bacc9c16fe649c0d7b4f932afca6ebb10c8426fac527485e92f4422"; + sha256 = "e30605e7460ff80a1c26107d0393d7cd12ecfd95d55f256db6f808076d03c53d"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/es-ES/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/es-ES/thunderbird-78.6.0.tar.bz2"; locale = "es-ES"; arch = "linux-i686"; - sha256 = "de7c6685c4e73ee334faf83c809b2f45d55c971282ba99aecfd5d1c8b05577da"; + sha256 = "0e2301dd592c06a2628aeba21f38fe4b422ed2690531c1487e958c6cea1b236c"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/et/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/et/thunderbird-78.6.0.tar.bz2"; locale = "et"; arch = "linux-i686"; - sha256 = "e5174b12c61221436a5926224f61f218bfe762086f1d5bb814af5f7708592392"; + sha256 = "d15684c68e9bef8902e9dcdb87bacda263953cc93ba7368b69fd318739b58fdf"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/eu/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/eu/thunderbird-78.6.0.tar.bz2"; locale = "eu"; arch = "linux-i686"; - sha256 = "66bfbb4edc775117a6f048f52084fff9828633166ac6234a7c1dc0d67311677f"; + sha256 = "4144e7de84ce0a6b39d8c29a96221532951c76679a8ac5a85aa07a62b99680d6"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/fa/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/fa/thunderbird-78.6.0.tar.bz2"; locale = "fa"; arch = "linux-i686"; - sha256 = "072163a9d1a94b1f5c297c794791b4bd3e7f7e6897e7f7615df59a9dd2232a52"; + sha256 = "028ac9a6ad5d6e7360e597d961a7422238d96cda848042975ececec6f3a06aa3"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/fi/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/fi/thunderbird-78.6.0.tar.bz2"; locale = "fi"; arch = "linux-i686"; - sha256 = "9c269f267251bee9828acfd78d04bf149767dfe5247ae4f53ec5b0bd65c410ba"; + sha256 = "ee5adee4c249edd9b61fcacc0a2150d4471a7897aa1057fe3ea04e16729de966"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/fr/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/fr/thunderbird-78.6.0.tar.bz2"; locale = "fr"; arch = "linux-i686"; - sha256 = "6ccfac2b5d96491c4d5dc7b00e4458617ca68fe07917941559534a31424c977c"; + sha256 = "d5d0190541184198a6c628b3c79c7dc96ec911ab195ed3419f33c4817d401e01"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/fy-NL/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/fy-NL/thunderbird-78.6.0.tar.bz2"; locale = "fy-NL"; arch = "linux-i686"; - sha256 = "1b470c45c9d52a8a84c59dbb4ed0e6966d124ffdc3ea865e4d02289bd39b346f"; + sha256 = "c7b8ee6e8b66a6948f80f10e1ebf2d61c70e5be439f197953bff91f499fa8d51"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/ga-IE/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/ga-IE/thunderbird-78.6.0.tar.bz2"; locale = "ga-IE"; arch = "linux-i686"; - sha256 = "a1cbb9a4c1bf91f920da9e4e0e39e6ecff0a8c87413898c1930ce69dadad9a26"; + sha256 = "32a1d8ded34b26136b2884d24f31c5b08c965c10061758b87df9510395f8dc7e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/gd/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/gd/thunderbird-78.6.0.tar.bz2"; locale = "gd"; arch = "linux-i686"; - sha256 = "909be2cc362ed839f373eb22d27c5f3c569b1c82fc2ba5aaf270d605029d336c"; + sha256 = "a65ff1d77deb34ed46bb84ab480afad20fcf417f39c714021ccd83b4a9d3212e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/gl/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/gl/thunderbird-78.6.0.tar.bz2"; locale = "gl"; arch = "linux-i686"; - sha256 = "8ffadcffd16aca8befd4b9c230b7da750e6a694add7ee465227a0c3f31a5c655"; + sha256 = "87660c561fc92396c1eeafb82e907fbc2670b6649e2c7f0bdc73714fefa3de55"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/he/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/he/thunderbird-78.6.0.tar.bz2"; locale = "he"; arch = "linux-i686"; - sha256 = "a9242889345131a405d138d0ec8e470eb49c59ada18b1e8f78004f307ceb41b1"; + sha256 = "1e5c7324c57de9e5e2a87dceb1d41994a74f55e108e8d97161e0fd428f6b197f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/hr/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/hr/thunderbird-78.6.0.tar.bz2"; locale = "hr"; arch = "linux-i686"; - sha256 = "eb1f5496811677e28b2ed034da40ebf1fef324673e0f3acb2c21f0db5c71f592"; + sha256 = "cad204c16e1b8ee26809321aa27c73220e64bcd86d261474c636d088ade006e3"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/hsb/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/hsb/thunderbird-78.6.0.tar.bz2"; locale = "hsb"; arch = "linux-i686"; - sha256 = "643a2b11a0775a71a8fa6c25097cfe297e6bc190fb29eee18ddd3d16fb61d989"; + sha256 = "9d3e8988b5e8a3f089a0334304e255a716bc24f4ec9b08dd6594b7ddb4daa3cd"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/hu/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/hu/thunderbird-78.6.0.tar.bz2"; locale = "hu"; arch = "linux-i686"; - sha256 = "61d91bed542a7e014a8d11e46e1b3d97e8bef1303bba397b3d4da0585b1e68af"; + sha256 = "f46e9d49a74ccb2172c78e6e149149ff49c0be7c93336c62f8c17b30a1b1d15f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/hy-AM/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/hy-AM/thunderbird-78.6.0.tar.bz2"; locale = "hy-AM"; arch = "linux-i686"; - sha256 = "2e6739d14a45529ed2a68abb8ed03ad901b4e7770efebd382f6e9626c86da036"; + sha256 = "f3f7e033489907339055d0ef02abf4a423434248b1a10623736fdcf09a3edd79"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/id/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/id/thunderbird-78.6.0.tar.bz2"; locale = "id"; arch = "linux-i686"; - sha256 = "8753bc4c7292cd0c6ee382bb5572e432222e7c39ed739904d91ed1ece5a8197e"; + sha256 = "581cbae2f96a616d29d30eda0dad30992eaa7fe71f65c20af10f528d130d83d1"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/is/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/is/thunderbird-78.6.0.tar.bz2"; locale = "is"; arch = "linux-i686"; - sha256 = "4f624262b72fce7d258b6f7c264f7d2266ebcfdd59fce895e4e85c72fa784637"; + sha256 = "8653b1e05517a723a4113995e0e69a73fa59196f5625e2c1b0e51d9d60561646"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/it/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/it/thunderbird-78.6.0.tar.bz2"; locale = "it"; arch = "linux-i686"; - sha256 = "6298ce45c4a659e47877302d61a50dfc7e0634e7c3e7036aeec49da5a2839073"; + sha256 = "98faf75b5216cc75c2348962769fcdaa98ff59c4f4870b44cb6e7a69b7b5e9bc"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/ja/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/ja/thunderbird-78.6.0.tar.bz2"; locale = "ja"; arch = "linux-i686"; - sha256 = "85a7b01f65c79b0e13c4f8a18f3950f0a250f380fc8756b8fb1709680a148554"; + sha256 = "ad34916c36ac06eec4c1a900ff33639c6238e01c6426693261433b9bdf44ea91"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/ka/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/ka/thunderbird-78.6.0.tar.bz2"; locale = "ka"; arch = "linux-i686"; - sha256 = "f7b18243b9985b54eb8684b62bad47b7b021eb959f467fec9876c866d92b1727"; + sha256 = "c3468772b8667784814f6d323a74aef24f561cf3fbd2c5dfbfed16f73e7e7c6d"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/kab/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/kab/thunderbird-78.6.0.tar.bz2"; locale = "kab"; arch = "linux-i686"; - sha256 = "cc8eb77d0d0ea95a1e2b13db51da4f18a9500aeacee1cbe505da67f2b6a9b979"; + sha256 = "1ba665c91e38df62809a601223238dc3c34a50c96e42e5792b145eb9aed3aef7"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/kk/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/kk/thunderbird-78.6.0.tar.bz2"; locale = "kk"; arch = "linux-i686"; - sha256 = "6999faf34774806e1e4257a139dd97dd50a889a7729fef4f51a8b41bb4ad169e"; + sha256 = "651fda1baa62acfae3f13bb65096368719461d206ce45b84a3ff5540e09d9e24"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/ko/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/ko/thunderbird-78.6.0.tar.bz2"; locale = "ko"; arch = "linux-i686"; - sha256 = "42b0bf1ebfce252fdfca3ed8de9f227bbb054bf591e6155b716b18e9613a9cff"; + sha256 = "49b82df2eaa66e658b4ff0f84af7b128a92eddce7e9ce129f0f28b8239367967"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/lt/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/lt/thunderbird-78.6.0.tar.bz2"; locale = "lt"; arch = "linux-i686"; - sha256 = "6ffe9b52189579bee34604499649901be5c8be2a026eb70a33ac9eb4e3b21880"; + sha256 = "6d263e236457576a0e853fd0b00711182c34c32436f65c8fc952aa2810fa500d"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/ms/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/ms/thunderbird-78.6.0.tar.bz2"; locale = "ms"; arch = "linux-i686"; - sha256 = "640942eb04d84d24bd28cf5e49e57497934810394b50693bad591cf3b783e1bf"; + sha256 = "45b050930b8357e3a988701d46234ccdd43ba7b38e56b88d157dee6309c375c3"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/nb-NO/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/nb-NO/thunderbird-78.6.0.tar.bz2"; locale = "nb-NO"; arch = "linux-i686"; - sha256 = "c0d35274192ae664314e91fd9364609cbbf142f8177d37210c9c49fdf8d31086"; + sha256 = "23760a375705d8c3d22aaefab60c9a761fe73f5d6c97f3a3621312ba362f77ef"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/nl/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/nl/thunderbird-78.6.0.tar.bz2"; locale = "nl"; arch = "linux-i686"; - sha256 = "864ac834a0f44ce112deb107abce170802abaa63556f0aad88ee828bf3f8a98c"; + sha256 = "8f006195886d26a519363c1a61940a53388952a67bae4fad07de50ab24ee21c5"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/nn-NO/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/nn-NO/thunderbird-78.6.0.tar.bz2"; locale = "nn-NO"; arch = "linux-i686"; - sha256 = "e821eaf0388885e3b5e88001a2c4410cdf065059b79a3581c324f53d1cf59eb5"; + sha256 = "85710ff8542c6d592a939a55300040633f5b8fa8587f5c6c0ba0c3c2c7e5e62e"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/pa-IN/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/pa-IN/thunderbird-78.6.0.tar.bz2"; locale = "pa-IN"; arch = "linux-i686"; - sha256 = "5a0afbf815683afd24c258ac66a45dc300028b4d41a9950784355645874459ed"; + sha256 = "cc1120713915ba43b74e9a4daa5814cf83b32317bc1503061c233e5fe28f8214"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/pl/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/pl/thunderbird-78.6.0.tar.bz2"; locale = "pl"; arch = "linux-i686"; - sha256 = "cebdc0a0188edc63fce0b4fe0a4a3f22ab792ad486bd1e10e635ac8f641f1b5d"; + sha256 = "bf3da9722d7c9602304f64c7b11aba83cb899a23c1ddd179d5eb431aca23301b"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/pt-BR/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/pt-BR/thunderbird-78.6.0.tar.bz2"; locale = "pt-BR"; arch = "linux-i686"; - sha256 = "7bbf9aa4d48bf84a7455dcebc6b7476e4c1ffa085c1771fbdf302f71d10e4825"; + sha256 = "0104d48b2de1e26e3b66545a76b7892e2b1b17f56ebf8558353e031fb8741614"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/pt-PT/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/pt-PT/thunderbird-78.6.0.tar.bz2"; locale = "pt-PT"; arch = "linux-i686"; - sha256 = "b84c28dfb5d677768a6e0f69c8ea63fcaf884839739789ac72f50e7b8884f8ca"; + sha256 = "b376bc3cc3f87484c9f976f30a3049bd4873ec67982574ec570c5c96d7643285"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/rm/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/rm/thunderbird-78.6.0.tar.bz2"; locale = "rm"; arch = "linux-i686"; - sha256 = "f34eea430a9e929c25ad961b1c92724c5539a46cbbfb9a97a5c7edca4996115a"; + sha256 = "d68e60b06b03b5313a1ddc42464ee5a3ead106655860e1d2c359802875276778"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/ro/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/ro/thunderbird-78.6.0.tar.bz2"; locale = "ro"; arch = "linux-i686"; - sha256 = "115cd666282822f35924d4de3b33fd0dd3d790d278bb35849ada579d43d5ac54"; + sha256 = "051c01b3e2f69258e1d44599c6c485785c1624a67fa6548517ec242c69bf47fa"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/ru/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/ru/thunderbird-78.6.0.tar.bz2"; locale = "ru"; arch = "linux-i686"; - sha256 = "961eb62e639f8f7c7c5695bd39df50fe4b3401e7aeade8281600779bb8edd374"; + sha256 = "db0f48c765e7ec9c090e1d5f43f42faa5ac6cc9e4d593dbc6b8ff6f8f7210027"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/si/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/si/thunderbird-78.6.0.tar.bz2"; locale = "si"; arch = "linux-i686"; - sha256 = "0887999609e47839a0f7600215c3083ce939fe13abc0c38cf701449224dbc87a"; + sha256 = "fc104d206779b8b909f645a86151b193da0792c9af6360fbb4933d8224f23bb2"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/sk/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/sk/thunderbird-78.6.0.tar.bz2"; locale = "sk"; arch = "linux-i686"; - sha256 = "a3b9281efc4c0cd6cb454f2c5b97567b4d2c6567076cee188e85c30a45213f98"; + sha256 = "d08d8fe02577ad931020fdfd45b673fd2b71e41d66c1532b8025012e493c869d"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/sl/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/sl/thunderbird-78.6.0.tar.bz2"; locale = "sl"; arch = "linux-i686"; - sha256 = "141e9a41dba4c2a3eee4370d2db6e14f8805fee2d70c20ecbb9865b7a0dcaa77"; + sha256 = "6907401bb3973911ece57b9b3bd56032b02c2c140ab79ec554f4574a7e2121cc"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/sq/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/sq/thunderbird-78.6.0.tar.bz2"; locale = "sq"; arch = "linux-i686"; - sha256 = "6a50fdac7993294937756a169b4b0ac7fe021611c5c6a730ea194ee7302c95dc"; + sha256 = "bca13f569b5cd0e6a4bac8ae59a8f1b228010a95871763600080473f45ffe5a2"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/sr/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/sr/thunderbird-78.6.0.tar.bz2"; locale = "sr"; arch = "linux-i686"; - sha256 = "2ec4c2f367bceb3f05c75e55366cc66fae6593fc35c79d7bea57f34f93d79dba"; + sha256 = "df9328979af4c36d553992e0928d63a6cfcf0a54541e091fe7bb57e2e934057f"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/sv-SE/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/sv-SE/thunderbird-78.6.0.tar.bz2"; locale = "sv-SE"; arch = "linux-i686"; - sha256 = "4a9027f9aa74bd9c6e3cbf02ac1918f1b9dfbda57ed0344a99fccad9fa271f79"; + sha256 = "a310b66e76a2062354d2ec10dbe0827188610618ac87f866010b418d26032a50"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/th/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/th/thunderbird-78.6.0.tar.bz2"; locale = "th"; arch = "linux-i686"; - sha256 = "f394b18a364fa84ff5eeeee00c841248ba4095285833ce625b700fd500b9c0cc"; + sha256 = "efb37f15a311d2c66678f42f13085e77eaf8819b2fe16ee52e3410dde5e85bee"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/tr/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/tr/thunderbird-78.6.0.tar.bz2"; locale = "tr"; arch = "linux-i686"; - sha256 = "9f180c1b6b604fc597bf1ecb10e3521c70953cb70d4292105cb3bc7cbeb806c0"; + sha256 = "4f9f9088ab91ebc3e4e022ba77cf8c168ab961c73317fccd07e987e38ec6eb57"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/uk/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/uk/thunderbird-78.6.0.tar.bz2"; locale = "uk"; arch = "linux-i686"; - sha256 = "f828ac8f52bda71f913462e60fb7ea2221de4f824063b95b85709320a820db8a"; + sha256 = "d9c527045270007c74e84d9f77ab6cbab2f07112d8688757920f5adbc5bbdf1d"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/uz/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/uz/thunderbird-78.6.0.tar.bz2"; locale = "uz"; arch = "linux-i686"; - sha256 = "8d3dd4a1bbe008e4d346c22c01bafe988dde88fa6c9919c50194b9b155bc821f"; + sha256 = "9ea90845e8668afff622f412f571b59e03e6c02d49a4e47cb99ab93f5da822dd"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/vi/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/vi/thunderbird-78.6.0.tar.bz2"; locale = "vi"; arch = "linux-i686"; - sha256 = "4db40b3debca281c59e926bd0f9cb4e5cd2150bf27235f1178ed8e497616a031"; + sha256 = "ccf4bd8c6269fb8ae15413923d556ecafb808ef205688dfb78379347a5bce5f4"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/zh-CN/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/zh-CN/thunderbird-78.6.0.tar.bz2"; locale = "zh-CN"; arch = "linux-i686"; - sha256 = "399707f970a01e2f3c2eacc81f2f3bb33b1f49433c3ba6c49f4615b499f0c246"; + sha256 = "22f0b4a72f995a9936fed178138d3e0c40fb3aefeda989c9ba83fc82a4296fcf"; } - { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.5.1/linux-i686/zh-TW/thunderbird-78.5.1.tar.bz2"; + { url = "http://archive.mozilla.org/pub/thunderbird/releases/78.6.0/linux-i686/zh-TW/thunderbird-78.6.0.tar.bz2"; locale = "zh-TW"; arch = "linux-i686"; - sha256 = "27ad21908069582a4a7641dc9a7d9acc69d4842382499cef2cee2f84d0fc3856"; + sha256 = "b8c8633732641b8ab87bfc2a2867a95b817ce6d0fd0e8f569221bc51ac23e849"; } ]; } diff --git a/pkgs/applications/networking/mailreaders/thunderbird/default.nix b/pkgs/applications/networking/mailreaders/thunderbird/default.nix index 58eae867487..ac8eb2f811b 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/default.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/default.nix @@ -71,13 +71,13 @@ assert waylandSupport -> gtk3Support == true; stdenv.mkDerivation rec { pname = "thunderbird"; - version = "78.5.1"; + version = "78.6.0"; src = fetchurl { url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz"; sha512 = - "202s2h9fsvg4chy93rgxdf4vlavf3wbp9vqgh0nrgk5wcdhz17144vhw1bmxia8hf99snq2a3ix6haidwl8d2n6l2nfsjzcnphhxd9z"; + "0hx9gg3ngpvgshrz9j7ni4kh3chadqd5w5fpywjjw4naj0k53d0i9jjhq4p6fyvf6rb2g825ibqq794lr9drn6nrfndh5w1yn5lw69n"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix b/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix index 364aeac550e..8ef8740f4d2 100644 --- a/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix +++ b/pkgs/applications/networking/p2p/frostwire/frostwire-bin.nix @@ -3,12 +3,12 @@ with stdenv.lib; stdenv.mkDerivation rec { - version = "6.8.8"; + version = "6.8.9"; pname = "frostwire"; src = fetchurl { url = "https://dl.frostwire.com/frostwire/${version}/frostwire-${version}.amd64.tar.gz"; - sha256 = "0zxk0nv7m1k4n8n82h1rkh239a58s7j643lgqbw3qx45bdy4sf4k"; + sha256 = "0f5vyliwncryj6hj5xx0dycxycxddsn28n6zixjrn56jajijyl6q"; }; nativeBuildInputs = [ makeWrapper ]; diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix index 9b6a8bd707d..ac671729392 100644 --- a/pkgs/applications/networking/p2p/qbittorrent/default.nix +++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix @@ -1,29 +1,32 @@ -{ mkDerivation, lib, fetchFromGitHub, pkgconfig +{ mkDerivation, lib, fetchFromGitHub, makeWrapper, pkgconfig , boost, libtorrentRasterbar, qtbase, qttools, qtsvg -, debugSupport ? false # Debugging +, debugSupport ? false , guiSupport ? true, dbus ? null # GUI (disable to run headless) , webuiSupport ? true # WebUI +, trackerSearch ? true, python3 ? null }: assert guiSupport -> (dbus != null); -with lib; +assert trackerSearch -> (python3 != null); +with lib; mkDerivation rec { pname = "qbittorrent"; - version = "4.3.0.1"; + version = "4.3.1"; src = fetchFromGitHub { owner = "qbittorrent"; repo = "qbittorrent"; rev = "release-${version}"; - sha256 = "068sf24mjvc2idimgpzvf7gjk8n9xrr3qqlqfx5j3j598ckm3yfp"; + sha256 = "17ih00q7idrpl3b2vgh4smva6lazs5jw06pblriscn1lrwdvrc38"; }; # NOTE: 2018-05-31: CMake is working but it is not officially supported - nativeBuildInputs = [ pkgconfig ]; + nativeBuildInputs = [ makeWrapper pkgconfig ]; buildInputs = [ boost libtorrentRasterbar qtbase qttools qtsvg ] - ++ optional guiSupport dbus; # D(esktop)-Bus depends on GUI support + ++ optional guiSupport dbus # D(esktop)-Bus depends on GUI support + ++ optional trackerSearch python3; # Otherwise qm_gen.pri assumes lrelease-qt5, which does not exist. QMAKE_LRELEASE = "lrelease"; @@ -35,6 +38,12 @@ mkDerivation rec { ++ optional (!webuiSupport) "--disable-webui" ++ optional debugSupport "--enable-debug"; + postInstall = "wrapProgram $out/bin/${ + if guiSupport + then "qbittorrent" + else "qbittorrent-nox" + } --prefix PATH : ${makeBinPath [ python3 ]}"; + enableParallelBuilding = true; meta = { diff --git a/pkgs/applications/networking/sync/onedrive/default.nix b/pkgs/applications/networking/sync/onedrive/default.nix index be255a6c146..b41178922af 100644 --- a/pkgs/applications/networking/sync/onedrive/default.nix +++ b/pkgs/applications/networking/sync/onedrive/default.nix @@ -4,13 +4,13 @@ stdenv.mkDerivation rec { pname = "onedrive"; - version = "2.4.2"; + version = "2.4.7"; src = fetchFromGitHub { owner = "abraunegg"; repo = pname; rev = "v${version}"; - sha256 = "10s33p1xzq9c5n1bxv9n7n31afxgx9i6c17w0xgxdrma75micm3a"; + sha256 = "12g2z6c4f65y8cc7vyhk9nlg1mpbsmlsj7ghlny452qhr13m7qpn"; }; nativeBuildInputs = [ autoreconfHook ldc installShellFiles pkgconfig ]; diff --git a/pkgs/applications/networking/syncplay/default.nix b/pkgs/applications/networking/syncplay/default.nix index da4551d7f55..e93b6f9a432 100644 --- a/pkgs/applications/networking/syncplay/default.nix +++ b/pkgs/applications/networking/syncplay/default.nix @@ -2,7 +2,7 @@ buildPythonApplication rec { pname = "syncplay"; - version = "1.6.6"; + version = "1.6.7"; format = "other"; @@ -10,7 +10,7 @@ buildPythonApplication rec { owner = "Syncplay"; repo = "syncplay"; rev = "v${version}"; - sha256 = "1wkxdp7dv5y1100awy949higvs5035ylfyl83qrp4lnimy3imw09"; + sha256 = "1hxmd13sff51lh9l3vpk33qrzf7gi58c76bc01iqimp17sxwfz3k"; }; propagatedBuildInputs = [ pyside2 shiboken2 twisted certifi ] ++ twisted.extras.tls; diff --git a/pkgs/applications/science/logic/cryptoverif/default.nix b/pkgs/applications/science/logic/cryptoverif/default.nix index 28295ea2892..78861786def 100644 --- a/pkgs/applications/science/logic/cryptoverif/default.nix +++ b/pkgs/applications/science/logic/cryptoverif/default.nix @@ -2,11 +2,11 @@ stdenv.mkDerivation rec { pname = "cryptoverif"; - version = "2.03pl1"; + version = "2.04"; src = fetchurl { url = "http://prosecco.gforge.inria.fr/personal/bblanche/cryptoverif/cryptoverif${version}.tar.gz"; - sha256 = "0q7qa1qm7mbky3m36445gdmgmkb9mrhrdsk7mmwn8fzw0rfc6z00"; + sha256 = "1mzk6n0g2vdsv38y493zg85lxrpz72b92cmsray3g970xzanqd6s"; }; buildInputs = [ ocaml ]; @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { ** from under $out/libexec. By default, it expects to find the files ** in $CWD which doesn't work. */ patchPhase = '' - substituteInPlace ./src/settings.ml \ + substituteInPlace ./src/syntax.ml \ --replace \"default\" \"$out/libexec/default\" ''; diff --git a/pkgs/applications/science/math/giac/default.nix b/pkgs/applications/science/math/giac/default.nix index ea9c921f19e..b090274919b 100644 --- a/pkgs/applications/science/math/giac/default.nix +++ b/pkgs/applications/science/math/giac/default.nix @@ -9,11 +9,11 @@ assert (!blas.isILP64) && (!lapack.isILP64); stdenv.mkDerivation rec { pname = "giac${lib.optionalString enableGUI "-with-xcas"}"; - version = "1.5.0-21"; # TODO try to remove preCheck phase on upgrade + version = "1.5.0-87"; # TODO try to remove preCheck phase on upgrade src = fetchurl { url = "https://www-fourier.ujf-grenoble.fr/~parisse/debian/dists/stable/main/source/giac_${version}.tar.gz"; - sha256 = "1b9khiv0mk2xzw1rblm2jy6qsf8y6f9k7qy15sxpb21d72hzzbl2"; + sha256 = "1d0h1yb7qvh9x7wwv9yrzmcp712f49w1iljkxp4y6g9pzsmg1mmv"; }; patches = stdenv.lib.optionals (!enableGUI) [ diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix index 1bf7d16f290..cdc81a87646 100644 --- a/pkgs/applications/science/math/maxima/default.nix +++ b/pkgs/applications/science/math/maxima/default.nix @@ -87,6 +87,10 @@ stdenv.mkDerivation ({ enableParallelBuilding = true; + passthru = { + ecl = ecl; + }; + meta = { description = "Computer algebra system"; homepage = "http://maxima.sourceforge.net"; diff --git a/pkgs/applications/science/math/nauty/default.nix b/pkgs/applications/science/math/nauty/default.nix index 76e7c796a13..94b7ad266c4 100644 --- a/pkgs/applications/science/math/nauty/default.nix +++ b/pkgs/applications/science/math/nauty/default.nix @@ -7,7 +7,7 @@ stdenv.mkDerivation rec { version = "27r1"; src = fetchurl { url = "http://pallini.di.uniroma1.it/nauty${version}.tar.gz"; - sha256 = "1nym0p2djws8ylkpr0kgpxfa6fxdlh46cmvz0gn5vd02jzgs0aww"; + sha256 = "0xsfqfcknbd6g6wzpa5l7crmmk3bf3zjh37rhylq6b20dqcmvjkn"; }; outputs = [ "out" "dev" ]; configureFlags = [ diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix index a3e2f99ab27..7ec42d11ab1 100644 --- a/pkgs/applications/science/math/pari/default.nix +++ b/pkgs/applications/science/math/pari/default.nix @@ -15,7 +15,8 @@ stdenv.mkDerivation rec { version = "2.11.4"; src = fetchurl { - url = "https://pari.math.u-bordeaux.fr/pub/pari/unix/${pname}-${version}.tar.gz"; + # Versions with current majorMinor values are at http://pari.math.u-bordeaux.fr/pub/pari/unix/${pname}-${version}.tar.gz + url = "https://pari.math.u-bordeaux.fr/pub/pari/OLD/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.gz"; sha256 = "sha256-v8iPxPc1L0hA5uNSxy8DacvqikVAOxg0piafNwmXCxw="; }; diff --git a/pkgs/applications/science/math/pynac/default.nix b/pkgs/applications/science/math/pynac/default.nix index 87fb205174b..e3474d865e2 100644 --- a/pkgs/applications/science/math/pynac/default.nix +++ b/pkgs/applications/science/math/pynac/default.nix @@ -1,5 +1,6 @@ { stdenv , fetchFromGitHub +, fetchurl , autoreconfHook , pkgconfig , flint @@ -33,6 +34,14 @@ stdenv.mkDerivation rec { pkgconfig ]; + patches = [ + (fetchurl { + name = "py_ssize_t_clean.patch"; + url = "https://git.sagemath.org/sage.git/plain/build/pkgs/pynac/patches/py_ssize_t_clean.patch?h=9.2"; + sha256 = "0l3gbg9hc4v671zf4w376krnk3wh8hj3649610nlvzzxckcryzab"; + }) + ]; + meta = with stdenv.lib; { description = "Python is Not a CAS -- modified version of Ginac"; longDescription = '' diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix index caf51c3da25..416f2b957b7 100644 --- a/pkgs/applications/science/math/sage/default.nix +++ b/pkgs/applications/science/math/sage/default.nix @@ -9,31 +9,13 @@ let inherit (pkgs) symlinkJoin callPackage nodePackages; - # https://trac.sagemath.org/ticket/15980 for tracking of python3 support - python = pkgs.python2.override { + python3 = pkgs.python3.override { packageOverrides = self: super: { - # python packages that appear unmaintained and were not accepted into the nixpkgs - # tree because of that. These packages are only dependencies of the more-or-less - # deprecated sagenb. However sagenb is still a default dependency and the doctests - # depend on it. - # See https://github.com/NixOS/nixpkgs/pull/38787 for a discussion. - # The dependency on the sage notebook (and therefore these packages) will be - # removed in the future: - # https://trac.sagemath.org/ticket/25837 - flask-oldsessions = self.callPackage ./flask-oldsessions.nix {}; - flask-openid = self.callPackage ./flask-openid.nix {}; - python-openid = self.callPackage ./python-openid.nix {}; - sagenb = self.callPackage ./sagenb.nix { - mathjax = nodePackages.mathjax; - }; - - # Package with a cyclic dependency with sage - pybrial = self.callPackage ./pybrial.nix {}; - # `sagelib`, i.e. all of sage except some wrappers and runtime dependencies sagelib = self.callPackage ./sagelib.nix { - inherit flint ecl arb; + inherit flint arb; inherit sage-src env-locations pynac singular; + ecl = maxima-ecl.ecl; linbox = pkgs.linbox.override { withSage = true; }; pkg-config = pkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig }; @@ -59,9 +41,10 @@ let # A bash script setting various environment variables to tell sage where # the files its looking fore are located. Also see `sage-env`. env-locations = callPackage ./env-locations.nix { - inherit pari_data ecl; + inherit pari_data; inherit singular maxima-ecl; - cysignals = python.pkgs.cysignals; + ecl = maxima-ecl.ecl; + cysignals = python3.pkgs.cysignals; three = nodePackages.three; mathjax = nodePackages.mathjax; }; @@ -69,21 +52,22 @@ let # The shell file that gets sourced on every sage start. Will also source # the env-locations file. sage-env = callPackage ./sage-env.nix { - sagelib = python.pkgs.sagelib; + sagelib = python3.pkgs.sagelib; inherit env-locations; - inherit python ecl singular palp flint pynac pythonEnv maxima-ecl; + inherit python3 singular palp flint pynac pythonEnv maxima-ecl; + ecl = maxima-ecl.ecl; pkg-config = pkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig }; # The documentation for sage, building it takes a lot of ram. sagedoc = callPackage ./sagedoc.nix { inherit sage-with-env; - inherit python maxima-ecl; + inherit python3 maxima-ecl; }; # sagelib with added wrappers and a dependency on sage-tests to make sure thet tests were run. sage-with-env = callPackage ./sage-with-env.nix { - inherit pythonEnv; + inherit python3 pythonEnv; inherit sage-env; inherit pynac singular maxima-ecl; pkg-config = pkgs.pkgconfig; # not to confuse with pythonPackages.pkgconfig @@ -100,10 +84,8 @@ let sage-src = callPackage ./sage-src.nix {}; - pythonRuntimeDeps = with python.pkgs; [ + pythonRuntimeDeps = with python3.pkgs; [ sagelib - pybrial - sagenb cvxopt networkx service-identity @@ -116,11 +98,10 @@ let ipywidgets rpy2 sphinx - typing pillow ]; - pythonEnv = python.buildEnv.override { + pythonEnv = python3.buildEnv.override { extraLibs = pythonRuntimeDeps; ignoreCollisions = true; } // { extraLibs = pythonRuntimeDeps; }; # make the libs accessible @@ -129,8 +110,21 @@ let singular = pkgs.singular.override { inherit flint; }; - # https://trac.sagemath.org/ticket/26625 - maxima-ecl = pkgs.maxima-ecl; + maxima-ecl = pkgs.maxima-ecl.override { + ecl = pkgs.ecl.override { + # "echo syntax error | ecl > /dev/full 2>&1" segfaults in + # ECL. We apply a patch to fix it (write_error.patch), but it + # only works if threads are disabled. sage 9.2 tests this + # (src/sage/interfaces/tests.py) and ships ecl like so. + # https://gitlab.com/embeddable-common-lisp/ecl/-/merge_requests/1#note_1657275 + threadSupport = false; + + # if we don't use the system boehmgc, sending a SIGINT to ecl + # can segfault if we it happens during memory allocation. + # src/sage/libs/ecl.pyx would intermittently fail in this case. + useBoehmgc = true; + }; + }; # *not* to confuse with the python package "pynac" pynac = pkgs.pynac.override { inherit singular flint; }; @@ -161,9 +155,6 @@ let pari-seadata-small ]; }; - - # https://trac.sagemath.org/ticket/22191 - ecl = pkgs.ecl_16_1_2; in # A wrapper around sage that makes sure sage finds its docs (if they were build). callPackage ./sage.nix { diff --git a/pkgs/applications/science/math/sage/env-locations.nix b/pkgs/applications/science/math/sage/env-locations.nix index bda2d23b9e5..b1ad0aad9c7 100644 --- a/pkgs/applications/science/math/sage/env-locations.nix +++ b/pkgs/applications/science/math/sage/env-locations.nix @@ -44,6 +44,6 @@ writeTextFile rec { export JSMOL_DIR="${jmol}/share/jsmol" export MATHJAX_DIR="${mathjax}/lib/node_modules/mathjax" export THREEJS_DIR="${three}/lib/node_modules/three" - export SAGE_INCLUDE_DIRECTORIES="${cysignals}/lib/python2.7/site-packages" + export SAGE_INCLUDE_DIRECTORIES="${cysignals}/${cysignals.pythonModule.sitePackages}" ''; } diff --git a/pkgs/applications/science/math/sage/flask-oldsessions.nix b/pkgs/applications/science/math/sage/flask-oldsessions.nix deleted file mode 100644 index 86fe9912c19..00000000000 --- a/pkgs/applications/science/math/sage/flask-oldsessions.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ stdenv -, buildPythonPackage -, fetchFromGitHub -, python -, flask -}: - -buildPythonPackage rec { - pname = "Flask-OldSessions"; - version = "0.10"; - - # no artifact on pypi: https://github.com/mitsuhiko/flask-oldsessions/issues/1 - src = fetchFromGitHub { - owner = "mitsuhiko"; - repo = "flask-oldsessions"; - rev = version; - sha256 = "04b5m8njjiwld9a0zw55iqwvyjgwcpdbhz1cic8nyhgcmypbicqn"; - }; - - propagatedBuildInputs = [ - flask - ]; - - # missing module flask.testsuite, probably assumes an old version of flask - doCheck = false; - checkPhase = '' - ${python.interpreter} run-tests.py - ''; - - meta = with stdenv.lib; { - description = "Provides a session class that works like the one in Flask before 0.10."; - license = licenses.bsd2; - maintainers = teams.sage.members; - homepage = "https://github.com/mitsuhiko/flask-oldsessions"; - }; -} diff --git a/pkgs/applications/science/math/sage/flask-openid.nix b/pkgs/applications/science/math/sage/flask-openid.nix deleted file mode 100644 index 900b033429e..00000000000 --- a/pkgs/applications/science/math/sage/flask-openid.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ stdenv -, buildPythonPackage -, fetchPypi -, flask -, python-openid -}: - -buildPythonPackage rec { - pname = "Flask-OpenID"; - version = "1.2.5"; - - src = fetchPypi { - inherit pname version; - sha256 = "1aycwmwi7ilcaa5ab8hm0bp6323zl8z25q9ha0gwrl8aihfgx3ss"; - }; - - propagatedBuildInputs = [ - flask - python-openid - ]; - - meta = with stdenv.lib; { - description = "Adds openid support to flask applications"; - license = licenses.bsd2; - maintainers = teams.sage.members; - homepage = "https://pythonhosted.org/Flask-OpenID/"; - }; -} diff --git a/pkgs/applications/science/math/sage/patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch b/pkgs/applications/science/math/sage/patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch index 8cd80281d0e..d5c19a54fd9 100644 --- a/pkgs/applications/science/math/sage/patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch +++ b/pkgs/applications/science/math/sage/patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch @@ -1,17 +1,17 @@ -From 8218bd4fdeb4c92de8af0d3aabec55980fc4fb3d Mon Sep 17 00:00:00 2001 +From f5ea42a7aaed7611fb55b65897b9fcf2b7bcf97e Mon Sep 17 00:00:00 2001 From: Timo Kaufmann <timokau@zoho.com> Date: Sun, 21 Oct 2018 17:52:40 +0200 Subject: [PATCH] Only test py2/py3 optional tests when all of sage is tested --- - src/sage/doctest/control.py | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) + src/sage/doctest/control.py | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/sage/doctest/control.py b/src/sage/doctest/control.py -index bf18df8b2b..935c67abf7 100644 +index 2d93841e50..6d156e29a1 100644 --- a/src/sage/doctest/control.py +++ b/src/sage/doctest/control.py -@@ -362,7 +362,8 @@ class DocTestController(SageObject): +@@ -375,7 +375,8 @@ class DocTestController(SageObject): if not optionaltag_regex.search(o): raise ValueError('invalid optional tag {!r}'.format(o)) @@ -21,15 +21,6 @@ index bf18df8b2b..935c67abf7 100644 self.options = options -@@ -765,7 +766,7 @@ class DocTestController(SageObject): - sage: DC = DocTestController(DD, [dirname]) - sage: DC.expand_files_into_sources() - sage: sorted(DC.sources[0].options.optional) # abs tol 1 -- ['guava', 'magma', 'py2'] -+ ['guava', 'magma'] - - We check that files are skipped appropriately:: - -- -2.18.1 +2.28.0 diff --git a/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch b/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch index 3f844e1b1ef..98175920238 100644 --- a/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch +++ b/pkgs/applications/science/math/sage/patches/do-not-test-find-library.patch @@ -1,17 +1,17 @@ diff --git a/src/sage/env.py b/src/sage/env.py -index 061b94f3f1..67cd091540 100644 +index 1ddfc7cfb9..45033d6328 100644 --- a/src/sage/env.py +++ b/src/sage/env.py -@@ -189,88 +189,13 @@ var('MAXIMA_FAS') +@@ -203,97 +203,13 @@ var('ARB_LIBRARY', 'arb') var('SAGE_BANNER', '') var('SAGE_IMPORTALL', 'yes') - -def _get_shared_lib_filename(libname, *additional_libnames): - """ -- Return the full path to a shared library file installed in the standard -- location for the system within the ``LIBDIR`` prefix (or -- ``$SAGE_LOCAL/lib`` in the case of manual build of Sage). +- Return the full path to a shared library file installed in +- ``$SAGE_LOCAL/lib`` or the directories associated with the +- Python sysconfig. - - This can also be passed more than one library name (e.g. for cases where - some library may have multiple names depending on the platform) in which @@ -25,7 +25,7 @@ index 061b94f3f1..67cd091540 100644 - For distributions like Debian that use a multiarch layout, we also try the - multiarch lib paths (i.e. ``/usr/lib/<arch>/``). - -- Returns ``None`` if the file does not exist. +- This returns ``None`` if the file does not exist. - - EXAMPLES:: - @@ -48,11 +48,17 @@ index 061b94f3f1..67cd091540 100644 - - for libname in (libname,) + additional_libnames: - if sys.platform == 'cygwin': -- bindir = sysconfig.get_config_var('BINDIR') +- # Later down we take the last matching DLL found, so search +- # SAGE_LOCAL second so that it takes precedence +- bindirs = [ +- sysconfig.get_config_var('BINDIR'), +- os.path.join(SAGE_LOCAL, 'bin') +- ] - pats = ['cyg{}.dll'.format(libname), 'cyg{}-*.dll'.format(libname)] - filenames = [] -- for pat in pats: -- filenames += glob.glob(os.path.join(bindir, pat)) +- for bindir in bindirs: +- for pat in pats: +- filenames += glob.glob(os.path.join(bindir, pat)) - - # Note: This is not very robust, since if there are multi DLL - # versions for the same library this just selects one more or less @@ -66,10 +72,13 @@ index 061b94f3f1..67cd091540 100644 - else: - ext = 'so' - -- libdirs = [sysconfig.get_config_var('LIBDIR')] +- libdirs = [ +- os.path.join(SAGE_LOCAL, 'lib'), +- sysconfig.get_config_var('LIBDIR') +- ] - multilib = sysconfig.get_config_var('MULTILIB') - if multilib: -- libdirs.insert(0, os.path.join(libdirs[0], multilib)) +- libdirs.insert(1, os.path.join(libdirs[0], multilib)) - - for libdir in libdirs: - basename = 'lib{}.{}'.format(libname, ext) @@ -89,7 +98,7 @@ index 061b94f3f1..67cd091540 100644 # locate libgap shared object -GAP_SO= _get_shared_lib_filename('gap','') -+GAP_SO= '/default' ++GAP_SO = '/default' var('GAP_SO', GAP_SO) # post process diff --git a/pkgs/applications/science/math/sage/patches/docutils-0.15.patch b/pkgs/applications/science/math/sage/patches/docutils-0.15.patch deleted file mode 100644 index 63f5d2e146d..00000000000 --- a/pkgs/applications/science/math/sage/patches/docutils-0.15.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/src/sage/misc/sphinxify.py b/src/sage/misc/sphinxify.py -index 4849c2bffa..76b7bc8602 100644 ---- a/src/sage/misc/sphinxify.py -+++ b/src/sage/misc/sphinxify.py -@@ -25,6 +25,7 @@ from __future__ import absolute_import, print_function - import os - import re - import shutil -+import warnings - from tempfile import mkdtemp - from sphinx.application import Sphinx - -@@ -120,7 +121,10 @@ smart_quotes = no""") - # buildername, confoverrides, status, warning, freshenv). - sphinx_app = Sphinx(srcdir, confdir, outdir, doctreedir, format, - confoverrides, None, None, True) -- sphinx_app.build(None, [rst_name]) -+ with warnings.catch_warnings(): -+ # Quick and dirty workaround for https://trac.sagemath.org/ticket/28856#comment:19 -+ warnings.simplefilter("ignore") -+ sphinx_app.build(None, [rst_name]) - sys.path = old_sys_path - - # We need to remove "_" from __builtin__ that the gettext module installs diff --git a/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch b/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch index 11ca7481961..a91ee319b8f 100644 --- a/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch +++ b/pkgs/applications/science/math/sage/patches/ignore-cmp-deprecation.patch @@ -1,24 +1,24 @@ diff --git a/src/sage/tests/cmdline.py b/src/sage/tests/cmdline.py -index bd6b76ab82..ccf1203dec 100644 +index 6e034dcb5a..8ec60ec72b 100644 --- a/src/sage/tests/cmdline.py +++ b/src/sage/tests/cmdline.py -@@ -837,8 +837,6 @@ def test_executable(args, input="", timeout=100.0, **kwds): +@@ -660,8 +660,8 @@ def test_executable(args, input="", timeout=100.0, pydebug_ignore_warnings=False + sage: with open(input, 'w') as F: + ....: _ = F.write(s) + sage: L = ["sage", "--rst2ipynb", input, output] +- sage: test_executable(L) # optional - rst2ipynb +- ('', '', 0) ++ sage: test_executable(L)[2] # optional - rst2ipynb ++ 0 + sage: import json # optional - rst2ipynb + sage: d = json.load(open(output,'r')) # optional - rst2ipynb + sage: type(d) # optional - rst2ipynb +@@ -757,8 +757,6 @@ def test_executable(args, input="", timeout=100.0, pydebug_ignore_warnings=False /// 4 }}} -- sage: err # py2 +- sage: err # py2 # optional -- sagenb - '' - sage: ret + sage: ret # py2 # optional -- sagenb 0 -@@ -871,8 +869,8 @@ def test_executable(args, input="", timeout=100.0, **kwds): - sage: output = tmp_filename(ext='.sws') - sage: with open(input, 'w') as F: - ....: _ = F.write(s) -- sage: test_executable(["sage", "--rst2sws", input, output]) # py2 -- ('', '', 0) -+ sage: test_executable(["sage", "--rst2sws", input, output])[2] # py2 -+ 0 - sage: import tarfile # py2 - sage: f = tarfile.open(output, 'r') # py2 - sage: print(f.extractfile('sage_worksheet/worksheet.html').read()) # py2 diff --git a/pkgs/applications/science/math/sage/patches/ignore-werkzeug-immutable-dict-deprecation.patch b/pkgs/applications/science/math/sage/patches/ignore-werkzeug-immutable-dict-deprecation.patch deleted file mode 100644 index c5f95b498d5..00000000000 --- a/pkgs/applications/science/math/sage/patches/ignore-werkzeug-immutable-dict-deprecation.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/src/sage/all.py b/src/sage/all.py -index c87c9372e9..862fca4fcc 100644 ---- a/src/sage/all.py -+++ b/src/sage/all.py -@@ -306,6 +306,7 @@ warnings.filters.remove(('ignore', None, DeprecationWarning, None, 0)) - # Ignore all deprecations from IPython etc. - warnings.filterwarnings('ignore', category=DeprecationWarning, - module='.*(IPython|ipykernel|jupyter_client|jupyter_core|nbformat|notebook|ipywidgets|storemagic)') -+warnings.filterwarnings('ignore', category=DeprecationWarning, message=r".*The import 'werkzeug.ImmutableDict' is deprecated") - # Ignore collections.abc warnings, there are a lot of them but they are - # harmless. - warnings.filterwarnings('ignore', category=DeprecationWarning, diff --git a/pkgs/applications/science/math/sage/patches/pari-stackwarn.patch b/pkgs/applications/science/math/sage/patches/pari-stackwarn.patch deleted file mode 100644 index 49cdfd189b9..00000000000 --- a/pkgs/applications/science/math/sage/patches/pari-stackwarn.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/src/sage/doctest/parsing.py b/src/sage/doctest/parsing.py -index 6bdc9a0..31fc780 100644 ---- a/src/sage/doctest/parsing.py -+++ b/src/sage/doctest/parsing.py -@@ -40,6 +40,7 @@ from .external import available_software - - float_regex = re.compile('\s*([+-]?\s*((\d*\.?\d+)|(\d+\.?))([eE][+-]?\d+)?)') - optional_regex = re.compile(r'(py2|py3|long time|not implemented|not tested|known bug)|([^ a-z]\s*optional\s*[:-]*((\s|\w)*))') -+pari_stack_warning_regex = re.compile(r'\s*\*\*\*.*(Warning: increasing stack size to )\d+\.') - find_sage_prompt = re.compile(r"^(\s*)sage: ", re.M) - find_sage_continuation = re.compile(r"^(\s*)\.\.\.\.:", re.M) - random_marker = re.compile('.*random', re.I) -@@ -935,6 +936,7 @@ class SageOutputChecker(doctest.OutputChecker): - <type 'float'> - """ - got = self.human_readable_escape_sequences(got) -+ got = pari_stack_warning_regex.sub('', got) - if isinstance(want, MarkedOutput): - if want.random: - return True diff --git a/pkgs/applications/science/math/sage/patches/pillow-update.patch b/pkgs/applications/science/math/sage/patches/pillow-update.patch new file mode 100644 index 00000000000..19d61552262 --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/pillow-update.patch @@ -0,0 +1,39 @@ +diff --git a/src/sage/repl/image.py b/src/sage/repl/image.py +index d7d00b0..cd1607a 100644 +--- a/src/sage/repl/image.py ++++ b/src/sage/repl/image.py +@@ -77,7 +77,7 @@ class Image(SageObject): + + - ``size`` -- 2-tuple, containing (width, height) in pixels. + +- - ``color`` -- string or tuple of numeric. What colour to use ++ - ``color`` -- string, numeric or tuple of numeric. What colour to use + for the image. Default is black. If given, this should be a + a tuple with one value per band. When creating RGB images, + you can also use colour strings as supported by the +@@ -91,9 +91,15 @@ class Image(SageObject): + EXAMPLES:: + + sage: from sage.repl.image import Image +- sage: Image('P', (16, 16), (13,)) ++ sage: Image('P', (16, 16), 13) + 16x16px 8-bit Color image + """ ++ # pillow does not support Sage integers as color ++ from sage.rings.integer import Integer ++ if isinstance(color, Integer): ++ color = int(color) ++ elif isinstance(color, tuple): ++ color = tuple(int(i) if isinstance(i, Integer) else i for i in color) + self._pil = PIL.Image.new(mode, size, color) + + @property +@@ -233,7 +239,7 @@ class Image(SageObject): + EXAMPLES:: + + sage: from sage.repl.image import Image +- sage: img = Image('P', (12, 34), (13,)) ++ sage: img = Image('P', (12, 34), 13) + sage: filename = tmp_filename(ext='.png') + sage: img.save(filename) + sage: with open(filename, 'rb') as f: diff --git a/pkgs/applications/science/math/sage/patches/python-5755-hotpatch.patch b/pkgs/applications/science/math/sage/patches/python-5755-hotpatch.patch deleted file mode 100644 index 1b64f39fe60..00000000000 --- a/pkgs/applications/science/math/sage/patches/python-5755-hotpatch.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/src/sage/all.py b/src/sage/all.py -index ca309ef..be3186b 100644 ---- a/src/sage/all.py -+++ b/src/sage/all.py -@@ -298,6 +298,23 @@ warnings.filterwarnings('ignore', module='matplotlib[.]font_manager') - warnings.filterwarnings('default', - '[\s\S]*See http://trac.sagemath.org/[0-9]* for details.') - -+# Hotpatch around https://bugs.python.org/issue5755 which won't be fixed for -+# python 2.7. Idea by https://stackoverflow.com/a/36293331. -+from distutils.command.build_ext import build_ext -+from distutils.sysconfig import customize_compiler -+ -+_build_extensions = build_ext.build_extensions -+ -+def build_extensions_patched(self): -+ customize_compiler(self.compiler) -+ try: -+ self.compiler.compiler_so.remove("-Wstrict-prototypes") -+ except (AttributeError, ValueError): -+ pass -+ _build_extensions(self) -+ -+build_ext.build_extensions = build_extensions_patched -+ - - # Set a new random number seed as the very last thing - # (so that printing initial_seed() and using that seed diff --git a/pkgs/applications/science/math/sage/patches/register-pretty-printer-earlier.patch b/pkgs/applications/science/math/sage/patches/register-pretty-printer-earlier.patch new file mode 100644 index 00000000000..83bd83a6d33 --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/register-pretty-printer-earlier.patch @@ -0,0 +1,36 @@ +diff --git a/src/sage/doctest/forker.py b/src/sage/doctest/forker.py +index cb3667659e..867f547d71 100644 +--- a/src/sage/doctest/forker.py ++++ b/src/sage/doctest/forker.py +@@ -200,6 +200,15 @@ def init_sage(controller=None): + from sage.cpython._py2_random import Random + sage.misc.randstate.DEFAULT_PYTHON_RANDOM = Random + ++ # IPython's pretty printer sorts the repr of dicts by their keys by default ++ # (or their keys' str() if they are not otherwise orderable). However, it ++ # disables this for CPython 3.6+ opting to instead display dicts' "natural" ++ # insertion order, which is preserved in those versions). ++ # However, this order is random in some instances. ++ # Also modifications of code may affect the order. ++ # So here we fore sorted dict printing. ++ IPython.lib.pretty.for_type(dict, _sorted_dict_pprinter_factory('{', '}')) ++ + if controller is None: + import sage.repl.ipython_kernel.all_jupyter + else: +@@ -222,15 +231,6 @@ def init_sage(controller=None): + from sage.repl.rich_output.backend_doctest import BackendDoctest + dm.switch_backend(BackendDoctest()) + +- # IPython's pretty printer sorts the repr of dicts by their keys by default +- # (or their keys' str() if they are not otherwise orderable). However, it +- # disables this for CPython 3.6+ opting to instead display dicts' "natural" +- # insertion order, which is preserved in those versions). +- # However, this order is random in some instances. +- # Also modifications of code may affect the order. +- # So here we fore sorted dict printing. +- IPython.lib.pretty.for_type(dict, _sorted_dict_pprinter_factory('{', '}')) +- + # Switch on extra debugging + from sage.structure.debug_options import debug + debug.refine_category_hash_check = True diff --git a/pkgs/applications/science/math/sage/patches/sagenb-cmp-deprecation.patch b/pkgs/applications/science/math/sage/patches/sagenb-cmp-deprecation.patch deleted file mode 100644 index 9f502a66951..00000000000 --- a/pkgs/applications/science/math/sage/patches/sagenb-cmp-deprecation.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/sagenb/__init__.py b/sagenb/__init__.py -index 4db0d2cb..2fc5f01e 100644 ---- a/sagenb/__init__.py -+++ b/sagenb/__init__.py -@@ -1,3 +1,8 @@ - # -*- coding: utf-8 -* - # init -+import warnings - from . import storage -+ -+# deprecation in attrs, needs to be fixed in twisted -+warnings.filterwarnings('ignore', category=DeprecationWarning, -+ message=r'The usage of `cmp` is deprecated and will be removed.*') diff --git a/pkgs/applications/science/math/sage/patches/sagespawn-implicit-casting.patch b/pkgs/applications/science/math/sage/patches/sagespawn-implicit-casting.patch new file mode 100644 index 00000000000..2ee5db3e29c --- /dev/null +++ b/pkgs/applications/science/math/sage/patches/sagespawn-implicit-casting.patch @@ -0,0 +1,13 @@ +diff --git a/src/sage/interfaces/sagespawn.pyx b/src/sage/interfaces/sagespawn.pyx +index 9041238f1d..469befbc66 100644 +--- a/src/sage/interfaces/sagespawn.pyx ++++ b/src/sage/interfaces/sagespawn.pyx +@@ -228,7 +228,7 @@ class SagePtyProcess(PtyProcess): + Check that the process eventually dies after calling + ``terminate_async``:: + +- sage: s.ptyproc.terminate_async(interval=0.2) ++ sage: s.ptyproc.terminate_async(interval=float(0.2)) + sage: while True: + ....: try: + ....: os.kill(s.pid, 0) diff --git a/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch b/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch index 56f09279622..661077cfa8c 100644 --- a/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch +++ b/pkgs/applications/science/math/sage/patches/sphinx-docbuild-subprocesses.patch @@ -36,7 +36,7 @@ index 73a078e619..059125c59f 100644 # Run Sphinx with Sage's special logger - sys.argv = ["sphinx-build"] + build_command.split() - from .sphinxbuild import runsphinx -+ args = "python -um sage_setup.docbuild.sphinxbuild -N".split() + build_command.split() ++ args = "python3 -um sage_setup.docbuild.sphinxbuild -N".split() + build_command.split() try: - runsphinx() + subprocess.check_call(args) diff --git a/pkgs/applications/science/math/sage/patches/sympow-cache.patch b/pkgs/applications/science/math/sage/patches/sympow-cache.patch index 20020d610f8..d71f3acbc70 100644 --- a/pkgs/applications/science/math/sage/patches/sympow-cache.patch +++ b/pkgs/applications/science/math/sage/patches/sympow-cache.patch @@ -1,5 +1,5 @@ diff --git a/src/sage/lfunctions/sympow.py b/src/sage/lfunctions/sympow.py -index 1640ac4f6a..03578be7b8 100644 +index 92cb01fd73..b123e6accc 100644 --- a/src/sage/lfunctions/sympow.py +++ b/src/sage/lfunctions/sympow.py @@ -50,6 +50,7 @@ from __future__ import print_function, absolute_import @@ -8,14 +8,14 @@ index 1640ac4f6a..03578be7b8 100644 +from sage.env import DOT_SAGE from sage.structure.sage_object import SageObject - from sage.misc.all import pager, verbose - import sage.rings.all -@@ -76,7 +77,7 @@ class Sympow(SageObject): + from sage.misc.all import pager + from sage.misc.verbose import verbose +@@ -78,7 +79,7 @@ class Sympow(SageObject): """ Used to call sympow with given args """ -- cmd = 'sympow %s'%args +- cmd = 'sympow %s' % args + cmd = 'env SYMPOW_CACHEDIR="%s/sympow///" sympow %s' % (DOT_SAGE, args) - v = os.popen(cmd).read().strip() + with os.popen(cmd) as f: + v = f.read().strip() verbose(v, level=2) - return v diff --git a/pkgs/applications/science/math/sage/pybrial.nix b/pkgs/applications/science/math/sage/pybrial.nix deleted file mode 100644 index 5fc8a4aa6f4..00000000000 --- a/pkgs/applications/science/math/sage/pybrial.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ stdenv -, fetchFromGitHub -, buildPythonPackage -, brial -}: -# This has a cyclic dependency with sage. I don't include sage in the -# buildInputs and let python figure it out at runtime. Because of this, -# I don't include the package in the main nipxkgs tree. It wouldn't be useful -# outside of sage anyways (as you could just directly depend on sage and use -# it). -buildPythonPackage rec { - pname = "pyBRiAl"; - version = brial.version; - - # included with BRiAl source - src = brial.src; - - sourceRoot = "source/sage-brial"; - - meta = with stdenv.lib; { - description = "python implementation of BRiAl"; - license = licenses.gpl2; - maintainers = teams.sage.members; - }; -} diff --git a/pkgs/applications/science/math/sage/python-openid.nix b/pkgs/applications/science/math/sage/python-openid.nix deleted file mode 100644 index 1e8a908ac79..00000000000 --- a/pkgs/applications/science/math/sage/python-openid.nix +++ /dev/null @@ -1,40 +0,0 @@ -{ stdenv -, buildPythonPackage -, fetchPypi -, isPy3k -, django -, nose -, twill -, pycrypto -}: - -buildPythonPackage rec { - pname = "python-openid"; - version = "2.2.5"; - - disabled = isPy3k; - - src = fetchPypi { - inherit pname version; - sha256 = "1vvhxlghjan01snfdc4k7ykd80vkyjgizwgg9bncnin8rqz1ricj"; - }; - - propagatedBuildInputs = [ - pycrypto - ]; - - # Cannot access the djopenid example module. - # I don't know how to fix that (adding the examples dir to PYTHONPATH doesn't work) - doCheck = false; - checkInputs = [ nose django twill ]; - checkPhase = '' - nosetests - ''; - - meta = with stdenv.lib; { - description = "OpenID library for Python"; - license = licenses.asl20; - maintainers = teams.sage.members; - homepage = "https://github.com/openid/python-openid/"; - }; -} diff --git a/pkgs/applications/science/math/sage/sage-env.nix b/pkgs/applications/science/math/sage/sage-env.nix index ba7f6ccd18b..568a4a39f39 100644 --- a/pkgs/applications/science/math/sage/sage-env.nix +++ b/pkgs/applications/science/math/sage/sage-env.nix @@ -1,7 +1,6 @@ { stdenv , lib , writeTextFile -, python , sagelib , env-locations , gfortran @@ -67,11 +66,6 @@ let "@sage-local@" "@sage-local@/build" pythonEnv - # empty python env to add python wrapper that clears PYTHONHOME (see - # wrapper.nix). This is necessary because sage will call the python3 binary - # (from python2 code). The python2 PYTHONHOME (again set in wrapper.nix) - # will then confuse python3, if it is not overwritten. - python3.buildEnv gfortran # for inline fortran stdenv.cc # for cython bash @@ -129,8 +123,21 @@ writeTextFile rec { ] }' export SAGE_ROOT='${sagelib.src}' - export SAGE_LOCAL='@sage-local@' + '' + + # TODO: is using pythonEnv instead of @sage-local@ here a good + # idea? there is a test in src/sage/env.py that checks if the values + # SAGE_ROOT and SAGE_LOCAL set here match the ones set in env.py. + # we fix up env.py's SAGE_ROOT in sage-src.nix (which does not + # have access to sage-with-env), but env.py autodetects + # SAGE_LOCAL to be pythonEnv. + # setting SAGE_LOCAL to pythonEnv also avoids having to create + # python3, ipython, ipython3 and jupyter symlinks in + # sage-with-env.nix. + '' + export SAGE_LOCAL='${pythonEnv}' + export SAGE_SHARE='${sagelib}/share' + export SAGE_ENV_CONFIG_SOURCED=1 # sage-env complains if sage-env-config is not sourced beforehand orig_path="$PATH" export PATH='${runtimepath}' @@ -177,9 +184,9 @@ writeTextFile rec { ]) }' - export SAGE_LIB='${sagelib}/${python.sitePackages}' + export SAGE_LIB='${sagelib}/${python3.sitePackages}' - export SAGE_EXTCODE='${sagelib.src}/src/ext' + export SAGE_EXTCODE='${sagelib.src}/src/sage/ext_data' # for find_library export DYLD_LIBRARY_PATH="${lib.makeLibraryPath [stdenv.cc.libc singular]}''${DYLD_LIBRARY_PATH:+:}$DYLD_LIBRARY_PATH" diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix index 4791d12450a..8948621a025 100644 --- a/pkgs/applications/science/math/sage/sage-src.nix +++ b/pkgs/applications/science/math/sage/sage-src.nix @@ -10,44 +10,23 @@ # all get the same sources with the same patches applied. stdenv.mkDerivation rec { - version = "8.9"; + version = "9.2"; pname = "sage-src"; src = fetchFromGitHub { owner = "sagemath"; repo = "sage"; rev = version; - sha256 = "1bwga58x3s8z42w5h51c232f91ndsc1861dlb1glhax3pn0rhn3a"; + sha256 = "103j8d5x6szl9fxaz0dvdi4y47q1af9h9y5hmjh2xayi62qmp5ql"; }; # Patches needed because of particularities of nix or the way this is packaged. # The goal is to upstream all of them and get rid of this list. nixPatches = [ - # https://trac.sagemath.org/ticket/25358 - (fetchpatch { - name = "safe-directory-test-without-patch.patch"; - url = "https://git.sagemath.org/sage.git/patch?id2=8bdc326ba57d1bb9664f63cf165a9e9920cc1afc&id=dc673c17555efca611f68398d5013b66e9825463"; - sha256 = "1hhannz7xzprijakn2w2d0rhd5zv2zikik9p51i87bas3nc658f7"; - }) - - # `is_unitary` test in `matrix_double_dense.pyx` fails with some BLAS implementations - # https://trac.sagemath.org/ticket/29297 should be included in 9.1 - (fetchpatch { - name = "is_unitary-special-case.patch"; - url = "https://git.sagemath.org/sage.git/patch?id=cc3eb9ffa991e328b09028d32aab7e7cc2ddbb6a"; - sha256 = "0jq4w8hnp5c9q99011ldr4n3knvm1rx2g85z0hidv3i9x868p0ay"; - }) - - # Unfortunately inclusion in upstream sage was rejected. Instead the bug was - # fixed in python, but of course not backported to 2.7. So we'll probably - # have to keep this around until 2.7 is deprecated. - # https://trac.sagemath.org/ticket/25316 - # https://github.com/python/cpython/pull/7476 - ./patches/python-5755-hotpatch.patch - # Make sure py2/py3 tests are only run when their expected context (all "sage" # tests) are also run. That is necessary to test dochtml individually. See # https://trac.sagemath.org/ticket/26110 for an upstream discussion. + # TODO: Determine if it is still necessary. ./patches/Only-test-py2-py3-optional-tests-when-all-of-sage-is.patch # Fixes a potential race condition which can lead to transient doctest failures. @@ -61,10 +40,17 @@ stdenv.mkDerivation rec { # https://groups.google.com/forum/#!topic/sage-packaging/YGOm8tkADrE ./patches/sphinx-docbuild-subprocesses.patch - # Fix doctest failures with docutils 0.15: - # https://nix-cache.s3.amazonaws.com/log/dzmzrb2zvardsmpy7idg7djkizmkzdhs-sage-tests-8.9.drv - # https://trac.sagemath.org/ticket/28856#comment:19 - ./patches/docutils-0.15.patch + # Sage's workaround to pretty print dicts (in + # src/sage/doctest/forker.py:init_sage) runs too late (after + # controller.load_environment(), which imports sage.all.*) to to + # affect sage.sandpiles.Sandpile{Config,Divisor}'s pretty printer. + # Due to the sandpiles module being lazily loaded, this only + # affects the first run (subsequent runs read from an import cache + # at ~/.sage/cache and are not affected), which is probably why + # other distributions don't hit this bug. This breaks two sandpile + # tests, so do the workaround a little bit earlier. + # https://trac.sagemath.org/ticket/31053 + ./patches/register-pretty-printer-earlier.patch ]; # Since sage unfortunately does not release bugfix releases, packagers must @@ -74,6 +60,17 @@ stdenv.mkDerivation rec { # To help debug the transient error in # https://trac.sagemath.org/ticket/23087 when it next occurs. ./patches/configurationpy-error-verbose.patch + + # fix intermittent errors in Sage 9.2's psage.py (this patch is + # already included in Sage 9.3): https://trac.sagemath.org/ticket/30730 + (fetchpatch { + name = "fix-psage-is-locked.patch"; + url = "https://git.sagemath.org/sage.git/patch/?id=75df605f216ddc7b6ca719be942d666b241520e9"; + sha256 = "0g9pl1wbb3sgs26d3bvv70cpa77sfskylv4kd255y1794f1fgk4q"; + }) + + # fix intermittent errors in sagespawn.pyx: https://trac.sagemath.org/ticket/31052 + ./patches/sagespawn-implicit-casting.patch ]; # Patches needed because of package updates. We could just pin the versions of @@ -96,55 +93,16 @@ stdenv.mkDerivation rec { } // builtins.removeAttrs args [ "rev" "base" ]) ); in [ - # New glpk version has new warnings, filter those out until upstream sage has found a solution - # Should be fixed with glpk > 4.65. - # https://trac.sagemath.org/ticket/24824 - ./patches/pari-stackwarn.patch # not actually necessary since the pari upgrade, but necessary for the glpk patch to apply - (fetchpatch { - url = "https://salsa.debian.org/science-team/sagemath/raw/58bbba93a807ca2933ca317501d093a1bb4b84db/debian/patches/dt-version-glpk-4.65-ignore-warnings.patch"; - sha256 = "0b9293v73wb4x13wv5zwyjgclc01zn16msccfzzi6znswklgvddp"; - stripLen = 1; - }) - # After updating smypow to (https://trac.sagemath.org/ticket/3360) we can # now set the cache dir to be withing the .sage directory. This is not # strictly necessary, but keeps us from littering in the user's HOME. ./patches/sympow-cache.patch - # https://trac.sagemath.org/ticket/28472 - (fetchpatch { - name = "eclib-20190909.patch"; - url = "https://git.sagemath.org/sage.git/patch?id=d27dc479a5772d59e4bc85d805b6ffd595284f1d"; - sha256 = "1nf1s9y7n30lhlbdnam7sghgaq9nasmv96415gl5jlcf7a3hlxk3"; - }) - # ignore a deprecation warning for usage of `cmp` in the attrs library in the doctests ./patches/ignore-cmp-deprecation.patch - # Werkzeug has deprecated ImmutableDict, but it is still used in legacy - # sagenb. That's no big issue since sagenb will be removed soon anyways. - ./patches/ignore-werkzeug-immutable-dict-deprecation.patch - - # threejs r109 (#28560) - (fetchpatch { - name = "threejs-r109.patch"; - url = "https://git.sagemath.org/sage.git/patch?id=fcc11d6effa39f375bc5f4ea5831fb7a2f2767da"; - sha256 = "0hnmc8ld3bblks0hcjvjjaydkgwdr1cs3dbl2ys4gfq964pjgqwc"; - }) - - # https://trac.sagemath.org/ticket/28911 - (fetchpatch { - name = "sympy-1.5.patch"; - url = "https://git.sagemath.org/sage.git/patch/?h=c6d0308db15efd611211d26cfcbefbd180fc0831"; - sha256 = "0nwai2jr22h49km4hx3kwafs3mzsc5kwsv7mqwjf6ibwfx2bbgyq"; - }) - - # https://trac.sagemath.org/ticket/29313 (patch from ArchLinux) - (fetchpatch { - name = "pari-2.11.3.patch"; - url = "https://aur.archlinux.org/cgit/aur.git/plain/sagemath-pari-2.11.3.patch?h=sagemath-git&id=02e1d58bd1cd70935d69a4990469d18be6bd2c43"; - sha256 = "0z07444zvijyw96d11q7j81pvg7ysd6ycf1bbbjr6za9y74hv7d2"; - }) + # adapt sage's Image class to pillow 8.0.1 (https://trac.sagemath.org/ticket/30971) + ./patches/pillow-update.patch ]; patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches; @@ -152,16 +110,16 @@ stdenv.mkDerivation rec { postPatch = '' # make sure shebangs etc are fixed, but sage-python23 still works find . -type f -exec sed \ - -e 's/sage-python23/python/g' \ + -e 's/sage-python23/python3/g' \ -i {} \; echo '#!${runtimeShell} - python "$@"' > build/bin/sage-python23 + python3 "$@"' > build/bin/sage-python23 # Make sure sage can at least be imported without setting any environment # variables. It won't be close to feature complete though. sed -i \ - "s|var('SAGE_LOCAL',.*|var('SAGE_LOCAL', '$out/src')|" \ + "s|var('SAGE_ROOT'.*|var('SAGE_ROOT', '$out')|" \ src/sage/env.py # Do not use sage-env-config (generated by ./configure). @@ -169,7 +127,39 @@ stdenv.mkDerivation rec { echo '# do nothing' > src/bin/sage-env-config ''; - configurePhase = "# do nothing"; + # Test src/doc/en/reference/spkg/conf.py will fail if + # src/doc/en/reference/spkg/index.rst is not generated. It is + # generated by src/doc/bootstrap, so I've copied the relevant part + # here. An alternative would be to create an empty + # src/doc/en/reference/spkg/index.rst file. + configurePhase = '' + OUTPUT_DIR="src/doc/en/reference/spkg" + mkdir -p "$OUTPUT_DIR" + OUTPUT_INDEX="$OUTPUT_DIR"/index.rst + cat > "$OUTPUT_INDEX" <<EOF + + External Packages + ================= + + .. toctree:: + :maxdepth: 1 + + EOF + for PKG_SCRIPTS in build/pkgs/*; do + if [ -d "$PKG_SCRIPTS" ]; then + PKG_BASE=$(basename "$PKG_SCRIPTS") + if [ -f "$PKG_SCRIPTS"/SPKG.rst ]; then + # Instead of just copying, we may want to call + # a version of sage-spkg-info to format extra information. + cp "$PKG_SCRIPTS"/SPKG.rst "$OUTPUT_DIR"/$PKG_BASE.rst + echo >> "$OUTPUT_INDEX" " $PKG_BASE" + fi + fi + done + cat >> "$OUTPUT_INDEX" <<EOF + .. include:: ../footer.txt + EOF + ''; buildPhase = "# do nothing"; diff --git a/pkgs/applications/science/math/sage/sage-with-env.nix b/pkgs/applications/science/math/sage/sage-with-env.nix index 87c1e07f530..f204d97961b 100644 --- a/pkgs/applications/science/math/sage/sage-with-env.nix +++ b/pkgs/applications/science/math/sage/sage-with-env.nix @@ -13,7 +13,7 @@ , pari , gmp , gfan -, python2 +, python3 , flintqs , eclib , ntl @@ -50,11 +50,11 @@ let ]; # remove python prefix, replace "-" in the name by "_", apply patch_names - # python2.7-some-pkg-1.0 -> some_pkg-1.0 + # python3.8-some-pkg-1.0 -> some_pkg-1.0 pkg_to_spkg_name = pkg: patch_names: let parts = lib.splitString "-" pkg.name; - # remove python2.7- - stripped_parts = if (builtins.head parts) == python2.libPrefix then builtins.tail parts else parts; + # remove python3.8- + stripped_parts = if (builtins.head parts) == python3.libPrefix then builtins.tail parts else parts; version = lib.last stripped_parts; orig_pkgname = lib.init stripped_parts; pkgname = patch_names (lib.concatStringsSep "_" orig_pkgname); diff --git a/pkgs/applications/science/math/sage/sage.nix b/pkgs/applications/science/math/sage/sage.nix index a21bffea14c..e2acef7b8eb 100644 --- a/pkgs/applications/science/math/sage/sage.nix +++ b/pkgs/applications/science/math/sage/sage.nix @@ -61,7 +61,6 @@ stdenv.mkDerivation rec { }; meta = with stdenv.lib; { - broken = true; description = "Open Source Mathematics Software, free alternative to Magma, Maple, Mathematica, and Matlab"; license = licenses.gpl2; maintainers = teams.sage.members; diff --git a/pkgs/applications/science/math/sage/sagedoc.nix b/pkgs/applications/science/math/sage/sagedoc.nix index bf618fe64f4..a10672f3a09 100644 --- a/pkgs/applications/science/math/sage/sagedoc.nix +++ b/pkgs/applications/science/math/sage/sagedoc.nix @@ -1,6 +1,6 @@ { stdenv , sage-with-env -, python +, python3 , maxima-ecl , tachyon , jmol @@ -17,16 +17,15 @@ stdenv.mkDerivation rec { # modules are imported and because matplotlib is used to produce plots. buildInputs = [ sage-with-env.env.lib - python + python3 maxima-ecl tachyon jmol cddlib - ] ++ (with python.pkgs; [ + ] ++ (with python3.pkgs; [ psutil future sphinx - sagenb scipy sympy matplotlib @@ -35,8 +34,6 @@ stdenv.mkDerivation rec { ipykernel ipywidgets jupyter_client - typing - pybrial ]); unpackPhase = '' @@ -47,13 +44,26 @@ stdenv.mkDerivation rec { chmod -R 755 "$SAGE_DOC_SRC_OVERRIDE" ''; + postPatch = '' + # src/doc/bootstrap generates installation instructions for + # arch, debian, fedora, cygwin and homebrew. as a hack, disable + # including the generated files. + sed -i "/literalinclude/d" $SAGE_DOC_SRC_OVERRIDE/en/installation/source.rst + ''; + buildPhase = '' export SAGE_NUM_THREADS="$NIX_BUILD_CORES" export HOME="$TMPDIR/sage_home" mkdir -p "$HOME" # needed to link them in the sage docs using intersphinx - export PPLPY_DOCS=${python.pkgs.pplpy.doc}/share/doc/pplpy + export PPLPY_DOCS=${python3.pkgs.pplpy.doc}/share/doc/pplpy + + # adapted from src/doc/bootstrap + OUTPUT_DIR="$SAGE_DOC_SRC_OVERRIDE/en/reference/repl" + mkdir -p "$OUTPUT_DIR" + OUTPUT="$OUTPUT_DIR/options.txt" + ${sage-with-env}/bin/sage -advanced > "$OUTPUT" ${sage-with-env}/bin/sage -python -m sage_setup.docbuild \ --mathjax \ diff --git a/pkgs/applications/science/math/sage/sagelib.nix b/pkgs/applications/science/math/sage/sagelib.nix index 830d806a8bc..1c2235bf71b 100644 --- a/pkgs/applications/science/math/sage/sagelib.nix +++ b/pkgs/applications/science/math/sage/sagelib.nix @@ -15,6 +15,7 @@ , ecm , flint , gd +, giac , givaro , glpk , gsl @@ -51,6 +52,7 @@ , libbraiding , gmpy2 , pplpy +, sqlite }: assert (!blas.isILP64) && (!lapack.isILP64); @@ -94,6 +96,7 @@ buildPythonPackage rec { ecm fflas-ffpack flint + giac givaro glpk gsl @@ -124,6 +127,7 @@ buildPythonPackage rec { libbraiding gmpy2 pplpy + sqlite ]; buildPhase = '' diff --git a/pkgs/applications/science/math/sage/sagenb.nix b/pkgs/applications/science/math/sage/sagenb.nix deleted file mode 100644 index ad5c53b6c11..00000000000 --- a/pkgs/applications/science/math/sage/sagenb.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ stdenv -, python -, buildPythonPackage -, fetchFromGitHub -, mathjax -, twisted -, flask -, flask-oldsessions -, flask-openid -, flask-autoindex -, flask-babel -}: - -# Has a cyclic dependency with sage (not expressed here) and is not useful outside of sage. -# Deprecated, hopefully soon to be removed. See -# https://trac.sagemath.org/ticket/25837 - -buildPythonPackage rec { - pname = "sagenb"; - version = "1.1.2"; - - src = fetchFromGitHub { - owner = "sagemath"; - repo = "sagenb"; - rev = version; - sha256 = "0bxvhr03qh2nsjdfc4pyfiqrn9jhp3vf7irsc9gqx0185jlblbxs"; - }; - - patches = [ - # cmp deprecation in attrs needs to be handled in twisted - ./patches/sagenb-cmp-deprecation.patch - ]; - - propagatedBuildInputs = [ - twisted - flask - flask-oldsessions - flask-openid - flask-autoindex - flask-babel - ]; - - # tests depend on sage - doCheck = false; - - meta = with stdenv.lib; { - description = "Sage Notebook"; - license = licenses.gpl3Plus; - maintainers = teams.sage.members; - }; - - # let sagenb use mathjax - postInstall = '' - mkdir -p "$out/${python.sitePackages}/sagenb/data" - ln -s ${mathjax}/lib/node_modules/mathjax "$out/${python.sitePackages}/sagenb/data/mathjax" - ''; -} diff --git a/pkgs/applications/science/misc/simgrid/default.nix b/pkgs/applications/science/misc/simgrid/default.nix index 0ba1cd0d2fa..11d73095834 100644 --- a/pkgs/applications/science/misc/simgrid/default.nix +++ b/pkgs/applications/science/misc/simgrid/default.nix @@ -18,14 +18,14 @@ in stdenv.mkDerivation rec { pname = "simgrid"; - version = "3.25"; + version = "3.26"; src = fetchFromGitLab { domain = "framagit.org"; owner = pname; repo = pname; rev = "v${version}"; - sha256 = "019fgryfwpcrkv1f3271v7qxk0mfw2w990vgnk1cqhmr9i1f17gs"; + sha256 = "0kwiggdjqjhjvmwb1m7hb9clvm3xz948fy5ia67dif2pakwad754"; }; nativeBuildInputs = [ cmake perl python3 boost valgrind ] diff --git a/pkgs/applications/version-management/fossil/default.nix b/pkgs/applications/version-management/fossil/default.nix index f8ad81c6058..6d39ae0931c 100644 --- a/pkgs/applications/version-management/fossil/default.nix +++ b/pkgs/applications/version-management/fossil/default.nix @@ -15,7 +15,7 @@ stdenv.mkDerivation rec { pname = "fossil"; - version = "2.12.1"; + version = "2.13"; src = fetchurl { urls = @@ -23,7 +23,7 @@ stdenv.mkDerivation rec { "https://www.fossil-scm.org/index.html/uv/fossil-src-${version}.tar.gz" ]; name = "${pname}-${version}.tar.gz"; - sha256 = "00v6gmn2wpfms5jzf103hkm5s8i3bfs5mzacmznlhdzdrzzjc8w2"; + sha256 = "1xbk7bb7340x2vvn22ykii54v721fwk8vgr3xvjkvv8ff7hd6cyr"; }; nativeBuildInputs = [ installShellFiles tcl ]; diff --git a/pkgs/applications/virtualization/docker-slim/default.nix b/pkgs/applications/virtualization/docker-slim/default.nix index 84e0135f665..9ba7ff5d66b 100644 --- a/pkgs/applications/virtualization/docker-slim/default.nix +++ b/pkgs/applications/virtualization/docker-slim/default.nix @@ -6,7 +6,7 @@ buildGoPackage rec { pname = "docker-slim"; - version = "1.32.0"; + version = "1.33.0"; goPackagePath = "github.com/docker-slim/docker-slim"; @@ -14,7 +14,7 @@ buildGoPackage rec { owner = "docker-slim"; repo = "docker-slim"; rev = version; - sha256 = "0pd2v7df176ca923c4nw9ns5gz442jkb0jhzqjl53rwfwz1vxy9h"; + sha256 = "0fk1r9id3fjcqdg4nls2k5ik3822njz4xx9fpbvmx0fycvjmbr4v"; }; subPackages = [ "cmd/docker-slim" "cmd/docker-slim-sensor" ]; @@ -39,6 +39,7 @@ buildGoPackage rec { meta = with stdenv.lib; { description = "Minify and secure Docker containers"; homepage = "https://dockersl.im/"; + changelog = "https://github.com/docker-slim/docker-slim/blob/${version}/CHANGELOG.md"; license = licenses.asl20; maintainers = with maintainers; [ Br1ght0ne marsam mbrgm ]; }; diff --git a/pkgs/applications/virtualization/vpcs/default.nix b/pkgs/applications/virtualization/vpcs/default.nix index 464fe46b499..ce08428eba0 100644 --- a/pkgs/applications/virtualization/vpcs/default.nix +++ b/pkgs/applications/virtualization/vpcs/default.nix @@ -1,19 +1,16 @@ -{ stdenv, fetchurl, glibc }: +{ stdenv, fetchFromGitHub }: stdenv.mkDerivation rec { pname = "vpcs"; - version = "0.8"; + version = "0.8.1"; - src = fetchurl { - name = "${pname}-${version}.tar.bz2"; - url = "mirror://sourceforge/project/${pname}/${version}/${pname}-${version}-src.tbz"; - sha256 = "14y9nflcyq486vvw0na0fkfmg5dac004qb332v4m5a0vaz8059nw"; + src = fetchFromGitHub { + owner = "GNS3"; + repo = pname; + rev = "v${version}"; + sha256 = "0kqy4bd3ns8nzn7fa72izn7a08sfrasy1rn7fd8ajah2wv8d2cak"; }; - patches = [ ./vpcs-0.8-glibc-2.26.patch ]; - - buildInputs = [ glibc.static ]; - buildPhase = ''( cd src ./mk.sh ${stdenv.buildPlatform.platform.kernelArch} @@ -27,13 +24,13 @@ stdenv.mkDerivation rec { enableParallelBuilding = true; meta = with stdenv.lib; { - description = "Virtual PC simulator"; + description = "A simple virtual PC simulator"; longDescription = '' - The VPCS can simulate up to 9 PCs. You can ping/traceroute them, or - ping/traceroute the other hosts/routers from the VPCS when you study the - Cisco routers in the dynamips. + The VPCS (Virtual PC Simulator) can simulate up to 9 PCs. You can + ping/traceroute them, or ping/traceroute the other hosts/routers from the + VPCS when you study the Cisco routers in the dynamips. ''; - homepage = "https://sourceforge.net/projects/vpcs/"; + inherit (src.meta) homepage; license = licenses.bsd2; platforms = platforms.linux; maintainers = with maintainers; [ primeos ]; diff --git a/pkgs/applications/virtualization/vpcs/vpcs-0.8-glibc-2.26.patch b/pkgs/applications/virtualization/vpcs/vpcs-0.8-glibc-2.26.patch deleted file mode 100644 index d94a39ccd64..00000000000 --- a/pkgs/applications/virtualization/vpcs/vpcs-0.8-glibc-2.26.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/src/getopt.h b/src/getopt.h -index 4394aa2..bf59e10 100644 ---- a/src/getopt.h -+++ b/src/getopt.h -@@ -49,9 +49,6 @@ extern int optind; - extern int opterr; - extern int optopt; - --#ifndef FreeBSD --int getopt(int argc, char** argv, char* optstr); --#endif - int arg_to_int(const char* arg, int min, int max, int defalt); - - #ifdef __cplusplus diff --git a/pkgs/applications/window-managers/i3/gaps.nix b/pkgs/applications/window-managers/i3/gaps.nix index 755ceb42161..10f86132ea9 100644 --- a/pkgs/applications/window-managers/i3/gaps.nix +++ b/pkgs/applications/window-managers/i3/gaps.nix @@ -20,7 +20,7 @@ i3.overrideAttrs (oldAttrs : rec { homepage = "https://github.com/Airblader/i3"; maintainers = with maintainers; [ fmthoma ]; license = licenses.bsd3; - platforms = platforms.all; + platforms = platforms.linux ++ platforms.netbsd ++ platforms.openbsd; longDescription = '' Fork of i3wm, a tiling window manager primarily targeted at advanced users diff --git a/pkgs/applications/window-managers/i3/i3-resurrect.nix b/pkgs/applications/window-managers/i3/i3-resurrect.nix new file mode 100644 index 00000000000..a765d2e298e --- /dev/null +++ b/pkgs/applications/window-managers/i3/i3-resurrect.nix @@ -0,0 +1,22 @@ +{ lib, buildPythonApplication, click, i3ipc, psutil, natsort, fetchPypi, xprop, xdotool, importlib-metadata }: + +buildPythonApplication rec { + pname = "i3-resurrect"; + version = "1.4.3"; + + src = fetchPypi { + inherit pname version; + sha256 = "0h181frdwpqfj9agw43qgicdvzv1i7xwky0vs0ksd8h18qxqp4hr"; + }; + + propagatedBuildInputs = [ click psutil xprop natsort i3ipc xdotool importlib-metadata ]; + doCheck = false; # no tests + + meta = with lib; { + homepage = "https://github.com/JonnyHaystack/i3-resurrect"; + description = "A simple but flexible solution to saving and restoring i3 workspaces"; + license = licenses.gpl3; + platforms= platforms.linux; + maintainers = with maintainers; [ magnetophon ]; + }; +} diff --git a/pkgs/applications/window-managers/i3/lock-color.nix b/pkgs/applications/window-managers/i3/lock-color.nix index a64e5ea3369..f07a1926f6e 100644 --- a/pkgs/applications/window-managers/i3/lock-color.nix +++ b/pkgs/applications/window-managers/i3/lock-color.nix @@ -55,8 +55,6 @@ stdenv.mkDerivation rec { maintainers = with maintainers; [ malyn ]; license = licenses.bsd3; - # Needs the SSE2 instruction set. See upstream issue - # https://github.com/chrjguill/i3lock-color/issues/44 - platforms = platforms.x86; + platforms = platforms.all; }; } diff --git a/pkgs/applications/window-managers/wayfire/applications.nix b/pkgs/applications/window-managers/wayfire/applications.nix new file mode 100644 index 00000000000..6c22227c0c5 --- /dev/null +++ b/pkgs/applications/window-managers/wayfire/applications.nix @@ -0,0 +1,23 @@ +{ newScope, wayfirePlugins }: + +let + self = with self; { + inherit wayfirePlugins; + + callPackage = newScope self; + + wayfire = callPackage ./. { }; + + wcm = callPackage ./wcm.nix { + inherit (wayfirePlugins) wf-shell; + }; + + wrapWayfireApplication = callPackage ./wrapper.nix { }; + + withPlugins = selector: self // { + wayfire = wrapWayfireApplication wayfire selector; + wcm = wrapWayfireApplication wcm selector; + }; + }; +in +self diff --git a/pkgs/applications/window-managers/wayfire/default.nix b/pkgs/applications/window-managers/wayfire/default.nix new file mode 100644 index 00000000000..513784b8b52 --- /dev/null +++ b/pkgs/applications/window-managers/wayfire/default.nix @@ -0,0 +1,30 @@ +{ stdenv, lib, fetchurl, meson, ninja, pkg-config, git +, cairo, libdrm, libexecinfo, libinput, libjpeg, libxkbcommon, wayland +, wayland-protocols, wf-config, wlroots +}: + +stdenv.mkDerivation rec { + pname = "wayfire"; + version = "0.6.0"; + + src = fetchurl { + url = "https://github.com/WayfireWM/wayfire/releases/download/${version}/wayfire-${version}.tar.xz"; + sha256 = "0wc5szslgf8d4r4dlbfgc5v49j2ziaa8fycmknq4p0vl67mh7acq"; + }; + + nativeBuildInputs = [ meson ninja pkg-config wayland ]; + buildInputs = [ + cairo libdrm libexecinfo libinput libjpeg libxkbcommon wayland + wayland-protocols wf-config wlroots + ]; + + mesonFlags = [ "--sysconfdir" "/etc" ]; + + meta = with lib; { + homepage = "https://wayfire.org/"; + description = "3D wayland compositor"; + license = licenses.mit; + maintainers = with maintainers; [ qyliss wucke13 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/window-managers/wayfire/plugins.nix b/pkgs/applications/window-managers/wayfire/plugins.nix new file mode 100644 index 00000000000..830a918fcb7 --- /dev/null +++ b/pkgs/applications/window-managers/wayfire/plugins.nix @@ -0,0 +1,12 @@ +{ newScope, wayfire }: + +let + self = with self; { + inherit wayfire; + + callPackage = newScope self; + + wf-shell = callPackage ./wf-shell.nix { }; + }; +in +self diff --git a/pkgs/applications/window-managers/wayfire/wcm.nix b/pkgs/applications/window-managers/wayfire/wcm.nix new file mode 100644 index 00000000000..7c4b546c68e --- /dev/null +++ b/pkgs/applications/window-managers/wayfire/wcm.nix @@ -0,0 +1,29 @@ +{ stdenv, lib, fetchFromGitHub, meson, ninja, pkg-config, wayland, wrapGAppsHook +, gnome3, libevdev, libxml2, wayfire, wayland-protocols, wf-config, wf-shell +}: + +stdenv.mkDerivation rec { + pname = "wcm"; + version = "0.6.0"; + + src = fetchFromGitHub { + owner = "WayfireWM"; + repo = "wcm"; + rev = "v${version}"; + sha256 = "1b22gymqfn0c49nf39676q5bj25rxab874iayiq31cmn14r30dyg"; + }; + + nativeBuildInputs = [ meson ninja pkg-config wayland wrapGAppsHook ]; + buildInputs = [ + gnome3.gtk libevdev libxml2 wayfire wayland + wayland-protocols wf-config wf-shell + ]; + + meta = with lib; { + homepage = "https://github.com/WayfireWM/wcm"; + description = "Wayfire Config Manager"; + license = licenses.mit; + maintainers = with maintainers; [ qyliss wucke13 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/window-managers/wayfire/wf-config.nix b/pkgs/applications/window-managers/wayfire/wf-config.nix new file mode 100644 index 00000000000..00a4404c1d4 --- /dev/null +++ b/pkgs/applications/window-managers/wayfire/wf-config.nix @@ -0,0 +1,23 @@ +{ stdenv, lib, fetchurl, meson, ninja, pkg-config, glm, libevdev, libxml2 }: + +stdenv.mkDerivation rec { + pname = "wf-config"; + version = "0.6.0"; + + src = fetchurl { + url = "https://github.com/WayfireWM/wf-config/releases/download/${version}/wf-config-${version}.tar.xz"; + sha256 = "1a5aqybhbp9dp4jygrm3gbkdap5qbd52y6ihfr4rm1cj37sckcn0"; + }; + + nativeBuildInputs = [ meson ninja pkg-config ]; + buildInputs = [ libevdev libxml2 ]; + propagatedBuildInputs = [ glm ]; + + meta = with lib; { + homepage = "https://github.com/WayfireWM/wf-config"; + description = "Library for managing configuration files, written for Wayfire"; + license = licenses.mit; + maintainers = with maintainers; [ qyliss wucke13 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/window-managers/wayfire/wf-shell.nix b/pkgs/applications/window-managers/wayfire/wf-shell.nix new file mode 100644 index 00000000000..6e5f189275b --- /dev/null +++ b/pkgs/applications/window-managers/wayfire/wf-shell.nix @@ -0,0 +1,30 @@ +{ stdenv, lib, fetchurl, meson, ninja, pkg-config, wayland, git +, alsaLib, gnome3, gtk-layer-shell, pulseaudio, wayfire, wf-config +}: + +stdenv.mkDerivation rec { + pname = "wf-shell"; + version = "0.6.1"; + + # > Note to packagers: do not use the autogenerated "Source code" + # > archives from GitHub, but the wf-shell-0.4.0.tar.xz file. + src = fetchurl { + url = "https://github.com/WayfireWM/wf-shell/releases/download/v${version}/wf-shell-${version}.tar.xz"; + sha256 = "0jl8gj185k2ff754lcj5b5nldhkvrhmlaj8lsik4kx78vlb5m3ns"; + }; + + nativeBuildInputs = [ meson ninja pkg-config wayland ]; + buildInputs = [ + alsaLib gnome3.gtkmm gtk-layer-shell pulseaudio wayfire wf-config + ]; + + mesonFlags = [ "--sysconfdir" "/etc" ]; + + meta = with lib; { + homepage = "https://github.com/WayfireWM/wf-shell"; + description = "GTK3-based panel for Wayfire"; + license = licenses.mit; + maintainers = with maintainers; [ qyliss wucke13 ]; + platforms = platforms.unix; + }; +} diff --git a/pkgs/applications/window-managers/wayfire/wrapper.nix b/pkgs/applications/window-managers/wayfire/wrapper.nix new file mode 100644 index 00000000000..62292898547 --- /dev/null +++ b/pkgs/applications/window-managers/wayfire/wrapper.nix @@ -0,0 +1,39 @@ +{ runCommandNoCC, lib, makeWrapper, wayfirePlugins }: + +let + inherit (lib) escapeShellArg makeBinPath; + + xmlPath = plugin: "${plugin}/share/wayfire/metadata/wf-shell"; + + makePluginPath = lib.makeLibraryPath; + makePluginXMLPath = lib.concatMapStringsSep ":" xmlPath; +in + +application: + +choosePlugins: + +let + plugins = choosePlugins wayfirePlugins; +in + +runCommandNoCC "${application.name}-wrapped" { + nativeBuildInputs = [ makeWrapper ]; + + passthru = application.passthru // { + unwrapped = application; + }; + + inherit (application) meta; +} '' + mkdir -p $out/bin + for bin in ${application}/bin/* + do + makeWrapper "$bin" $out/bin/''${bin##*/} \ + --suffix PATH : ${escapeShellArg (makeBinPath plugins)} \ + --suffix WAYFIRE_PLUGIN_PATH : ${escapeShellArg (makePluginPath plugins)} \ + --suffix WAYFIRE_PLUGIN_XML_PATH : ${escapeShellArg (makePluginXMLPath plugins)} + done + find ${application} -mindepth 1 -maxdepth 1 -not -name bin \ + -exec ln -s '{}' $out ';' +'' |