diff --git a/lib/licenses.nix b/lib/licenses.nix index a376a681d58e..a4dc15c1a79c 100644 --- a/lib/licenses.nix +++ b/lib/licenses.nix @@ -148,6 +148,11 @@ in mkLicense lset) ({ fullName = ''BSD 4-clause "Original" or "Old" License''; }; + bsdOriginalShortened = { + spdxId = "BSD-4-Clause-Shortened"; + fullName = "BSD 4 Clause Shortened"; + }; + bsdOriginalUC = { spdxId = "BSD-4-Clause-UC"; fullName = "BSD 4-Clause University of California-Specific"; diff --git a/nixos/doc/manual/configuration/x-windows.chapter.md b/nixos/doc/manual/configuration/x-windows.chapter.md index 2c80b786b267..27d117238807 100644 --- a/nixos/doc/manual/configuration/x-windows.chapter.md +++ b/nixos/doc/manual/configuration/x-windows.chapter.md @@ -120,7 +120,6 @@ to set one. The recommended configuration for modern systems is: ```nix services.xserver.videoDrivers = [ "modesetting" ]; -services.xserver.useGlamor = true; ``` If you experience screen tearing no matter what, this configuration was diff --git a/nixos/doc/manual/from_md/configuration/x-windows.chapter.xml b/nixos/doc/manual/from_md/configuration/x-windows.chapter.xml index 274d0d817bc1..c17e98983b27 100644 --- a/nixos/doc/manual/from_md/configuration/x-windows.chapter.xml +++ b/nixos/doc/manual/from_md/configuration/x-windows.chapter.xml @@ -133,7 +133,6 @@ services.xserver.displayManager.autoLogin.user = "alice"; services.xserver.videoDrivers = [ "modesetting" ]; -services.xserver.useGlamor = true; If you experience screen tearing no matter what, this diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index dc48f3ac030a..026f078daf6d 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -151,8 +151,10 @@ in (mkRemovedOptionModule [ "services" "xserver" "startDbusSession" ] "The user D-Bus session is now always socket activated and this option can safely be removed.") - (mkRemovedOptionModule ["services" "xserver" "useXFS" ] + (mkRemovedOptionModule [ "services" "xserver" "useXFS" ] "Use services.xserver.fontPath instead of useXFS") + (mkRemovedOptionModule [ "services" "xserver" "useGlamor" ] + "Option services.xserver.useGlamor was removed because it is unnecessary. Drivers that uses Glamor will use it automatically.") ]; @@ -555,15 +557,6 @@ in ''; }; - useGlamor = mkOption { - type = types.bool; - default = false; - description = lib.mdDoc '' - Whether to use the Glamor module for 2D acceleration, - if possible. - ''; - }; - enableCtrlAltBackspace = mkOption { type = types.bool; default = false; @@ -794,13 +787,6 @@ in '')} EndSection - ${if cfg.useGlamor then '' - Section "Module" - Load "dri2" - Load "glamoregl" - EndSection - '' else ""} - # For each supported driver, add a "Device" and "Screen" # section. ${flip concatMapStrings cfg.drivers (driver: '' @@ -808,7 +794,6 @@ in Section "Device" Identifier "Device-${driver.name}[0]" Driver "${driver.driverName or driver.name}" - ${if cfg.useGlamor then ''Option "AccelMethod" "glamor"'' else ""} ${indent cfg.deviceSection} ${indent (driver.deviceSection or "")} ${indent xrandrDeviceSection} diff --git a/pkgs/applications/networking/powerdns-admin/default.nix b/pkgs/applications/networking/powerdns-admin/default.nix index 51a51b3fb1c7..cc31f25390a7 100644 --- a/pkgs/applications/networking/powerdns-admin/default.nix +++ b/pkgs/applications/networking/powerdns-admin/default.nix @@ -19,6 +19,7 @@ let src = oldAttrs.src.override { inherit version; hash = "sha256-yKhbKNN3zHc35G4tnytPRO48Dh3qxr9G3e/HGH0weXo="; + sha256 = ""; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix index 7ec831c61ac7..a85d53adb829 100644 --- a/pkgs/build-support/fetchurl/default.nix +++ b/pkgs/build-support/fetchurl/default.nix @@ -117,6 +117,9 @@ let else throw "fetchurl requires either `url` or `urls` to be set"; hash_ = + # Many other combinations don't make sense, but this is the most common one: + if hash != "" && sha256 != "" then throw "multiple hashes passed to fetchurl" else + if hash != "" then { outputHashAlgo = null; outputHash = hash; } else if md5 != "" then throw "fetchurl does not support md5 anymore, please use sha256 or sha512" else if (outputHash != "" && outputHashAlgo != "") then { inherit outputHashAlgo outputHash; } diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix index 69e690011b8a..0ef5dfbc2e57 100644 --- a/pkgs/development/libraries/folly/default.nix +++ b/pkgs/development/libraries/folly/default.nix @@ -59,6 +59,13 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = [ "-DFOLLY_MOBILE=${if follyMobile then "1" else "0"}" "-fpermissive" ]; cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ]; + # folly-config.cmake, will `find_package` these, thus there should be + # a way to ensure abi compatibility. + passthru = { + inherit boost; + fmt = fmt_8; + }; + meta = with lib; { description = "An open-source C++ library developed and used at Facebook"; homepage = "https://github.com/facebook/folly"; diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 6b0e704df52a..a23488798bbc 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -95,8 +95,9 @@ let (self: super: { pytest-aiohttp = super.pytest-aiohttp.overridePythonAttrs (oldAttrs: rec { version = "0.3.0"; - src = oldAttrs.src.override { + src = self.fetchPypi { inherit version; + pname = "pytest-aiohttp"; hash = "sha256-ySmFQzljeXc3WDhwO2L+9jUoWYvAqdRRY566lfSqpE8="; }; propagatedBuildInputs = with python3.pkgs; [ aiohttp pytest ]; @@ -142,7 +143,16 @@ let }) # Pinned due to API changes in 0.1.0 - (mkOverride "poolsense" "0.0.8" "sha256-17MHrYRmqkH+1QLtgq2d6zaRtqvb9ju9dvPt9gB2xCc=") + (self: super: { + poolsense = super.poolsense.overridePythonAttrs (oldAttrs: rec { + version = "0.0.8"; + src = super.fetchPypi { + pname = "poolsense"; + inherit version; + hash = "sha256-17MHrYRmqkH+1QLtgq2d6zaRtqvb9ju9dvPt9gB2xCc="; + }; + }); + }) # Pinned due to API changes >0.3.5.3 (self: super: { @@ -274,16 +284,6 @@ let }) ]; - mkOverride = attrName: version: hash: - self: super: { - ${attrName} = super.${attrName}.overridePythonAttrs (oldAttrs: { - inherit version; - src = oldAttrs.src.override { - inherit version hash; - }; - }); - }; - python = python3.override { # Put packageOverrides at the start so they are applied after defaultOverrides packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) ([ packageOverrides ] ++ defaultOverrides); diff --git a/pkgs/tools/admin/oci-cli/default.nix b/pkgs/tools/admin/oci-cli/default.nix index 16d7a4ce9cb1..c1c6de5e5a75 100644 --- a/pkgs/tools/admin/oci-cli/default.nix +++ b/pkgs/tools/admin/oci-cli/default.nix @@ -13,6 +13,7 @@ let src = oldAttrs.src.override { inherit version; hash = "sha256-0rUlXHxjSbwb0eWeCM0SrLvWPOZJ8liHVXg6qU37axo="; + sha256 = ""; }; }); @@ -21,6 +22,7 @@ let src = oldAttrs.src.override { inherit version; sha256 = "b85d0567b8666149a93172712e68920734333c0ce7e89b78b3e987f71e5ed4f9"; + hash = ""; }; doCheck = false; }); diff --git a/pkgs/tools/audio/tts/default.nix b/pkgs/tools/audio/tts/default.nix index 159d68feac0f..6291c45f839e 100644 --- a/pkgs/tools/audio/tts/default.nix +++ b/pkgs/tools/audio/tts/default.nix @@ -21,7 +21,8 @@ let # TypeError: mel() takes 0 positional arguments but 2 positional arguments (and 3 keyword-only arguments) were given librosa = super.librosa.overridePythonAttrs (oldAttrs: rec { version = "0.8.1"; - src = oldAttrs.src.override { + src = super.fetchPypi { + pname = "librosa"; inherit version; sha256 = "c53d05e768ae4a3e553ae21c2e5015293e5efbfd5c12d497f1104cb519cca6b3"; }; diff --git a/pkgs/tools/networking/ripe-atlas-tools/default.nix b/pkgs/tools/networking/ripe-atlas-tools/default.nix new file mode 100644 index 000000000000..5ca1cd41065d --- /dev/null +++ b/pkgs/tools/networking/ripe-atlas-tools/default.nix @@ -0,0 +1,95 @@ +{ lib +, python3 +, fetchFromGitHub +, installShellFiles +}: + +python3.pkgs.buildPythonApplication rec { + pname = "ripe-atlas-tools"; + version = "3.0.2"; + + src = fetchFromGitHub { + owner = "RIPE-NCC"; + repo = "ripe-atlas-tools"; + rev = "v${version}"; + sha256 = "sha256-5AMqBXxJZOtI0/2NrEjrUfNXWKc7sn6kZX26766LBUM="; + }; + + postPatch = '' + # This mapping triggers network access on docs generation: https://github.com/RIPE-NCC/ripe-atlas-tools/issues/235 + sed -i '/^intersphinx_mapping/d' docs/conf.py + # TODO: Ensure user-agent is picked up during build, remove me when https://github.com/RIPE-NCC/ripe-atlas-tools/pull/236 + echo "include ripe/atlas/tools/user-agent" >> MANIFEST.in + ''; + + nativeBuildInputs = with python3.pkgs; [ + sphinx-rtd-theme + sphinxHook + installShellFiles + ]; + + propagatedBuildInputs = with python3.pkgs; [ + ripe-atlas-cousteau + ripe-atlas-sagan + ujson + ipy + python-dateutil + requests + tzlocal + pyyaml + pyopenssl + ]; + + preBuild = '' + echo "RIPE Atlas Tools [NixOS ${lib.trivial.version}] ${version}" > ripe/atlas/tools/user-agent + ''; + + postInstall = '' + installShellCompletion --cmd ripe-atlas --bash ./ripe-atlas-bash-completion.sh + ''; + + pythonImportsCheck = [ + "ripe.atlas.tools" + ]; + + checkInputs = with python3.pkgs; [ + pytestCheckHook + ]; + + disabledTests = [ + # Network tests: https://github.com/RIPE-NCC/ripe-atlas-tools/issues/234 + "test_arg_from_file" + "test_arg_from_stdin" + # We injected our user-agent so the tests will fail + "test_user_agent_mac" + "test_user_agent_windows" + "test_user_agent_xdg_absent" + "test_user_agent_xdg_present" + ]; + + disabledTestPaths = [ + # Relies on `ripe-atlas` being available in the PATH, installed with autocompletions + "tests/test_bash_completion.py" + # AS lookups are not mocked up: https://github.com/RIPE-NCC/ripe-atlas-tools/blob/master/tests/renderers/test_traceroute_aspath.py#L26 + "tests/renderers/test_traceroute_aspath.py" + # We already build Sphinx so we do not need to test it + "tests/test_docs.py" + ]; + + HOME = "$TMPDIR"; # for cache generation. + + # Necessary because it confuse the tests when it does "from ripe.atlas.sagan import X" + # version.py is used by Sphinx tests. + preCheck = '' + rm -rf ripe + mkdir -p ripe/atlas/tools + echo "__version__ = \"${version}\"" > ripe/atlas/tools/version.py + ''; + + meta = with lib; { + description = "RIPE ATLAS project tools"; + homepage = "https://github.com/RIPE-NCC/ripe-atlas-tools"; + license = licenses.gpl3Only; + maintainers = with maintainers; [ raitobezarius ]; + }; +} diff --git a/pkgs/tools/wayland/mpvpaper/default.nix b/pkgs/tools/wayland/mpvpaper/default.nix new file mode 100644 index 000000000000..dbc4a3cdba07 --- /dev/null +++ b/pkgs/tools/wayland/mpvpaper/default.nix @@ -0,0 +1,65 @@ +{ stdenv +, lib +, meson +, cmake +, ninja +, wlroots +, wayland +, wayland-protocols +, egl-wayland +, glew-egl +, mpv +, pkg-config +, fetchFromGitHub +, makeWrapper +, installShellFiles +}: + +stdenv.mkDerivation rec { + pname = "mpvpaper"; + version = "1.2.1"; + + src = fetchFromGitHub { + owner = "GhostNaN"; + repo = pname; + rev = version; + sha256 = "sha256-1+noph6iXM5OSNMFQyta/ttGyZQ6F7bWDQi8W190G5E="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + makeWrapper + installShellFiles + ]; + + buildInputs = [ + wlroots + wayland + wayland-protocols + egl-wayland + glew-egl + mpv + ]; + + preInstall = '' + mv ../mpvpaper.man ../mpvpaper.1 + ''; + + postInstall = '' + wrapProgram $out/bin/mpvpaper \ + --prefix PATH : ${lib.makeBinPath [ mpv ]} + + installManPage ../mpvpaper.1 + ''; + + meta = with lib; { + description = "A video wallpaper program for wlroots based wayland compositors"; + homepage = "https://github.com/GhostNaN/mpvpaper"; + license = licenses.gpl3Only; + platforms = platforms.linux; + mainProgram = "mpvpaper"; + maintainers = with maintainers; [ atila ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1773b866e59e..fa0dd5ef4959 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4649,6 +4649,8 @@ with pkgs; inherit (darwin.apple_sdk.frameworks) AppKit Security; }; + ripe-atlas-tools = callPackage ../tools/networking/ripe-atlas-tools { }; + roundcube = callPackage ../servers/roundcube { }; roundcubePlugins = dontRecurseIntoAttrs (callPackage ../servers/roundcube/plugins { }); @@ -15473,6 +15475,7 @@ with pkgs; src = oldAttrs.src.override { inherit version; hash = "sha256-XzZuhRFZ2Pcs5o0yuMDt2lbuU3wB6faOyjgr0VEK9l0="; + sha256 = ""; }; meta.changelog = "https://github.com/ansible/ansible/blob/v${version}/changelogs/CHANGELOG-v${lib.versions.majorMinor version}.rst"; })); @@ -29386,6 +29389,8 @@ with pkgs; wrapMpv = callPackage ../applications/video/mpv/wrapper.nix { }; mpv = wrapMpv mpv-unwrapped {}; + mpvpaper = callPackage ../tools/wayland/mpvpaper { }; + mpvScripts = recurseIntoAttrs { autoload = callPackage ../applications/video/mpv/scripts/autoload.nix {}; convert = callPackage ../applications/video/mpv/scripts/convert.nix {}; diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix index a1fad8ad3371..44f1ae9be2e6 100644 --- a/pkgs/top-level/perl-packages.nix +++ b/pkgs/top-level/perl-packages.nix @@ -4619,7 +4619,7 @@ let }; meta = { description = "Perl Blowfish encryption module"; - license = with lib.licenses; [ unfreeRedistributable ]; + license = with lib.licenses; [ bsdOriginalShortened ]; }; }; @@ -4679,7 +4679,7 @@ let }; meta = { description = "Perl DES encryption module"; - license = with lib.licenses; [ unfreeRedistributable ]; + license = with lib.licenses; [ bsdOriginalShortened ]; }; }; @@ -4795,7 +4795,7 @@ let }; meta = { description = "Perl interface to IDEA block cipher"; - license = with lib.licenses; [ unfreeRedistributable ]; + license = with lib.licenses; [ bsdOriginalShortened ]; }; };