Merge master into staging-next
This commit is contained in:
commit
79b7a67b55
|
@ -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";
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -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/";
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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()
|
||||||
|
|
|
@ -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" ];
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 = ''
|
||||||
|
|
|
@ -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";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 ];
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
};
|
||||||
|
}
|
|
@ -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.
|
|
@ -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)
|
|
@ -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
|
|
@ -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; {
|
||||||
|
|
|
@ -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;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
};
|
||||||
|
}
|
|
@ -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;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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 ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -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 ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -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 ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -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 ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -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 ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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 = [
|
||||||
|
|
|
@ -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";
|
||||||
|
|
|
@ -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
|
@ -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
|
@ -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 ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
" "$@"
|
" "$@"
|
||||||
'')
|
'')
|
||||||
|
|
|
@ -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" ];
|
||||||
|
|
|
@ -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 ];
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -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;
|
|
@ -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;
|
||||||
|
};
|
||||||
|
}
|
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -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?
|
|
@ -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
|
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
|
@ -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 { };
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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 { };
|
||||||
|
|
Loading…
Reference in New Issue