diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c6bc661c72b..19108bb5a8f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -38,11 +38,14 @@ Below is a short excerpt of some points in there: The old config generation system used impure shell scripts and could break in specific circumstances (see #1234). * `meta.description` should: + * Be short, just one sentence. * Be capitalized. * Not start with the package name. - * Not have a period at the end. + * More generally, it should not refer to the package name. + * Not end with a period (or any punctuation for that matter). * `meta.license` must be set and fit the upstream license. * If there is no upstream license, `meta.license` should default to `lib.licenses.unfree`. + * If in doubt, try to contact the upstream developers for clarification. * `meta.maintainers` must be set. See the nixpkgs manual for more details on [standard meta-attributes](https://nixos.org/nixpkgs/manual/#sec-standard-meta-attributes). diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index a816e431d96..83993e252d7 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -16074,7 +16074,7 @@ githubId = 17733984; }; wesleyjrz = { - email = "wesleyjr2002@gmail.com"; + email = "dev@wesleyjrz.com"; name = "Wesley V. Santos Jr."; github = "wesleyjrz"; githubId = 60184588; diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix index d7215f93973..940e6c3c0c6 100644 --- a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix +++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix @@ -1,8 +1,26 @@ -{ stdenv, fetchurl, alsa-lib, cairo, dpkg, freetype -, gdk-pixbuf, glib, gtk3, lib, xorg -, libglvnd, libjack2, ffmpeg -, libxkbcommon, xdg-utils, zlib, pipewire, pulseaudio -, wrapGAppsHook, makeWrapper }: +{ stdenv +, fetchurl +, alsa-lib +, cairo +, dpkg +, ffmpeg +, freetype +, gdk-pixbuf +, glib +, gtk3 +, lib +, libglvnd +, libjack2 +, libjpeg +, libxkbcommon +, makeWrapper +, pipewire +, pulseaudio +, wrapGAppsHook +, xdg-utils +, xorg +, zlib +}: stdenv.mkDerivation rec { pname = "bitwig-studio"; @@ -24,7 +42,27 @@ stdenv.mkDerivation rec { dontWrapGApps = true; # we only want $gappsWrapperArgs here buildInputs = with xorg; [ - alsa-lib cairo freetype gdk-pixbuf glib gtk3 libxcb xcbutil xcbutilwm zlib libXtst libxkbcommon pipewire pulseaudio libjack2 libX11 libglvnd libXcursor stdenv.cc.cc.lib + alsa-lib + cairo + freetype + gdk-pixbuf + glib + gtk3 + libglvnd + libjack2 + # libjpeg8 is required for converting jpeg's to colour palettes + libjpeg + libxcb + libXcursor + libX11 + libXtst + libxkbcommon + pipewire + pulseaudio + stdenv.cc.cc.lib + xcbutil + xcbutilwm + zlib ]; installPhase = '' diff --git a/pkgs/applications/audio/ncspot/default.nix b/pkgs/applications/audio/ncspot/default.nix index 2a56b6aa3cc..c15f6b9c14e 100644 --- a/pkgs/applications/audio/ncspot/default.nix +++ b/pkgs/applications/audio/ncspot/default.nix @@ -7,16 +7,16 @@ rustPlatform.buildRustPackage rec { pname = "ncspot"; - version = "0.11.2"; + version = "0.12.0"; src = fetchFromGitHub { owner = "hrkfdn"; repo = "ncspot"; rev = "v${version}"; - sha256 = "sha256-xJzj387exWDvNias50fELvoAxgIoxDHVVRoAD4FJHUw="; + sha256 = "sha256-kqGYBaXmGeGuGJ5fcc4OQzHISU8fVuQNGwiD8nyPa/0="; }; - cargoSha256 = "sha256-6QOD8IhrnjyaOEYVYt2DA3dI6Wcu1tCXnIp+Ruc+EEo="; + cargoSha256 = "sha256-gVXH2pFtyMfYkCqda9NrqOgczvmxiWHe0zArJfnnrgE="; nativeBuildInputs = [ pkg-config ]; diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix index 3e08b228159..9efa3e79dc0 100644 --- a/pkgs/applications/networking/browsers/palemoon/default.nix +++ b/pkgs/applications/networking/browsers/palemoon/default.nix @@ -45,7 +45,7 @@ assert with lib.strings; ( stdenv.mkDerivation rec { pname = "palemoon"; - version = "31.4.1.1"; + version = "31.4.2"; src = fetchFromGitea { domain = "repo.palemoon.org"; @@ -53,7 +53,7 @@ stdenv.mkDerivation rec { repo = "Pale-Moon"; rev = "${version}_Release"; fetchSubmodules = true; - sha256 = "sha256-lr8xT9tRxVjg1DxUZuCyWuCFBPPdmkvsnmAsoX8o/6Y="; + sha256 = "sha256-vJhjQfsa05fFNL24tUBHfKoKZG2aLXp5xBdUqqGDtAE="; }; nativeBuildInputs = [ diff --git a/pkgs/applications/video/openshot-qt/libopenshot-audio.nix b/pkgs/applications/video/openshot-qt/libopenshot-audio.nix index 438eae46709..0c028a4a046 100644 --- a/pkgs/applications/video/openshot-qt/libopenshot-audio.nix +++ b/pkgs/applications/video/openshot-qt/libopenshot-audio.nix @@ -20,13 +20,13 @@ stdenv.mkDerivation rec { pname = "libopenshot-audio"; - version = "0.2.2"; + version = "0.3.0"; src = fetchFromGitHub { owner = "OpenShot"; repo = "libopenshot-audio"; rev = "v${version}"; - sha256 = "sha256-XtwTZsj/L/sw/28E7Qr5UyghGlBFFXvbmZLGXBB8vg0="; + sha256 = "sha256-b3BZ275oJTxWfBWtdZetUQw0t7QznL0Q0lP7cKy/avg="; }; patches = [ diff --git a/pkgs/desktops/gnome/core/gnome-control-center/default.nix b/pkgs/desktops/gnome/core/gnome-control-center/default.nix index 4161598634f..0d3b3bc5c6d 100644 --- a/pkgs/desktops/gnome/core/gnome-control-center/default.nix +++ b/pkgs/desktops/gnome/core/gnome-control-center/default.nix @@ -165,6 +165,8 @@ stdenv.mkDerivation rec { done ''; + separateDebugInfo = true; + passthru = { updateScript = gnome.updateScript { packageName = pname; diff --git a/pkgs/development/compilers/edk2/default.nix b/pkgs/development/compilers/edk2/default.nix index 43dc18244a9..8019d2131af 100644 --- a/pkgs/development/compilers/edk2/default.nix +++ b/pkgs/development/compilers/edk2/default.nix @@ -83,7 +83,7 @@ edk2 = buildStdenv.mkDerivation { description = "Intel EFI development kit"; homepage = "https://github.com/tianocore/tianocore.github.io/wiki/EDK-II/"; license = licenses.bsd2; - platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" "x86_64-darwin" ]; + platforms = with platforms; aarch64 ++ i686 ++ x86_64; }; passthru = { diff --git a/pkgs/development/compilers/go/1.20.nix b/pkgs/development/compilers/go/1.20.nix new file mode 100644 index 00000000000..5081e5efecf --- /dev/null +++ b/pkgs/development/compilers/go/1.20.nix @@ -0,0 +1,180 @@ +{ lib +, stdenv +, fetchurl +, tzdata +, substituteAll +, iana-etc +, Security +, Foundation +, xcbuild +, mailcap +, buildPackages +, pkgsBuildTarget +, threadsCross +, testers +, skopeo +, buildGo120Module +}: + +let + goBootstrap = buildPackages.callPackage ./bootstrap117.nix { }; + + skopeoTest = skopeo.override { buildGoModule = buildGo120Module; }; + + goarch = platform: { + "aarch64" = "arm64"; + "arm" = "arm"; + "armv5tel" = "arm"; + "armv6l" = "arm"; + "armv7l" = "arm"; + "i686" = "386"; + "mips" = "mips"; + "mips64el" = "mips64le"; + "mipsel" = "mipsle"; + "powerpc64le" = "ppc64le"; + "riscv64" = "riscv64"; + "s390x" = "s390x"; + "x86_64" = "amd64"; + }.${platform.parsed.cpu.name} or (throw "Unsupported system: ${platform.parsed.cpu.name}"); + + # We need a target compiler which is still runnable at build time, + # to handle the cross-building case where build != host == target + targetCC = pkgsBuildTarget.targetPackages.stdenv.cc; + + isCross = stdenv.buildPlatform != stdenv.targetPlatform; +in +stdenv.mkDerivation rec { + pname = "go"; + version = "1.20rc1"; + + src = fetchurl { + url = "https://go.dev/dl/go${version}.src.tar.gz"; + sha256 = "sha256-FzEFTKmE8l/dCD0Ejt+gghDMkWf1oIanHeuhKMcTtBQ="; + }; + + strictDeps = true; + buildInputs = [ ] + ++ lib.optionals stdenv.isLinux [ stdenv.cc.libc.out ] + ++ lib.optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ]; + + depsTargetTargetPropagated = lib.optionals stdenv.isDarwin [ Foundation Security xcbuild ]; + + depsBuildTarget = lib.optional isCross targetCC; + + depsTargetTarget = lib.optional stdenv.targetPlatform.isWindows threadsCross.package; + + postPatch = '' + patchShebangs . + ''; + + patches = [ + (substituteAll { + src = ./iana-etc-1.17.patch; + iana = iana-etc; + }) + # Patch the mimetype database location which is missing on NixOS. + # but also allow static binaries built with NixOS to run outside nix + (substituteAll { + src = ./mailcap-1.17.patch; + inherit mailcap; + }) + # prepend the nix path to the zoneinfo files but also leave the original value for static binaries + # that run outside a nix server + (substituteAll { + src = ./tzdata-1.19.patch; + inherit tzdata; + }) + ./remove-tools-1.11.patch + ./go_no_vendor_checks-1.16.patch + ]; + + GOOS = stdenv.targetPlatform.parsed.kernel.name; + GOARCH = goarch stdenv.targetPlatform; + # GOHOSTOS/GOHOSTARCH must match the building system, not the host system. + # Go will nevertheless build a for host system that we will copy over in + # the install phase. + GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name; + GOHOSTARCH = goarch stdenv.buildPlatform; + + # {CC,CXX}_FOR_TARGET must be only set for cross compilation case as go expect those + # to be different from CC/CXX + CC_FOR_TARGET = + if isCross then + "${targetCC}/bin/${targetCC.targetPrefix}cc" + else + null; + CXX_FOR_TARGET = + if isCross then + "${targetCC}/bin/${targetCC.targetPrefix}c++" + else + null; + + GOARM = toString (lib.intersectLists [ (stdenv.hostPlatform.parsed.cpu.version or "") ] [ "5" "6" "7" ]); + GO386 = "softfloat"; # from Arch: don't assume sse2 on i686 + CGO_ENABLED = 1; + + GOROOT_BOOTSTRAP = "${goBootstrap}/share/go"; + + buildPhase = '' + runHook preBuild + export GOCACHE=$TMPDIR/go-cache + # this is compiled into the binary + export GOROOT_FINAL=$out/share/go + + export PATH=$(pwd)/bin:$PATH + + ${lib.optionalString isCross '' + # Independent from host/target, CC should produce code for the building system. + # We only set it when cross-compiling. + export CC=${buildPackages.stdenv.cc}/bin/cc + ''} + ulimit -a + + pushd src + ./make.bash + popd + runHook postBuild + ''; + + preInstall = '' + # Contains the wrong perl shebang when cross compiling, + # since it is not used for anything we can deleted as well. + rm src/regexp/syntax/make_perl_groups.pl + '' + (if (stdenv.buildPlatform != stdenv.hostPlatform) then '' + mv bin/*_*/* bin + rmdir bin/*_* + ${lib.optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) '' + rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH} + ''} + '' else if (stdenv.hostPlatform != stdenv.targetPlatform) then '' + rm -rf bin/*_* + ${lib.optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) '' + rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH} + ''} + '' else ""); + + installPhase = '' + runHook preInstall + mkdir -p $GOROOT_FINAL + cp -a bin pkg src lib misc api doc $GOROOT_FINAL + ln -s $GOROOT_FINAL/bin $out/bin + runHook postInstall + ''; + + disallowedReferences = [ goBootstrap ]; + + passthru = { + inherit goBootstrap skopeoTest; + tests = { + skopeo = testers.testVersion { package = skopeoTest; }; + }; + }; + + meta = with lib; { + description = "The Go Programming language"; + homepage = "https://go.dev/"; + license = licenses.bsd3; + maintainers = teams.golang.members; + platforms = platforms.darwin ++ platforms.linux; + }; +} diff --git a/pkgs/development/libraries/gnome-online-accounts/default.nix b/pkgs/development/libraries/gnome-online-accounts/default.nix index 5344534aec5..43eb7a2ff30 100644 --- a/pkgs/development/libraries/gnome-online-accounts/default.nix +++ b/pkgs/development/libraries/gnome-online-accounts/default.nix @@ -87,6 +87,8 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; + separateDebugInfo = true; + passthru = { updateScript = gnome.updateScript { versionPolicy = "odd-unstable"; diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix index d80d7f82bfd..37a282c4cca 100644 --- a/pkgs/development/libraries/gvfs/default.nix +++ b/pkgs/development/libraries/gvfs/default.nix @@ -131,6 +131,8 @@ stdenv.mkDerivation rec { doCheck = false; # fails with "ModuleNotFoundError: No module named 'gi'" doInstallCheck = doCheck; + separateDebugInfo = true; + passthru = { updateScript = gnome.updateScript { packageName = pname; diff --git a/pkgs/development/libraries/librest/1.0.nix b/pkgs/development/libraries/librest/1.0.nix index cbd525d40b0..130d6944e92 100644 --- a/pkgs/development/libraries/librest/1.0.nix +++ b/pkgs/development/libraries/librest/1.0.nix @@ -58,6 +58,8 @@ stdenv.mkDerivation rec { moveToOutput "share/doc" "$devdoc" ''; + separateDebugInfo = true; + passthru = { updateScript = gnome.updateScript { packageName = pname; diff --git a/pkgs/development/tools/misc/highlight-assertions/default.nix b/pkgs/development/tools/misc/highlight-assertions/default.nix index 8d2aabe4bf5..c16bf863349 100644 --- a/pkgs/development/tools/misc/highlight-assertions/default.nix +++ b/pkgs/development/tools/misc/highlight-assertions/default.nix @@ -2,16 +2,16 @@ rustPlatform.buildRustPackage rec { pname = "highlight-assertions"; - version = "unstable-2022-11-24"; + version = "0.1.6"; src = fetchFromGitHub { owner = "thehamsta"; repo = pname; - rev = "c738a51513285ded4fc16d68afcdb77761543f92"; - sha256 = "sha256-vYXr0xFwRUwSEP++834A/4M1QB14Wx+qWwB9PUtn3uA="; + rev = "v${version}"; + sha256 = "sha256-OVf8s7zuGj5//zWJIVBfHBoA6zD+l8lqVQGn2vHsvSQ="; }; - cargoSha256 = "sha256-sezjd7tmVVDoRsrsTK2zKjHmrBcAQDHyHd/dR1q1za0="; + cargoSha256 = "sha256-cS4IbFuxZCKDIAcgiKzBF/qQ6mXZb9omvMeGcU+yWpk="; # requires nightly features RUSTC_BOOTSTRAP = 1; diff --git a/pkgs/servers/prowlarr/default.nix b/pkgs/servers/prowlarr/default.nix index 9bf1ecd1295..15b98ca035d 100644 --- a/pkgs/servers/prowlarr/default.nix +++ b/pkgs/servers/prowlarr/default.nix @@ -16,14 +16,14 @@ let }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); hash = { - x64-linux_hash = "sha256-OYCZPP8w3HSxph8mg5MWDsjG7ubSFsPtpEQY7TWJ198="; - arm64-linux_hash = "sha256-kts6pOKaBVrr3uOba9UXsMLnzAA5EalfZk+v5PKqbMQ="; - x64-osx_hash = "sha256-/TEvsgeQUZdMFoPoZkCaJQCiJPguLt3AxiCbMg+Q/8M="; + x64-linux_hash = "sha256-r5A7KkzugTXwLejaQuKW/EhV99e8gqj8kmgliNMi/xU="; + arm64-linux_hash = "sha256-HdtUSMHteFDdp0yZYFC4EHK2S3cr6dEXklyTp5bqHYQ="; + x64-osx_hash = "sha256-GyHiBiz5LoT+DGxcC0v7OXvdUwaLyrczda/aUkABnrs="; }."${arch}-${os}_hash"; in stdenv.mkDerivation rec { pname = "prowlarr"; - version = "1.0.0.2171"; + version = "1.0.1.2210"; src = fetchurl { url = "https://github.com/Prowlarr/Prowlarr/releases/download/v${version}/Prowlarr.develop.${version}.${os}-core-${arch}.tar.gz"; diff --git a/pkgs/tools/misc/moar/default.nix b/pkgs/tools/misc/moar/default.nix index 50c2a1f4fdc..8c76dfd60d3 100644 --- a/pkgs/tools/misc/moar/default.nix +++ b/pkgs/tools/misc/moar/default.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "moar"; - version = "1.11.2"; + version = "1.11.3"; src = fetchFromGitHub { owner = "walles"; repo = pname; rev = "v${version}"; - sha256 = "sha256-UzgGJrnckiuUT4JYSTQ4TargO4B2sjVMMOYygg7wGps="; + sha256 = "sha256-j/nxZgaK8WZadYjc7f4nJUn282YfBeflWh7lSjA4QVs="; }; vendorSha256 = "sha256-XexIBg49gK+b2Zef5eR7NfqFZHPp5DXhlcC3Loh6PfI="; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bf29364126e..ff3d20d7df9 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -23657,6 +23657,17 @@ with pkgs; go = buildPackages.go_1_19; }; + # requires a newer Apple SDK + go_1_20 = darwin.apple_sdk_11_0.callPackage ../development/compilers/go/1.20.nix { + inherit (darwin.apple_sdk_11_0.frameworks) Foundation Security; + }; + buildGo120Module = darwin.apple_sdk_11_0.callPackage ../build-support/go/module.nix { + go = buildPackages.go_1_20; + }; + buildGo120Package = darwin.apple_sdk_11_0.callPackage ../build-support/go/package.nix { + go = buildPackages.go_1_20; + }; + go2nix = callPackage ../development/tools/go2nix { }; leaps = callPackage ../development/tools/leaps { }; @@ -27953,7 +27964,9 @@ with pkgs; inherit bitwig-studio1; }; bitwig-studio3 = callPackage ../applications/audio/bitwig-studio/bitwig-studio3.nix { }; - bitwig-studio4 = callPackage ../applications/audio/bitwig-studio/bitwig-studio4.nix { }; + bitwig-studio4 = callPackage ../applications/audio/bitwig-studio/bitwig-studio4.nix { + libjpeg = libjpeg.override { enableJpeg8 = true; }; + }; bitwig-studio = bitwig-studio4;