diff --git a/.github/workflows/manual-nixos.yml b/.github/workflows/manual-nixos.yml index a75e84029301..fa1f8fc6911e 100644 --- a/.github/workflows/manual-nixos.yml +++ b/.github/workflows/manual-nixos.yml @@ -15,11 +15,11 @@ jobs: with: # pull_request_target checks out the base branch by default ref: refs/pull/${{ github.event.pull_request.number }}/merge - - uses: cachix/install-nix-action@v12 + - uses: cachix/install-nix-action@v13 with: # explicitly enable sandbox extra_nix_config: sandbox = true - - uses: cachix/cachix-action@v8 + - uses: cachix/cachix-action@v9 with: # This cache is for the nixos/nixpkgs manual builds and should not be trusted or used elsewhere. name: nixpkgs-ci diff --git a/.github/workflows/manual-nixpkgs.yml b/.github/workflows/manual-nixpkgs.yml index 7596719d9b50..192a4c6868a4 100644 --- a/.github/workflows/manual-nixpkgs.yml +++ b/.github/workflows/manual-nixpkgs.yml @@ -15,11 +15,11 @@ jobs: with: # pull_request_target checks out the base branch by default ref: refs/pull/${{ github.event.pull_request.number }}/merge - - uses: cachix/install-nix-action@v12 + - uses: cachix/install-nix-action@v13 with: # explicitly enable sandbox extra_nix_config: sandbox = true - - uses: cachix/cachix-action@v8 + - uses: cachix/cachix-action@v9 with: # This cache is for the nixos/nixpkgs manual builds and should not be trusted or used elsewhere. name: nixpkgs-ci diff --git a/pkgs/applications/networking/browsers/angelfish/default.nix b/pkgs/applications/networking/browsers/angelfish/default.nix new file mode 100644 index 000000000000..831fabf2deb1 --- /dev/null +++ b/pkgs/applications/networking/browsers/angelfish/default.nix @@ -0,0 +1,71 @@ +{ lib +, mkDerivation +, fetchFromGitLab +, cmake +, corrosion +, extra-cmake-modules +, kconfig +, kcoreaddons +, kdbusaddons +, ki18n +, kirigami2 +, knotifications +, kpurpose +, kwindowsystem +, qtquickcontrols2 +, qtwebengine +, rustPlatform +}: + +mkDerivation rec { + pname = "angelfish"; + version = "1.8.0"; + + src = fetchFromGitLab { + domain = "invent.kde.org"; + owner = "plasma-mobile"; + repo = "angelfish"; + rev = "v${version}"; + sha256 = "0pj2kw7lmxh7diwdcmk24qxqslavhvf23r2i6h549gbllbzk219f"; + }; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + name = "${pname}-${version}"; + sha256 = "0cyrmhlg0kjr14842ckbjdljc2zc28al0y9i8w5l0qzr18krgc0m"; + }; + + nativeBuildInputs = [ + cmake + corrosion + extra-cmake-modules + ] ++ (with rustPlatform; [ + cargoSetupHook + rust.cargo + rust.rustc + ]); + + cmakeFlags = [ + "-DRust_CARGO=${rustPlatform.rust.cargo}/bin/cargo" + ]; + + buildInputs = [ + kconfig + kcoreaddons + kdbusaddons + ki18n + kirigami2 + knotifications + kpurpose + kwindowsystem + qtquickcontrols2 + qtwebengine + ]; + + meta = with lib; { + description = "Web browser for Plasma Mobile"; + homepage = "https://apps.kde.org/en/mobile.angelfish"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/development/python-modules/zopfli/default.nix b/pkgs/development/python-modules/zopfli/default.nix index a80b3155b8ce..9d6757793511 100644 --- a/pkgs/development/python-modules/zopfli/default.nix +++ b/pkgs/development/python-modules/zopfli/default.nix @@ -2,14 +2,15 @@ buildPythonPackage rec { pname = "zopfli"; - version = "0.1.7"; + version = "0.1.8"; src = fetchPypi { inherit pname version; - sha256 = "512892714f0e3dcc9a77222cb509ed519f41ce2b92467e47a4b406a23b48561a"; + sha256 = "8b977dc07e3797907ab59e08096583bcd0b7e6c739849fbbeec09263f6356623"; extension = "zip"; }; + # doesn't work with pytestCheckHook checkInputs = [ pytest ]; meta = with lib; { diff --git a/pkgs/development/tools/build-managers/corrosion/cmake-install-full-dir.patch b/pkgs/development/tools/build-managers/corrosion/cmake-install-full-dir.patch new file mode 100644 index 000000000000..da5e923e0fa5 --- /dev/null +++ b/pkgs/development/tools/build-managers/corrosion/cmake-install-full-dir.patch @@ -0,0 +1,18 @@ +diff --git a/cmake/CorrosionConfig.cmake.in b/cmake/CorrosionConfig.cmake.in +index c042a00..491f53c 100644 +--- a/cmake/CorrosionConfig.cmake.in ++++ b/cmake/CorrosionConfig.cmake.in +@@ -4,11 +4,11 @@ if (Corrosion_FOUND) + return() + endif() + +-list(APPEND CMAKE_MODULE_PATH "${PACKAGE_PREFIX_DIR}/@CORROSION_INSTALL_PREFIX@@CMAKE_INSTALL_DATADIR@/cmake") ++list(APPEND CMAKE_MODULE_PATH "@CMAKE_INSTALL_FULL_DATADIR@/cmake") + + add_executable(Corrosion::Generator IMPORTED GLOBAL) + set_property( + TARGET Corrosion::Generator +- PROPERTY IMPORTED_LOCATION "${PACKAGE_PREFIX_DIR}/@CORROSION_INSTALL_PREFIX@@CMAKE_INSTALL_LIBEXECDIR@/corrosion-generator") ++ PROPERTY IMPORTED_LOCATION "@CMAKE_INSTALL_FULL_LIBEXECDIR@/corrosion-generator") + + include(Corrosion) diff --git a/pkgs/development/tools/build-managers/corrosion/default.nix b/pkgs/development/tools/build-managers/corrosion/default.nix new file mode 100644 index 000000000000..2285579b0bbd --- /dev/null +++ b/pkgs/development/tools/build-managers/corrosion/default.nix @@ -0,0 +1,54 @@ +{ lib +, stdenv +, fetchFromGitHub +, cmake +, rustPlatform +}: + +stdenv.mkDerivation rec { + pname = "corrosion"; + version = "unstable-2021-02-23"; + + src = fetchFromGitHub { + owner = "AndrewGaspar"; + repo = "corrosion"; + rev = "e6c35c7e55a59c8223577b5abc4d253b4a82898b"; + sha256 = "0vq6g3ggnqiln0q8gsr8rr5rrdgpfcgfly79jwcygxrviw37m44d"; + }; + + patches = [ + # https://github.com/AndrewGaspar/corrosion/issues/84 + ./cmake-install-full-dir.patch + ]; + + cargoRoot = "generator"; + + cargoDeps = rustPlatform.fetchCargoTarball { + inherit src; + sourceRoot = "${src.name}/${cargoRoot}"; + name = "${pname}-${version}"; + sha256 = "1fsq8zzzq28fj2fh92wmg8kmdj4y10mcpdmlgxsygy5lbh4xs13f"; + }; + + nativeBuildInputs = [ + cmake + ] ++ (with rustPlatform; [ + cargoSetupHook + rust.cargo + rust.rustc + ]); + + cmakeFlags = [ + "-DRust_CARGO=${rustPlatform.rust.cargo}/bin/cargo" + + # tests cannot find cargo because Rust_CARGO is unset before tests + "-DCORROSION_BUILD_TESTS=OFF" + ]; + + meta = with lib; { + description = "Tool for integrating Rust into an existing CMake project"; + homepage = "https://github.com/AndrewGaspar/corrosion"; + license = licenses.mit; + maintainers = with maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix index d8153fcdffa1..008205f5b151 100644 --- a/pkgs/os-specific/linux/kernel/common-config.nix +++ b/pkgs/os-specific/linux/kernel/common-config.nix @@ -683,7 +683,14 @@ let DEBUG_MEMORY_INIT = option yes; }); - misc = { + misc = let + # Use zstd for kernel compression if 64-bit and newer than 5.9, otherwise xz. + # i686 issues: https://github.com/NixOS/nixpkgs/pull/117961#issuecomment-812106375 + useZstd = stdenv.buildPlatform.is64bit && versionAtLeast version "5.9"; + in { + KERNEL_XZ = mkIf (!useZstd) yes; + KERNEL_ZSTD = mkIf useZstd yes; + HID_BATTERY_STRENGTH = yes; # enabled by default in x86_64 but not arm64, so we do that here HIDRAW = yes; @@ -699,10 +706,6 @@ let MODULE_COMPRESS = yes; MODULE_COMPRESS_XZ = yes; - # use zstd for kernel compression if newer than 5.9, else xz. - KERNEL_XZ = whenOlder "5.9" yes; - KERNEL_ZSTD = whenAtLeast "5.9" yes; - SYSVIPC = yes; # System-V IPC AIO = yes; # POSIX asynchronous I/O diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a2899a68bc5a..2acf350d14f5 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12405,6 +12405,8 @@ in cookiecutter = with python3Packages; toPythonApplication cookiecutter; + corrosion = callPackage ../development/tools/build-managers/corrosion { }; + corundum = callPackage ../development/tools/corundum { }; confluent-platform = callPackage ../servers/confluent-platform {}; @@ -21715,6 +21717,8 @@ in }); android-studio = androidStudioPackages.stable; + angelfish = libsForQt5.callPackage ../applications/networking/browsers/angelfish { }; + animbar = callPackage ../applications/graphics/animbar { }; antfs-cli = callPackage ../applications/misc/antfs-cli {};