Merge master into staging-next

This commit is contained in:
github-actions[bot] 2021-02-17 00:36:31 +00:00 committed by GitHub
commit 79b7a67b55
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
59 changed files with 2028 additions and 1319 deletions

View file

@ -3499,6 +3499,12 @@
githubId = 6893840; githubId = 6893840;
name = "Yacine Hmito"; name = "Yacine Hmito";
}; };
graham33 = {
email = "graham@grahambennett.org";
github = "graham33";
githubId = 10908649;
name = "Graham Bennett";
};
grahamc = { grahamc = {
email = "graham@grahamc.com"; email = "graham@grahamc.com";
github = "grahamc"; github = "grahamc";

View file

@ -585,6 +585,22 @@ EOF
return $config; return $config;
} }
sub generateXserverConfig {
my $xserverEnabled = "@xserverEnabled@";
my $config = "";
if ($xserverEnabled eq "1") {
$config = <<EOF;
# Enable the X11 windowing system.
services.xserver.enable = true;
EOF
} else {
$config = <<EOF;
# Enable the X11 windowing system.
# services.xserver.enable = true;
EOF
}
}
if ($showHardwareConfig) { if ($showHardwareConfig) {
print STDOUT $hwConfig; print STDOUT $hwConfig;
@ -630,6 +646,8 @@ EOF
my $networkingDhcpConfig = generateNetworkingDhcpConfig(); my $networkingDhcpConfig = generateNetworkingDhcpConfig();
my $xserverConfig = generateXserverConfig();
(my $desktopConfiguration = <<EOF)=~s/^/ /gm; (my $desktopConfiguration = <<EOF)=~s/^/ /gm;
@desktopConfiguration@ @desktopConfiguration@
EOF EOF

View file

@ -36,6 +36,7 @@ let
path = lib.optionals (lib.elem "btrfs" config.boot.supportedFilesystems) [ pkgs.btrfs-progs ]; path = lib.optionals (lib.elem "btrfs" config.boot.supportedFilesystems) [ pkgs.btrfs-progs ];
perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/${pkgs.perl.libPrefix}"; perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/${pkgs.perl.libPrefix}";
inherit (config.system.nixos-generate-config) configuration desktopConfiguration; inherit (config.system.nixos-generate-config) configuration desktopConfiguration;
xserverEnabled = config.services.xserver.enable;
}; };
nixos-option = nixos-option =
@ -87,8 +88,8 @@ in
desktopConfiguration = mkOption { desktopConfiguration = mkOption {
internal = true; internal = true;
type = types.str; type = types.listOf types.lines;
default = ""; default = [];
description = '' description = ''
Text to preseed the desktop configuration that <literal>nixos-generate-config</literal> Text to preseed the desktop configuration that <literal>nixos-generate-config</literal>
saves to <literal>/etc/nixos/configuration.nix</literal>. saves to <literal>/etc/nixos/configuration.nix</literal>.
@ -136,6 +137,8 @@ in
# keyMap = "us"; # keyMap = "us";
# }; # };
$xserverConfig
$desktopConfiguration $desktopConfiguration
# Configure keymap in X11 # Configure keymap in X11
# services.xserver.layout = "us"; # services.xserver.layout = "us";

View file

@ -197,12 +197,11 @@ in
config = mkMerge [ config = mkMerge [
(mkIf (cfg.enable || flashbackEnabled) { (mkIf (cfg.enable || flashbackEnabled) {
# Seed our configuration into nixos-generate-config # Seed our configuration into nixos-generate-config
system.nixos-generate-config.desktopConfiguration = '' system.nixos-generate-config.desktopConfiguration = [''
# Enable the GNOME 3 Desktop Environment. # Enable the GNOME 3 Desktop Environment.
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true; services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome3.enable = true; services.xserver.desktopManager.gnome3.enable = true;
''; ''];
services.gnome3.core-os-services.enable = true; services.gnome3.core-os-services.enable = true;
services.gnome3.core-shell.enable = true; services.gnome3.core-shell.enable = true;

View file

@ -184,12 +184,11 @@ in
config = mkMerge [ config = mkMerge [
(mkIf cfg.enable { (mkIf cfg.enable {
# Seed our configuration into nixos-generate-config # Seed our configuration into nixos-generate-config
system.nixos-generate-config.desktopConfiguration = '' system.nixos-generate-config.desktopConfiguration = [''
# Enable the Plasma 5 Desktop Environment. # Enable the Plasma 5 Desktop Environment.
services.xserver.enable = true;
services.xserver.displayManager.sddm.enable = true; services.xserver.displayManager.sddm.enable = true;
services.xserver.desktopManager.plasma5.enable = true; services.xserver.desktopManager.plasma5.enable = true;
''; ''];
services.xserver.desktopManager.session = singleton { services.xserver.desktopManager.session = singleton {
name = "plasma5"; name = "plasma5";

View file

@ -11,12 +11,11 @@ import ./make-test-python.nix ({ lib, ... } : {
} }
''; '';
system.nixos-generate-config.desktopConfiguration = '' system.nixos-generate-config.desktopConfiguration = [''
# DESKTOP # DESKTOP
# services.xserver.enable = true; services.xserver.displayManager.gdm.enable = true;
# services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome3.enable = true;
# services.xserver.desktopManager.gnome3.enable = true; ''];
'';
}; };
testScript = '' testScript = ''
start_all() start_all()

View file

@ -1,7 +1,7 @@
{ mkDerivation { mkDerivation
, lib , lib
, stdenv
, fetchFromGitHub , fetchFromGitHub
, fetchpatch
, qmake , qmake
, pkg-config , pkg-config
, qttools , qttools
@ -21,10 +21,15 @@ mkDerivation rec {
sha256 = "0iddqfw951dw9xpl4w7310sl4z544507ppb12i8g4fzvlxfw2ifc"; sha256 = "0iddqfw951dw9xpl4w7310sl4z544507ppb12i8g4fzvlxfw2ifc";
}; };
postPatch = lib.optionalString stdenv.hostPlatform.isDarwin '' # TODO Remove when updating past 0.4.6
substituteInPlace BambooTracker/BambooTracker.pro \ # Fixes build failure on darwin
--replace '# Temporary known-error downgrades here' 'CPP_WARNING_FLAGS += -Wno-missing-braces' patches = [
''; (fetchpatch {
name = "bambootracker-Add_braces_in_initialization_of_std-array.patch";
url = "https://github.com/rerrahkr/BambooTracker/commit/0fc96c60c7ae6c2504ee696bb7dec979ac19717d.patch";
sha256 = "1z28af46mqrgnyrr4i8883gp3wablkk8rijnj0jvpq01s4m2sfjn";
})
];
nativeBuildInputs = [ qmake qttools pkg-config ]; nativeBuildInputs = [ qmake qttools pkg-config ];
@ -40,6 +45,5 @@ mkDerivation rec {
license = licenses.gpl2Only; license = licenses.gpl2Only;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ OPNA2608 ]; maintainers = with maintainers; [ OPNA2608 ];
broken = stdenv.isDarwin;
}; };
} }

View file

@ -0,0 +1,24 @@
{ fetchurl, lib, stdenv, xlibsWrapper, libXv, libpng }:
stdenv.mkDerivation rec {
pname = "qemacs";
version = "0.3.3";
src = fetchurl {
url = "https://bellard.org/${pname}/${pname}-${version}.tar.gz";
sha256 = "156z4wpj49i6j388yjird5qvrph7hz0grb4r44l4jf3q8imadyrg";
};
buildInputs = [ xlibsWrapper libpng libXv ];
preInstall = ''
mkdir -p $out/bin $out/man
'';
meta = with lib; {
homepage = "https://bellard.org/qemacs/";
description = "Very small but powerful UNIX editor";
license = licenses.lgpl2Only;
maintainers = with maintainers; [ iblech ];
};
}

View file

@ -1,6 +1,6 @@
{ lib { lib
, mkDerivation , mkDerivation
, nix-update-script
, fetchFromGitHub , fetchFromGitHub
, substituteAll , substituteAll
, cmake , cmake
@ -37,22 +37,28 @@ let
rev = "1.4.1"; rev = "1.4.1";
sha256 = "1c6a8mdxms5vh8l7shi2kqdhafbzm50pbz6g1hhgg6qslla0vfn0"; sha256 = "1c6a8mdxms5vh8l7shi2kqdhafbzm50pbz6g1hhgg6qslla0vfn0";
}; };
circleflags = fetchFromGitHub {
owner = "HatScripts";
repo = "circle-flags";
rev = "v2.0.0";
sha256 = "1xz5b6nhcxxzalcgwnw36npap71i70s50g6b63avjgjkwz1ys5j4";
};
in in
mkDerivation rec { mkDerivation rec {
pname = "crow-translate"; pname = "crow-translate";
version = "2.6.2"; version = "2.7.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "crow-translate"; owner = "crow-translate";
repo = "crow-translate"; repo = "crow-translate";
rev = version; rev = version;
sha256 = "1jgpqynmxmh6mrknpk5fh96lbdg799axp4cyn5rvalg3sdxajmqc"; sha256 = "sha256-YOsp/noGsYthre18fMyBj9s+YFzdHJfIJzJSm43wiZ0=";
}; };
patches = [ patches = [
(substituteAll { (substituteAll {
src = ./dont-fetch-external-libs.patch; src = ./dont-fetch-external-libs.patch;
inherit singleapplication qtaskbarcontrol qhotkey qonlinetranslator; inherit singleapplication qtaskbarcontrol qhotkey qonlinetranslator circleflags;
}) })
(substituteAll { (substituteAll {
# See https://github.com/NixOS/nixpkgs/issues/86054 # See https://github.com/NixOS/nixpkgs/issues/86054
@ -61,10 +67,23 @@ mkDerivation rec {
}) })
]; ];
postPatch = "cp -r ${circleflags}/flags/* data/icons";
nativeBuildInputs = [ cmake extra-cmake-modules qttools ]; nativeBuildInputs = [ cmake extra-cmake-modules qttools ];
buildInputs = [ leptonica tesseract4 qtmultimedia qtx11extras ]; buildInputs = [ leptonica tesseract4 qtmultimedia qtx11extras ];
postInstall = ''
substituteInPlace $out/share/applications/io.crow_translate.CrowTranslate.desktop \
--replace "Exec=qdbus" "Exec=${lib.getBin qttools}/bin/qdbus"
'';
passthru = {
updateScript = nix-update-script {
attrPath = pname;
};
};
meta = with lib; { meta = with lib; {
description = "A simple and lightweight translator that allows to translate and speak text using Google, Yandex and Bing"; description = "A simple and lightweight translator that allows to translate and speak text using Google, Yandex and Bing";
homepage = "https://crow-translate.github.io/"; homepage = "https://crow-translate.github.io/";

View file

@ -1,8 +1,26 @@
diff --git i/CMakeLists.txt w/CMakeLists.txt
index 2576203..26162a0 100644
--- i/CMakeLists.txt
+++ w/CMakeLists.txt
@@ -91,12 +91,11 @@ qt5_add_translation(QM_FILES
)
configure_file(src/cmake.h.in cmake.h)
-configure_file(data/icons/flags.qrc ${CircleFlags_SOURCE_DIR}/flags/flags.qrc COPYONLY)
add_executable(${PROJECT_NAME}
${QM_FILES}
data/icons/engines/engines.qrc
- ${CircleFlags_SOURCE_DIR}/flags/flags.qrc
+ data/icons/flags.qrc
src/addlanguagedialog.cpp
src/addlanguagedialog.ui
src/cli.cpp
diff --git i/cmake/ExternalLibraries.cmake w/cmake/ExternalLibraries.cmake diff --git i/cmake/ExternalLibraries.cmake w/cmake/ExternalLibraries.cmake
index d8c88ae..47a12c0 100644 index 21eba0a..b613d3e 100644
--- i/cmake/ExternalLibraries.cmake --- i/cmake/ExternalLibraries.cmake
+++ w/cmake/ExternalLibraries.cmake +++ w/cmake/ExternalLibraries.cmake
@@ -2,24 +2,20 @@ include(FetchContent) @@ -2,29 +2,24 @@ include(FetchContent)
set(QAPPLICATION_CLASS QApplication) set(QAPPLICATION_CLASS QApplication)
FetchContent_Declare(SingleApplication FetchContent_Declare(SingleApplication
@ -30,4 +48,10 @@ index d8c88ae..47a12c0 100644
+ SOURCE_DIR @qonlinetranslator@ + SOURCE_DIR @qonlinetranslator@
) )
FetchContent_MakeAvailable(SingleApplication QTaskbarControl QHotkey QOnlineTranslator) FetchContent_Declare(CircleFlags
- GIT_REPOSITORY https://github.com/HatScripts/circle-flags
- GIT_TAG v2.0.0
+ SOURCE_DIR @circleflags@
)
FetchContent_MakeAvailable(SingleApplication QTaskbarControl QHotkey QOnlineTranslator CircleFlags)

View file

@ -1,13 +1,13 @@
diff --git i/src/settings/appsettings.cpp w/src/settings/appsettings.cpp diff --git c/src/settings/appsettings.cpp i/src/settings/appsettings.cpp
index 7be4573..e65994e 100644 index ff99f64..fa929ae 100644
--- i/src/settings/appsettings.cpp --- c/src/settings/appsettings.cpp
+++ w/src/settings/appsettings.cpp +++ i/src/settings/appsettings.cpp
@@ -82,7 +82,7 @@ void AppSettings::applyLanguage(QLocale::Language lang) @@ -80,7 +80,7 @@ void AppSettings::applyLanguage(QLocale::Language lang)
QLocale::setDefault(QLocale(lang)); QLocale::setDefault(locale);
s_appTranslator.load(QLocale(), QStringLiteral(PROJECT_NAME), QStringLiteral("_"), QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("translations"), QStandardPaths::LocateDirectory)); s_appTranslator.load(locale, QStringLiteral(PROJECT_NAME), QStringLiteral("_"), QStandardPaths::locate(QStandardPaths::AppDataLocation, QStringLiteral("translations"), QStandardPaths::LocateDirectory));
- s_qtTranslator.load(QLocale(), QStringLiteral("qt"), QStringLiteral("_"), QLibraryInfo::location(QLibraryInfo::TranslationsPath)); - s_qtTranslator.load(locale, QStringLiteral("qtbase"), QStringLiteral("_"), QLibraryInfo::location(QLibraryInfo::TranslationsPath));
+ s_qtTranslator.load(QLocale(), QStringLiteral("qt"), QStringLiteral("_"), QLatin1String("@qttranslations@/translations")); + s_qtTranslator.load(locale, QStringLiteral("qtbase"), QStringLiteral("_"), QLatin1String("@qttranslations@/translations"));
} }
QLocale::Language AppSettings::defaultLanguage() QLocale::Language AppSettings::defaultLanguage()

View file

@ -2,16 +2,16 @@
buildGoModule rec { buildGoModule rec {
pname = "starboard-octant-plugin"; pname = "starboard-octant-plugin";
version = "0.9.1"; version = "0.9.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "aquasecurity"; owner = "aquasecurity";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-u+yxAGVVFsZpiexToNDUfQATsYOkKWHkYF9roK0OInY="; sha256 = "sha256-wis2ECCVXQeD7GiCMJQai+wDM8QJ1j5dPnE5O/I3wpM=";
}; };
vendorSha256 = "sha256-c5sel3xs4npTENqRQu8d9hUOK1OFQodF3M0ZpUpr1po="; vendorSha256 = "sha256-T0wDbAl5GXphZIBrM36OwRCojnJ/cbXNqsjtCzUDZ6s=";
buildFlagsArray = [ "-ldflags=" "-s" "-w" ]; buildFlagsArray = [ "-ldflags=" "-s" "-w" ];

View file

@ -1,6 +1,7 @@
{ stdenv, lib, edk2, util-linux, nasm, iasl { stdenv, lib, edk2, util-linux, nasm, iasl
, csmSupport ? false, seabios ? null , csmSupport ? false, seabios ? null
, secureBoot ? false , secureBoot ? false
, httpSupport ? false
}: }:
assert csmSupport -> seabios != null; assert csmSupport -> seabios != null;
@ -30,7 +31,8 @@ edk2.mkDerivation projectDscPath {
buildFlags = buildFlags =
lib.optional secureBoot "-DSECURE_BOOT_ENABLE=TRUE" lib.optional secureBoot "-DSECURE_BOOT_ENABLE=TRUE"
++ lib.optionals csmSupport [ "-D CSM_ENABLE" "-D FD_SIZE_2MB" ]; ++ lib.optionals csmSupport [ "-D CSM_ENABLE" "-D FD_SIZE_2MB" ]
++ lib.optionals httpSupport [ "-DNETWORK_HTTP_ENABLE=TRUE" "-DNETWORK_HTTP_BOOT_ENABLE=TRUE" ];
postPatch = lib.optionalString csmSupport '' postPatch = lib.optionalString csmSupport ''
cp ${seabios}/Csm16.bin OvmfPkg/Csm/Csm16/Csm16.bin cp ${seabios}/Csm16.bin OvmfPkg/Csm/Csm16/Csm16.bin

View file

@ -43,13 +43,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "evince"; pname = "evince";
version = "3.38.1"; version = "3.38.2";
outputs = [ "out" "dev" "devdoc" ]; outputs = [ "out" "dev" "devdoc" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/evince/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/evince/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "APbWaJzCLePABb2H1MLr9yAGTLjcahiHgW+LfggrLmM="; sha256 = "J9QZ1f7WMF4HRijtz94MtzT//aIF1jysMjORwEkDvZQ=";
}; };
postPatch = '' postPatch = ''

View file

@ -11,13 +11,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "gnome-autoar"; pname = "gnome-autoar";
version = "0.2.4"; version = "0.3.0";
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];
src = fetchurl { src = fetchurl {
url = "mirror://gnome/sources/gnome-autoar/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; url = "mirror://gnome/sources/gnome-autoar/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0yk56ch46n3wfy633mq31kif9n7v06rlij4vqbsbn6l4z1vw6d0a"; sha256 = "0ssqckfkyldwld88zizy446y2359rg40lnrcm3sjpjhc2b015hgj";
}; };
passthru = { passthru = {
@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
platforms = platforms.linux; platforms = platforms.linux;
maintainers = teams.gnome.members; maintainers = teams.gnome.members;
license = licenses.lgpl21; license = licenses.lgpl21Plus;
description = "Library to integrate compressed files management with GNOME"; description = "Library to integrate compressed files management with GNOME";
}; };
} }

View file

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
stripRoot = false; stripRoot = false;
}; };
makeFlags = [ "CC=cc" ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
nativeBuildInputs = [ unzip bison flex gperf ]; nativeBuildInputs = [ unzip bison flex gperf ];

View file

@ -0,0 +1,267 @@
{ lib, stdenv, fetchurl, tzdata, iana-etc, runCommand
, perl, which, pkg-config, patch, procps, pcre, cacert, Security, Foundation, xcbuild
, mailcap, runtimeShell
, buildPackages
, pkgsBuildTarget
, fetchpatch
, callPackage
}:
let
inherit (lib) optionals optionalString;
go_bootstrap = callPackage ./bootstrap.nix {
inherit Security;
};
goBootstrap = runCommand "go-bootstrap" {} ''
mkdir $out
cp -rf ${go_bootstrap}/* $out/
chmod -R u+w $out
find $out -name "*.c" -delete
cp -rf $out/bin/* $out/share/go/bin/
'';
goarch = platform: {
"i686" = "386";
"x86_64" = "amd64";
"aarch64" = "arm64";
"arm" = "arm";
"armv5tel" = "arm";
"armv6l" = "arm";
"armv7l" = "arm";
"powerpc64le" = "ppc64le";
}.${platform.parsed.cpu.name} or (throw "Unsupported system");
# 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;
in
stdenv.mkDerivation rec {
pname = "go";
version = "1.16";
src = fetchurl {
url = "https://dl.google.com/go/go${version}.src.tar.gz";
sha256 = "0nn98xiw8zrvxf9f36p8dzc7ihrrkakr0g9jiy4haqb5alyhd23n";
};
# perl is used for testing go vet
nativeBuildInputs = [ perl which pkg-config patch procps ];
buildInputs = [ cacert pcre ]
++ optionals stdenv.isLinux [ stdenv.cc.libc.out ]
++ optionals (stdenv.hostPlatform.libc == "glibc") [ stdenv.cc.libc.static ];
propagatedBuildInputs = optionals stdenv.isDarwin [ xcbuild ];
depsTargetTargetPropagated = optionals stdenv.isDarwin [ Security Foundation ];
hardeningDisable = [ "all" ];
prePatch = ''
patchShebangs ./ # replace /bin/bash
# This source produces shell script at run time,
# and thus it is not corrected by patchShebangs.
substituteInPlace misc/cgo/testcarchive/carchive_test.go \
--replace '#!/usr/bin/env bash' '#!${runtimeShell}'
# Patch the mimetype database location which is missing on NixOS.
# but also allow static binaries built with NixOS to run outside nix
sed -i 's,\"/etc/mime.types,"${mailcap}/etc/mime.types\"\,\n\t&,' src/mime/type_unix.go
# Disabling the 'os/http/net' tests (they want files not available in
# chroot builds)
rm src/net/{listen,parse}_test.go
rm src/syscall/exec_linux_test.go
# !!! substituteInPlace does not seems to be effective.
# The os test wants to read files in an existing path. Just don't let it be /usr/bin.
sed -i 's,/usr/bin,'"`pwd`", src/os/os_test.go
sed -i 's,/bin/pwd,'"`type -P pwd`", src/os/os_test.go
# Fails on aarch64
sed -i '/TestFallocate/aif true \{ return\; \}' src/cmd/link/internal/ld/fallocate_test.go
# Skip this test since ssl patches mess it up.
sed -i '/TestLoadSystemCertsLoadColonSeparatedDirs/aif true \{ return\; \}' src/crypto/x509/root_unix_test.go
# Disable another PIE test which breaks.
sed -i '/TestTrivialPIE/aif true \{ return\; \}' misc/cgo/testshared/shared_test.go
# Disable the BuildModePie test
sed -i '/TestBuildmodePIE/aif true \{ return\; \}' src/cmd/go/go_test.go
# Disable the unix socket test
sed -i '/TestShutdownUnix/aif true \{ return\; \}' src/net/net_test.go
# Disable the hostname test
sed -i '/TestHostname/aif true \{ return\; \}' src/os/os_test.go
# ParseInLocation fails the test
sed -i '/TestParseInSydney/aif true \{ return\; \}' src/time/format_test.go
# Remove the api check as it never worked
sed -i '/src\/cmd\/api\/run.go/ireturn nil' src/cmd/dist/test.go
# Remove the coverage test as we have removed this utility
sed -i '/TestCoverageWithCgo/aif true \{ return\; \}' src/cmd/go/go_test.go
# Remove the timezone naming test
sed -i '/TestLoadFixed/aif true \{ return\; \}' src/time/time_test.go
# Remove disable setgid test
sed -i '/TestRespectSetgidDir/aif true \{ return\; \}' src/cmd/go/internal/work/build_test.go
# Remove cert tests that conflict with NixOS's cert resolution
sed -i '/TestEnvVars/aif true \{ return\; \}' src/crypto/x509/root_unix_test.go
# TestWritevError hangs sometimes
sed -i '/TestWritevError/aif true \{ return\; \}' src/net/writev_test.go
# TestVariousDeadlines fails sometimes
sed -i '/TestVariousDeadlines/aif true \{ return\; \}' src/net/timeout_test.go
sed -i 's,/etc/protocols,${iana-etc}/etc/protocols,' src/net/lookup_unix.go
sed -i 's,/etc/services,${iana-etc}/etc/services,' src/net/port_unix.go
# Disable cgo lookup tests not works, they depend on resolver
rm src/net/cgo_unix_test.go
'' + optionalString stdenv.isLinux ''
# prepend the nix path to the zoneinfo files but also leave the original value for static binaries
# that run outside a nix server
sed -i 's,\"/usr/share/zoneinfo/,"${tzdata}/share/zoneinfo/\"\,\n\t&,' src/time/zoneinfo_unix.go
'' + optionalString stdenv.isAarch32 ''
echo '#!${runtimeShell}' > misc/cgo/testplugin/test.bash
'' + optionalString stdenv.isDarwin ''
substituteInPlace src/race.bash --replace \
"sysctl machdep.cpu.extfeatures | grep -qv EM64T" true
sed -i 's,strings.Contains(.*sysctl.*,true {,' src/cmd/dist/util.go
sed -i 's,"/etc","'"$TMPDIR"'",' src/os/os_test.go
sed -i 's,/_go_os_test,'"$TMPDIR"'/_go_os_test,' src/os/path_test.go
sed -i '/TestChdirAndGetwd/aif true \{ return\; \}' src/os/os_test.go
sed -i '/TestCredentialNoSetGroups/aif true \{ return\; \}' src/os/exec/exec_posix_test.go
sed -i '/TestRead0/aif true \{ return\; \}' src/os/os_test.go
sed -i '/TestSystemRoots/aif true \{ return\; \}' src/crypto/x509/root_darwin_test.go
sed -i '/TestGoInstallRebuildsStalePackagesInOtherGOPATH/aif true \{ return\; \}' src/cmd/go/go_test.go
sed -i '/TestBuildDashIInstallsDependencies/aif true \{ return\; \}' src/cmd/go/go_test.go
sed -i '/TestDisasmExtld/aif true \{ return\; \}' src/cmd/objdump/objdump_test.go
sed -i 's/unrecognized/unknown/' src/cmd/link/internal/ld/lib.go
# TestCurrent fails because Current is not implemented on Darwin
sed -i 's/TestCurrent/testCurrent/g' src/os/user/user_test.go
sed -i 's/TestLookup/testLookup/g' src/os/user/user_test.go
touch $TMPDIR/group $TMPDIR/hosts $TMPDIR/passwd
'';
patches = [
./remove-tools-1.11.patch
./ssl-cert-file-1.16.patch
./remove-test-pie-1.15.patch
./creds-test.patch
./go-1.9-skip-flaky-19608.patch
./go-1.9-skip-flaky-20072.patch
./skip-external-network-tests-1.16.patch
./skip-nohup-tests.patch
./skip-cgo-tests-1.15.patch
./go_no_vendor_checks-1.16.patch
] ++ [
# breaks under load: https://github.com/golang/go/issues/25628
(if stdenv.isAarch32
then ./skip-test-extra-files-on-aarch32-1.14.patch
else ./skip-test-extra-files-on-386-1.14.patch)
];
postPatch = ''
find . -name '*.orig' -exec rm {} ';'
'';
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 (stdenv.buildPlatform != stdenv.targetPlatform) then
"${targetCC}/bin/${targetCC.targetPrefix}cc"
else
null;
CXX_FOR_TARGET = if (stdenv.buildPlatform != stdenv.targetPlatform) 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;
# Hopefully avoids test timeouts on Hydra
GO_TEST_TIMEOUT_SCALE = 3;
# Indicate that we are running on build infrastructure
# Some tests assume things like home directories and users exists
GO_BUILDER_NAME = "nix";
GOROOT_BOOTSTRAP="${goBootstrap}/share/go";
postConfigure = ''
export GOCACHE=$TMPDIR/go-cache
# this is compiled into the binary
export GOROOT_FINAL=$out/share/go
export PATH=$(pwd)/bin:$PATH
${optionalString (stdenv.buildPlatform != stdenv.targetPlatform) ''
# 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
'';
postBuild = ''
(cd src && ./make.bash)
'';
doCheck = stdenv.hostPlatform == stdenv.targetPlatform && !stdenv.isDarwin;
checkPhase = ''
runHook preCheck
(cd src && HOME=$TMPDIR GOCACHE=$TMPDIR/go-cache ./run.bash --no-rebuild)
runHook postCheck
'';
preInstall = ''
rm -r pkg/obj
# 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/*_*
${optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH}
''}
'' else if (stdenv.hostPlatform != stdenv.targetPlatform) then ''
rm -rf bin/*_*
${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 ];
meta = with lib; {
homepage = "http://golang.org/";
description = "The Go Programming language";
license = licenses.bsd3;
maintainers = teams.golang.members;
platforms = platforms.linux ++ platforms.darwin;
};
}

View file

@ -0,0 +1,23 @@
Starting from go1.14, go verifes that vendor/modules.txt matches the requirements
and replacements listed in the main module go.mod file, and it is a hard failure if
vendor/modules.txt is missing.
Relax module consistency checks and switch back to pre go1.14 behaviour if
vendor/modules.txt is missing regardless of go version requirement in go.mod.
This has been ported from FreeBSD: https://reviews.freebsd.org/D24122
See https://github.com/golang/go/issues/37948 for discussion.
diff --git a/src/cmd/go/internal/modload/vendor.go b/src/cmd/go/internal/modload/vendor.go
index d8fd91f1fe..8bc08e6fed 100644
--- a/src/cmd/go/internal/modload/vendor.go
+++ b/src/cmd/go/internal/modload/vendor.go
@@ -133,7 +133,7 @@ func checkVendorConsistency() {
readVendorList()
pre114 := false
- if semver.Compare(index.goVersionV, "v1.14") < 0 {
+ if semver.Compare(index.goVersionV, "v1.14") < 0 || (os.Getenv("GO_NO_VENDOR_CHECKS") == "1" && len(vendorMeta) == 0) {
// Go versions before 1.14 did not include enough information in
// vendor/modules.txt to check for consistency.
// If we know that we're on an earlier version, relax the consistency check.

View file

@ -0,0 +1,33 @@
diff --git a/src/internal/testenv/testenv.go b/src/internal/testenv/testenv.go
index c902b1404f..66016088a2 100644
--- a/src/internal/testenv/testenv.go
+++ b/src/internal/testenv/testenv.go
@@ -163,13 +163,15 @@ func MustHaveExecPath(t testing.TB, path string) {
// HasExternalNetwork reports whether the current system can use
// external (non-localhost) networks.
func HasExternalNetwork() bool {
- return !testing.Short() && runtime.GOOS != "js"
+ // Nix sandbox does not external network in sandbox
+ return false
}
// MustHaveExternalNetwork checks that the current system can use
// external (non-localhost) networks.
// If not, MustHaveExternalNetwork calls t.Skip with an explanation.
func MustHaveExternalNetwork(t testing.TB) {
+ t.Skipf("Nix sandbox does not have networking")
if runtime.GOOS == "js" {
t.Skipf("skipping test: no external network on %s", runtime.GOOS)
}
diff --git a/src/net/dial_test.go b/src/net/dial_test.go
index 57cf5554ad..d00be53b2c 100644
--- a/src/net/dial_test.go
+++ b/src/net/dial_test.go
@@ -990,6 +990,7 @@ func TestDialerControl(t *testing.T) {
// except that it won't skip testing on non-mobile builders.
func mustHaveExternalNetwork(t *testing.T) {
t.Helper()
+ t.Skipf("Nix sandbox does not have networking")
mobile := runtime.GOOS == "android" || runtime.GOOS == "ios"
if testenv.Builder() == "" || mobile {
testenv.MustHaveExternalNetwork(t)

View file

@ -0,0 +1,34 @@
diff --git a/src/crypto/x509/root.go b/src/crypto/x509/root.go
index ac92915128..fb1d70c735 100644
--- a/src/crypto/x509/root.go
+++ b/src/crypto/x509/root.go
@@ -6,7 +6,11 @@ package x509
//go:generate go run root_ios_gen.go -version 55161.140.3
-import "sync"
+import (
+ "io/ioutil"
+ "os"
+ "sync"
+)
var (
once sync.Once
@@ -20,6 +24,16 @@ func systemRootsPool() *CertPool {
}
func initSystemRoots() {
+ if file := os.Getenv("NIX_SSL_CERT_FILE"); file != "" {
+ data, err := ioutil.ReadFile(file)
+ if err == nil {
+ roots := NewCertPool()
+ roots.AppendCertsFromPEM(data)
+ systemRoots = roots
+ return
+ }
+ }
+
systemRoots, systemRootsErr = loadSystemRoots()
if systemRootsErr != nil {
systemRoots = nil

View file

@ -53,7 +53,7 @@ stdenv.mkDerivation rec {
]; ];
makeFlags = [ makeFlags = [
"CC=cc" "CC=${stdenv.cc.targetPrefix}cc"
"CFLAGS=-O2" "CFLAGS=-O2"
"PREFIX=${placeholder "out"}" "PREFIX=${placeholder "out"}"
]; ];
@ -62,6 +62,7 @@ stdenv.mkDerivation rec {
postPatch = '' postPatch = ''
patchShebangs quotehostinfo patchShebangs quotehostinfo
substituteInPlace Makefile --replace strip '${stdenv.cc.targetPrefix}strip'
''; '';
meta = with lib; { meta = with lib; {

View file

@ -1,114 +1,4 @@
{ lib, stdenv, fetchurl, writeText, sbclBootstrap import ./common.nix {
, sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit"
, threadSupport ? (stdenv.isi686 || stdenv.isx86_64 || "aarch64-linux" == stdenv.hostPlatform.system)
, disableImmobileSpace ? false
# Meant for sbcl used for creating binaries portable to non-NixOS via save-lisp-and-die.
# Note that the created binaries still need `patchelf --set-interpreter ...`
# to get rid of ${glibc} dependency.
, purgeNixReferences ? false
, texinfo
}:
stdenv.mkDerivation rec {
pname = "sbcl";
version = "2.0.9"; version = "2.0.9";
sha256 = "17wvrcwgp45z9b6arik31fjnz7908qhr5ackxq1y0gqi1hsh1xy4";
src = fetchurl {
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${pname}-${version}-source.tar.bz2";
sha256 = "sha256:17wvrcwgp45z9b6arik31fjnz7908qhr5ackxq1y0gqi1hsh1xy4";
};
buildInputs = [texinfo];
patchPhase = ''
echo '"${version}.nixos"' > version.lisp-expr
pwd
# SBCL checks whether files are up-to-date in many places..
# Unfortunately, same timestamp is not good enough
sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
#sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
sed -i src/cold/slam.lisp -e \
'/file-write-date input/a)'
sed -i src/cold/slam.lisp -e \
'/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))'
sed -i src/code/target-load.lisp -e \
'/date defaulted-fasl/a)'
sed -i src/code/target-load.lisp -e \
'/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
# Fix the tests
sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
# Use whatever `cc` the stdenv provides
substituteInPlace src/runtime/Config.x86-64-darwin --replace gcc cc
substituteInPlace src/runtime/Config.x86-64-darwin \
--replace mmacosx-version-min=10.4 mmacosx-version-min=10.5
''
+ (if purgeNixReferences
then
# This is the default location to look for the core; by default in $out/lib/sbcl
''
sed 's@^\(#define SBCL_HOME\) .*$@\1 "/no-such-path"@' \
-i src/runtime/runtime.c
''
else
# Fix software version retrieval
''
sed -e "s@/bin/uname@$(command -v uname)@g" -i src/code/*-os.lisp \
src/code/run-program.lisp
''
);
preBuild = ''
export INSTALL_ROOT=$out
mkdir -p test-home
export HOME=$PWD/test-home
'';
enableFeatures = with lib;
optional threadSupport "sb-thread" ++
optional stdenv.isAarch32 "arm";
disableFeatures = with lib;
optional (!threadSupport) "sb-thread" ++
optionals disableImmobileSpace [ "immobile-space" "immobile-code" "compact-instance-header" ];
buildPhase = ''
sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}" ${
lib.concatStringsSep " "
(builtins.map (x: "--with-${x}") enableFeatures ++
builtins.map (x: "--without-${x}") disableFeatures)
}
(cd doc/manual ; make info)
'';
installPhase = ''
INSTALL_ROOT=$out sh install.sh
''
+ lib.optionalString (!purgeNixReferences) ''
cp -r src $out/lib/sbcl
cp -r contrib $out/lib/sbcl
cat >$out/lib/sbcl/sbclrc <<EOF
(setf (logical-pathname-translations "SYS")
'(("SYS:SRC;**;*.*.*" #P"$out/lib/sbcl/src/**/*.*")
("SYS:CONTRIB;**;*.*.*" #P"$out/lib/sbcl/contrib/**/*.*")))
EOF
'';
setupHook = lib.optional purgeNixReferences (writeText "setupHook.sh" ''
addEnvHooks "$targetOffset" _setSbclHome
_setSbclHome() {
export SBCL_HOME='@out@/lib/sbcl/'
}
'');
meta = sbclBootstrap.meta // {
inherit version;
updateWalker = true;
};
} }

View file

@ -1,114 +1,4 @@
{ lib, stdenv, fetchurl, writeText, sbclBootstrap import ./common.nix {
, sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit"
, threadSupport ? (stdenv.isi686 || stdenv.isx86_64 || "aarch64-linux" == stdenv.hostPlatform.system)
, disableImmobileSpace ? false
# Meant for sbcl used for creating binaries portable to non-NixOS via save-lisp-and-die.
# Note that the created binaries still need `patchelf --set-interpreter ...`
# to get rid of ${glibc} dependency.
, purgeNixReferences ? false
, texinfo
}:
stdenv.mkDerivation rec {
pname = "sbcl";
version = "2.1.1"; version = "2.1.1";
sha256 = "15wa66sachhzgvg5n35vihmkpasg100lh561c1d1bdrql0p8kbd9";
src = fetchurl {
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${pname}-${version}-source.tar.bz2";
sha256 = "sha256:15wa66sachhzgvg5n35vihmkpasg100lh561c1d1bdrql0p8kbd9";
};
buildInputs = [texinfo];
patchPhase = ''
echo '"${version}.nixos"' > version.lisp-expr
pwd
# SBCL checks whether files are up-to-date in many places..
# Unfortunately, same timestamp is not good enough
sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
#sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
sed -i src/cold/slam.lisp -e \
'/file-write-date input/a)'
sed -i src/cold/slam.lisp -e \
'/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))'
sed -i src/code/target-load.lisp -e \
'/date defaulted-fasl/a)'
sed -i src/code/target-load.lisp -e \
'/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
# Fix the tests
sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
# Use whatever `cc` the stdenv provides
substituteInPlace src/runtime/Config.x86-64-darwin --replace gcc cc
substituteInPlace src/runtime/Config.x86-64-darwin \
--replace mmacosx-version-min=10.4 mmacosx-version-min=10.5
''
+ (if purgeNixReferences
then
# This is the default location to look for the core; by default in $out/lib/sbcl
''
sed 's@^\(#define SBCL_HOME\) .*$@\1 "/no-such-path"@' \
-i src/runtime/runtime.c
''
else
# Fix software version retrieval
''
sed -e "s@/bin/uname@$(command -v uname)@g" -i src/code/*-os.lisp \
src/code/run-program.lisp
''
);
preBuild = ''
export INSTALL_ROOT=$out
mkdir -p test-home
export HOME=$PWD/test-home
'';
enableFeatures = with lib;
optional threadSupport "sb-thread" ++
optional stdenv.isAarch32 "arm";
disableFeatures = with lib;
optional (!threadSupport) "sb-thread" ++
optionals disableImmobileSpace [ "immobile-space" "immobile-code" "compact-instance-header" ];
buildPhase = ''
sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}" ${
lib.concatStringsSep " "
(builtins.map (x: "--with-${x}") enableFeatures ++
builtins.map (x: "--without-${x}") disableFeatures)
}
(cd doc/manual ; make info)
'';
installPhase = ''
INSTALL_ROOT=$out sh install.sh
''
+ lib.optionalString (!purgeNixReferences) ''
cp -r src $out/lib/sbcl
cp -r contrib $out/lib/sbcl
cat >$out/lib/sbcl/sbclrc <<EOF
(setf (logical-pathname-translations "SYS")
'(("SYS:SRC;**;*.*.*" #P"$out/lib/sbcl/src/**/*.*")
("SYS:CONTRIB;**;*.*.*" #P"$out/lib/sbcl/contrib/**/*.*")))
EOF
'';
setupHook = lib.optional purgeNixReferences (writeText "setupHook.sh" ''
addEnvHooks "$targetOffset" _setSbclHome
_setSbclHome() {
export SBCL_HOME='@out@/lib/sbcl/'
}
'');
meta = sbclBootstrap.meta // {
inherit version;
updateWalker = true;
};
} }

View file

@ -0,0 +1,116 @@
{ version, sha256 }:
{ lib, stdenv, fetchurl, writeText, sbclBootstrap
, sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit"
, threadSupport ? (stdenv.isi686 || stdenv.isx86_64 || "aarch64-linux" == stdenv.hostPlatform.system)
, disableImmobileSpace ? false
# Meant for sbcl used for creating binaries portable to non-NixOS via save-lisp-and-die.
# Note that the created binaries still need `patchelf --set-interpreter ...`
# to get rid of ${glibc} dependency.
, purgeNixReferences ? false
, texinfo
}:
stdenv.mkDerivation rec {
pname = "sbcl";
inherit version;
src = fetchurl {
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${pname}-${version}-source.tar.bz2";
inherit sha256;
};
buildInputs = [texinfo];
patchPhase = ''
echo '"${version}.nixos"' > version.lisp-expr
pwd
# SBCL checks whether files are up-to-date in many places..
# Unfortunately, same timestamp is not good enough
sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
#sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
sed -i src/cold/slam.lisp -e \
'/file-write-date input/a)'
sed -i src/cold/slam.lisp -e \
'/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))'
sed -i src/code/target-load.lisp -e \
'/date defaulted-fasl/a)'
sed -i src/code/target-load.lisp -e \
'/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
# Fix the tests
sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
# Use whatever `cc` the stdenv provides
substituteInPlace src/runtime/Config.x86-64-darwin --replace gcc cc
substituteInPlace src/runtime/Config.x86-64-darwin \
--replace mmacosx-version-min=10.4 mmacosx-version-min=10.5
''
+ (if purgeNixReferences
then
# This is the default location to look for the core; by default in $out/lib/sbcl
''
sed 's@^\(#define SBCL_HOME\) .*$@\1 "/no-such-path"@' \
-i src/runtime/runtime.c
''
else
# Fix software version retrieval
''
sed -e "s@/bin/uname@$(command -v uname)@g" -i src/code/*-os.lisp \
src/code/run-program.lisp
''
);
preBuild = ''
export INSTALL_ROOT=$out
mkdir -p test-home
export HOME=$PWD/test-home
'';
enableFeatures = with lib;
optional threadSupport "sb-thread" ++
optional stdenv.isAarch32 "arm";
disableFeatures = with lib;
optional (!threadSupport) "sb-thread" ++
optionals disableImmobileSpace [ "immobile-space" "immobile-code" "compact-instance-header" ];
buildPhase = ''
sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}" ${
lib.concatStringsSep " "
(builtins.map (x: "--with-${x}") enableFeatures ++
builtins.map (x: "--without-${x}") disableFeatures)
}
(cd doc/manual ; make info)
'';
installPhase = ''
INSTALL_ROOT=$out sh install.sh
''
+ lib.optionalString (!purgeNixReferences) ''
cp -r src $out/lib/sbcl
cp -r contrib $out/lib/sbcl
cat >$out/lib/sbcl/sbclrc <<EOF
(setf (logical-pathname-translations "SYS")
'(("SYS:SRC;**;*.*.*" #P"$out/lib/sbcl/src/**/*.*")
("SYS:CONTRIB;**;*.*.*" #P"$out/lib/sbcl/contrib/**/*.*")))
EOF
'';
setupHook = lib.optional purgeNixReferences (writeText "setupHook.sh" ''
addEnvHooks "$targetOffset" _setSbclHome
_setSbclHome() {
export SBCL_HOME='@out@/lib/sbcl/'
}
'');
meta = sbclBootstrap.meta // {
inherit version;
updateWalker = true;
};
}

View file

@ -1,114 +1,4 @@
{ lib, stdenv, fetchurl, writeText, sbclBootstrap import ./common.nix {
, sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit"
, threadSupport ? (stdenv.isi686 || stdenv.isx86_64 || "aarch64-linux" == stdenv.hostPlatform.system)
, disableImmobileSpace ? false
# Meant for sbcl used for creating binaries portable to non-NixOS via save-lisp-and-die.
# Note that the created binaries still need `patchelf --set-interpreter ...`
# to get rid of ${glibc} dependency.
, purgeNixReferences ? false
, texinfo
}:
stdenv.mkDerivation rec {
pname = "sbcl";
version = "2.0.8"; version = "2.0.8";
sha256 = "1xwrwvps7drrpyw3wg5h3g2qajmkwqs9gz0fdw1ns9adp7vld390";
src = fetchurl {
url = "mirror://sourceforge/project/sbcl/sbcl/${version}/${pname}-${version}-source.tar.bz2";
sha256 = "sha256:1xwrwvps7drrpyw3wg5h3g2qajmkwqs9gz0fdw1ns9adp7vld390";
};
buildInputs = [texinfo];
patchPhase = ''
echo '"${version}.nixos"' > version.lisp-expr
pwd
# SBCL checks whether files are up-to-date in many places..
# Unfortunately, same timestamp is not good enough
sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
#sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
sed -i src/cold/slam.lisp -e \
'/file-write-date input/a)'
sed -i src/cold/slam.lisp -e \
'/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))'
sed -i src/code/target-load.lisp -e \
'/date defaulted-fasl/a)'
sed -i src/code/target-load.lisp -e \
'/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
# Fix the tests
sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
# Use whatever `cc` the stdenv provides
substituteInPlace src/runtime/Config.x86-64-darwin --replace gcc cc
substituteInPlace src/runtime/Config.x86-64-darwin \
--replace mmacosx-version-min=10.4 mmacosx-version-min=10.5
''
+ (if purgeNixReferences
then
# This is the default location to look for the core; by default in $out/lib/sbcl
''
sed 's@^\(#define SBCL_HOME\) .*$@\1 "/no-such-path"@' \
-i src/runtime/runtime.c
''
else
# Fix software version retrieval
''
sed -e "s@/bin/uname@$(command -v uname)@g" -i src/code/*-os.lisp \
src/code/run-program.lisp
''
);
preBuild = ''
export INSTALL_ROOT=$out
mkdir -p test-home
export HOME=$PWD/test-home
'';
enableFeatures = with lib;
optional threadSupport "sb-thread" ++
optional stdenv.isAarch32 "arm";
disableFeatures = with lib;
optional (!threadSupport) "sb-thread" ++
optionals disableImmobileSpace [ "immobile-space" "immobile-code" "compact-instance-header" ];
buildPhase = ''
sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}" ${
lib.concatStringsSep " "
(builtins.map (x: "--with-${x}") enableFeatures ++
builtins.map (x: "--without-${x}") disableFeatures)
}
(cd doc/manual ; make info)
'';
installPhase = ''
INSTALL_ROOT=$out sh install.sh
''
+ lib.optionalString (!purgeNixReferences) ''
cp -r src $out/lib/sbcl
cp -r contrib $out/lib/sbcl
cat >$out/lib/sbcl/sbclrc <<EOF
(setf (logical-pathname-translations "SYS")
'(("SYS:SRC;**;*.*.*" #P"$out/lib/sbcl/src/**/*.*")
("SYS:CONTRIB;**;*.*.*" #P"$out/lib/sbcl/contrib/**/*.*")))
EOF
'';
setupHook = lib.optional purgeNixReferences (writeText "setupHook.sh" ''
addEnvHooks "$targetOffset" _setSbclHome
_setSbclHome() {
export SBCL_HOME='@out@/lib/sbcl/'
}
'');
meta = sbclBootstrap.meta // {
inherit version;
updateWalker = true;
};
} }

View file

@ -229,6 +229,8 @@ qtModule {
description = "A web engine based on the Chromium web browser"; description = "A web engine based on the Chromium web browser";
maintainers = with maintainers; [ matthewbauer ]; maintainers = with maintainers; [ matthewbauer ];
platforms = platforms.unix; platforms = platforms.unix;
# This build takes a long time; particularly on slow architectures
timeout = 24 * 3600;
}; };
} }

View file

@ -1,20 +1,21 @@
{ lib, fetchurl, buildDunePackage, alcotest, bos, dune-configurator }: { lib, fetchurl, buildDunePackage, ocaml, alcotest, bos, rresult }:
buildDunePackage rec { buildDunePackage rec {
pname = "base64"; pname = "base64";
version = "3.4.0"; version = "3.5.0";
minimumOCamlVersion = "4.03";
useDune2 = true; useDune2 = true;
src = fetchurl { src = fetchurl {
url = "https://github.com/mirage/ocaml-base64/releases/download/v${version}/base64-v${version}.tbz"; url = "https://github.com/mirage/ocaml-base64/releases/download/v${version}/base64-v${version}.tbz";
sha256 = "0d0n5gd4nkdsz14jnxq13f1f7rzxmndg5xql039a8wfppmazd70w"; sha256 = "sha256-WJ3pwAV46/54QZismBjTWGxHSyMWts0+HEbMsfYq46Q=";
}; };
buildInputs = [ bos dune-configurator ]; # otherwise fmt breaks evaluation
doCheck = lib.versionAtLeast ocaml.version "4.05";
doCheck = true; checkInputs = [ alcotest bos rresult ];
checkInputs = [ alcotest ];
meta = { meta = {
homepage = "https://github.com/mirage/ocaml-base64"; homepage = "https://github.com/mirage/ocaml-base64";

View file

@ -1,12 +1,15 @@
{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uchar, uutf, uunf }: { lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, topkg, uchar, uutf, uunf, uucd }:
let let
pname = "uucp"; pname = "uucp";
version = "11.0.0"; version = "13.0.0";
webpage = "https://erratique.ch/software/${pname}"; webpage = "https://erratique.ch/software/${pname}";
minimumOCamlVersion = "4.03";
doCheck = true;
in in
assert lib.versionAtLeast ocaml.version "4.01"; assert lib.assertMsg (lib.versionAtLeast ocaml.version minimumOCamlVersion)
"${pname} needs at least OCaml ${minimumOCamlVersion}";
stdenv.mkDerivation { stdenv.mkDerivation {
@ -14,17 +17,29 @@ stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "${webpage}/releases/${pname}-${version}.tbz"; url = "${webpage}/releases/${pname}-${version}.tbz";
sha256 = "0pidg2pmqsifmk4xx9cc5p5jprhg26xb68g1xddjm7sjzbdzhlm4"; sha256 = "sha256-OPpHbCOC/vMFdyHwyhCSisUv2PyO8xbeY2oq1a9HbqY=";
}; };
buildInputs = [ ocaml findlib ocamlbuild topkg uutf uunf ]; buildInputs = [ ocaml findlib ocamlbuild topkg uutf uunf ];
propagatedBuildInputs = [ uchar ]; propagatedBuildInputs = [ uchar ];
buildPhase = "${topkg.buildPhase} --with-cmdliner false"; buildPhase = ''
runHook preBuild
${topkg.buildPhase} --with-cmdliner false --tests ${lib.boolToString doCheck}
runHook postBuild
'';
inherit (topkg) installPhase; inherit (topkg) installPhase;
inherit doCheck;
checkPhase = ''
runHook preCheck
${topkg.run} test
runHook postCheck
'';
checkInputs = [ uucd ];
meta = with lib; { meta = with lib; {
description = "An OCaml library providing efficient access to a selection of character properties of the Unicode character database"; description = "An OCaml library providing efficient access to a selection of character properties of the Unicode character database";
homepage = webpage; homepage = webpage;

View file

@ -1,20 +1,31 @@
{ lib, buildPythonPackage, fetchPypi }: { lib
, buildPythonPackage
, fetchFromGitHub
, mock
, pytestCheckHook
}:
buildPythonPackage rec { buildPythonPackage rec {
pname = "ConfigArgParse"; pname = "ConfigArgParse";
version = "1.2.3"; version = "1.3";
src = fetchPypi { src = fetchFromGitHub {
inherit pname version; owner = "bw2";
sha256 = "1p1pzpf5qpf80bfxsx1mbw9blyhhypjvhl3i60pbmhfmhvlpplgd"; repo = pname;
rev = version;
sha256 = "147x781lgahn9r3gbhayhx1pf0iysf7q1hnr3kypy3p2k9v7a9mh";
}; };
# no tests in tarball checkInputs = [
doCheck = false; mock
pytestCheckHook
];
pythonImportsCheck = [ "configargparse" ];
meta = with lib; { meta = with lib; {
description = "A drop-in replacement for argparse"; description = "A drop-in replacement for argparse";
homepage = "https://github.com/zorro3/ConfigArgParse"; homepage = "https://github.com/bw2/ConfigArgParse";
license = licenses.mit; license = licenses.mit;
maintainers = [ maintainers.willibutz ]; maintainers = [ maintainers.willibutz ];
}; };

View file

@ -20,14 +20,14 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "fonttools"; pname = "fonttools";
version = "4.19.1"; version = "4.20.0";
disabled = pythonOlder "3.6"; disabled = pythonOlder "3.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = pname; owner = pname;
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "16jz3g4jzfdc43hs33b59vzd9m233qgflvy3ycdynifqk16lqsp2"; sha256 = "0yj83vsjh23g7gkmq6svbgc898x3qgygkhvpcbpycvmpwxxqxh1v";
}; };
# all dependencies are optional, but # all dependencies are optional, but

View file

@ -24,9 +24,11 @@ buildPythonPackage rec {
checkInputs = [ pytestCheckHook ]; checkInputs = [ pytestCheckHook ];
pythonImportsCheck = [ "modeled" ];
meta = with lib; { meta = with lib; {
description = "Universal data modeling for Python"; description = "Universal data modeling for Python";
homepage = "https://bitbucket.org/userzimmermann/python-modeled"; homepage = "https://github.com/modeled/modeled";
license = licenses.lgpl3Only; license = licenses.lgpl3Only;
maintainers = [ maintainers.costrouc ]; maintainers = [ maintainers.costrouc ];
}; };

View file

@ -0,0 +1,67 @@
{ lib
, stdenv
, buildPythonPackage
, fetchFromGitHub
, aiohttp
, eventlet
, iana-etc
, libredirect
, mock
, requests
, six
, tornado
, websocket_client
, websockets
, pytestCheckHook
}:
buildPythonPackage rec {
pname = "python-engineio";
version = "3.14.2";
src = fetchFromGitHub {
owner = "miguelgrinberg";
repo = "python-engineio";
rev = "v${version}";
sha256 = "1r3gvizrknbv036pvxid1l726wkb0l43bdaz5y879s7j3ipyb464";
};
propagatedBuildInputs = [
six
];
checkInputs = [
aiohttp
eventlet
mock
requests
tornado
websocket_client
websockets
pytestCheckHook
];
preCheck = lib.optionalString stdenv.isLinux ''
echo "nameserver 127.0.0.1" > resolv.conf
export NIX_REDIRECTS=/etc/protocols=${iana-etc}/etc/protocols:/etc/resolv.conf=$(realpath resolv.conf) \
LD_PRELOAD=${libredirect}/lib/libredirect.so
'';
postCheck = ''
unset NIX_REDIRECTS LD_PRELOAD
'';
# somehow effective log level does not change?
disabledTests = [ "test_logger" ];
pythonImportsCheck = [ "engineio" ];
meta = with lib; {
description = "Python based Engine.IO client and server v3.x";
longDescription = ''
Engine.IO is a lightweight transport protocol that enables real-time
bidirectional event-based communication between clients and a server.
'';
homepage = "https://github.com/miguelgrinberg/python-engineio/";
license = with licenses; [ mit ];
maintainers = with maintainers; [ graham33 ];
};
}

View file

@ -0,0 +1,47 @@
{ lib
, bidict
, buildPythonPackage
, fetchFromGitHub
, mock
, pytestCheckHook
, python-engineio_3
}:
buildPythonPackage rec {
pname = "python-socketio";
version = "4.6.1";
src = fetchFromGitHub {
owner = "miguelgrinberg";
repo = "python-socketio";
rev = "v${version}";
sha256 = "14dijag17v84v0pp9qi89h5awb4h4i9rj0ppkixqv6is9z9lflw5";
};
propagatedBuildInputs = [
bidict
python-engineio_3
];
checkInputs = [
mock
pytestCheckHook
];
pythonImportsCheck = [ "socketio" ];
# pytestCheckHook seems to change the default log level to WARNING, but the
# tests assert it is ERROR
disabledTests = [ "test_logger" ];
meta = with lib; {
description = "Python Socket.IO server and client 4.x";
longDescription = ''
Socket.IO is a lightweight transport protocol that enables real-time
bidirectional event-based communication between clients and a server.
'';
homepage = "https://github.com/miguelgrinberg/python-socketio/";
license = with licenses; [ mit ];
maintainers = with maintainers; [ graham33 ];
};
}

View file

@ -36,7 +36,7 @@ buildPythonPackage rec {
Socket.IO is a lightweight transport protocol that enables real-time Socket.IO is a lightweight transport protocol that enables real-time
bidirectional event-based communication between clients and a server. bidirectional event-based communication between clients and a server.
''; '';
homepage = "https://github.com/miguelgrinberg/python-engineio/"; homepage = "https://github.com/miguelgrinberg/python-socketio/";
license = with licenses; [ mit ]; license = with licenses; [ mit ];
maintainers = with maintainers; [ mic92 ]; maintainers = with maintainers; [ mic92 ];
}; };

View file

@ -8,7 +8,7 @@
, six , six
, zetup , zetup
, modeled , modeled
, pytest , pytestCheckHook
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -20,9 +20,7 @@ buildPythonPackage rec {
sha256 = "0377ikajf6c3zcy3lc0kh4w9zmlqyplk2c2hb0yyc7h3jnfnya96"; sha256 = "0377ikajf6c3zcy3lc0kh4w9zmlqyplk2c2hb0yyc7h3jnfnya96";
}; };
nativeBuildInputs = [ nativeBuildInputs = [ zetup ];
zetup
];
propagatedBuildInputs = [ propagatedBuildInputs = [
robotframework robotframework
@ -32,19 +30,21 @@ buildPythonPackage rec {
modeled modeled
]; ];
checkInputs = [ postPatch = ''
pytest # Remove upstream's selfmade approach to collect the dependencies
]; # https://github.com/userzimmermann/robotframework-tools/issues/1
substituteInPlace setup.py --replace \
checkPhase = '' "setup_requires=SETUP_REQUIRES + (zfg.SETUP_REQUIRES or [])," ""
# tests require network
pytest test --ignore test/remote/test_remote.py
''; '';
checkInputs = [ pytestCheckHook ];
pytestFlagsArray = [ "test" ];
pythonImportsCheck = [ "robottools" ];
meta = with lib; { meta = with lib; {
description = "Python Tools for Robot Framework and Test Libraries"; description = "Python Tools for Robot Framework and Test Libraries";
homepage = "https://bitbucket.org/userzimmermann/robotframework-tools"; homepage = "https://github.com/userzimmermann/robotframework-tools";
license = licenses.gpl3; license = licenses.gpl3Plus;
maintainers = [ maintainers.costrouc ]; maintainers = [ maintainers.costrouc ];
}; };
} }

View file

@ -15,12 +15,12 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "uvloop"; pname = "uvloop";
version = "0.15.0"; version = "0.15.1";
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
sha256 = "0rfhr84km8k5gj0036b2pznwmc8macx56vkxc3aksvns95dksl0s"; sha256 = "1p33xfzcy60qqca3rplzbh8h4x7x9l77vi6zbyy9md5z2a0q4ikq";
}; };
buildInputs = [ buildInputs = [

View file

@ -1,6 +1,11 @@
{ lib, buildPythonPackage, fetchPypi { lib
, setuptools_scm, pathpy, nbconvert , buildPythonPackage
, pytest }: , fetchPypi
, nbconvert
, pathpy
, pytestCheckHook
, setuptools-scm
}:
buildPythonPackage rec { buildPythonPackage rec {
pname = "zetup"; pname = "zetup";
@ -11,18 +16,25 @@ buildPythonPackage rec {
sha256 = "b8a9bdcfa4b705d72b55b218658bc9403c157db7b57a14158253c98d03ab713d"; sha256 = "b8a9bdcfa4b705d72b55b218658bc9403c157db7b57a14158253c98d03ab713d";
}; };
# Python 3.8 compatibility # Python > 3.7 compatibility
postPatch = '' postPatch = ''
substituteInPlace zetup/zetup_config.py \ substituteInPlace zetup/zetup_config.py \
--replace "'3.7']" "'3.7', '3.8']" --replace "'3.7']" "'3.7', '3.8', '3.9', '3.10']"
''; '';
checkPhase = '' checkPhase = ''
py.test test -k "not TestObject" --deselect=test/test_zetup_config.py::test_classifiers py.test test -k "not TestObject" --deselect=test/test_zetup_config.py::test_classifiers
''; '';
checkInputs = [ pytest pathpy nbconvert ]; propagatedBuildInputs = [ setuptools-scm ];
propagatedBuildInputs = [ setuptools_scm ];
checkInputs = [
pathpy
nbconvert
pytestCheckHook
];
pythonImportsCheck = [ "zetup" ];
meta = with lib; { meta = with lib; {
description = "Zimmermann's Extensible Tools for Unified Project setups"; description = "Zimmermann's Extensible Tools for Unified Project setups";

View file

@ -1,6 +1,6 @@
source 'https://rubygems.org' source 'https://rubygems.org'
gem 'chef-dk', '4.7.73' gem 'chef-dk', '4.13.3'
gem 'pry' gem 'pry'
gem 'test-kitchen' gem 'test-kitchen'
gem 'inspec' gem 'inspec'

File diff suppressed because it is too large Load diff

View file

@ -1,7 +1,7 @@
{ lib, bundlerEnv, bundlerUpdateScript, ruby, perl, autoconf }: { lib, bundlerEnv, bundlerUpdateScript, ruby, perl, autoconf }:
bundlerEnv { bundlerEnv {
name = "chef-dk-4.7.73"; name = "chef-dk-4.13.3";
inherit ruby; inherit ruby;
gemdir = ./.; gemdir = ./.;

File diff suppressed because it is too large Load diff

View file

@ -1,13 +1,21 @@
{ lib, buildGoPackage, fetchFromGitHub, installShellFiles }: { lib, buildGoModule, fetchFromGitHub, installShellFiles }:
buildGoPackage rec { buildGoModule rec {
pname = "skaffold"; pname = "skaffold";
version = "1.17.2"; version = "1.20.0";
src = fetchFromGitHub {
owner = "GoogleContainerTools";
repo = "skaffold";
rev = "v${version}";
sha256 = "080zhksznwsyi0w1ban90vgh8y1q2703h3h4fvkwg695prd9ij66";
};
vendorSha256 = "1jvrk5jhjzg0dq0zg7p4hvjwda2289cmwh0ldz3269y8g3l113x8";
goPackagePath = "github.com/GoogleContainerTools/skaffold";
subPackages = ["cmd/skaffold"]; subPackages = ["cmd/skaffold"];
buildFlagsArray = let t = "${goPackagePath}/pkg/skaffold"; in '' buildFlagsArray = let t = "github.com/GoogleContainerTools/skaffold/pkg/skaffold"; in ''
-ldflags= -ldflags=
-s -w -s -w
-X ${t}/version.version=v${version} -X ${t}/version.version=v${version}
@ -15,24 +23,24 @@ buildGoPackage rec {
-X ${t}/version.buildDate=unknown -X ${t}/version.buildDate=unknown
''; '';
src = fetchFromGitHub {
owner = "GoogleContainerTools";
repo = "skaffold";
rev = "v${version}";
sha256 = "1sn4pmikap93kpdgcalgb3nam7zp60ck6wmynsv8dnzihrr7ycm3";
};
nativeBuildInputs = [ installShellFiles ]; nativeBuildInputs = [ installShellFiles ];
postInstall = '' postInstall = ''
for shell in bash zsh; do installShellCompletion --cmd skaffold \
$out/bin/skaffold completion $shell > skaffold.$shell --bash <($out/bin/skaffold completion bash) \
installShellCompletion skaffold.$shell --zsh <($out/bin/skaffold completion zsh)
done
''; '';
meta = with lib; { meta = with lib; {
description = "Easy and Repeatable Kubernetes Development";
homepage = "https://skaffold.dev/"; homepage = "https://skaffold.dev/";
changelog = "https://github.com/GoogleContainerTools/skaffold/releases/tag/v${version}";
description = "Easy and Repeatable Kubernetes Development";
longDescription = ''
Skaffold is a command line tool that facilitates continuous development for Kubernetes applications.
You can iterate on your application source code locally then deploy to local or remote Kubernetes clusters.
Skaffold handles the workflow for building, pushing and deploying your application.
It also provides building blocks and describe customizations for a CI/CD pipeline.
'';
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ vdemeester ]; maintainers = with maintainers; [ vdemeester ];
}; };

View file

@ -8,9 +8,9 @@ stdenv.mkDerivation {
sha256 = "0q5hildq2xcig7yrqi26n7fqlanyssjirm7swy2a9icfxpppfpkn"; sha256 = "0q5hildq2xcig7yrqi26n7fqlanyssjirm7swy2a9icfxpppfpkn";
}; };
buildInputs = [ unzip ]; nativeBuildInputs = [ unzip ];
makeFlags = [ "LINK=gcc" "CFLAGS=-O2" ]; makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" "LINK=${stdenv.cc.targetPrefix}cc" "CFLAGS=-O2" ];
hardeningDisable = [ "format" ]; hardeningDisable = [ "format" ];
@ -26,6 +26,6 @@ stdenv.mkDerivation {
homepage = "http://www.davidviner.com/dlx.php"; homepage = "http://www.davidviner.com/dlx.php";
description = "DLX Simulator"; description = "DLX Simulator";
license = lib.licenses.gpl2; license = lib.licenses.gpl2;
platforms = lib.platforms.linux; platforms = lib.platforms.all;
}; };
} }

View file

@ -14,12 +14,12 @@ let
complPath = completionDirs ++ map (vendorDir "completions") pluginPkgs; complPath = completionDirs ++ map (vendorDir "completions") pluginPkgs;
funcPath = functionDirs ++ map (vendorDir "functions") pluginPkgs; funcPath = functionDirs ++ map (vendorDir "functions") pluginPkgs;
confPath = confDirs ++ map (vendorDir "conf") pluginPkgs; confPath = confDirs ++ map (vendorDir "conf") pluginPkgs;
safeConfPath = map escapeShellArg confPath;
in writeShellScriptBin "fish" '' in writeShellScriptBin "fish" ''
${fish}/bin/fish --init-command " ${fish}/bin/fish --init-command "
set --prepend fish_complete_path ${escapeShellArgs complPath} set --prepend fish_complete_path ${escapeShellArgs complPath}
set --prepend fish_function_path ${escapeShellArgs funcPath} set --prepend fish_function_path ${escapeShellArgs funcPath}
for c in {${concatStringsSep "," safeConfPath}}/*; source $c; end set --local fish_conf_source_path ${escapeShellArgs confPath}
for c in $fish_conf_source_path/*; source $c; end
" "$@" " "$@"
'') '')

View file

@ -30,11 +30,11 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "tor"; pname = "tor";
version = "0.4.4.7"; version = "0.4.5.6";
src = fetchurl { src = fetchurl {
url = "https://dist.torproject.org/${pname}-${version}.tar.gz"; url = "https://dist.torproject.org/${pname}-${version}.tar.gz";
sha256 = "1vh5kdx7s74il8a6gr7jydbpv0an01nla4y2r8w7h33z2wk2jv9j"; sha256 = "0cz78pjw2bc3kl3ziip1nhhbq89crv315rf1my3zmmgd9xws7jr2";
}; };
outputs = [ "out" "geoip" ]; outputs = [ "out" "geoip" ];

View file

@ -2,13 +2,13 @@
python3Packages.buildPythonPackage rec { python3Packages.buildPythonPackage rec {
pname = "auto-cpufreq"; pname = "auto-cpufreq";
version = "1.5.3"; version = "1.6.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "AdnanHodzic"; owner = "AdnanHodzic";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-NDIdQ4gUN2jG+VWXsv3fdUogZxOOiNtnbekD30+jx6M="; sha256 = "sha256-oz3C1150CPfT0kkx1x7VIX/Rm06dkjyxeDPFCRJaWNc=";
}; };
propagatedBuildInputs = with python3Packages; [ click distro psutil ]; propagatedBuildInputs = with python3Packages; [ click distro psutil ];

View file

@ -1,8 +1,17 @@
diff --git a/auto_cpufreq/core.py b/auto_cpufreq/core.py diff --git a/auto_cpufreq/core.py b/auto_cpufreq/core.py
index 482a544..d142013 100644 index a685db8..1ca1ca1 100644
--- a/auto_cpufreq/core.py --- a/auto_cpufreq/core.py
+++ b/auto_cpufreq/core.py +++ b/auto_cpufreq/core.py
@@ -163,31 +163,13 @@ def get_current_gov(): @@ -72,7 +72,7 @@ def app_version():
print("Git commit:", check_output(["git", "describe", "--always"]).strip().decode())
else:
print(getoutput("pacman -Qi auto-cpufreq | grep Version"))
- else:
+ else:
# source code (auto-cpufreq-installer)
try:
print("Git commit:", check_output(["git", "describe", "--always"]).strip().decode())
@@ -179,31 +179,13 @@ def get_current_gov():
return print("Currently using:", getoutput("cpufreqctl.auto-cpufreq --governor").strip().split(" ")[0], "governor") return print("Currently using:", getoutput("cpufreqctl.auto-cpufreq --governor").strip().split(" ")[0], "governor")
def cpufreqctl(): def cpufreqctl():
@ -38,8 +47,8 @@ index 482a544..d142013 100644
def footer(l=79): def footer(l=79):
print("\n" + "-" * l + "\n") print("\n" + "-" * l + "\n")
@@ -212,74 +194,12 @@ def remove_complete_msg(): @@ -233,74 +215,12 @@ def remove_complete_msg():
footer()
def deploy_daemon(): def deploy_daemon():
- print("\n" + "-" * 21 + " Deploying auto-cpufreq as a daemon " + "-" * 22 + "\n") - print("\n" + "-" * 21 + " Deploying auto-cpufreq as a daemon " + "-" * 22 + "\n")
@ -60,7 +69,7 @@ index 482a544..d142013 100644
- except: - except:
- print("\nERROR:\nWas unable to turn off bluetooth on boot") - print("\nERROR:\nWas unable to turn off bluetooth on boot")
- -
- auto_cpufreq_log_path.touch(exist_ok=True) - auto_cpufreq_stats_path.touch(exist_ok=True)
- -
- print("\n* Deploy auto-cpufreq install script") - print("\n* Deploy auto-cpufreq install script")
- shutil.copy(SCRIPTS_DIR / "auto-cpufreq-install.sh", "/usr/bin/auto-cpufreq-install") - shutil.copy(SCRIPTS_DIR / "auto-cpufreq-install.sh", "/usr/bin/auto-cpufreq-install")
@ -102,12 +111,12 @@ index 482a544..d142013 100644
- # remove auto-cpufreq-remove - # remove auto-cpufreq-remove
- os.remove("/usr/bin/auto-cpufreq-remove") - os.remove("/usr/bin/auto-cpufreq-remove")
- -
- # delete log file - # delete stats file
- if auto_cpufreq_log_path.exists(): - if auto_cpufreq_stats_path.exists():
- if auto_cpufreq_log_file is not None: - if auto_cpufreq_stats_file is not None:
- auto_cpufreq_log_file.close() - auto_cpufreq_stats_file.close()
- -
- auto_cpufreq_log_path.unlink() - auto_cpufreq_stats_path.unlink()
- -
- # restore original cpufrectl script - # restore original cpufrectl script
- cpufreqctl_restore() - cpufreqctl_restore()
@ -116,6 +125,15 @@ index 482a544..d142013 100644
def gov_check(): def gov_check():
for gov in get_avail_gov(): for gov in get_avail_gov():
@@ -331,7 +251,7 @@ def countdown(s):
if auto_cpufreq_stats_file is not None:
auto_cpufreq_stats_file.seek(0)
auto_cpufreq_stats_file.truncate(0)
-
+
# execution timestamp
from datetime import datetime
now = datetime.now()
diff --git a/scripts/cpufreqctl.sh b/scripts/cpufreqctl.sh diff --git a/scripts/cpufreqctl.sh b/scripts/cpufreqctl.sh
index 63a2b5b..e157efe 100755 index 63a2b5b..e157efe 100755
--- a/scripts/cpufreqctl.sh --- a/scripts/cpufreqctl.sh

View file

@ -1,4 +1,9 @@
{ buildGoModule, fetchFromGitHub, lib, wl-clipboard, makeWrapper }: { buildGoModule
, fetchFromGitHub
, lib
, wl-clipboard
, makeWrapper
}:
buildGoModule rec { buildGoModule rec {
pname = "clipman"; pname = "clipman";
@ -24,9 +29,9 @@ buildGoModule rec {
meta = with lib; { meta = with lib; {
homepage = "https://github.com/yory8/clipman"; homepage = "https://github.com/yory8/clipman";
license = licenses.gpl3;
maintainers = with maintainers; [ ma27 ];
description = "A simple clipboard manager for Wayland"; description = "A simple clipboard manager for Wayland";
license = licenses.gpl3Only;
maintainers = with maintainers; [ ma27 ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View file

@ -1,4 +1,12 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, scdoc, wayland }: { lib
, stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, scdoc
, wayland
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "kanshi"; pname = "kanshi";
@ -15,6 +23,7 @@ stdenv.mkDerivation rec {
buildInputs = [ wayland ]; buildInputs = [ wayland ];
meta = with lib; { meta = with lib; {
homepage = "https://github.com/emersion/kanshi";
description = "Dynamic display configuration tool"; description = "Dynamic display configuration tool";
longDescription = '' longDescription = ''
kanshi allows you to define output profiles that are automatically enabled kanshi allows you to define output profiles that are automatically enabled
@ -24,8 +33,6 @@ stdenv.mkDerivation rec {
kanshi can be used on Wayland compositors supporting the kanshi can be used on Wayland compositors supporting the
wlr-output-management protocol. wlr-output-management protocol.
''; '';
homepage = "https://github.com/emersion/kanshi";
downloadPage = "https://github.com/emersion/kanshi";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ balsoft ]; maintainers = with maintainers; [ balsoft ];
platforms = platforms.linux; platforms = platforms.linux;

View file

@ -0,0 +1,39 @@
{ lib
, stdenv
, fetchFromGitHub
, pkg-config
, meson
, ninja
, cairo
, gdk-pixbuf
, wayland
, wayland-protocols
}:
stdenv.mkDerivation rec {
pname = "oguri";
version = "unstable-2020-12-19";
src = fetchFromGitHub {
owner = "vilhalmer";
repo = pname;
rev = "6937fee10a9b0ef3ad8f94f606c0e0d9e7dec564";
sha256 = "sXNvpI/YPDPd2cXQAfRO4ut21gSCXxbo1DpaZmHJDYQ=";
};
nativeBuildInputs = [ pkg-config meson ninja ];
buildInputs = [
cairo
gdk-pixbuf
wayland
wayland-protocols
];
meta = with lib; {
homepage = "https://github.com/vilhalmer/oguri/";
description = "A very nice animated wallpaper daemon for Wayland compositors";
license = licenses.mit;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.unix;
};
}

View file

@ -1,5 +1,13 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config { lib
, cairo, libxkbcommon, wayland, wayland-protocols , stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, cairo
, libxkbcommon
, wayland
, wayland-protocols
, buildDocs ? true, scdoc , buildDocs ? true, scdoc
}: }:
@ -33,7 +41,7 @@ stdenv.mkDerivation rec {
description = "Select a region in a Wayland compositor"; description = "Select a region in a Wayland compositor";
homepage = "https://github.com/emersion/slurp"; homepage = "https://github.com/emersion/slurp";
license = licenses.mit; license = licenses.mit;
platforms = platforms.linux;
maintainers = with maintainers; [ buffet ]; maintainers = with maintainers; [ buffet ];
platforms = platforms.linux;
}; };
} }

View file

@ -1,6 +1,11 @@
{ lib, stdenv, fetchurl { lib
, pkg-config, scdoc, wayland , stdenv
, wayland-protocols, libxkbcommon , fetchurl
, pkg-config
, scdoc
, wayland
, wayland-protocols
, libxkbcommon
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -18,14 +23,14 @@ stdenv.mkDerivation rec {
installFlags = [ "PREFIX=$(out)" ]; installFlags = [ "PREFIX=$(out)" ];
meta = with lib; { meta = with lib; {
homepage = "https://git.sr.ht/~sircmpwn/wev";
description = "Wayland event viewer"; description = "Wayland event viewer";
longDescription = '' longDescription = ''
This is a tool for debugging events on a Wayland window, analagous to the This is a tool for debugging events on a Wayland window, analagous to the
X11 tool xev. X11 tool xev.
''; '';
homepage = "https://git.sr.ht/~sircmpwn/wev";
license = licenses.mit; license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ primeos ]; maintainers = with maintainers; [ primeos ];
platforms = platforms.unix;
}; };
} }

View file

@ -1,5 +1,12 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config { lib
, wayland, wayland-protocols }: , stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, wayland
, wayland-protocols
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wl-clipboard"; pname = "wl-clipboard";
@ -16,10 +23,11 @@ stdenv.mkDerivation rec {
buildInputs = [ wayland ]; buildInputs = [ wayland ];
meta = with lib; { meta = with lib; {
description = "Command-line copy/paste utilities for Wayland";
homepage = "https://github.com/bugaevc/wl-clipboard"; homepage = "https://github.com/bugaevc/wl-clipboard";
license = licenses.gpl3; description = "Command-line copy/paste utilities for Wayland";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ dywedir ]; maintainers = with maintainers; [ dywedir ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }
# TODO: is wayland-protocols a nativeBuildInput or a buildInput?

View file

@ -0,0 +1,54 @@
{ lib
, stdenv
, fetchFromGitHub
, pkg-config
, meson
, ninja
, scdoc
, gtk3
, libxkbcommon
, wayland
, wayland-protocols
}:
stdenv.mkDerivation rec {
pname = "wlogout";
version = "1.1.1";
src = fetchFromGitHub {
owner = "ArtsyMacaw";
repo = "wlogout";
rev = version;
sha256 = "cTscfx+erHVFHwwYpN7pADQWt5sq75sQSyXSP/H8kOs=";
};
nativeBuildInputs = [ pkg-config meson ninja scdoc ];
buildInputs = [
gtk3
libxkbcommon
wayland
wayland-protocols
];
postPatch = ''
substituteInPlace style.css \
--replace "/usr/share/wlogout" "$out/share/${pname}"
substituteInPlace main.c \
--replace "/etc/wlogout" "$out/etc/${pname}"
'';
mesonFlags = [
"--datadir=${placeholder "out"}/share"
"--sysconfdir=${placeholder "out"}/etc"
];
meta = with lib; {
homepage = "https://github.com/ArtsyMacaw/wlogout";
description = "A wayland based logout menu";
license = licenses.mit;
maintainers = with maintainers; [ AndersonTorres ];
platforms = platforms.unix;
};
}
# TODO: shell completions

View file

@ -1,4 +1,11 @@
{ lib, stdenv, fetchFromGitHub, meson, ninja, cmake, pkg-config, wayland }: { lib
, stdenv
, fetchFromGitHub
, meson
, ninja
, pkg-config
, wayland
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wlr-randr"; pname = "wlr-randr";
@ -11,13 +18,14 @@ stdenv.mkDerivation rec {
sha256 = "sha256-JeSxFXSFxcTwJz9EaLb18wtD4ZIT+ATeYM5OyDTJhDQ="; sha256 = "sha256-JeSxFXSFxcTwJz9EaLb18wtD4ZIT+ATeYM5OyDTJhDQ=";
}; };
nativeBuildInputs = [ meson ninja cmake pkg-config ]; nativeBuildInputs = [ meson ninja pkg-config ];
buildInputs = [ wayland ]; buildInputs = [ wayland ];
meta = with lib; { meta = with lib; {
license = licenses.mit;
description = "An xrandr clone for wlroots compositors"; description = "An xrandr clone for wlroots compositors";
homepage = "https://github.com/emersion/wlr-randr"; homepage = "https://github.com/emersion/wlr-randr";
license = licenses.mit;
maintainers = with maintainers; [ ma27 ]; maintainers = with maintainers; [ ma27 ];
platforms = platforms.unix;
}; };
} }

View file

@ -1,6 +1,13 @@
{ lib, stdenv, fetchFromGitHub { lib
, meson, ninja, pkg-config, scdoc, wayland # wayland-scanner , stdenv
, wayland-protocols, libseccomp , fetchFromGitHub
, meson
, ninja
, pkg-config
, scdoc
, libseccomp
, wayland # wayland-scanner
, wayland-protocols
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -21,15 +28,15 @@ stdenv.mkDerivation rec {
mesonFlags = lib.optional stdenv.isLinux "-Dseccomp=enabled"; mesonFlags = lib.optional stdenv.isLinux "-Dseccomp=enabled";
meta = with lib; { meta = with lib; {
inherit (src.meta) homepage;
description = "A lightweight overlay bar for Wayland"; description = "A lightweight overlay bar for Wayland";
longDescription = '' longDescription = ''
A lightweight overlay volume/backlight/progress/anything bar for Wayland, A lightweight overlay volume/backlight/progress/anything bar for Wayland,
inspired by xob. inspired by xob.
''; '';
inherit (src.meta) homepage;
changelog = "https://github.com/francma/wob/releases/tag/${version}"; changelog = "https://github.com/francma/wob/releases/tag/${version}";
license = licenses.isc; license = licenses.isc;
platforms = platforms.unix;
maintainers = with maintainers; [ primeos ]; maintainers = with maintainers; [ primeos ];
platforms = platforms.unix;
}; };
} }

View file

@ -1964,7 +1964,33 @@ in
chntpw = callPackage ../tools/security/chntpw { }; chntpw = callPackage ../tools/security/chntpw { };
clipman = callPackage ../tools/misc/clipman { }; clipman = callPackage ../tools/wayland/clipman { };
kanshi = callPackage ../tools/wayland/kanshi { };
oguri = callPackage ../tools/wayland/oguri { };
slurp = callPackage ../tools/wayland/slurp { };
wayland-utils = callPackage ../tools/wayland/wayland-utils { };
wev = callPackage ../tools/wayland/wev { };
wl-clipboard = callPackage ../tools/wayland/wl-clipboard { };
wlogout = callPackage ../tools/wayland/wlogout { };
wlr-randr = callPackage ../tools/wayland/wlr-randr { };
wlsunset = callPackage ../tools/wayland/wlsunset { };
wob = callPackage ../tools/wayland/wob { };
wshowkeys = callPackage ../tools/wayland/wshowkeys { };
wtype = callPackage ../tools/wayland/wtype { };
ydotool = callPackage ../tools/wayland/ydotool { };
clipster = callPackage ../tools/misc/clipster { }; clipster = callPackage ../tools/misc/clipster { };
@ -3850,22 +3876,8 @@ in
wallutils = callPackage ../tools/graphics/wallutils { }; wallutils = callPackage ../tools/graphics/wallutils { };
wayland-utils = callPackage ../tools/wayland/wayland-utils { };
wev = callPackage ../tools/misc/wev { };
wl-clipboard = callPackage ../tools/misc/wl-clipboard { };
wlsunset = callPackage ../tools/wayland/wlsunset { };
wob = callPackage ../tools/misc/wob { };
wtype = callPackage ../tools/wayland/wtype { };
wrangler = callPackage ../development/tools/wrangler { }; wrangler = callPackage ../development/tools/wrangler { };
wshowkeys = callPackage ../tools/wayland/wshowkeys { };
wsl-open = callPackage ../tools/misc/wsl-open { }; wsl-open = callPackage ../tools/misc/wsl-open { };
xkcdpass = with python3Packages; toPythonApplication xkcdpass; xkcdpass = with python3Packages; toPythonApplication xkcdpass;
@ -10163,6 +10175,13 @@ in
buildPackages = buildPackages // { stdenv = gcc8Stdenv; }; buildPackages = buildPackages // { stdenv = gcc8Stdenv; };
}); });
go_1_16 = callPackage ../development/compilers/go/1.16.nix ({
inherit (darwin.apple_sdk.frameworks) Security Foundation;
} // lib.optionalAttrs (stdenv.cc.isGNU && stdenv.isAarch64) {
stdenv = gcc8Stdenv;
buildPackages = buildPackages // { stdenv = gcc8Stdenv; };
});
go_2-dev = callPackage ../development/compilers/go/2-dev.nix ({ go_2-dev = callPackage ../development/compilers/go/2-dev.nix ({
inherit (darwin.apple_sdk.frameworks) Security Foundation; inherit (darwin.apple_sdk.frameworks) Security Foundation;
} // lib.optionalAttrs (stdenv.cc.isGNU && stdenv.isAarch64) { } // lib.optionalAttrs (stdenv.cc.isGNU && stdenv.isAarch64) {
@ -17315,8 +17334,6 @@ in
yder = callPackage ../development/libraries/yder { }; yder = callPackage ../development/libraries/yder { };
ydotool = callPackage ../tools/wayland/ydotool { };
yojimbo = callPackage ../development/libraries/yojimbo { }; yojimbo = callPackage ../development/libraries/yojimbo { };
yubioath-desktop = libsForQt5.callPackage ../applications/misc/yubioath-desktop { }; yubioath-desktop = libsForQt5.callPackage ../applications/misc/yubioath-desktop { };
@ -17476,6 +17493,9 @@ in
buildGo115Package = callPackage ../development/go-packages/generic { buildGo115Package = callPackage ../development/go-packages/generic {
go = buildPackages.go_1_15; go = buildPackages.go_1_15;
}; };
buildGo116Package = callPackage ../development/go-packages/generic {
go = buildPackages.go_1_16;
};
buildGoPackage = buildGo115Package; buildGoPackage = buildGo115Package;
@ -17485,6 +17505,9 @@ in
buildGo115Module = callPackage ../development/go-modules/generic { buildGo115Module = callPackage ../development/go-modules/generic {
go = buildPackages.go_1_15; go = buildPackages.go_1_15;
}; };
buildGo116Module = callPackage ../development/go-modules/generic {
go = buildPackages.go_1_16;
};
buildGoModule = buildGo115Module; buildGoModule = buildGo115Module;
@ -22819,8 +22842,6 @@ in
super-productivity = callPackage ../applications/networking/super-productivity { }; super-productivity = callPackage ../applications/networking/super-productivity { };
wlr-randr = callPackage ../tools/misc/wlr-randr { };
wlroots = callPackage ../development/libraries/wlroots { }; wlroots = callPackage ../development/libraries/wlroots { };
sway-unwrapped = callPackage ../applications/window-managers/sway { }; sway-unwrapped = callPackage ../applications/window-managers/sway { };
@ -23127,8 +23148,6 @@ in
kanboard = callPackage ../applications/misc/kanboard { }; kanboard = callPackage ../applications/misc/kanboard { };
kanshi = callPackage ../tools/misc/kanshi { };
kapitonov-plugins-pack = callPackage ../applications/audio/kapitonov-plugins-pack { }; kapitonov-plugins-pack = callPackage ../applications/audio/kapitonov-plugins-pack { };
kapow = libsForQt5.callPackage ../applications/misc/kapow { }; kapow = libsForQt5.callPackage ../applications/misc/kapow { };
@ -23919,6 +23938,8 @@ in
qbec = callPackage ../applications/networking/cluster/qbec { }; qbec = callPackage ../applications/networking/cluster/qbec { };
qemacs = callPackage ../applications/editors/qemacs { };
rssguard = libsForQt5.callPackage ../applications/networking/feedreaders/rssguard { }; rssguard = libsForQt5.callPackage ../applications/networking/feedreaders/rssguard { };
scudcloud = callPackage ../applications/networking/instant-messengers/scudcloud { }; scudcloud = callPackage ../applications/networking/instant-messengers/scudcloud { };
@ -24828,8 +24849,6 @@ in
slrn = callPackage ../applications/networking/newsreaders/slrn { }; slrn = callPackage ../applications/networking/newsreaders/slrn { };
slurp = callPackage ../tools/misc/slurp { };
sniproxy = callPackage ../applications/networking/sniproxy { }; sniproxy = callPackage ../applications/networking/sniproxy { };
sooperlooper = callPackage ../applications/audio/sooperlooper { }; sooperlooper = callPackage ../applications/audio/sooperlooper { };

View file

@ -6144,6 +6144,10 @@ let
license = with lib.licenses; [ artistic1 gpl1Plus ]; license = with lib.licenses; [ artistic1 gpl1Plus ];
}; };
buildInputs = [ TestDifferences ]; buildInputs = [ TestDifferences ];
nativeBuildInputs = lib.optional stdenv.isDarwin shortenPerlShebang;
postInstall = lib.optionalString stdenv.isDarwin ''
shortenPerlShebang $out/bin/*
'';
}; };
DevelOverloadInfo = buildPerlPackage { DevelOverloadInfo = buildPerlPackage {

View file

@ -6316,6 +6316,8 @@ in {
python-engineio = callPackage ../development/python-modules/python-engineio { }; python-engineio = callPackage ../development/python-modules/python-engineio { };
python-engineio_3 = callPackage ../development/python-modules/python-engineio/3.nix { };
python-etcd = callPackage ../development/python-modules/python-etcd { }; python-etcd = callPackage ../development/python-modules/python-etcd { };
python_fedora = callPackage ../development/python-modules/python_fedora { }; python_fedora = callPackage ../development/python-modules/python_fedora { };
@ -6456,6 +6458,8 @@ in {
python-socketio = callPackage ../development/python-modules/python-socketio { }; python-socketio = callPackage ../development/python-modules/python-socketio { };
python-socketio_4 = callPackage ../development/python-modules/python-socketio/4.nix { };
python-sql = callPackage ../development/python-modules/python-sql { }; python-sql = callPackage ../development/python-modules/python-sql { };
python_statsd = callPackage ../development/python-modules/python_statsd { }; python_statsd = callPackage ../development/python-modules/python_statsd { };