diff options
Diffstat (limited to 'pkgs/applications')
13 files changed, 320 insertions, 108 deletions
diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix index b7f6bb3ee37..65ccf48e90b 100644 --- a/pkgs/applications/audio/reaper/default.nix +++ b/pkgs/applications/audio/reaper/default.nix @@ -17,13 +17,13 @@ stdenv.mkDerivation rec { pname = "reaper"; - version = "6.43"; + version = "6.46"; src = fetchurl { url = "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_${stdenv.hostPlatform.qemuArch}.tar.xz"; hash = { - x86_64-linux = "sha256-VQ91px9YZWbrw31fFQxS+H/6fsjkLDrYU6FtI8eSq6E="; - aarch64-linux = "sha256-x6z5+H7ASWiuNL0maNGK05VmJptHdFGRiFf6DgwlZDw="; + x86_64-linux = "sha256-cHjiO2hRK8gUaq2VfuE9GOtRJ0JyfH2rhdIbK+RxoEM="; + aarch64-linux = "sha256-j+05SdyDWzI1fekwwQ2RAGontEvppkUWPYfZEtOVXYg="; }.${stdenv.hostPlatform.system}; }; diff --git a/pkgs/applications/editors/poke/default.nix b/pkgs/applications/editors/poke/default.nix index cdfacaf92ed..31c43fb19a3 100644 --- a/pkgs/applications/editors/poke/default.nix +++ b/pkgs/applications/editors/poke/default.nix @@ -13,17 +13,20 @@ , nbdSupport ? !stdenv.isDarwin, libnbd , textStylingSupport ? true , dejagnu + +# update script only +, writeScript }: let isCross = stdenv.hostPlatform != stdenv.buildPlatform; in stdenv.mkDerivation rec { pname = "poke"; - version = "1.4"; + version = "2.0"; src = fetchurl { url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz"; - sha256 = "sha256-zgVN8pVgySEjATJwPuRJ/hMLbiWrA6psx5a7QBUGqiQ="; + sha256 = "sha256-W4Ir8+ESyftcDJqyKjCkWl1eTRbj90NgUrtyCqJrmlg="; }; outputs = [ "out" "dev" "info" "lib" "man" ]; @@ -65,6 +68,20 @@ in stdenv.mkDerivation rec { moveToOutput share/emacs "$out" ''; + passthru = { + updateScript = writeScript "update-poke" '' + #!/usr/bin/env nix-shell + #!nix-shell -i bash -p curl pcre common-updater-scripts + + set -eu -o pipefail + + # Expect the text in format of '<a href="...">poke 2.0</a>' + new_version="$(curl -s https://www.jemarch.net/poke | + pcregrep -o1 '>poke ([0-9.]+)</a>')" + update-source-version ${pname} "$new_version" + ''; + }; + meta = with lib; { description = "Interactive, extensible editor for binary data"; homepage = "http://www.jemarch.net/poke"; diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix index 2c3ddbf80b8..b0e26a8c7f1 100644 --- a/pkgs/applications/editors/tiled/default.nix +++ b/pkgs/applications/editors/tiled/default.nix @@ -1,5 +1,5 @@ { lib, mkDerivation, fetchFromGitHub, pkg-config, qmake -, python2, qtbase, qttools }: +, python3, qtbase, qttools }: mkDerivation rec { pname = "tiled"; @@ -13,7 +13,7 @@ mkDerivation rec { }; nativeBuildInputs = [ pkg-config qmake ]; - buildInputs = [ python2 qtbase qttools ]; + buildInputs = [ python3 qtbase qttools ]; meta = with lib; { description = "Free, easy to use and flexible tile map editor"; diff --git a/pkgs/applications/graphics/drawio/default.nix b/pkgs/applications/graphics/drawio/default.nix index 54efd0bf136..57439313bf2 100644 --- a/pkgs/applications/graphics/drawio/default.nix +++ b/pkgs/applications/graphics/drawio/default.nix @@ -11,11 +11,11 @@ stdenv.mkDerivation rec { pname = "drawio"; - version = "16.4.0"; + version = "16.5.1"; src = fetchurl { url = "https://github.com/jgraph/drawio-desktop/releases/download/v${version}/drawio-x86_64-${version}.rpm"; - sha256 = "624f776478b6960adb1be565077f79aed72c95de5e995fc1216b78978c9c6857"; + sha256 = "a8ebf2560820d2d05677b9b16fc863f555dde8235b3e34acd7916eee3544eaa9"; }; nativeBuildInputs = [ diff --git a/pkgs/applications/misc/openrgb/default.nix b/pkgs/applications/misc/openrgb/default.nix index 284339b13ee..6de5736e9ac 100644 --- a/pkgs/applications/misc/openrgb/default.nix +++ b/pkgs/applications/misc/openrgb/default.nix @@ -26,6 +26,9 @@ mkDerivation rec { mkdir -p $out/etc/udev/rules.d cp 60-openrgb.rules $out/etc/udev/rules.d + install -Dm444 -t "$out/share/applications" qt/OpenRGB.desktop + install -Dm444 -t "$out/share/icons/hicolor/128x128/apps" qt/OpenRGB.png + runHook postInstall ''; diff --git a/pkgs/applications/networking/breitbandmessung/default.nix b/pkgs/applications/networking/breitbandmessung/default.nix new file mode 100644 index 00000000000..31f33be3867 --- /dev/null +++ b/pkgs/applications/networking/breitbandmessung/default.nix @@ -0,0 +1,153 @@ +{ lib +, stdenv +, alsa-lib +, at-spi2-atk +, at-spi2-core +, atk +, autoPatchelfHook +, cairo +, cups +, dbus +, dpkg +, expat +, fetchurl +, gdk-pixbuf +, glib +, gtk3 +, libdrm +, libxkbcommon +, makeWrapper +, mesa +, nixosTests +, nspr +, nss +, pango +, pciutils +, systemd +, undmg +, writeShellScriptBin +, xorg +}: + +let + inherit (stdenv.hostPlatform) system; + + version = "3.1.0"; + + # At first start, the program checks for supported operating systems by calling `lsb_release -a` + # and only runs when it finds Debian/Ubuntu. So we present us as Debian an make it happy. + fake-lsb-release = writeShellScriptBin "lsb_release" '' + echo "Distributor ID: Debian" + echo "Description: Debian GNU/Linux 10 (buster)" + echo "Release: 10" + echo "Codename: buster" + ''; + + binPath = lib.makeBinPath [ + fake-lsb-release + ]; + + systemArgs = rec { + x86_64-linux = rec { + src = fetchurl { + url = "https://download.breitbandmessung.de/bbm/Breitbandmessung-${version}-linux.deb"; + sha256 = "sha256-jSP+H9ej9Wd+swBZSy9uMi2ExSTZ191FGZhqaocTl7w="; + }; + + dontUnpack = true; + + nativeBuildInputs = [ + autoPatchelfHook + dpkg + makeWrapper + ]; + + buildInputs = runtimeDependencies; + + runtimeDependencies = [ + alsa-lib + at-spi2-atk + at-spi2-core + atk + cairo + cups + dbus + expat + gdk-pixbuf + glib + gtk3 + libdrm + libxkbcommon + mesa + nspr + nss + pango + pciutils + systemd + xorg.libX11 + xorg.libXcomposite + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXrandr + xorg.libxcb + xorg.libxshmfence + ]; + + installPhase = '' + dpkg-deb -x $src $out + mkdir -p $out/bin + + chmod -R g-w $out + + addAutoPatchelfSearchPath --no-recurse $out/opt/Breitbandmessung + autoPatchelfFile $out/opt/Breitbandmessung/breitbandmessung + + makeWrapper $out/opt/Breitbandmessung/breitbandmessung $out/bin/breitbandmessung \ + --prefix PATH : ${binPath} + + mv $out/usr/share $out/share + rmdir $out/usr + + # Fix the desktop link + substituteInPlace $out/share/applications/breitbandmessung.desktop \ + --replace /opt/Breitbandmessung $out/bin + ''; + + dontAutoPatchelf = true; + dontPatchELF = true; + }; + + x86_64-darwin = { + src = fetchurl { + url = "https://download.breitbandmessung.de/bbm/Breitbandmessung-${version}-mac.dmg"; + sha256 = "sha256-2c8mDKJuHDSw7p52EKnJO5vr2kNTLU6r9pmGPANjE20="; + }; + + nativeBuildInputs = [ undmg ]; + + installPhase = '' + runHook preInstall + mkdir -p $out/Applications/Breitbandmessung.app + cp -R . $out/Applications/Breitbandmessung.app + runHook postInstall + ''; + }; + + aarch64-darwin = x86_64-darwin; + }.${system} or { src = throw "Unsupported system: ${system}"; }; +in +stdenv.mkDerivation ({ + pname = "breitbandmessung"; + inherit version; + + passthru.tests = { inherit (nixosTests) breitbandmessung; }; + + meta = with lib; { + description = "Broadband internet speed test app from the german Bundesnetzagentur"; + homepage = "https://www.breitbandmessung.de"; + license = licenses.unfree; + maintainers = with maintainers; [ b4dm4n ]; + platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ]; + }; +} // systemArgs) diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix index 74133a9d47e..5640b993013 100644 --- a/pkgs/applications/networking/browsers/chromium/common.nix +++ b/pkgs/applications/networking/browsers/chromium/common.nix @@ -171,13 +171,6 @@ let sha256 = "sha256-lp4kxPNAkafdE9NfD3ittTCpomRpX9Hqhtt9GFf4Ntw="; }) ./patches/m97-ozone-wayland-fix-surface_augmenter.patch - ] ++ lib.optionals (versionRange "98" "99") [ - (githubPatch { - # [linux/wayland] Fixed terminate caused by binding to wrong version. - commit = "dd4c3ddadbb9869f59cee201a38e9ca3b9154f4d"; - sha256 = "sha256-FH7lBQTruMzkBT2XQ+kgADmJA0AxJfaV/gvtoqfQ4a4="; - }) - ] ++ lib.optionals (versionRange "97" "99") [ (githubPatch { # [linux/wayland] Fixed terminate caused by binding to wrong version. (fixup) commit = "a84b79daa8897b822336b8f348ef4daaae07af37"; diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json index 981861d6a2f..1ea90bec07f 100644 --- a/pkgs/applications/networking/browsers/chromium/upstream-info.json +++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json @@ -19,9 +19,9 @@ } }, "beta": { - "version": "98.0.4758.66", - "sha256": "06hdd2cy6mdiiwbrn2jawmcidxbf46z9wyklkm3mmzbrj1xrh0gd", - "sha256bin64": "0r1lmgvvxb1h6p20gzp8qwdfs4czvqyg6bgp4wb2aax1n0448rbr", + "version": "98.0.4758.74", + "sha256": "01v9bfq3905zqhyp78zq69ipz2b5ldsrm8yjr9qb6434zrhlcvyb", + "sha256bin64": "0p85zanpmlkxc34zhx2rybbwriwqbjmg27rrjcf76gvfljlj3g51", "deps": { "gn": { "version": "2021-12-07", diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix index a5e92bedef6..00175a19aec 100644 --- a/pkgs/applications/networking/cluster/terraform/default.nix +++ b/pkgs/applications/networking/cluster/terraform/default.nix @@ -1,6 +1,5 @@ { stdenv , lib -, buildEnv , buildGoModule , fetchFromGitHub , makeWrapper @@ -102,16 +101,35 @@ let terraform.overrideAttrs (orig: { passthru = orig.passthru // passthru; }) else - lib.appendToName "with-plugins" (buildEnv { + lib.appendToName "with-plugins" (stdenv.mkDerivation { inherit (terraform) name meta; - paths = actualPlugins; nativeBuildInputs = [ makeWrapper ]; - postBuild = '' - mkdir -p $out/bin + + buildCommand = '' + # Create wrappers for terraform plugins because Terraform only + # walks inside of a tree of files. + for providerDir in ${toString actualPlugins} + do + for file in $(find $providerDir/libexec/terraform-providers -type f) + do + relFile=''${file#$providerDir/} + mkdir -p $out/$(dirname $relFile) + cat <<WRAPPER > $out/$relFile + #!${runtimeShell} + exec "$file" "$@" + WRAPPER + chmod +x $out/$relFile + done + done + + # Create a wrapper for terraform to point it to the plugins dir. + mkdir -p $out/bin/ makeWrapper "${terraform}/bin/terraform" "$out/bin/terraform" \ --set NIX_TERRAFORM_PLUGIN_DIR $out/libexec/terraform-providers \ --prefix PATH : "${lib.makeBinPath wrapperInputs}" ''; + + inherit passthru; }); in withPlugins (_: [ ]); diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix index c9cc9f901a3..e373c443ea5 100644 --- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix +++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix @@ -10,12 +10,12 @@ in rec { thunderbird = common rec { pname = "thunderbird"; - version = "91.5.0"; + version = "91.5.1"; application = "comm/mail"; binaryName = pname; src = fetchurl { url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz"; - sha512 = "e1cafbd99e67e8fef346e936890a22aeadded4aa8be604607535ae933251bc1b2a3b56c2b62045b3d37ecb09999adb746157df188d1a32dfe75685f3af959b7d"; + sha512 = "5939e09b143e440efa906d95cda06826bd3a73b2edde5eed86229b8a0e4d1434519059f37d319d26978d7eea9b3906c5e1c1543a2bc2465625d5ab5438855717"; }; patches = [ # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`. diff --git a/pkgs/applications/office/impressive/default.nix b/pkgs/applications/office/impressive/default.nix deleted file mode 100644 index f46d893d894..00000000000 --- a/pkgs/applications/office/impressive/default.nix +++ /dev/null @@ -1,70 +0,0 @@ -{ fetchurl, stdenv, python2, makeWrapper, lib -, SDL, ghostscript, pdftk, dejavu_fonts }: - -let - version = "0.12.1"; - pythonEnv = python2.withPackages (ps: with ps; [pyopengl pygame pillow]); -in stdenv.mkDerivation { - # This project was formerly known as KeyJNote. - # See http://keyj.emphy.de/apple-lawsuit/ for details. - - pname = "impressive"; - inherit version; - - src = fetchurl { - url = "mirror://sourceforge/impressive/Impressive-${version}.tar.gz"; - sha256 = "1r7ihv41awnlnlry1kymb8fka053wdhzibfwcarn78rr3vs338vl"; - }; - - nativeBuildInputs = [ makeWrapper ]; - buildInputs = [ pythonEnv ]; - - configurePhase = '' - # Let's fail at build time if the library we're substituting in doesn't - # exist/isn't marked as executable - test -x ${SDL}/lib/libSDL.so - sed -i "impressive.py" \ - -e '/^__website__/a SDL_LIBRARY = "${SDL}/lib/libSDL.so"' \ - -e 's/sdl = CDLL.*/sdl = CDLL(SDL_LIBRARY)/' \ - -e 's^FontPath =.*/usr/.*$^FontPath = ["${dejavu_fonts}/share/fonts", ""]^' - ''; - - installPhase = '' - mkdir -p "$out/bin" "$out/share/doc/impressive" "$out/share/man/man1" - mv impressive.py "$out/bin/impressive" - mv impressive.1 "$out/share/man/man1" - mv changelog.txt impressive.html license.txt "$out/share/doc/impressive" - - wrapProgram "$out/bin/impressive" \ - --prefix PATH ":" "${ghostscript}/bin:${pdftk}/bin" - ''; - - meta = { - description = "Impressive, an effect-rich presentation tool for PDFs"; - - longDescription = '' - Impressive is a program that displays presentation slides. - But unlike OpenOffice.org Impress or other similar - applications, it does so with style. Smooth alpha-blended - slide transitions are provided for the sake of eye candy, but - in addition to this, Impressive offers some unique tools that - are really useful for presentations. Read below if you want - to know more about these features. - - Creating presentations for Impressive is very simple: You just - need to export a PDF file from your presentation software. - This means that you can create slides in the application of - your choice and use Impressive for displaying them. If your - application does not support PDF output, you can alternatively - use a set of pre-rendered image files – or you use Impressive - to make a slideshow with your favorite photos. - ''; - - homepage = "http://impressive.sourceforge.net/"; - - license = lib.licenses.gpl2; - - maintainers = with lib.maintainers; [ lheckemann ]; - platforms = lib.platforms.mesaPlatforms; - }; - } diff --git a/pkgs/applications/science/electronics/verilator/default.nix b/pkgs/applications/science/electronics/verilator/default.nix index 159e15cf247..5ee89dfa8c4 100644 --- a/pkgs/applications/science/electronics/verilator/default.nix +++ b/pkgs/applications/science/electronics/verilator/default.nix @@ -1,25 +1,31 @@ -{ lib, stdenv, fetchurl -, perl, flex, bison, python3 +{ lib, stdenv, fetchFromGitHub +, perl, flex, bison, python3, autoconf }: stdenv.mkDerivation rec { pname = "verilator"; - version = "4.210"; + version = "4.218"; - src = fetchurl { - url = "https://www.veripool.org/ftp/${pname}-${version}.tgz"; - sha256 = "sha256-KoIfJeV2aITnwiB2eQgQo4ZyXfMe6erFiGKXezR+IBg="; + src = fetchFromGitHub { + owner = pname; + repo = pname; + rev = "v${version}"; + sha256 = "sha256-FukC60z7Y3bb3I/dgzqCh6kFP6DDBOGi0M8IIZ50P3g="; }; enableParallelBuilding = true; buildInputs = [ perl ]; - nativeBuildInputs = [ flex bison python3 ]; + nativeBuildInputs = [ flex bison python3 autoconf ]; # these tests need some interpreter paths patched early on... # see https://github.com/NixOS/nix/issues/1205 doCheck = false; checkTarget = "test"; + preConfigure = '' + autoconf + ''; + postPatch = '' patchShebangs \ src/flexfix \ diff --git a/pkgs/applications/version-management/yadm/default.nix b/pkgs/applications/version-management/yadm/default.nix index e0e26b804f5..ffd5fdaab7c 100644 --- a/pkgs/applications/version-management/yadm/default.nix +++ b/pkgs/applications/version-management/yadm/default.nix @@ -1,18 +1,43 @@ -{ lib, stdenv, fetchFromGitHub, git, gnupg, installShellFiles }: +{ lib +, stdenv +, resholvePackage +, fetchFromGitHub +, git +, bash +, openssl +, gawk +/* +TODO: yadm can use git-crypt and transcrypt +but it does so in a way that resholve 0.6.0 +can't yet do anything smart about. It looks +like these are for interactive use, so the +main impact should just be that users still +need both of these packages in their profile +to support their use in yadm. +*/ +# , git-crypt +# , transcrypt +, j2cli +, esh +, gnupg +, coreutils +, gnutar +, installShellFiles +, runCommand +, yadm +}: -stdenv.mkDerivation rec { +resholvePackage rec { pname = "yadm"; version = "3.1.1"; - buildInputs = [ git gnupg ]; - nativeBuildInputs = [ installShellFiles ]; src = fetchFromGitHub { owner = "TheLocehiliosan"; repo = "yadm"; rev = version; - sha256 = "sha256-bgiRBlqEjDq0gQ0+aUWpFDeE2piFX3Gy2gEAXgChAOk="; + hash = "sha256-bgiRBlqEjDq0gQ0+aUWpFDeE2piFX3Gy2gEAXgChAOk="; }; dontConfigure = true; @@ -31,6 +56,72 @@ stdenv.mkDerivation rec { --bash completion/bash/yadm ''; + solutions = { + yadm = { + scripts = [ "bin/yadm" ]; + interpreter = "${bash}/bin/sh"; + inputs = [ + git + gnupg + openssl + gawk + # see head comment + # git-crypt + # transcrypt + j2cli + esh + bash + coreutils + gnutar + ]; + fake = { + external = if stdenv.isCygwin then [ ] else [ "cygpath" ]; + }; + fix = { + "$GPG_PROGRAM" = [ "gpg" ]; + "$OPENSSL_PROGRAM" = [ "openssl" ]; + "$GIT_PROGRAM" = [ "git" ]; + "$AWK_PROGRAM" = [ "awk" ]; + # see head comment + # "$GIT_CRYPT_PROGRAM" = [ "git-crypt" ]; + # "$TRANSCRYPT_PROGRAM" = [ "transcrypt" ]; + "$J2CLI_PROGRAM" = [ "j2" ]; + "$ESH_PROGRAM" = [ "esh" ]; + # not in nixpkgs (yet) + # "$ENVTPL_PROGRAM" = [ "envtpl" ]; + # "$LSB_RELEASE_PROGRAM" = [ "lsb_release" ]; + }; + keep = { + "$YADM_COMMAND" = true; # internal cmds + "$template_cmd" = true; # dynamic, template-engine + "$SHELL" = true; # probably user env? unsure + "$hook_command" = true; # ~git hooks? + "exec" = [ "$YADM_BOOTSTRAP" ]; # yadm bootstrap script + + # not in nixpkgs + "$ENVTPL_PROGRAM" = true; + "$LSB_RELEASE_PROGRAM" = true; + }; + /* + TODO: these should be dropped as fast as they can be dealt + with properly in binlore and/or resholve. + */ + execer = [ + "cannot:${j2cli}/bin/j2" + "cannot:${esh}/bin/esh" + "cannot:${git}/bin/git" + "cannot:${gnupg}/bin/gpg" + ]; + }; + }; + + passthru.tests = { + minimal = runCommand "${pname}-test" {} '' + export HOME=$out + ${yadm}/bin/yadm init + ''; + }; + meta = { homepage = "https://github.com/TheLocehiliosan/yadm"; description = "Yet Another Dotfiles Manager"; @@ -40,6 +131,7 @@ stdenv.mkDerivation rec { * Provides a way to use alternate files on a specific OS or host. * Supplies a method of encrypting confidential data so it can safely be stored in your repository. ''; + changelog = "https://github.com/TheLocehiliosan/yadm/blob/${version}/CHANGES"; license = lib.licenses.gpl3Plus; maintainers = with lib.maintainers; [ abathur ]; platforms = lib.platforms.unix; |