Merge master into staging-next

This commit is contained in:
github-actions[bot] 2023-10-09 06:01:20 +00:00 committed by GitHub
commit 8443de20df
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
18 changed files with 766 additions and 888 deletions

View File

@ -829,6 +829,12 @@
githubId = 5892756;
name = "Alec Snyder";
};
allusive = {
email = "jasper@allusive.dev";
name = "Allusive";
github = "allusive-dev";
githubId = 99632976;
};
almac = {
email = "alma.cemerlic@gmail.com";
github = "a1mac";
@ -19091,7 +19097,7 @@
];
};
yayayayaka = {
email = "nixpkgs@uwu.is";
email = "github@uwu.is";
matrix = "@yaya:uwu.is";
github = "yayayayaka";
githubId = 73759599;

View File

@ -4,14 +4,15 @@ with lib;
let
cfg = config.services.locate;
isMLocate = hasPrefix "mlocate" cfg.locate.name;
isPLocate = hasPrefix "plocate" cfg.locate.name;
isMLocate = hasPrefix "mlocate" cfg.package.name;
isPLocate = hasPrefix "plocate" cfg.package.name;
isMorPLocate = isMLocate || isPLocate;
isFindutils = hasPrefix "findutils" cfg.locate.name;
isFindutils = hasPrefix "findutils" cfg.package.name;
in
{
imports = [
(mkRenamedOptionModule [ "services" "locate" "period" ] [ "services" "locate" "interval" ])
(mkRenamedOptionModule [ "services" "locate" "locate" ] [ "services" "locate" "package" ])
(mkRemovedOptionModule [ "services" "locate" "includeStore" ] "Use services.locate.prunePaths")
];
@ -25,10 +26,10 @@ in
'';
};
locate = mkOption {
package = mkOption {
type = package;
default = pkgs.findutils.locate;
defaultText = literalExpression "pkgs.findutils";
defaultText = literalExpression "pkgs.findutils.locate";
example = literalExpression "pkgs.mlocate";
description = lib.mdDoc ''
The locate implementation to use
@ -218,11 +219,11 @@ in
};
mlocate = mkIf isMLocate {
group = "mlocate";
source = "${cfg.locate}/bin/locate";
source = "${cfg.package}/bin/locate";
};
plocate = mkIf isPLocate {
group = "plocate";
source = "${cfg.locate}/bin/plocate";
source = "${cfg.package}/bin/plocate";
};
in
mkIf isMorPLocate {
@ -230,7 +231,7 @@ in
plocate = mkIf isPLocate (mkMerge [ common plocate ]);
};
environment.systemPackages = [ cfg.locate ];
environment.systemPackages = [ cfg.package ];
environment.variables.LOCATE_PATH = cfg.output;
@ -268,13 +269,13 @@ in
args = concatLists (map toFlags [ "pruneFS" "pruneNames" "prunePaths" ]);
in
''
exec ${cfg.locate}/bin/updatedb \
exec ${cfg.package}/bin/updatedb \
--output ${toString cfg.output} ${concatStringsSep " " args} \
--prune-bind-mounts ${if cfg.pruneBindMounts then "yes" else "no"} \
${concatStringsSep " " cfg.extraFlags}
''
else ''
exec ${cfg.locate}/bin/updatedb \
exec ${cfg.package}/bin/updatedb \
${optionalString (cfg.localuser != null && !isMorPLocate) "--localuser=${cfg.localuser}"} \
--output=${toString cfg.output} ${concatStringsSep " " cfg.extraFlags}
'';

View File

@ -2,7 +2,7 @@
buildGoPackage rec {
pname = "distribution";
version = "2.8.2";
version = "2.8.3";
rev = "v${version}";
goPackagePath = "github.com/docker/distribution";
@ -11,7 +11,7 @@ buildGoPackage rec {
owner = "docker";
repo = "distribution";
inherit rev;
sha256 = "sha256-aBAUyM+MtRZAA6Jxu4cFyRIo5OU+7IdLKdQqgm0AFPI=";
sha256 = "sha256-6/clOTkI1JnDjb+crcHmjbQlaqffP/sntGqUB2ftajU=";
};
meta = with lib; {

View File

@ -0,0 +1,24 @@
{ picom, lib, fetchFromGitHub }:
picom.overrideAttrs (oldAttrs: rec {
pname = "picom-allusive";
version = "0.3.1";
src = fetchFromGitHub {
owner = "allusive-dev";
repo = "picom-allusive";
rev = version;
hash = "sha256-lk4Ll0mi9h3BAqwgOzFQw4WYKnSW9XTl3PjoK2E4WKg=";
};
postInstall = ''
chmod +x $out/bin/picom-trans
'' + (lib.optionalString (oldAttrs ? postInstall) oldAttrs.postInstall);
meta = {
description = "A fork of picom featuring improved animations and other features";
homepage = "https://github.com/allusive-dev/picom-allusive";
license = with lib.licenses; [ mit mpl20 ];
maintainers = with lib.maintainers; [ allusive ];
};
})

View File

@ -0,0 +1,85 @@
{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, gperf
, kmod
, pkg-config
, util-linux
}:
stdenv.mkDerivation (finalAttrs: {
pname = "eudev";
version = "3.2.14";
src = fetchFromGitHub {
owner = "eudev-project";
repo = "eudev";
rev = "v${finalAttrs.version}";
hash = "sha256-v/szzqrBedQPRGYkZ0lV9rslCH//uqGp4PHEF0/51Lg=";
};
nativeBuildInputs = [
autoreconfHook
gperf
pkg-config
];
buildInputs = [
kmod
util-linux
];
configureFlags = [
"--localstatedir=/var"
"--sysconfdir=/etc"
];
makeFlags = [
"hwdb_bin=/var/lib/udev/hwdb.bin"
"udevrulesdir=/etc/udev/rules.d"
];
preInstall = ''
# Disable install-exec-hook target, as it conflicts with our move-sbin
# setup-hook
sed -i 's;$(MAKE) $(AM_MAKEFLAGS) install-exec-hook;$(MAKE) $(AM_MAKEFLAGS);g' src/udev/Makefile
'';
installFlags = [
"localstatedir=$(TMPDIR)/var"
"sysconfdir=$(out)/etc"
"udevconfdir=$(out)/etc/udev"
"udevhwdbbin=$(out)/var/lib/udev/hwdb.bin"
"udevhwdbdir=$(out)/var/lib/udev/hwdb.d"
"udevrulesdir=$(out)/var/lib/udev/rules.d"
];
meta = {
homepage = "https://github.com/eudev-project/eudev";
description = "A fork of udev with the aim of isolating it from init";
longDescription = ''
eudev is a standalone dynamic and persistent device naming support (aka
userspace devfs) daemon that runs independently from the init
system. eudev strives to remain init system and linux distribution
neutral. It is currently used as the devfs manager for more than a dozen
different linux distributions.
This git repo is a fork of systemd repository with the aim of isolating
udev from any particular flavor of system initialization. In this case,
the isolation is from systemd.
This is a project started by Gentoo developers and testing was initially
being done mostly on OpenRC. We welcome contribution from others using a
variety of system initializations to ensure eudev remains system
initialization and distribution neutral. On 2021-08-20 Gentoo decided to
abandon eudev and a new project was established on 2021-09-14 by Alpine,
Devuan and Gentoo contributors.
'';
changelog = "https://github.com/eudev-project/eudev/releases/tag/${finalAttrs.src.rev}";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ raskin AndersonTorres ];
inherit (kmod.meta) platforms;
};
})

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "fsatrace";
version = "0.0.1-324";
version = "0.0.5";
src = fetchFromGitHub {
owner = "jacereda";
repo = "fsatrace";
rev = "41fbba17da580f81ababb32ec7e6e5fd49f11473";
sha256 = "1ihm2v723idd6m0kc1z9v73hmfvh2v0vjs8wvx5w54jaxh3lmj1y";
rev = "5af79511828ca6cea4e5dd9f28e1676fb0b705e9";
"hash" = "sha256-pn07qlrRaM153znEviziuKWrkX9cLsNFCujovmE4UUA=";
};
installDir = "libexec/${pname}-${version}";

File diff suppressed because it is too large Load Diff

View File

@ -15,19 +15,19 @@ let
in
rustPlatform.buildRustPackage rec {
pname = "cargo-leptos";
version = "0.1.11";
version = "0.2.0";
src = fetchFromGitHub {
owner = "leptos-rs";
repo = pname;
rev = "v${version}";
hash = "sha256-hZevu2lwyYFenABu1uV7/mZc7SXfLzR6Pdmc3zHJ2vw=";
hash = "sha256-+qAXBLV+Jn1qWG7TThn4twUBvN7lO4MX2SSo/gdjgFY=";
};
cargoLock = {
lockFile = ./Cargo.lock;
outputHashes = {
"leptos_hot_reload-0.3.0" = "sha256-Pl3nZaz5r5ZFagytLMczIyXEWQ6AFLb3+TrI/6Sevig=";
"leptos_hot_reload-0.5.0" = "sha256-huOwadWMYPGGWmZHxztFPPzs4UhIPEmq9rKOB6WPCTE=";
};
};

View File

@ -7,21 +7,21 @@
let
pname = "osu-lazer-bin";
version = "2023.924.1";
version = "2023.1008.0";
name = "${pname}-${version}";
osu-lazer-bin-src = {
aarch64-darwin = {
url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Apple.Silicon.zip";
sha256 = "sha256-ZCTKVad1XArHxTa9nZfrSf6xFd0TNwryw9v+Doehurg=";
sha256 = "sha256-gtXbccVrQ2edEcDR7wG2Upv4b4a64tvu+/fiKghMquM=";
};
x86_64-darwin = {
url = "https://github.com/ppy/osu/releases/download/${version}/osu.app.Intel.zip";
sha256 = "sha256-tvEUePRmOOwWugvZ32LOcptQCI/0LZv7uWG8mLjoy5c=";
sha256 = "sha256-qo4EovNt158XXfYOek4lmil2Qwv185fLjZIaBsXzw74=";
};
x86_64-linux = {
url = "https://github.com/ppy/osu/releases/download/${version}/osu.AppImage";
sha256 = "sha256-oEfH6ctsiMrV6p8p7OdwNUBzGK7AERlmuAL1MXc0o4w=";
sha256 = "sha256-aZDRwZeCC4qBNktLeD7ezbp1Bydf6mP8crtpdayUiqI=";
};
}.${stdenv.system} or (throw "${pname}-${version}: ${stdenv.system} is unsupported.");

View File

@ -1,66 +0,0 @@
{ lib
, stdenv
, fetchFromGitHub
, autoreconfHook
, gperf
, kmod
, pkg-config
, util-linux
}:
stdenv.mkDerivation rec {
pname = "eudev";
version = "3.2.14";
src = fetchFromGitHub {
owner = "eudev-project";
repo = pname;
rev = "v${version}";
hash = "sha256-v/szzqrBedQPRGYkZ0lV9rslCH//uqGp4PHEF0/51Lg=";
};
nativeBuildInputs = [
autoreconfHook
gperf
pkg-config
];
buildInputs = [
kmod
util-linux
];
configureFlags = [
"--localstatedir=/var"
"--sysconfdir=/etc"
];
makeFlags = [
"hwdb_bin=/var/lib/udev/hwdb.bin"
"udevrulesdir=/etc/udev/rules.d"
];
preInstall = ''
# Disable install-exec-hook target,
# as it conflicts with our move-sbin setup-hook
sed -i 's;$(MAKE) $(AM_MAKEFLAGS) install-exec-hook;$(MAKE) $(AM_MAKEFLAGS);g' src/udev/Makefile
'';
installFlags = [
"localstatedir=$(TMPDIR)/var"
"sysconfdir=$(out)/etc"
"udevconfdir=$(out)/etc/udev"
"udevhwdbbin=$(out)/var/lib/udev/hwdb.bin"
"udevhwdbdir=$(out)/var/lib/udev/hwdb.d"
"udevrulesdir=$(out)/var/lib/udev/rules.d"
];
meta = with lib; {
homepage = "https://github.com/eudev-project/eudev";
description = "A fork of udev with the aim of isolating it from init";
license = licenses.gpl2Plus ;
maintainers = with maintainers; [ raskin AndersonTorres ];
platforms = platforms.linux;
};
}

View File

@ -1,5 +1,5 @@
diff --git a/data/bios-settings.d/meson.build b/data/bios-settings.d/meson.build
index b0ff5b10..13ac380d 100644
index b0ff5b106..13ac380d0 100644
--- a/data/bios-settings.d/meson.build
+++ b/data/bios-settings.d/meson.build
@@ -1,5 +1,5 @@
@ -10,7 +10,7 @@ index b0ff5b10..13ac380d 100644
)
endif
diff --git a/data/meson.build b/data/meson.build
index 8999ee57..b57174dc 100644
index e13da4adf..6858c240f 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -26,7 +26,7 @@ endif
@ -23,7 +23,7 @@ index 8999ee57..b57174dc 100644
)
plugin_quirks += files([
diff --git a/data/pki/meson.build b/data/pki/meson.build
index 3649fece..c3462744 100644
index 3649fecea..c3462744b 100644
--- a/data/pki/meson.build
+++ b/data/pki/meson.build
@@ -12,13 +12,13 @@ install_data([
@ -57,7 +57,7 @@ index 3649fece..c3462744 100644
)
endif
diff --git a/data/remotes.d/meson.build b/data/remotes.d/meson.build
index c20a1a05..5354bac7 100644
index c20a1a05e..5354bac7f 100644
--- a/data/remotes.d/meson.build
+++ b/data/remotes.d/meson.build
@@ -15,14 +15,14 @@ if build_standalone and get_option('lvfs') != 'false'
@ -93,10 +93,10 @@ index c20a1a05..5354bac7 100644
+ install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'),
)
diff --git a/meson.build b/meson.build
index fa7a5599..5b53a407 100644
index ca6ccdf92..0a3097d90 100644
--- a/meson.build
+++ b/meson.build
@@ -191,6 +191,12 @@ endif
@@ -195,6 +195,12 @@ endif
mandir = join_paths(prefix, get_option('mandir'))
localedir = join_paths(prefix, get_option('localedir'))
@ -107,32 +107,24 @@ index fa7a5599..5b53a407 100644
+endif
+
diffcmd = find_program('diff')
gio = dependency('gio-2.0', version: '>= 2.45.8')
giounix = dependency('gio-unix-2.0', version: '>= 2.45.8', required: false)
gio = dependency('gio-2.0', version: '>= 2.68.0')
giounix = dependency('gio-unix-2.0', version: '>= 2.68.0', required: false)
diff --git a/meson_options.txt b/meson_options.txt
index 81d373f8..d214cf64 100644
index 877891126..986d0ee31 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -1,3 +1,4 @@
+option('sysconfdir_install', type: 'string', value: '', description: 'sysconfdir to use during installation')
option('build', type : 'combo', choices : ['all', 'standalone', 'library'], value : 'all', description : 'build type')
option('consolekit', type : 'feature', description : 'ConsoleKit support', deprecated: {'true': 'enabled', 'false': 'disabled'})
option('static_analysis', type : 'boolean', value : false, description : 'enable GCC static analysis support')
diff --git a/plugins/dell-esrt/meson.build b/plugins/dell-esrt/meson.build
index 88c039f8..62a7691f 100644
--- a/plugins/dell-esrt/meson.build
+++ b/plugins/dell-esrt/meson.build
@@ -27,6 +27,6 @@ configure_file(
output: 'dell-esrt.conf',
configuration: con2,
install: true,
- install_dir: join_paths(sysconfdir, 'fwupd', 'remotes.d'),
+ install_dir: join_paths(sysconfdir_install, 'fwupd', 'remotes.d'),
)
endif
@@ -1,3 +1,8 @@
+option('sysconfdir_install',
+ type: 'string',
+ value: '',
+ description: 'sysconfdir to use during installation'
+)
option('build',
type: 'combo',
choices: [
diff --git a/plugins/uefi-capsule/meson.build b/plugins/uefi-capsule/meson.build
index f4657a6a..28ca0653 100644
index eb196c21e..c9a29f680 100644
--- a/plugins/uefi-capsule/meson.build
+++ b/plugins/uefi-capsule/meson.build
@@ -20,7 +20,7 @@ if host_machine.system() == 'linux'
@ -144,5 +136,3 @@ index f4657a6a..28ca0653 100644
)
elif host_machine.system() == 'freebsd'
backend_srcs += 'fu-uefi-backend-freebsd.c'
--
2.40.1

View File

@ -124,7 +124,7 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "fwupd";
version = "1.9.5";
version = "1.9.6";
# libfwupd goes to lib
# daemon, plug-ins and libfwupdplugin go to out
@ -135,7 +135,7 @@ stdenv.mkDerivation (finalAttrs: {
owner = "fwupd";
repo = "fwupd";
rev = finalAttrs.version;
hash = "sha256-dqbFgVgG2RQM5ZHIEIIJOmrjtwlaRXEyY+2OdDs4PGo=";
hash = "sha256-9mA6gETnOmmkI+cdF0kP1moPV6DDvASq1JXarupM/tU=";
};
patches = [
@ -213,6 +213,7 @@ stdenv.mkDerivation (finalAttrs: {
"-Dplugin_dummy=true"
# We are building the official releases.
"-Dsupported_build=enabled"
"-Dlaunchd=disabled"
"-Dudevdir=lib/udev"
"-Dsystemd_root_prefix=${placeholder "out"}"
"-Dinstalled_test_prefix=${placeholder "installedTests"}"
@ -350,8 +351,6 @@ stdenv.mkDerivation (finalAttrs: {
"pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service"
"pki/fwupd-metadata/LVFS-CA.pem"
"grub.d/35_fwupd"
] ++ lib.optionals haveDell [
"fwupd/remotes.d/dell-esrt.conf"
];
# DisabledPlugins key in fwupd/daemon.conf

View File

@ -1,8 +1,8 @@
diff --git a/data/installed-tests/meson.build b/data/installed-tests/meson.build
index be3d5c6d9..14d45dcaf 100644
index dfce86b1c..5e34c4fa6 100644
--- a/data/installed-tests/meson.build
+++ b/data/installed-tests/meson.build
@@ -83,5 +83,5 @@ configure_file(
@@ -86,5 +86,5 @@ configure_file(
output: 'fwupd-tests.conf',
configuration: con2,
install: true,
@ -10,10 +10,10 @@ index be3d5c6d9..14d45dcaf 100644
+ install_dir: join_paths(get_option('installed_test_prefix'), 'etc', 'fwupd', 'remotes.d'),
)
diff --git a/meson.build b/meson.build
index 30011f548..7ac8c937a 100644
index ca6ccdf92..36b1b47b0 100644
--- a/meson.build
+++ b/meson.build
@@ -186,8 +186,8 @@ else
@@ -188,8 +188,8 @@ else
datadir = join_paths(prefix, get_option('datadir'))
sysconfdir = join_paths(prefix, get_option('sysconfdir'))
localstatedir = join_paths(prefix, get_option('localstatedir'))
@ -24,7 +24,7 @@ index 30011f548..7ac8c937a 100644
daemon_dir = join_paths(libexecdir, 'fwupd')
endif
mandir = join_paths(prefix, get_option('mandir'))
@@ -498,6 +498,7 @@ gnome = import('gnome')
@@ -497,6 +497,7 @@ gnome = import('gnome')
i18n = import('i18n')
conf.set_quoted('FWUPD_PREFIX', prefix)
@ -33,14 +33,17 @@ index 30011f548..7ac8c937a 100644
conf.set_quoted('FWUPD_LIBDIR', libdir)
conf.set_quoted('FWUPD_LIBEXECDIR', libexecdir)
diff --git a/meson_options.txt b/meson_options.txt
index 6fc7e8437..29832fd08 100644
index 877891126..bfc5d1afd 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -57,6 +57,7 @@ option('systemd', type : 'feature', description : 'systemd support', deprecated:
option('systemd_unit_user', type : 'string', description : 'User account to use for fwupd-refresh.service (empty for DynamicUser)')
option('systemd_root_prefix', type: 'string', value: '', description: 'Directory to base systemds installation directories on')
option('elogind', type : 'feature', description : 'elogind support', deprecated: {'true': 'enabled', 'false': 'disabled'})
+option('installed_test_prefix', type: 'string', description: 'Prefix for installed tests')
option('tests', type : 'boolean', value : true, description : 'enable tests')
option('soup_session_compat', type : 'boolean', value : true, description : 'enable SoupSession runtime compatibility support')
option('curl', type : 'feature', description : 'libcurl support', deprecated: {'true': 'enabled', 'false': 'disabled'})
@@ -452,6 +452,10 @@ option('elogind',
'false': 'disabled',
},
)
+option('installed_test_prefix',
+ type: 'string',
+ description: 'Prefix for installed tests'
+)
option('tests',
type: 'boolean',
value: true,

View File

@ -73,17 +73,6 @@ lib.makeScope
bootGawk = gawk-mes;
};
gcc2 = callPackage ./gcc/2.nix {
bash = bash_2_05;
gcc = gcc2-mes;
glibc = glibc22;
};
gcc2-mes = callPackage ./gcc/2.nix {
bash = bash_2_05;
tinycc = tinycc-mes;
mesBootstrap = true;
};
gcc46 = callPackage ./gcc/4.6.nix {
tinycc = tinycc-musl;
gnumake = gnumake-musl;
@ -115,11 +104,6 @@ lib.makeScope
gawk = gawk-mes;
};
inherit (callPackage ./glibc {
bash = bash_2_05;
gnused = gnused-mes;
}) glibc22;
gnugrep = callPackage ./gnugrep {
bash = bash_2_05;
tinycc = tinycc-mes;
@ -226,8 +210,6 @@ lib.makeScope
echo ${findutils.tests.get-version}
echo ${gawk-mes.tests.get-version}
echo ${gawk.tests.get-version}
echo ${gcc2.tests.get-version}
echo ${gcc2-mes.tests.get-version}
echo ${gcc46.tests.get-version}
echo ${gcc46-cxx.tests.hello-world}
echo ${gcc8.tests.hello-world}

View File

@ -1,140 +0,0 @@
{ lib
, buildPlatform
, hostPlatform
, fetchurl
, bash
, gnumake
, gnupatch
, gnugrep
, gnutar
, gzip
, heirloom
, binutils
, mesBootstrap ? false, tinycc ? null, mes-libc
, gcc ? null, glibc ? null, linux-headers
}:
assert mesBootstrap -> tinycc != null;
assert !mesBootstrap -> gcc != null && glibc != null;
let
# Gcc-2.95.3 is the most recent GCC that is supported by what the Mes C
# Library v0.16 offers. Gcc-3.x (and 4.x) place higher demands on a C
# library, such as dir.h/struct DIR/readdir, locales, signals... Also,
# with gcc-2.95.3, binutils (2.14.0, 2.20.1a) and glibc-2.2.5 we found a
# GNU toolchain triplet "that works".
# - from guix/gnu/packages/commencement.scm
pname = "gcc" + lib.optionalString mesBootstrap "-mes";
version = "2.95.3";
src = fetchurl {
url = "mirror://gnu/gcc/gcc-${version}/gcc-core-${version}.tar.gz";
sha256 = "1xvfy4pqhrd5v2cv8lzf63iqg92k09g6z9n2ah6ndd4h17k1x0an";
};
patches = [
# This patch enables building gcc-2.95.3 using TCC and Mes C Library.
# * Disable building DOC
# * Avoid running `fixproto'.
# * Force running `fixinc'.
# * Replace Makefile trickery of creating an libgcc1.a archive, then
# extracting the .o files later to create a new libgcc2.a archive.
# Instead, keep temporary .o files.
(fetchurl {
url = "https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/gcc-boot-2.95.3.patch?id=50249cab3a98839ade2433456fe618acc6f804a5";
sha256 = "03l3jaxch6d76mx4zkn6ky64paj58jk0biddck01qd4bnw9z8hiw";
})
];
makeFlags = [
"LANGUAGES=c"
] ++ lib.optionals mesBootstrap [
"LIBGCC2_INCLUDES=\"-I ${mes-libc}/include\""
"BOOT_LDFLAGS=\" -B ${tinycc.libs}/lib\""
] ++ lib.optionals (!mesBootstrap) [
"LIBGCC2_INCLUDES=\"-I ${glibc}/include -I ${linux-headers}/include\""
];
in
bash.runCommand "${pname}-${version}" {
inherit pname version;
nativeBuildInputs = [
(if mesBootstrap then tinycc.compiler else gcc)
gnumake
gnupatch
gnugrep
gnutar
gzip
heirloom.sed
binutils
];
passthru.tests.get-version = result:
bash.runCommand "${pname}-get-version-${version}" {} ''
${result}/bin/gcc --version
mkdir $out
'';
meta = with lib; {
description = "GNU Compiler Collection, version ${version}";
homepage = "https://gcc.gnu.org";
license = licenses.gpl3Plus;
maintainers = teams.minimal-bootstrap.members;
platforms = platforms.unix;
};
} ''
# Unpack
tar xzf ${src}
cd gcc-${version}
# Patch
${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches}
# /build/glibc-2.2.5/intl/loadmsgcat.c:334: multiple definition of `_nl_load_domain'
# ../intl/libintl.a(loadmsgcat.o):/build/gcc-2.95.3/texinfo/intl/loadmsgcat.c:66: first defined here
rm -R texinfo
mkdir -p texinfo
echo 'all:'>texinfo/Makefile.in
echo 'install:'>>texinfo/Makefile.in
# Configure
${if mesBootstrap then ''
export CC="tcc -B ${tinycc.libs}/lib -D __GLIBC_MINOR__=6"
export CPP="tcc -E"
export ac_cv_func_setlocale=no
'' else ''
export CC="gcc -I${glibc}/include -I${linux-headers}/include -I${gcc}/lib/gcc-lib/${hostPlatform.config}/${version}/include"
export CPP="gcc -E -I${glibc}/include -I${linux-headers}/include -I${gcc}/lib/gcc-lib/${hostPlatform.config}/${version}/include"
export LIBRARY_PATH="${glibc}/lib"
export LIBS="-lc -lnss_files -lnss_dns -lresolv"
''}
export OLDCC="$CC"
export CC_FOR_BUILD="$CC"
export AR=ar
export RANLIB=ranlib
export ac_cv_c_float_format='IEEE (little-endian)'
bash ./configure \
--build=${buildPlatform.config} \
--host=${hostPlatform.config} \
--enable-static \
--disable-shared \
--disable-werror \
--prefix=$out
# no info at this stage
touch gcc/cpp.info gcc/gcc.info
# Build
make ${lib.concatStringsSep " " makeFlags}
# Install
make install
mkdir tmp
cd tmp
ar x ../gcc/libgcc2.a
${lib.optionalString mesBootstrap "ar x ${tinycc.libs}/lib/libtcc1.a"}
ar r $out/lib/gcc-lib/${hostPlatform.config}/${version}/libgcc.a *.o
cd ..
cp gcc/libgcc2.a $out/lib/libgcc2.a
${lib.optionalString mesBootstrap ''
ar x ${tinycc.libs}/lib/libtcc1.a
ar x ${tinycc.libs}/lib/libc.a
ar r $out/lib/gcc-lib/${hostPlatform.config}/${version}/libc.a libc.o libtcc1.o
''}
''

View File

@ -1,120 +0,0 @@
{ lib
, buildPlatform
, hostPlatform
, fetchurl
, bash
, gcc2-mes
, gnumake
, gnupatch
, gnused
, gnugrep
, gnutar
, gzip
, gawk
, heirloom
, binutils
, linux-headers
}:
let
pname = "glibc";
buildGlibc = { version, src, patches, configureFlags, gcc, CC, CPP }:
bash.runCommand "${pname}-${version}" {
inherit pname version;
nativeBuildInputs = [
gcc
gnumake
gnupatch
gnused
gnugrep
gnutar
gzip
gawk
binutils
];
meta = with lib; {
description = "The GNU C Library";
homepage = "https://www.gnu.org/software/libc";
license = licenses.lgpl2Plus;
maintainers = teams.minimal-bootstrap.members;
platforms = platforms.linux;
};
} ''
# Unpack
tar xzf ${src}
cd glibc-${version}
# Patch
${lib.concatMapStringsSep "\n" (f: "patch -Np1 -i ${f}") patches}
# Configure
export CC="${CC}"
export CPP="${CPP}"
bash ./configure --prefix=$out ${lib.concatStringsSep " " (
[
"--build=${buildPlatform.config}"
"--host=${hostPlatform.config}"
"--with-headers=${linux-headers}/include"
"--enable-static"
"--disable-shared"
] ++ configureFlags)}
# Build
make
# Install
# GNU sed w/ mes-libc crashes on certain stdio actions
export PATH="${heirloom.sed}/bin:$PATH"
make install
'';
in
{
glibc22 = buildGlibc rec {
# GNU C Library 2.2.5 is the most recent glibc that we managed to build
# using gcc-2.95.3. Newer versions (2.3.x, 2.6, 2.1x) seem to need a newer
# gcc.
# - from guix/gnu/packages/commencement.scm
version = "2.2.5";
src = fetchurl {
url = "mirror://gnu/glibc/glibc-${version}.tar.gz";
sha256 = "1vl48i16gx6h68whjyhgnn1s57vqq32f9ygfa2fls7pdkbsqvp2q";
};
patches = [
# This patch enables building glibc-2.2.5 using TCC and GNU Make 4.x and Mes C Library.
# * Makefile: Do not assemble from stdin, use file indirection.
# * Makefile: Add new target: install-lib-all.
# * Makefile: Avoid building stub DOC.
# * [_LIBC_REENTRANT]: Add missing guarding.
# * [MES_BOOTSTRAP]: Disable some GCC extensions.
# * [MES_BOOTSTRAP]: Add missing GCC div/mod defines.
(fetchurl {
url = "https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/glibc-boot-${version}.patch?id=50249cab3a98839ade2433456fe618acc6f804a5";
sha256 = "1nyz2dr9g7scqwwygd6jvbl7xxpwh11ryvgdz8aikkkna02q1pm8";
})
# We want to allow builds in chroots that lack /bin/sh. Thus, system(3)
# and popen(3) need to be tweaked to use the right shell. For the bootstrap
# glibc, we just use whatever `sh' can be found in $PATH. The final glibc
# instead uses the hard-coded absolute file name of `bash'.
(fetchurl {
url = "https://git.savannah.gnu.org/cgit/guix.git/plain/gnu/packages/patches/glibc-bootstrap-system-${version}.patch?id=50249cab3a98839ade2433456fe618acc6f804a5";
sha256 = "1l67w9rysrlsg2i0r210qxxn37h2969ba9lx7pp3ywlnikvi98m8";
})
];
configureFlags = [
"--disable-sanity-checks"
"--enable-static-nss"
"--without-__thread"
"--without-cvs"
"--without-gd"
"--without-tls"
];
gcc = gcc2-mes;
CC = "gcc -D MES_BOOTSTRAP=1 -D BOOTSTRAP_GLIBC=1 -L $(pwd)";
CPP = "gcc -E -D MES_BOOTSTRAP=1 -D BOOTSTRAP_GLIBC=1";
};
}

View File

@ -8,10 +8,10 @@ buildGoModule rec {
owner = "prometheus-community";
repo = "pgbouncer_exporter";
rev = "v${version}";
sha256 = "sha256-2N8FaGk6AU39j4q22B2Om5E7BeR7iw9drl3PTOBO2kg=";
hash = "sha256-2N8FaGk6AU39j4q22B2Om5E7BeR7iw9drl3PTOBO2kg=";
};
vendorSha256 = "sha256-2aaUlOokqYkjMpcM12mU+O+N09/mDPlIrJ4Z1iXJAyk=";
vendorHash = "sha256-2aaUlOokqYkjMpcM12mU+O+N09/mDPlIrJ4Z1iXJAyk=";
meta = with lib; {
description = "Prometheus exporter for PgBouncer";

View File

@ -29098,7 +29098,9 @@ with pkgs;
uclibc = uclibc-ng;
uclibcCross = uclibc-ng-cross;
eudev = callPackage ../os-specific/linux/eudev { util-linux = util-linuxMinimal; };
eudev = callPackage ../by-name/eu/eudev/package.nix {
util-linux = util-linuxMinimal;
};
libudev0-shim = callPackage ../os-specific/linux/libudev0-shim { };
@ -36832,6 +36834,8 @@ with pkgs;
picom = callPackage ../applications/window-managers/picom { };
picom-allusive = callPackage ../applications/window-managers/picom/picom-allusive.nix { };
picom-jonaburg = callPackage ../applications/window-managers/picom/picom-jonaburg.nix { };
picom-next = callPackage ../applications/window-managers/picom/picom-next.nix { };