Merge release-24.05 into staging-next-24.05

This commit is contained in:
github-actions[bot]
2024-10-17 00:16:46 +00:00
committed by GitHub
32 changed files with 1233 additions and 797 deletions

View File

@@ -117,3 +117,6 @@ fb0e5be84331188a69b3edd31679ca6576edb75a
# python3Packages: format with nixfmt
59b1aef59071cae6e87859dc65de973d2cc595c0
# percona: apply nixfmt
369350afcba8e6a231dd25b6a010c4e9dec713b9

View File

@@ -4,7 +4,7 @@
inherit (pkgs) mysql80;
};
perconaPackages = {
inherit (pkgs) percona-server_lts percona-server_innovation;
inherit (pkgs) percona-server_8_0 percona-server_8_4;
};
mkTestName = pkg: "mariadb_${builtins.replaceStrings ["."] [""] (lib.versions.majorMinor pkg.version)}";
}

View File

@@ -11,6 +11,7 @@ let
xorgDeps = pkgs: with pkgs.xorg; [
libX11 libXrender libXrandr libxcb libXmu libpthreadstubs libXext libXdmcp
libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite
libXfixes libXtst libXScrnSaver libICE libXt
];
gstreamerDeps = pkgs: with pkgs.gst_all_1; [
gstreamer
@@ -35,6 +36,9 @@ in buildFHSEnv {
# Adventure Game Studio
allegro dumb
# Battle.net
jansson
# Curl
libnghttp2

View File

@@ -3,10 +3,10 @@
{
firefox = buildMozillaMach rec {
pname = "firefox";
version = "131.0.2";
version = "131.0.3";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
sha512 = "fb1a1179a8c62de975c93e1ac6f058cb5492e955bbb7ac2d4b83cdd14ba17bdb2450078bd6f626124b14542f3fda9514bea476aaa34ff4f5a2bee6b1625ec963";
sha512 = "3aa96db839f7a45e34c43b5e7e3333e1100ca11545ad26a8e42987fbc72df5ae7ebebe7dfc8c4e856d2bb4676c0516914a07c001f6047799f314146a3329c0ce";
};
extraPatches = [

View File

@@ -1,25 +1,51 @@
{ pname, version, src, meta, stdenv, binaryName, desktopName, lib, undmg, makeWrapper, writeScript, python3, runCommand
, branch
, withOpenASAR ? false, openasar
, withVencord ? false, vencord }:
{
pname,
version,
src,
meta,
stdenv,
binaryName,
desktopName,
lib,
undmg,
makeWrapper,
writeScript,
python3,
runCommand,
branch,
withOpenASAR ? false,
openasar,
withVencord ? false,
vencord,
}:
let
disableBreakingUpdates = runCommand "disable-breaking-updates.py"
{
pythonInterpreter = "${python3.interpreter}";
configDirName = lib.toLower binaryName;
meta.mainProgram = "disable-breaking-updates.py";
} ''
mkdir -p $out/bin
cp ${./disable-breaking-updates.py} $out/bin/disable-breaking-updates.py
substituteAllInPlace $out/bin/disable-breaking-updates.py
chmod +x $out/bin/disable-breaking-updates.py
'';
disableBreakingUpdates =
runCommand "disable-breaking-updates.py"
{
pythonInterpreter = "${python3.interpreter}";
configDirName = lib.toLower binaryName;
meta.mainProgram = "disable-breaking-updates.py";
}
''
mkdir -p $out/bin
cp ${./disable-breaking-updates.py} $out/bin/disable-breaking-updates.py
substituteAllInPlace $out/bin/disable-breaking-updates.py
chmod +x $out/bin/disable-breaking-updates.py
'';
in
stdenv.mkDerivation {
inherit pname version src meta;
inherit
pname
version
src
meta
;
nativeBuildInputs = [ undmg makeWrapper ];
nativeBuildInputs = [
undmg
makeWrapper
];
sourceRoot = ".";
@@ -37,14 +63,16 @@ stdenv.mkDerivation {
runHook postInstall
'';
postInstall = lib.strings.optionalString withOpenASAR ''
cp -f ${openasar} $out/Applications/${desktopName}.app/Contents/Resources/app.asar
'' + lib.strings.optionalString withVencord ''
mv $out/Applications/${desktopName}.app/Contents/Resources/app.asar $out/Applications/${desktopName}.app/Contents/Resources/_app.asar
mkdir $out/Applications/${desktopName}.app/Contents/Resources/app.asar
echo '{"name":"discord","main":"index.js"}' > $out/Applications/${desktopName}.app/Contents/Resources/app.asar/package.json
echo 'require("${vencord}/patcher.js")' > $out/Applications/${desktopName}.app/Contents/Resources/app.asar/index.js
'';
postInstall =
lib.strings.optionalString withOpenASAR ''
cp -f ${openasar} $out/Applications/${desktopName}.app/Contents/Resources/app.asar
''
+ lib.strings.optionalString withVencord ''
mv $out/Applications/${desktopName}.app/Contents/Resources/app.asar $out/Applications/${desktopName}.app/Contents/Resources/_app.asar
mkdir $out/Applications/${desktopName}.app/Contents/Resources/app.asar
echo '{"name":"discord","main":"index.js"}' > $out/Applications/${desktopName}.app/Contents/Resources/app.asar/package.json
echo 'require("${vencord}/patcher.js")' > $out/Applications/${desktopName}.app/Contents/Resources/app.asar/index.js
'';
passthru = {
# make it possible to run disableBreakingUpdates standalone
@@ -54,12 +82,11 @@ stdenv.mkDerivation {
#!nix-shell -i bash -p curl gnugrep common-updater-scripts
set -x
set -eou pipefail;
url=$(curl -sI "https://discordapp.com/api/download/${
builtins.replaceStrings [ "discord-" "discord" ] [ "" "stable" ] pname
}?platform=osx&format=dmg" | grep -oP 'location: \K\S+')
version=''${url##https://dl*.discordapp.net/apps/osx/}
version=''${version%%/*.dmg}
update-source-version ${lib.optionalString (!stdenv.buildPlatform.isDarwin) "pkgsCross.aarch64-darwin."}${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix --version-key=${branch}
url=$(curl -sI -o /dev/null -w '%header{location}' "https://discord.com/api/download/${branch}?platform=osx&format=dmg")
version=$(echo $url | grep -oP '/\K(\d+\.){2}\d+')
update-source-version ${
lib.optionalString (!stdenv.buildPlatform.isDarwin) "pkgsCross.aarch64-darwin."
}${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix --version-key=${branch}
'';
};
}

View File

@@ -1,17 +1,26 @@
{ branch ? "stable", callPackage, fetchurl, lib, stdenv }:
{
branch ? "stable",
callPackage,
fetchurl,
lib,
stdenv,
}:
let
versions =
if stdenv.hostPlatform.isLinux then {
stable = "0.0.71";
ptb = "0.0.110";
canary = "0.0.502";
development = "0.0.30";
} else {
stable = "0.0.322";
ptb = "0.0.140";
canary = "0.0.611";
development = "0.0.53";
};
if stdenv.hostPlatform.isLinux then
{
stable = "0.0.71";
ptb = "0.0.111";
canary = "0.0.503";
development = "0.0.30";
}
else
{
stable = "0.0.322";
ptb = "0.0.141";
canary = "0.0.612";
development = "0.0.53";
};
version = versions.${branch};
srcs = rec {
x86_64-linux = {
@@ -21,11 +30,11 @@ let
};
ptb = fetchurl {
url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
hash = "sha256-NV/0YKn1rG54Zkc9qAmpeb+4YbKjxhjTCdPOd84Lcc8=";
hash = "sha256-mms/qTA3XS+R5CDFWFS2RxiHOWnpU348nYagt9L2k2w=";
};
canary = fetchurl {
url = "https://canary.dl2.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
hash = "sha256-2DE7p3eT/mVGC+ejnTcTEhF7sEWyhfUfzj0gYTh+6Dw=";
hash = "sha256-Z0dv/jM0RipRI73vO9O5qqE0xf8qJtljZ3Zjr0Tf/KA=";
};
development = fetchurl {
url = "https://development.dl2.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
@@ -39,11 +48,11 @@ let
};
ptb = fetchurl {
url = "https://ptb.dl2.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
hash = "sha256-VGhvykujfzI7jwXE+lHTzqT0t08GaON6gCuf13po7wY=";
hash = "sha256-EVwosCb/34W4+dx/u/5aq3pl6FqU1QiFT17yPydtGBU=";
};
canary = fetchurl {
url = "https://canary.dl2.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
hash = "sha256-QC8RANqoyMAGKjTF0NNhz7wMt65D5LI1xYtd++dHXC4=";
hash = "sha256-xvrsohxoCTODG3Au5E773SEX5UXbBJ98J2Eb3Vtybfw=";
};
development = fetchurl {
url = "https://development.dl2.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
@@ -52,31 +61,46 @@ let
};
aarch64-darwin = x86_64-darwin;
};
src = srcs.${stdenv.hostPlatform.system}.${branch} or (throw "${stdenv.hostPlatform.system} not supported on ${branch}");
src =
srcs.${stdenv.hostPlatform.system}.${branch}
or (throw "${stdenv.hostPlatform.system} not supported on ${branch}");
meta = with lib; {
meta = {
description = "All-in-one cross-platform voice and text chat for gamers";
homepage = "https://discordapp.com/";
downloadPage = "https://discordapp.com/download";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.unfree;
maintainers = with maintainers; [ Scrumplex artturin infinidoge jopejoe1 ];
platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
homepage = "https://discordapp.com/";
license = lib.licenses.unfree;
mainProgram = "discord";
maintainers = with lib.maintainers; [
artturin
donteatoreo
infinidoge
jopejoe1
Scrumplex
];
platforms = [
"x86_64-linux"
"x86_64-darwin"
"aarch64-darwin"
];
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
package =
if stdenv.isLinux
then ./linux.nix
else ./darwin.nix;
package = if stdenv.hostPlatform.isLinux then ./linux.nix else ./darwin.nix;
packages = (
builtins.mapAttrs
(_: value:
callPackage package (value
(
_: value:
callPackage package (
value
// {
inherit src version branch;
meta = meta // { mainProgram = value.binaryName; };
}))
inherit src version branch;
meta = meta // {
mainProgram = value.binaryName;
};
}
)
)
{
stable = {
pname = "discord";

View File

@@ -1,34 +1,92 @@
{ pname, version, src, meta, binaryName, desktopName, autoPatchelfHook
, makeDesktopItem, lib, stdenv, wrapGAppsHook3, makeShellWrapper, alsa-lib, at-spi2-atk
, at-spi2-core, atk, cairo, cups, dbus, expat, fontconfig, freetype, gdk-pixbuf
, glib, gtk3, libcxx, libdrm, libglvnd, libnotify, libpulseaudio, libuuid, libX11
, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes
, libXi, libXrandr, libXrender, libXtst, libxcb, libxshmfence, mesa, nspr, nss
, pango, systemd, libappindicator-gtk3, libdbusmenu, writeScript, python3, runCommand
, libunity
, speechd
, wayland
, branch
, withOpenASAR ? false, openasar
, withVencord ? false, vencord
, withTTS ? true }:
{
pname,
version,
src,
meta,
binaryName,
desktopName,
autoPatchelfHook,
makeDesktopItem,
lib,
stdenv,
wrapGAppsHook3,
makeShellWrapper,
alsa-lib,
at-spi2-atk,
at-spi2-core,
atk,
cairo,
cups,
dbus,
expat,
fontconfig,
freetype,
gdk-pixbuf,
glib,
gtk3,
libcxx,
libdrm,
libglvnd,
libnotify,
libpulseaudio,
libuuid,
libX11,
libXScrnSaver,
libXcomposite,
libXcursor,
libXdamage,
libXext,
libXfixes,
libXi,
libXrandr,
libXrender,
libXtst,
libxcb,
libxshmfence,
mesa,
nspr,
nss,
pango,
systemd,
libappindicator-gtk3,
libdbusmenu,
writeScript,
python3,
runCommand,
libunity,
speechd,
wayland,
branch,
withOpenASAR ? false,
openasar,
withVencord ? false,
vencord,
withTTS ? true,
}:
let
disableBreakingUpdates = runCommand "disable-breaking-updates.py"
{
pythonInterpreter = "${python3.interpreter}";
configDirName = lib.toLower binaryName;
meta.mainProgram = "disable-breaking-updates.py";
} ''
mkdir -p $out/bin
cp ${./disable-breaking-updates.py} $out/bin/disable-breaking-updates.py
substituteAllInPlace $out/bin/disable-breaking-updates.py
chmod +x $out/bin/disable-breaking-updates.py
'';
disableBreakingUpdates =
runCommand "disable-breaking-updates.py"
{
pythonInterpreter = "${python3.interpreter}";
configDirName = lib.toLower binaryName;
meta.mainProgram = "disable-breaking-updates.py";
}
''
mkdir -p $out/bin
cp ${./disable-breaking-updates.py} $out/bin/disable-breaking-updates.py
substituteAllInPlace $out/bin/disable-breaking-updates.py
chmod +x $out/bin/disable-breaking-updates.py
'';
in
stdenv.mkDerivation rec {
inherit pname version src meta;
inherit
pname
version
src
meta
;
nativeBuildInputs = [
alsa-lib
@@ -50,48 +108,51 @@ stdenv.mkDerivation rec {
dontWrapGApps = true;
libPath = lib.makeLibraryPath ([
libcxx
systemd
libpulseaudio
libdrm
mesa
stdenv.cc.cc
alsa-lib
atk
at-spi2-atk
at-spi2-core
cairo
cups
dbus
expat
fontconfig
freetype
gdk-pixbuf
glib
gtk3
libglvnd
libnotify
libX11
libXcomposite
libunity
libuuid
libXcursor
libXdamage
libXext
libXfixes
libXi
libXrandr
libXrender
libXtst
nspr
libxcb
pango
libXScrnSaver
libappindicator-gtk3
libdbusmenu
wayland
] ++ lib.optional withTTS speechd);
libPath = lib.makeLibraryPath (
[
libcxx
systemd
libpulseaudio
libdrm
mesa
stdenv.cc.cc
alsa-lib
atk
at-spi2-atk
at-spi2-core
cairo
cups
dbus
expat
fontconfig
freetype
gdk-pixbuf
glib
gtk3
libglvnd
libnotify
libX11
libXcomposite
libunity
libuuid
libXcursor
libXdamage
libXext
libXfixes
libXi
libXrandr
libXrender
libXtst
nspr
libxcb
pango
libXScrnSaver
libappindicator-gtk3
libdbusmenu
wayland
]
++ lib.optional withTTS speechd
);
installPhase = ''
runHook preInstall
@@ -113,9 +174,7 @@ stdenv.mkDerivation rec {
ln -s $out/opt/${binaryName}/${binaryName} $out/bin/
# Without || true the install would fail on case-insensitive filesystems
ln -s $out/opt/${binaryName}/${binaryName} $out/bin/${
lib.strings.toLower binaryName
} || true
ln -s $out/opt/${binaryName}/${binaryName} $out/bin/${lib.strings.toLower binaryName} || true
ln -s $out/opt/${binaryName}/discord.png $out/share/pixmaps/${pname}.png
ln -s $out/opt/${binaryName}/discord.png $out/share/icons/hicolor/256x256/apps/${pname}.png
@@ -125,14 +184,16 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
postInstall = lib.strings.optionalString withOpenASAR ''
cp -f ${openasar} $out/opt/${binaryName}/resources/app.asar
'' + lib.strings.optionalString withVencord ''
mv $out/opt/${binaryName}/resources/app.asar $out/opt/${binaryName}/resources/_app.asar
mkdir $out/opt/${binaryName}/resources/app.asar
echo '{"name":"discord","main":"index.js"}' > $out/opt/${binaryName}/resources/app.asar/package.json
echo 'require("${vencord}/patcher.js")' > $out/opt/${binaryName}/resources/app.asar/index.js
'';
postInstall =
lib.strings.optionalString withOpenASAR ''
cp -f ${openasar} $out/opt/${binaryName}/resources/app.asar
''
+ lib.strings.optionalString withVencord ''
mv $out/opt/${binaryName}/resources/app.asar $out/opt/${binaryName}/resources/_app.asar
mkdir $out/opt/${binaryName}/resources/app.asar
echo '{"name":"discord","main":"index.js"}' > $out/opt/${binaryName}/resources/app.asar/package.json
echo 'require("${vencord}/patcher.js")' > $out/opt/${binaryName}/resources/app.asar/index.js
'';
desktopItem = makeDesktopItem {
name = pname;
@@ -140,7 +201,10 @@ stdenv.mkDerivation rec {
icon = pname;
inherit desktopName;
genericName = meta.description;
categories = [ "Network" "InstantMessaging" ];
categories = [
"Network"
"InstantMessaging"
];
mimeTypes = [ "x-scheme-handler/discord" ];
};
@@ -151,11 +215,8 @@ stdenv.mkDerivation rec {
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnugrep common-updater-scripts
set -eou pipefail;
url=$(curl -sI "https://discordapp.com/api/download/${
builtins.replaceStrings [ "discord-" "discord" ] [ "" "stable" ] pname
}?platform=linux&format=tar.gz" | grep -oP 'location: \K\S+')
version=''${url##https://dl*.discordapp.net/apps/linux/}
version=''${version%%/*.tar.gz}
url=$(curl -sI -o /dev/null -w '%header{location}' "https://discord.com/api/download/${branch}?platform=linux&format=tar.gz")
version=$(echo $url | grep -oP '/\K(\d+\.){2}\d+')
update-source-version ${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix --version-key=${branch}
'';
};

View File

@@ -50,18 +50,19 @@ in rec {
thunderbird = thunderbird-128;
thunderbird-115 = common {
version = "115.15.0";
sha512 = "b161b99e09b6d1ba833f77264e35034ad199438b4fc88d244a6b68c84693fa2e90fbab60dafb827a2e23b37c484f9843a58751d93826ba7cdd0391114d253de2";
version = "115.16.0esr";
sha512 = "1c70050a773c92593dca2a34b25e9e6edcef6fbb9b081024e4dba024450219e06aace52d9fb90ccc2e8069b7bba0396258c86cc19848a7ac705b42641f6e36a5";
updateScript = callPackage ./update.nix {
attrPath = "thunderbirdPackages.thunderbird-115";
versionPrefix = "115";
versionSuffix = "esr";
};
};
thunderbird-128 = common {
version = "128.2.3esr";
sha512 = "f852d1fe6b8d41aa2f0fbc0fceae93cccf1e5f88d9c0447f504de775283289b82b246b79a01e8eb26e9c87197fb33138fb18c75ecc3f5f1bcfefa3920a7c7512";
version = "128.3.1esr";
sha512 = "9fef04a0c498eb16688c141cb7d45e803ecc75ea6fc6117ff8ad1e6b049716f49b435f3e5a1baa703fa937e25483137e22256e58572eeacf317de264b961ba6a";
updateScript = callPackage ./update.nix {
attrPath = "thunderbirdPackages.thunderbird-128";

View File

@@ -59,8 +59,8 @@ let versions = callPackage ./versions.nix { };
matchesDoc = v:
builtins.match (if webdoc
then ".*[0-9]_LINUX.sh"
else ".*[0-9]_BNDL_LINUX.sh") v.src.name != null;
then ".*[0-9]_LIN(UX)?.sh"
else ".*_B[Nn][Dd][Ll].sh") v.src.name != null;
in
@@ -77,7 +77,7 @@ callPackage real-drv {
homepage = "http://www.wolfram.com/mathematica/";
license = licenses.unfree;
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
maintainers = with maintainers; [ herberteuler rafaelrc ];
maintainers = with maintainers; [ herberteuler rafaelrc chewblacka ];
platforms = [ "x86_64-linux" ];
};
}

View File

@@ -157,9 +157,15 @@ in stdenv.mkDerivation {
mkdir -p "$out/lib/udev/rules.d"
# Patch MathInstaller's shebangs and udev rules dir
patchShebangs MathInstaller
substituteInPlace MathInstaller \
# Set name of installer file
if [ -f "MathInstaller" ]; then
INSTALLER="MathInstaller"
else
INSTALLER="WolframInstaller"
fi
# Patch Installer's shebangs and udev rules dir
patchShebangs $INSTALLER
substituteInPlace $INSTALLER \
--replace /etc/udev/rules.d $out/lib/udev/rules.d
# Remove PATH restriction, root and avahi daemon checks, and hostname call
@@ -169,13 +175,13 @@ in stdenv.mkDerivation {
s/^\s*checkAvahiDaemon$/:/
s/^\s*installBundledInstall$/:/
s/`hostname`/""/
' MathInstaller
' $INSTALLER
# NOTE: some files placed under HOME may be useful
XDG_DATA_HOME="$out/share" HOME="$TMPDIR/home" vernierLink=y \
./MathInstaller -execdir="$out/bin" -targetdir="$out/libexec/Mathematica" -auto -verbose -createdir=y
./$INSTALLER -execdir="$out/bin" -targetdir="$out/libexec/Mathematica" -auto -verbose -createdir=y
# Check if MathInstaller produced any errors
# Check if Installer produced any errors
errLog="$out/libexec/Mathematica/InstallErrors"
if [ -f "$errLog" ]; then
echo "Installation errors:"

View File

@@ -7,6 +7,20 @@
*/
let versions = [
{
version = "14.1.0";
lang = "en";
language = "English";
sha256 = "sha256-PCpjwqA6NC+iwvYxddYBlmF5+vl76r+MoIYAL91WFns=";
installer = "Wolfram_14.1.0_LIN.sh";
}
{
version = "14.1.0";
lang = "en";
language = "English";
sha256 = "sha256-pnu60Pv3xo3+MAkDLiU3yTPVbbQ00diV45vSVL8B310=";
installer = "Wolfram_14.1.0_LIN_Bndl.sh";
}
{
version = "14.0.0";
lang = "en";

View File

@@ -166,11 +166,11 @@ let
linux = stdenv.mkDerivation (finalAttrs: {
inherit pname meta passthru;
version = "129.0.6668.100";
version = "130.0.6723.58";
src = fetchurl {
url = "https://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_${finalAttrs.version}-1_amd64.deb";
hash = "sha256-5NITOnDEVd5PeyWT9rPVgFv5W5bP2h+bLM30hjmpgzs=";
hash = "sha256-HWFC+9Op4ja/S3eP56N9hkOkMbCrbF+NHEcxSLb85Hg=";
};
# With strictDeps on, some shebangs were not being patched correctly
@@ -266,11 +266,11 @@ let
darwin = stdenvNoCC.mkDerivation (finalAttrs: {
inherit pname meta passthru;
version = "129.0.6668.101";
version = "130.0.6723.59";
src = fetchurl {
url = "http://dl.google.com/release2/chrome/j4koa2lwvw3lho34hvastakhfi_129.0.6668.101/GoogleChrome-129.0.6668.101.dmg";
hash = "sha256-rwH7BqOyszmybadZ4gtJHoVxxjcjZLHcOku+YxZH88w=";
url = "http://dl.google.com/release2/chrome/oehlfkedv43jkzlol2mqd6xife_130.0.6723.59/GoogleChrome-130.0.6723.59.dmg";
hash = "sha256-ioEWtD49XtZTItz+bCiDobV0nW82Dv6S41/oHlUsatU=";
};
dontPatch = true;

View File

@@ -1,5 +1,6 @@
#!/usr/bin/env nix-shell
#!nix-shell -I nixpkgs=./. -i bash -p curl jq gawk libossp_uuid libxml2 nix
# shellcheck shell=bash
set -euo pipefail
@@ -10,7 +11,7 @@ get_version_info() {
local start_pattern="$2"
local end_pattern="$3"
local url="https://versionhistory.googleapis.com/v1/chrome/platforms/${platform}/channels/stable/versions/all/releases?filter=endtime=none,fraction>=0.5&order_by=version%20desc"
local url="https://versionhistory.googleapis.com/v1/chrome/platforms/${platform}/channels/stable/versions/all/releases?filter=endtime=none,fraction%3E=0.5&order_by=version%20desc"
local response
local version
local current_version

View File

@@ -37,21 +37,21 @@
}:
stdenv.mkDerivation rec {
pname = "armcord";
version = "3.3.1";
pname = "legcord";
version = "1.0.1";
src =
let
base = "https://github.com/ArmCord/ArmCord/releases/download";
base = "https://github.com/Legcord/Legcord/releases/download";
in
{
x86_64-linux = fetchurl {
url = "${base}/v${version}/ArmCord-${version}-linux-amd64.deb";
hash = "sha256-BFhgZNBHPERvJY9N4NpnlkGo2M0keencU4H4qlXl9mk=";
url = "${base}/v${version}/Legcord-${version}-linux-amd64.deb";
hash = "sha256-kZ9dhSJjhYmpZJLbWP8nPP6Lxw+wLe3d9cCahfIomNM=";
};
aarch64-linux = fetchurl {
url = "${base}/v${version}/ArmCord-${version}-linux-arm64.deb";
hash = "sha256-PCODruXQW7iAZLKcNw672fs4OuCqDvMlvzRSNca8Tfo=";
url = "${base}/v${version}/Legcord-${version}-linux-arm64.deb";
hash = "sha256-Ikyjmlt1F7f6WaYWuAgyzLP3zvQPCvMRZ1D9e79umgM=";
};
}.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
@@ -114,7 +114,7 @@ stdenv.mkDerivation rec {
chmod -R g-w "$out"
# Wrap the startup command
makeBinaryWrapper $out/opt/ArmCord/armcord $out/bin/armcord \
makeBinaryWrapper $out/opt/Legcord/legcord $out/bin/legcord \
"''${gappsWrapperArgs[@]}" \
--prefix XDG_DATA_DIRS : "${gtk3}/share/gsettings-schemas/${gtk3.name}/" \
--add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland --enable-features=UseOzonePlatform --enable-features=WebRTCPipeWireCapturer }}" \
@@ -122,20 +122,20 @@ stdenv.mkDerivation rec {
--suffix PATH : ${lib.makeBinPath [ xdg-utils ]}
# Fix desktop link
substituteInPlace $out/share/applications/armcord.desktop \
--replace /opt/ArmCord/ $out/bin/
substituteInPlace $out/share/applications/legcord.desktop \
--replace /opt/Legcord/ $out/bin/
runHook postInstall
'';
meta = with lib; {
description = "Lightweight, alternative desktop client for Discord";
homepage = "https://armcord.app";
downloadPage = "https://github.com/ArmCord/ArmCord";
homepage = "https://legcord.app";
downloadPage = "https://github.com/Legcord/Legcord";
sourceProvenance = with sourceTypes; [ binaryNativeCode ];
license = licenses.osl3;
maintainers = with maintainers; [ wrmilling ];
platforms = [ "x86_64-linux" "aarch64-linux" ];
mainProgram = "armcord";
mainProgram = "legcord";
};
}

View File

@@ -23,12 +23,17 @@ pname = "warp-terminal";
versions = lib.importJSON ./versions.json;
passthru.updateScript = ./update.sh;
linux_arch =
if stdenv.hostPlatform.system == "x86_64-linux"
then "x86_64"
else "aarch64";
linux = stdenv.mkDerivation (finalAttrs: {
inherit pname meta passthru;
inherit (versions.linux) version;
inherit (versions."linux_${linux_arch}") version;
src = fetchurl {
inherit (versions.linux) hash;
url = "https://releases.warp.dev/stable/v${finalAttrs.version}/warp-terminal-v${finalAttrs.version}-1-x86_64.pkg.tar.zst";
inherit (versions."linux_${linux_arch}") hash;
url = "https://releases.warp.dev/stable/v${finalAttrs.version}/warp-terminal-v${finalAttrs.version}-1-${linux_arch}.pkg.tar.zst";
};
sourceRoot = ".";
@@ -99,8 +104,8 @@ meta = with lib; {
homepage = "https://www.warp.dev";
license = licenses.unfree;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
maintainers = with maintainers; [ emilytrau Enzime imadnyc donteatoreo ];
platforms = platforms.darwin ++ [ "x86_64-linux" ];
maintainers = with maintainers; [ emilytrau imadnyc donteatoreo johnrtitor ];
platforms = platforms.darwin ++ [ "x86_64-linux" "aarch64-linux" ];
};
in

View File

@@ -27,10 +27,14 @@ resolve_url() {
pkg=macos
sfx=dmg
;;
linux)
linux_x86_64)
pkg=pacman
sfx=pkg.tar.zst
;;
linux_aarch64)
pkg=pacman_arm64
sfx=pkg.tar.zst
;;
*)
err "Unexpected download type: $1"
;;
@@ -64,7 +68,8 @@ sri_get() {
}
for sys in darwin linux; do
for sys in darwin linux_x86_64 linux_aarch64; do
echo ${sys}
url=$(resolve_url ${sys})
version=$(get_version "${url}")
if [[ ${version} != "$(json_get ".${sys}.version")" ]]; then

View File

@@ -1,10 +1,14 @@
{
"darwin": {
"hash": "sha256-SNSWXDOmZAjPv33ioDOHSEflC6BKTmVAcAvc/Bn4VwE=",
"version": "0.2024.07.16.08.02.stable_03"
"hash": "sha256-LPH9JbOXOBjT4vMWNGMvQYDVnTE6p2tFTlOe8HOFsk0=",
"version": "0.2024.10.08.08.02.stable_02"
},
"linux": {
"hash": "sha256-rn97dcZ1XsQllzmQ9HbvLyvq5EsN42A5WHe1fVUjilY=",
"version": "0.2024.07.16.08.02.stable_03"
"linux_x86_64": {
"hash": "sha256-jwbwRgQ7WR04zCki7PQuuMZD7v2tFl3Gm1olZ28FAp8=",
"version": "0.2024.10.08.08.02.stable_02"
},
"linux_aarch64": {
"hash": "sha256-Ticn8OMYHWQT88WQSpgcT/kBVnHyoDHNhTk0m4T45bQ=",
"version": "0.2024.10.08.08.02.stable_02"
}
}

View File

@@ -36,7 +36,8 @@ python3Packages.buildPythonPackage rec {
meta = with lib; {
homepage = "https://github.com/bkerler/edl";
description = "Qualcomm EDL tool (Sahara / Firehose / Diag)";
license = licenses.mit;
# See https://github.com/NixOS/nixpkgs/issues/348931
license = licenses.unfree;
maintainers = with maintainers; [ lorenz ];
# Case-sensitive files in 'Loader' submodule
broken = stdenv.isDarwin;

View File

@@ -46,6 +46,7 @@ stdenv.mkDerivation rec {
] ++ (with xorg; [
libX11
libXi
libXcursor
]));
desktopItems = makeDesktopItem {

View File

@@ -1,21 +1,64 @@
{ lib, stdenv, fetchurl, bison, cmake, pkg-config
, boost, icu, libedit, libevent, lz4, ncurses, openssl, perl, protobuf, re2, readline, zlib, zstd, libfido2
, numactl, cctools, CoreServices, developer_cmds, libtirpc, rpcsvc-proto, curl, DarwinTools, nixosTests
# Percona-specific deps
, coreutils, cyrus_sasl, gnumake, openldap
{
lib,
stdenv,
fetchurl,
bison,
cmake,
pkg-config,
boost,
icu,
libedit,
libevent,
lz4,
ncurses,
openssl,
perl,
protobuf,
re2,
readline,
zlib,
zstd,
libfido2,
numactl,
cctools,
CoreServices,
developer_cmds,
libtirpc,
rpcsvc-proto,
curl,
DarwinTools,
nixosTests,
coreutils,
procps,
gnused,
gnugrep,
hostname,
makeWrapper,
# Percona-specific deps
cyrus_sasl,
gnumake,
openldap,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "percona-server_lts";
version = "8.0.36-28";
pname = "percona-server";
version = "8.0.37-29";
src = fetchurl {
url = "https://www.percona.com/downloads/Percona-Server-8.0/Percona-Server-${finalAttrs.version}/source/tarball/percona-server-${finalAttrs.version}.tar.gz";
hash = "sha256-iktEvZz3mjjmJ16PX51OjSwwiFS3H9W/XRco//Q6aEQ=";
hash = "sha256-zZgq3AxCRYdte3dTUJiuMvVGdl9U01s8jxcAqDxZiNM=";
};
nativeBuildInputs = [ bison cmake pkg-config ]
++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ];
nativeBuildInputs = [
bison
cmake
pkg-config
makeWrapper
# required for scripts/CMakeLists.txt
coreutils
gnugrep
procps
] ++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ];
patches = [
./no-force-outline-atomics.patch # Do not force compilers to turn on -moutline-atomics switch
@@ -32,16 +75,41 @@ stdenv.mkDerivation (finalAttrs: {
substituteInPlace storage/rocksdb/get_rocksdb_files.sh --replace "make --" "${gnumake}/bin/make --"
'';
buildInputs = [
boost (curl.override { inherit openssl; }) icu libedit libevent lz4 ncurses openssl protobuf re2 readline zlib
zstd libfido2 openldap perl cyrus_sasl
] ++ lib.optionals stdenv.isLinux [
numactl libtirpc
] ++ lib.optionals stdenv.isDarwin [
cctools CoreServices developer_cmds DarwinTools
];
buildInputs =
[
boost
(curl.override { inherit openssl; })
icu
libedit
libevent
lz4
ncurses
openssl
protobuf
re2
readline
zlib
zstd
libfido2
openldap
perl
cyrus_sasl
]
++ lib.optionals stdenv.isLinux [
numactl
libtirpc
]
++ lib.optionals stdenv.isDarwin [
cctools
CoreServices
developer_cmds
DarwinTools
];
outputs = [ "out" "static" ];
outputs = [
"out"
"static"
];
cmakeFlags = [
# Percona-specific flags.
@@ -73,6 +141,40 @@ stdenv.mkDerivation (finalAttrs: {
moveToOutput "lib/*.a" $static
so=${stdenv.hostPlatform.extensions.sharedLibrary}
ln -s libmysqlclient$so $out/lib/libmysqlclient_r$so
wrapProgram $out/bin/mysqld_safe --prefix PATH : ${
lib.makeBinPath [
coreutils
procps
gnugrep
gnused
hostname
]
}
wrapProgram $out/bin/mysql_config --prefix PATH : ${
lib.makeBinPath [
coreutils
gnused
]
}
wrapProgram $out/bin/ps_mysqld_helper --prefix PATH : ${
lib.makeBinPath [
coreutils
gnugrep
]
}
wrapProgram $out/bin/ps-admin --prefix PATH : ${
lib.makeBinPath [
coreutils
gnugrep
]
}
wrapProgram $out/bin/mysqld_multi --prefix PATH : ${
lib.makeBinPath [
coreutils
gnugrep
]
}
'';
passthru = {
@@ -88,6 +190,7 @@ stdenv.mkDerivation (finalAttrs: {
description = ''
A free, fully compatible, enhanced, open source drop-in replacement for
MySQL® that provides superior performance, scalability and instrumentation.
Long-term support release.
'';
license = licenses.gpl2;
maintainers = teams.flyingcircus.members;

View File

@@ -0,0 +1,221 @@
{
lib,
stdenv,
fetchurl,
bison,
cmake,
pkg-config,
boost,
icu,
libedit,
libevent,
lz4,
ncurses,
openssl,
perl,
protobuf,
re2,
readline,
zlib,
zstd,
libfido2,
numactl,
cctools,
CoreServices,
developer_cmds,
libtirpc,
rpcsvc-proto,
curl,
DarwinTools,
nixosTests,
coreutils,
procps,
gnused,
gnugrep,
hostname,
makeWrapper,
systemd,
# Percona-specific deps
cyrus_sasl,
gnumake,
openldap,
# optional: different malloc implementations
withJemalloc ? false,
withTcmalloc ? false,
jemalloc,
gperftools,
}:
assert !(withJemalloc && withTcmalloc);
stdenv.mkDerivation (finalAttrs: {
pname = "percona-server";
version = "8.4.0-1";
src = fetchurl {
url = "https://downloads.percona.com/downloads/Percona-Server-${lib.versions.majorMinor finalAttrs.version}/Percona-Server-${finalAttrs.version}/source/tarball/percona-server-${finalAttrs.version}.tar.gz";
hash = "sha256-76PXXqTNBVsD7RX2vhp7RyESiFpJL0h0zG9ucNfy3uQ=";
};
nativeBuildInputs = [
bison
cmake
pkg-config
makeWrapper
# required for scripts/CMakeLists.txt
coreutils
gnugrep
procps
] ++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ];
patches = [
./no-force-outline-atomics.patch # Do not force compilers to turn on -moutline-atomics switch
];
## NOTE: MySQL upstream frequently twiddles the invocations of libtool. When updating, you might proactively grep for libtool references.
postPatch = ''
substituteInPlace cmake/libutils.cmake --replace /usr/bin/libtool libtool
substituteInPlace cmake/os/Darwin.cmake --replace /usr/bin/libtool libtool
# The rocksdb setup script is called with `env -i` and cannot find anything in PATH.
patchShebangs storage/rocksdb/get_rocksdb_files.sh
substituteInPlace storage/rocksdb/get_rocksdb_files.sh --replace mktemp ${coreutils}/bin/mktemp
substituteInPlace storage/rocksdb/get_rocksdb_files.sh --replace "rm $MKFILE" "${coreutils}/bin/rm $MKFILE"
substituteInPlace storage/rocksdb/get_rocksdb_files.sh --replace "make --" "${gnumake}/bin/make --"
'';
buildInputs =
[
boost
(curl.override { inherit openssl; })
icu
libedit
libevent
lz4
ncurses
openssl
protobuf
re2
readline
zlib
zstd
libfido2
openldap
perl
cyrus_sasl
]
++ lib.optionals stdenv.isLinux [
numactl
libtirpc
systemd
]
++ lib.optionals stdenv.isDarwin [
cctools
CoreServices
developer_cmds
DarwinTools
]
++ lib.optional (stdenv.isLinux && withJemalloc) jemalloc
++ lib.optional (stdenv.isLinux && withTcmalloc) gperftools;
outputs = [
"out"
"static"
];
cmakeFlags =
[
# Percona-specific flags.
"-DPORTABLE=1"
"-DWITH_LDAP=system"
"-DROCKSDB_DISABLE_AVX2=1"
"-DROCKSDB_DISABLE_MARCH_NATIVE=1"
# Flags taken from mysql package.
"-DFORCE_UNSUPPORTED_COMPILER=1" # To configure on Darwin.
"-DWITH_ROUTER=OFF" # It may be packaged separately.
"-DWITH_SYSTEM_LIBS=ON"
"-DWITH_UNIT_TESTS=OFF"
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
"-DMYSQL_DATADIR=/var/lib/mysql"
"-DINSTALL_INFODIR=share/mysql/docs"
"-DINSTALL_MANDIR=share/man"
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
"-DINSTALL_INCLUDEDIR=include/mysql"
"-DINSTALL_DOCREADMEDIR=share/mysql"
"-DINSTALL_SUPPORTFILESDIR=share/mysql"
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
"-DINSTALL_MYSQLTESTDIR="
"-DINSTALL_DOCDIR=share/mysql/docs"
"-DINSTALL_SHAREDIR=share/mysql"
]
++ lib.optionals stdenv.isLinux [
"-DWITH_SYSTEMD=1"
"-DWITH_SYSTEMD_DEBUG=1"
]
++ lib.optional (stdenv.isLinux && withJemalloc) "-DWITH_JEMALLOC=1"
++ lib.optional (stdenv.isLinux && withTcmalloc) "-DWITH_TCMALLOC=1";
postInstall =
''
moveToOutput "lib/*.a" $static
so=${stdenv.hostPlatform.extensions.sharedLibrary}
ln -s libmysqlclient$so $out/lib/libmysqlclient_r$so
wrapProgram $out/bin/mysqld_safe --prefix PATH : ${
lib.makeBinPath [
coreutils
procps
gnugrep
gnused
hostname
]
}
wrapProgram $out/bin/mysql_config --prefix PATH : ${
lib.makeBinPath [
coreutils
gnused
]
}
wrapProgram $out/bin/ps_mysqld_helper --prefix PATH : ${
lib.makeBinPath [
coreutils
gnugrep
]
}
wrapProgram $out/bin/ps-admin --prefix PATH : ${
lib.makeBinPath [
coreutils
gnugrep
]
}
''
+ lib.optionalString stdenv.isDarwin ''
wrapProgram $out/bin/mysqld_multi --prefix PATH : ${
lib.makeBinPath [
coreutils
gnugrep
]
}
'';
passthru = {
client = finalAttrs.finalPackage;
connector-c = finalAttrs.finalPackage;
server = finalAttrs.finalPackage;
mysqlVersion = lib.versions.majorMinor finalAttrs.version;
tests = nixosTests.mysql.percona-server_innovation;
};
meta = with lib; {
homepage = "https://www.percona.com/software/mysql-database/percona-server";
description = ''
A free, fully compatible, enhanced, open source drop-in replacement for
MySQL® that provides superior performance, scalability and instrumentation.
Long-term support release.
'';
license = licenses.gpl2;
maintainers = teams.flyingcircus.members;
platforms = platforms.unix;
};
})

View File

@@ -1,12 +1,14 @@
pkgs: {
percona-server_lts = pkgs.callPackage ./lts.nix {
# old lts
percona-server_8_0 = pkgs.callPackage ./8_0.nix {
inherit (pkgs.darwin) cctools developer_cmds DarwinTools;
inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;
boost = pkgs.boost177; # Configure checks for specific version.
icu = pkgs.icu69;
# newer versions cause linking failures against `libabsl_spinlock_wait`
protobuf = pkgs.protobuf_21;
};
percona-server_innovation = pkgs.callPackage ./innovation.nix {
percona-server_8_4 = pkgs.callPackage ./8_4.nix {
inherit (pkgs.darwin) cctools developer_cmds DarwinTools;
inherit (pkgs.darwin.apple_sdk.frameworks) CoreServices;
# newer versions cause linking failures against `libabsl_spinlock_wait`

View File

@@ -1,112 +0,0 @@
{ lib, stdenv, fetchurl, bison, cmake, pkg-config
, boost, icu, libedit, libevent, lz4, ncurses, openssl, perl, protobuf, re2, readline, zlib, zstd, libfido2
, numactl, cctools, CoreServices, developer_cmds, libtirpc, rpcsvc-proto, curl, DarwinTools, nixosTests
, systemd
# Percona-specific deps
, coreutils, cyrus_sasl, gnumake, openldap
# optional: different malloc implementations
, withJemalloc ? false, withTcmalloc ? false, jemalloc, gperftools
}:
assert !(withJemalloc && withTcmalloc);
stdenv.mkDerivation (finalAttrs: {
pname = "percona-server_innovation";
version = "8.3.0-1";
src = fetchurl {
url = "https://downloads.percona.com/downloads/percona-distribution-mysql-ps/percona-distribution-mysql-ps-${builtins.head (lib.strings.split "-" finalAttrs.version)}/source/tarball/percona-server-${finalAttrs.version}.tar.gz";
hash = "sha256-GeuifzqCkStmb4qYa8147XBHvMogYwfsn0FyHdO4WEg";
};
nativeBuildInputs = [ bison cmake pkg-config ]
++ lib.optionals (!stdenv.isDarwin) [ rpcsvc-proto ];
patches = [
./no-force-outline-atomics.patch # Do not force compilers to turn on -moutline-atomics switch
];
## NOTE: MySQL upstream frequently twiddles the invocations of libtool. When updating, you might proactively grep for libtool references.
postPatch = ''
substituteInPlace cmake/libutils.cmake --replace /usr/bin/libtool libtool
substituteInPlace cmake/os/Darwin.cmake --replace /usr/bin/libtool libtool
# The rocksdb setup script is called with `env -i` and cannot find anything in PATH.
patchShebangs storage/rocksdb/get_rocksdb_files.sh
substituteInPlace storage/rocksdb/get_rocksdb_files.sh --replace mktemp ${coreutils}/bin/mktemp
substituteInPlace storage/rocksdb/get_rocksdb_files.sh --replace "rm $MKFILE" "${coreutils}/bin/rm $MKFILE"
substituteInPlace storage/rocksdb/get_rocksdb_files.sh --replace "make --" "${gnumake}/bin/make --"
'';
buildInputs = [
boost (curl.override { inherit openssl; }) icu libedit libevent lz4 ncurses openssl protobuf re2 readline zlib
zstd libfido2 openldap perl cyrus_sasl
] ++ lib.optionals stdenv.isLinux [
numactl libtirpc systemd
] ++ lib.optionals stdenv.isDarwin [
cctools CoreServices developer_cmds DarwinTools
]
++ lib.optional (stdenv.isLinux && withJemalloc) jemalloc
++ lib.optional (stdenv.isLinux && withTcmalloc) gperftools;
outputs = [ "out" "static" ];
cmakeFlags = [
# Percona-specific flags.
"-DPORTABLE=1"
"-DWITH_LDAP=system"
"-DROCKSDB_DISABLE_AVX2=1"
"-DROCKSDB_DISABLE_MARCH_NATIVE=1"
# Flags taken from mysql package.
"-DFORCE_UNSUPPORTED_COMPILER=1" # To configure on Darwin.
"-DWITH_ROUTER=OFF" # It may be packaged separately.
"-DWITH_SYSTEM_LIBS=ON"
"-DWITH_UNIT_TESTS=OFF"
"-DMYSQL_UNIX_ADDR=/run/mysqld/mysqld.sock"
"-DMYSQL_DATADIR=/var/lib/mysql"
"-DINSTALL_INFODIR=share/mysql/docs"
"-DINSTALL_MANDIR=share/man"
"-DINSTALL_PLUGINDIR=lib/mysql/plugin"
"-DINSTALL_INCLUDEDIR=include/mysql"
"-DINSTALL_DOCREADMEDIR=share/mysql"
"-DINSTALL_SUPPORTFILESDIR=share/mysql"
"-DINSTALL_MYSQLSHAREDIR=share/mysql"
"-DINSTALL_MYSQLTESTDIR="
"-DINSTALL_DOCDIR=share/mysql/docs"
"-DINSTALL_SHAREDIR=share/mysql"
] ++ lib.optionals stdenv.isLinux [
"-DWITH_SYSTEMD=1"
"-DWITH_SYSTEMD_DEBUG=1"
]
++ lib.optional (stdenv.isLinux && withJemalloc) "-DWITH_JEMALLOC=1"
++ lib.optional (stdenv.isLinux && withTcmalloc) "-DWITH_TCMALLOC=1";
postInstall = ''
moveToOutput "lib/*.a" $static
so=${stdenv.hostPlatform.extensions.sharedLibrary}
ln -s libmysqlclient$so $out/lib/libmysqlclient_r$so
'';
passthru = {
client = finalAttrs.finalPackage;
connector-c = finalAttrs.finalPackage;
server = finalAttrs.finalPackage;
mysqlVersion = lib.versions.majorMinor finalAttrs.version;
tests = nixosTests.mysql.percona-server_innovation;
};
meta = with lib; {
homepage = "https://www.percona.com/software/mysql-database/percona-server";
description = ''
A free, fully compatible, enhanced, open source drop-in replacement for
MySQL® that provides superior performance, scalability and instrumentation.
'';
license = licenses.gpl2;
maintainers = teams.flyingcircus.members;
platforms = platforms.unix;
};
})

View File

@@ -0,0 +1,20 @@
{ callPackage, ... }@args:
callPackage ./generic.nix (
args
// {
version = "8.0.35-31";
hash = "sha256-KHfgSi9bQlqsi5aDRBlSpdZgMfOrAwHK51k8KhQ9Udg=";
# includes https://github.com/Percona-Lab/libkmip.git
fetchSubmodules = true;
extraPatches = [
./abi-check.patch
];
extraPostInstall = ''
rm -r "$out"/docs
'';
}
)

View File

@@ -0,0 +1,18 @@
{ callPackage, ... }@args:
callPackage ./generic.nix (
args
// {
version = "8.4.0-1";
hash = "sha256-2tWRRYH0P0HZsWTxeuvDeVWvDwqjjdv6J7YiZwoTKtM=";
# includes https://github.com/Percona-Lab/libkmip.git
fetchSubmodules = true;
extraPatches =
[
];
extraPostInstall = '''';
}
)

View File

@@ -1,6 +1,6 @@
pkgs: {
percona-xtrabackup_lts = pkgs.callPackage ./lts.nix {
percona-xtrabackup_8_0 = pkgs.callPackage ./8_0.nix {
boost = pkgs.boost177;
};
percona-xtrabackup_innovation = pkgs.callPackage ./innovation.nix { };
percona-xtrabackup_8_4 = pkgs.callPackage ./8_4.nix { };
}

View File

@@ -1,8 +1,36 @@
{ lib, stdenv, fetchFromGitHub, bison, boost, cmake, makeWrapper, pkg-config
, curl, cyrus_sasl, libaio, libedit, libev, libevent, libgcrypt, libgpg-error, lz4
, ncurses, numactl, openssl, procps, protobuf, valgrind, xxd, zlib
, perlPackages
, version, hash, fetchSubmodules ? false, extraPatches ? [], extraPostInstall ? "", ...
{
lib,
stdenv,
fetchFromGitHub,
bison,
boost,
cmake,
makeWrapper,
pkg-config,
curl,
cyrus_sasl,
libaio,
libedit,
libev,
libevent,
libgcrypt,
libgpg-error,
lz4,
ncurses,
numactl,
openssl,
procps,
protobuf,
valgrind,
xxd,
zlib,
perlPackages,
version,
hash,
fetchSubmodules ? false,
extraPatches ? [ ],
extraPostInstall ? "",
...
}:
stdenv.mkDerivation (finalAttrs: {
@@ -16,12 +44,39 @@ stdenv.mkDerivation (finalAttrs: {
inherit hash fetchSubmodules;
};
nativeBuildInputs = [ bison boost cmake makeWrapper pkg-config ];
nativeBuildInputs = [
bison
boost
cmake
makeWrapper
pkg-config
];
buildInputs = [
(curl.override { inherit openssl; }) cyrus_sasl libaio libedit libevent libev libgcrypt libgpg-error lz4
ncurses numactl openssl procps protobuf valgrind xxd zlib
] ++ (with perlPackages; [ perl DBI DBDmysql ]);
buildInputs =
[
(curl.override { inherit openssl; })
cyrus_sasl
libaio
libedit
libevent
libev
libgcrypt
libgpg-error
lz4
ncurses
numactl
openssl
procps
protobuf
valgrind
xxd
zlib
]
++ (with perlPackages; [
perl
DBI
DBDmysql
]);
patches = extraPatches;
@@ -42,10 +97,12 @@ stdenv.mkDerivation (finalAttrs: {
"-DWITH_MAN_PAGES=OFF"
];
postInstall = ''
wrapProgram "$out"/bin/xtrabackup --prefix PERL5LIB : $PERL5LIB
rm -r "$out"/lib/plugin/debug
'' + extraPostInstall;
postInstall =
''
wrapProgram "$out"/bin/xtrabackup --prefix PERL5LIB : $PERL5LIB
rm -r "$out"/lib/plugin/debug
''
+ extraPostInstall;
passthru.mysqlVersion = lib.versions.majorMinor finalAttrs.version;

View File

@@ -1,15 +0,0 @@
{ callPackage, ... } @ args:
callPackage ./generic.nix (args // {
version = "8.3.0-1";
hash = "sha256-qZM2AFhpwrN0BR+DdozYn7s2I+c1tWpD5QvppTEfGEY=";
# includes https://github.com/Percona-Lab/libkmip.git
fetchSubmodules = true;
extraPatches = [
];
extraPostInstall = ''
'';
})

View File

@@ -1,17 +0,0 @@
{ callPackage, ... } @ args:
callPackage ./generic.nix (args // {
version = "8.0.35-30";
hash = "sha256-yagqBKU057Gk5pEyT2R3c5DtxNG/+TSPenFgbxUiHPo=";
# includes https://github.com/Percona-Lab/libkmip.git
fetchSubmodules = true;
extraPatches = [
./abi-check.patch
];
extraPostInstall = ''
rm -r "$out"/docs
'';
})

View File

@@ -84,6 +84,7 @@ mapAliases ({
archiveopteryx = throw "archiveopteryx depended on an unsupported version of OpenSSL and was unmaintained"; # Added 2024-01-03
ardour_6 = throw "ardour_6 has been removed in favor of newer versions"; # Added 2023-10-13
aria = aria2; # Added 2024-03-26
armcord = throw "ArmCord was renamed to legcord by the upstream developers. Action is required to migrate configurations between the two applications. Please see this PR for more details: https://github.com/NixOS/nixpkgs/pull/347971"; # Added 2024-10-11
aseprite-unfree = aseprite; # Added 2023-08-26
asls = throw "asls has been removed: abandoned by upstream"; # Added 2023-03-16
asterisk_16 = throw "asterisk_16: Asterisk 16 is end of life and has been removed"; # Added 2023-04-19
@@ -993,8 +994,6 @@ mapAliases ({
pdf2xml = throw "'pdf2xml' was removed: abandoned for years."; # Added 2023-10-22
peach = asouldocs; # Added 2022-08-28
pentablet-driver = xp-pen-g430-driver; # Added 2022-06-23
percona-server_8_0 = percona-server_lts; # Added 2024-05-07
percona-xtrabackup_8_0 = percona-xtrabackup_lts; # Added 2024-05-07
perldevel = throw "'perldevel' has been dropped due to lack of updates in nixpkgs and lack of consistent support for devel versions by 'perl-cross' releases, use 'perl' instead";
perldevelPackages = perldevel;
pgadmin = pgadmin4;

View File

@@ -11602,9 +11602,15 @@ with pkgs;
perceptualdiff = callPackage ../tools/graphics/perceptualdiff { };
inherit (import ../servers/sql/percona-server pkgs) percona-server_lts percona-server_innovation;
inherit (import ../servers/sql/percona-server pkgs) percona-server_8_0 percona-server_8_4;
percona-server_lts = percona-server_8_0;
# temporarily, latest LTS and Innovation release are equal
percona-server_innovation = percona-server_8_4;
percona-server = percona-server_lts;
inherit (import ../tools/backup/percona-xtrabackup pkgs) percona-xtrabackup_lts percona-xtrabackup_innovation;
inherit (import ../tools/backup/percona-xtrabackup pkgs) percona-xtrabackup_8_0 percona-xtrabackup_8_4;
percona-xtrabackup_lts = percona-xtrabackup_8_0;
# temporarily, latest LTS and Innovation release are equal
percona-xtrabackup_innovation = percona-xtrabackup_8_4;
percona-xtrabackup = percona-xtrabackup_lts;
pick = callPackage ../tools/misc/pick { };
@@ -29720,9 +29726,6 @@ with pkgs;
boost = boost175;
};
armcord = callPackage ../applications/networking/instant-messengers/armcord { };
aumix = callPackage ../applications/audio/aumix {
gtkGUI = false;
};