Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2023-04-17 00:12:19 +00:00 committed by GitHub
commit 01f49857f0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
210 changed files with 4594 additions and 6533 deletions

View File

@ -1,6 +1,6 @@
# buildFHSUserEnv {#sec-fhs-environments}
# buildFHSEnv {#sec-fhs-environments}
`buildFHSUserEnv` provides a way to build and run FHS-compatible lightweight sandboxes. It creates an isolated root with bound `/nix/store`, so its footprint in terms of disk space needed is quite small. This allows one to run software which is hard or unfeasible to patch for NixOS -- 3rd-party source trees with FHS assumptions, games distributed as tarballs, software with integrity checking and/or external self-updated binaries. It uses Linux namespaces feature to create temporary lightweight environments which are destroyed after all child processes exit, without root user rights requirement. Accepted arguments are:
`buildFHSEnv` provides a way to build and run FHS-compatible lightweight sandboxes. It creates an isolated root with bound `/nix/store`, so its footprint in terms of disk space needed is quite small. This allows one to run software which is hard or unfeasible to patch for NixOS -- 3rd-party source trees with FHS assumptions, games distributed as tarballs, software with integrity checking and/or external self-updated binaries. It uses Linux namespaces feature to create temporary lightweight environments which are destroyed after all child processes exit, without root user rights requirement. Accepted arguments are:
- `name`
Environment name.
@ -26,7 +26,7 @@ One can create a simple environment using a `shell.nix` like that:
```nix
{ pkgs ? import <nixpkgs> {} }:
(pkgs.buildFHSUserEnv {
(pkgs.buildFHSEnv {
name = "simple-x11-env";
targetPkgs = pkgs: (with pkgs;
[ udev

View File

@ -8797,6 +8797,12 @@
githubId = 3696783;
name = "Leroy Hopson";
};
lillycham = {
email = "lillycat332@gmail.com";
github = "lillycat332";
githubId = 54189319;
name = "Lilly Cham";
};
lilyball = {
email = "lily@sb.org";
github = "lilyball";
@ -12739,6 +12745,13 @@
githubId = 14829269;
name = "Ram Kromberg";
};
rampoina = {
email = "rampoina@protonmail.com";
matrix = "@rampoina:matrix.org";
github = "Rampoina";
githubId = 5653911;
name = "Rampoina";
};
ranfdev = {
email = "ranfdev@gmail.com";
name = "Lorenzo Miglietta";

View File

@ -94,6 +94,6 @@ environment.systemPackages = [ pkgs.appimage-run ];
Then instead of running the AppImage "as-is", run `appimage-run foo.appimage`.
To make other pre-built executables work on NixOS, you need to package them
with Nix and special helpers like `autoPatchelfHook` or `buildFHSUserEnv`. See
with Nix and special helpers like `autoPatchelfHook` or `buildFHSEnv`. See
the [Nixpkgs manual](https://nixos.org/nixpkgs/manual) for details. This
is complex and often doing a source build is easier.

View File

@ -423,6 +423,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- The `bind` module now allows the per-zone `allow-query` setting to be configured (previously it was hard-coded to `any`; it still defaults to `any` to retain compatibility).
- `make-disk-image` handles `contents` arguments that are directories better, fixing a bug where it used to put them in a subdirectory of the intended `target`.
## Detailed migration information {#sec-release-23.05-migration}
### Pipewire configuration overrides {#sec-release-23.05-migration-pipewire}

View File

@ -402,11 +402,16 @@ let format' = format; in let
done
else
mkdir -p $root/$(dirname $target)
if ! [ -e $root/$target ]; then
rsync $rsync_flags $source $root/$target
else
if [ -e $root/$target ]; then
echo "duplicate entry $target -> $source"
exit 1
elif [ -d $source ]; then
# Append a slash to the end of source to get rsync to copy the
# directory _to_ the target instead of _inside_ the target.
# (See `man rsync`'s note on a trailing slash.)
rsync $rsync_flags $source/ $root/$target
else
rsync $rsync_flags $source $root/$target
fi
fi
done

View File

@ -1166,7 +1166,6 @@
./services/web-apps/hledger-web.nix
./services/web-apps/icingaweb2/icingaweb2.nix
./services/web-apps/icingaweb2/module-monitoring.nix
./services/web-apps/ihatemoney
./services/web-apps/invidious.nix
./services/web-apps/invoiceplane.nix
./services/web-apps/isso.nix

View File

@ -58,6 +58,7 @@ with lib;
(mkRemovedOptionModule [ "services" "fourStoreEndpoint" ] "The fourStoreEndpoint module has been removed")
(mkRemovedOptionModule [ "services" "fprot" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "frab" ] "The frab module has been removed")
(mkRemovedOptionModule [ "services" "ihatemoney" ] "The ihatemoney module has been removed for lack of downstream maintainer")
(mkRemovedOptionModule [ "services" "kippo" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "mailpile" ] "The corresponding package was removed from nixpkgs.")
(mkRemovedOptionModule [ "services" "marathon" ] "The corresponding package was removed from nixpkgs.")

View File

@ -6,7 +6,7 @@ let
cfg = config.services.boinc;
allowRemoteGuiRpcFlag = optionalString cfg.allowRemoteGuiRpc "--allow_remote_gui_rpc";
fhsEnv = pkgs.buildFHSUserEnv {
fhsEnv = pkgs.buildFHSEnv {
name = "boinc-fhs-env";
targetPkgs = pkgs': [ cfg.package ] ++ cfg.extraEnvPackages;
runScript = "/bin/boinc_client";

View File

@ -339,14 +339,9 @@ in
};
preStart = ''
mkdir -m 0755 -p ${smokepingHome}/cache ${smokepingHome}/data
rm -f ${smokepingHome}/cropper
ln -s ${cfg.package}/htdocs/cropper ${smokepingHome}/cropper
rm -f ${smokepingHome}/css
ln -s ${cfg.package}/htdocs/css ${smokepingHome}/css
rm -f ${smokepingHome}/js
ln -s ${cfg.package}/htdocs/js ${smokepingHome}/js
rm -f ${smokepingHome}/smokeping.fcgi
ln -s ${cgiHome} ${smokepingHome}/smokeping.fcgi
ln -sf ${cfg.package}/htdocs/css ${smokepingHome}/css
ln -sf ${cfg.package}/htdocs/js ${smokepingHome}/js
ln -sf ${cgiHome} ${smokepingHome}/smokeping.fcgi
${cfg.package}/bin/smokeping --check --config=${configPath}
${cfg.package}/bin/smokeping --static --config=${configPath}
'';

View File

@ -1,153 +0,0 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.ihatemoney;
user = "ihatemoney";
group = "ihatemoney";
db = "ihatemoney";
python3 = config.services.uwsgi.package.python3;
pkg = python3.pkgs.ihatemoney;
toBool = x: if x then "True" else "False";
configFile = pkgs.writeText "ihatemoney.cfg" ''
from secrets import token_hex
# load a persistent secret key
SECRET_KEY_FILE = "/var/lib/ihatemoney/secret_key"
SECRET_KEY = ""
try:
with open(SECRET_KEY_FILE) as f:
SECRET_KEY = f.read()
except FileNotFoundError:
pass
if not SECRET_KEY:
print("ihatemoney: generating a new secret key")
SECRET_KEY = token_hex(50)
with open(SECRET_KEY_FILE, "w") as f:
f.write(SECRET_KEY)
del token_hex
del SECRET_KEY_FILE
# "normal" configuration
DEBUG = False
SQLALCHEMY_DATABASE_URI = '${
if cfg.backend == "sqlite"
then "sqlite:////var/lib/ihatemoney/ihatemoney.sqlite"
else "postgresql:///${db}"}'
SQLALCHEMY_TRACK_MODIFICATIONS = False
MAIL_DEFAULT_SENDER = (r"${cfg.defaultSender.name}", r"${cfg.defaultSender.email}")
ACTIVATE_DEMO_PROJECT = ${toBool cfg.enableDemoProject}
ADMIN_PASSWORD = r"${toString cfg.adminHashedPassword /*toString null == ""*/}"
ALLOW_PUBLIC_PROJECT_CREATION = ${toBool cfg.enablePublicProjectCreation}
ACTIVATE_ADMIN_DASHBOARD = ${toBool cfg.enableAdminDashboard}
SESSION_COOKIE_SECURE = ${toBool cfg.secureCookie}
ENABLE_CAPTCHA = ${toBool cfg.enableCaptcha}
LEGAL_LINK = r"${toString cfg.legalLink}"
${cfg.extraConfig}
'';
in
{
options.services.ihatemoney = {
enable = mkEnableOption (lib.mdDoc "ihatemoney webapp. Note that this will set uwsgi to emperor mode");
backend = mkOption {
type = types.enum [ "sqlite" "postgresql" ];
default = "sqlite";
description = lib.mdDoc ''
The database engine to use for ihatemoney.
If `postgresql` is selected, then a database called
`${db}` will be created. If you disable this option,
it will however not be removed.
'';
};
adminHashedPassword = mkOption {
type = types.nullOr types.str;
default = null;
description = lib.mdDoc "The hashed password of the administrator. To obtain it, run `ihatemoney generate_password_hash`";
};
uwsgiConfig = mkOption {
type = types.attrs;
example = {
http = ":8000";
};
description = lib.mdDoc "Additional configuration of the UWSGI vassal running ihatemoney. It should notably specify on which interfaces and ports the vassal should listen.";
};
defaultSender = {
name = mkOption {
type = types.str;
default = "Budget manager";
description = lib.mdDoc "The display name of the sender of ihatemoney emails";
};
email = mkOption {
type = types.str;
default = "ihatemoney@${config.networking.hostName}";
defaultText = literalExpression ''"ihatemoney@''${config.networking.hostName}"'';
description = lib.mdDoc "The email of the sender of ihatemoney emails";
};
};
secureCookie = mkOption {
type = types.bool;
default = true;
description = lib.mdDoc "Use secure cookies. Disable this when ihatemoney is served via http instead of https";
};
enableDemoProject = mkEnableOption (lib.mdDoc "access to the demo project in ihatemoney");
enablePublicProjectCreation = mkEnableOption (lib.mdDoc "permission to create projects in ihatemoney by anyone");
enableAdminDashboard = mkEnableOption (lib.mdDoc "ihatemoney admin dashboard");
enableCaptcha = mkEnableOption (lib.mdDoc "a simplistic captcha for some forms");
legalLink = mkOption {
type = types.nullOr types.str;
default = null;
description = lib.mdDoc "The URL to a page explaining legal statements about your service, eg. GDPR-related information.";
};
extraConfig = mkOption {
type = types.str;
default = "";
description = lib.mdDoc "Extra configuration appended to ihatemoney's configuration file. It is a python file, so pay attention to indentation.";
};
};
config = mkIf cfg.enable {
services.postgresql = mkIf (cfg.backend == "postgresql") {
enable = true;
ensureDatabases = [ db ];
ensureUsers = [ {
name = user;
ensurePermissions = {
"DATABASE ${db}" = "ALL PRIVILEGES";
};
} ];
};
systemd.services.postgresql = mkIf (cfg.backend == "postgresql") {
wantedBy = [ "uwsgi.service" ];
before = [ "uwsgi.service" ];
};
systemd.tmpfiles.rules = [
"d /var/lib/ihatemoney 770 ${user} ${group}"
];
users = {
users.${user} = {
isSystemUser = true;
inherit group;
};
groups.${group} = {};
};
services.uwsgi = {
enable = true;
plugins = [ "python3" ];
instance = {
type = "emperor";
vassals.ihatemoney = {
type = "normal";
strict = true;
immediate-uid = user;
immediate-gid = group;
# apparently flask uses threads: https://github.com/spiral-project/ihatemoney/commit/c7815e48781b6d3a457eaff1808d179402558f8c
enable-threads = true;
module = "wsgi:application";
chdir = "${pkg}/${pkg.pythonModule.sitePackages}/ihatemoney";
env = [ "IHATEMONEY_SETTINGS_FILE_PATH=${configFile}" ];
pythonPackages = self: [ self.ihatemoney ];
} // cfg.uwsgiConfig;
};
};
};
}

View File

@ -302,8 +302,12 @@ def main() -> None:
if is_default:
write_loader_conf(*gen)
except OSError as e:
profile = f"profile '{gen.profile}'" if gen.profile else "default profile"
print("ignoring {} in the list of boot entries because of the following error:\n{}".format(profile, e), file=sys.stderr)
# See https://github.com/NixOS/nixpkgs/issues/114552
if e.errno == errno.EINVAL:
profile = f"profile '{gen.profile}'" if gen.profile else "default profile"
print("ignoring {} in the list of boot entries because of the following error:\n{}".format(profile, e), file=sys.stderr)
else:
raise e
for root, _, files in os.walk('@efiSysMountPoint@/efi/nixos/.extra-files', topdown=False):
relative_root = root.removeprefix("@efiSysMountPoint@/efi/nixos/.extra-files").removeprefix("/")

View File

@ -135,10 +135,11 @@ with lib;
cfgLine = name: value: ''
${name}: ${builtins.toString value}
'';
virtio0Storage = builtins.head (builtins.split ":" cfg.qemuConf.virtio0);
cfgFile = fileName: properties: pkgs.writeTextDir fileName ''
# generated by NixOS
${lib.concatStrings (lib.mapAttrsToList cfgLine properties)}
#qmdump#map:virtio0:drive-virtio0:local-lvm:raw:
#qmdump#map:virtio0:drive-virtio0:${virtio0Storage}:raw:
'';
inherit (cfg) partitionTableType;
supportEfi = partitionTableType == "efi" || partitionTableType == "hybrid";

View File

@ -310,7 +310,6 @@ in {
i3wm = handleTest ./i3wm.nix {};
icingaweb2 = handleTest ./icingaweb2.nix {};
iftop = handleTest ./iftop.nix {};
ihatemoney = handleTest ./ihatemoney {};
incron = handleTest ./incron.nix {};
influxdb = handleTest ./influxdb.nix {};
initrd-network-openvpn = handleTest ./initrd-network-openvpn {};

View File

@ -17,6 +17,7 @@ with pkgs.lib;
ln -s ${pkgs.writeText "sshPublicKey" sshPublicKey} $out/1.0/meta-data/public-keys/0/openssh-key
'';
};
indentLines = str: concatLines (map (s: " " + s) (splitString "\n" str));
in makeTest {
name = "ec2-" + name;
nodes = {};
@ -36,6 +37,8 @@ with pkgs.lib;
"create",
"-f",
"qcow2",
"-F",
"qcow2",
"-o",
"backing_file=${image}",
disk_image,
@ -59,7 +62,11 @@ with pkgs.lib;
)
machine = create_machine({"startCommand": start_command})
'' + script;
try:
'' + indentLines script + ''
finally:
machine.shutdown()
'';
inherit meta;
};

View File

@ -1,71 +0,0 @@
{ system ? builtins.currentSystem,
config ? {},
pkgs ? import ../../.. { inherit system config; }
}:
let
inherit (import ../../lib/testing-python.nix { inherit system pkgs; }) makeTest;
f = backend: makeTest {
name = "ihatemoney-${backend}";
nodes.machine = { nodes, lib, ... }: {
services.ihatemoney = {
enable = true;
enablePublicProjectCreation = true;
secureCookie = false;
inherit backend;
uwsgiConfig = {
http = ":8000";
};
};
boot.tmp.cleanOnBoot = true;
# for exchange rates
security.pki.certificateFiles = [ ./server.crt ];
networking.extraHosts = "127.0.0.1 api.exchangerate.host";
services.nginx = {
enable = true;
virtualHosts."api.exchangerate.host" = {
addSSL = true;
# openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days 1000000 -nodes -subj '/CN=api.exchangerate.host'
sslCertificate = ./server.crt;
sslCertificateKey = ./server.key;
locations."/".return = "200 '${builtins.readFile ./rates.json}'";
};
};
# ihatemoney needs a local smtp server otherwise project creation just crashes
services.postfix.enable = true;
};
testScript = ''
machine.wait_for_open_port(8000)
machine.wait_for_unit("uwsgi.service")
machine.wait_until_succeeds("curl --fail https://api.exchangerate.host")
machine.wait_until_succeeds("curl --fail http://localhost:8000")
result = machine.succeed(
"curl --fail -X POST http://localhost:8000/api/projects -d 'name=yay&id=yay&password=yay&contact_email=yay@example.com&default_currency=XXX'"
)
assert '"yay"' in result, repr(result)
owner, timestamp = machine.succeed(
"stat --printf %U:%G___%Y /var/lib/ihatemoney/secret_key"
).split("___")
assert "ihatemoney:ihatemoney" == owner
with subtest("Restart machine and service"):
machine.shutdown()
machine.start()
machine.wait_for_open_port(8000)
machine.wait_for_unit("uwsgi.service")
with subtest("check that the database is really persistent"):
machine.succeed("curl --fail --basic -u yay:yay http://localhost:8000/api/projects/yay")
with subtest("check that the secret key is really persistent"):
timestamp2 = machine.succeed("stat --printf %Y /var/lib/ihatemoney/secret_key")
assert timestamp == timestamp2
assert "ihatemoney" in machine.succeed("curl --fail http://localhost:8000")
'';
};
in {
ihatemoney-sqlite = f "sqlite";
ihatemoney-postgresql = f "postgresql";
}

View File

@ -1,39 +0,0 @@
{
"rates": {
"CAD": 1.3420055134,
"HKD": 7.7513783598,
"ISK": 135.9407305307,
"PHP": 49.3762922123,
"DKK": 6.4126464507,
"HUF": 298.9145416954,
"CZK": 22.6292212267,
"GBP": 0.7838128877,
"RON": 4.1630771881,
"SEK": 8.8464851826,
"IDR": 14629.5658166782,
"INR": 74.8328738801,
"BRL": 5.2357856651,
"RUB": 71.8416609235,
"HRK": 6.4757064094,
"JPY": 106.2715368711,
"THB": 31.7203652653,
"CHF": 0.9243625086,
"EUR": 0.8614748449,
"MYR": 4.2644727774,
"BGN": 1.6848725017,
"TRY": 6.8483804273,
"CNY": 7.0169710544,
"NOK": 9.213731909,
"NZD": 1.5080978635,
"ZAR": 16.7427636113,
"USD": 1,
"MXN": 22.4676085458,
"SGD": 1.3855099931,
"AUD": 1.4107512061,
"ILS": 3.4150585803,
"KRW": 1203.3339076499,
"PLN": 3.794452102
},
"base": "USD",
"date": "2020-07-24"
}

View File

@ -1,28 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIEvjCCAqYCCQDkTQrENPCZjjANBgkqhkiG9w0BAQsFADAgMR4wHAYDVQQDDBVh
cGkuZXhjaGFuZ2VyYXRlLmhvc3QwIBcNMjEwNzE0MTI1MzQ0WhgPNDc1OTA2MTEx
MjUzNDRaMCAxHjAcBgNVBAMMFWFwaS5leGNoYW5nZXJhdGUuaG9zdDCCAiIwDQYJ
KoZIhvcNAQEBBQADggIPADCCAgoCggIBAL5zpwUYa/ySqvJ/PUnXYsl1ww5SNGJh
NujCRxC0Gw+5t5O7USSHRdz7Eb2PNFMa7JR+lliLAWdjHfqPXJWmP10X5ebvyxeQ
TJkR1HpDSY6TQQlJvwr/JNGryyoQYjXvnyeyVu4TS3U0TTI631OonDAj+HbFIs9L
gr/HfHzFmxRVLwaJ7hebanihc5RzoWTxgswiOwYQu5AivXQqcvUIxELeT7CxWwiw
be/SlalDgoezB/poqaa215FUuN2av+nTn+swH3WOi9kwePLgVKn9BnDMwyh8et13
yt27RWCSOcZagRSYsSbBaEJbClZvnuYvDqooJEy0GVbGBZpClKRKe92yd0PTf3ZJ
GupyNoCFQlGugY//WLrsPv/Q4WwP+qZ6t97sV0CdM+epKVde/LfPKn+tFMv86qIg
Q/uGHdDwUI8XH2EysAavhdlssSrovmpl4hyo9UkzTWfJgAbmOZY3Vba41wsq12FT
usDsswGLBD10MdXWltR/Hdk8OnosLmeJxfZODAv31KSfd+4b6Ntr9BYQvAQSO+1/
Mf7gEQtNhO003VKIyV5cpH4kVQieEcvoEKgq32NVBSKVf6UIPWIefu19kvrttaUu
Q2QW2Qm4Ph/4cWpxl0jcrN5rjmgaBtIMmKYjRIS0ThDWzfVkJdmJuATzExJAplLN
nYPBG3gOtQQpAgMBAAEwDQYJKoZIhvcNAQELBQADggIBAJzt/aN7wl88WrvBasVi
fSJmJjRaW2rYyBUMptQNkm9ElHN2eQQxJgLi8+9ArQxuGKhHx+D1wMGF8w2yOp0j
4atfbXDcT+cTQY55qdEeYgU8KhESHHGszGsUpv7hzU2cACZiXG0YbOmORFYcn49Z
yPyN98kW8BViLzNF9v+I/NJPuaaCeWKjXCqY2GCzddiuotrlLtz0CODXZJ506I1F
38vQgZb10yAe6+R4y0BK7sUlmfr9BBqVcDQ/z74Kph1aB32zwP8KrNitwG1Tyk6W
rxD1dStEQyX8uDPAspe2JrToMWsOMje9F5lotmuzyvwRJYfAav300EtIggBqpiHR
o0P/1xxBzmaCHxEUJegdoYg8Q27llqsjR2T78uv/BlxpX9Dv5kNex5EZThKqyz4a
Fn1VqiA3D9IsvxH4ud+8eDaP24u1yYObSTDIBsw9xDvoV8fV+NWoNNhcAL5GwC0P
Goh7/brZSHUprxGpwRB524E//8XmCsRd/+ShtXbi4gEODMH4xLdkD7fZIJC4eG1H
GOVc1MwjiYvbQlPs6MOcQ0iKQneSlaEJmyyO5Ro5OKiKj89Az/mLYX3R17AIsu0T
Q5pGcmhKVRyu0zXvkGfK352TLwoe+4vbmakDq21Pkkcy8V9M4wP+vpCfQkg1REQ1
+mr1Vg+SFya3mlCxpFTy3j8E
-----END CERTIFICATE-----

View File

@ -1,52 +0,0 @@
-----BEGIN PRIVATE KEY-----
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
NaEkKVO0D0jFtk37s/YqJpCsXg/B7yc=
-----END PRIVATE KEY-----

View File

@ -27,13 +27,19 @@ let
inherit pkgs config;
lib = pkgs.lib;
format = "qcow2";
contents = [{
source = pkgs.writeText "testFile" "contents";
target = "/testFile";
user = "1234";
group = "5678";
mode = "755";
}];
contents = [
{
source = pkgs.writeText "testFile" "contents";
target = "/testFile";
user = "1234";
group = "5678";
mode = "755";
}
{
source = ./.;
target = "/testDir";
}
];
}) + "/nixos.qcow2";
in makeEc2Test {
@ -42,10 +48,15 @@ in makeEc2Test {
userData = null;
script = ''
machine.start()
# Test that if contents includes a file, it is copied to the target.
assert "content" in machine.succeed("cat /testFile")
fileDetails = machine.succeed("ls -l /testFile")
assert "1234" in fileDetails
assert "5678" in fileDetails
assert "rwxr-xr-x" in fileDetails
# Test that if contents includes a directory, it is copied to the target.
dirList = machine.succeed("ls /testDir")
assert "image-contents.nix" in dirList
'';
}

View File

@ -16,13 +16,13 @@ assert pcreSupport -> pcre != null;
stdenv.mkDerivation rec {
pname = "ncmpc";
version = "0.47";
version = "0.48";
src = fetchFromGitHub {
owner = "MusicPlayerDaemon";
repo = "ncmpc";
rev = "v${version}";
sha256 = "sha256-7vywLMiIUfRx9/fCmUH1AGUB63bT8z7wabgm3CuLLUs=";
sha256 = "sha256-89hBaWFwMPBqSWDmsXND0PEc1a9Fte+p1ho5tWuZFlY=";
};
buildInputs = [ glib ncurses libmpdclient boost ]

View File

@ -18,16 +18,16 @@
rustPlatform.buildRustPackage rec {
pname = "ludusavi";
version = "0.15.0";
version = "0.17.1";
src = fetchFromGitHub {
owner = "mtkennerly";
repo = pname;
rev = "v${version}";
sha256 = "sha256-3nh1EhjiH+dUBw3CNeFSg/+Wkxr5AYgVdM1HzVKbqJI=";
sha256 = "sha256-LTqorrZ7hp9hFGcQ0rdc/U6st9YraXEftDpH7VEShs8=";
};
cargoSha256 = "sha256-l9jYqmKC0GJL9MSRbrNng4rO6/dx4q8EVCxfuin4v6E=";
cargoSha256 = "sha256-3SijgvIPb+QBAWZaTivw8P5aYjctGfgnVrFYcGl8PyE=";
nativeBuildInputs = [
cmake

View File

@ -16,15 +16,16 @@
, openimajgrabber
, hwi
, imagemagick
, gzip
}:
let
pname = "sparrow";
version = "1.7.3";
version = "1.7.4";
src = fetchurl {
url = "https://github.com/sparrowwallet/${pname}/releases/download/${version}/${pname}-${version}-x86_64.tar.gz";
sha256 = "sha256-/tKct73v0zWAjY4kTllnb/+SB/8ENgVl8Yh/LErKTxY=";
sha256 = "08ircrc93gsf3vgqn07gjwmy4bs3jds9rg184pihyymm7g9girfb";
};
launcher = writeScript "sparrow" ''
@ -93,7 +94,7 @@ let
sparrow-modules = stdenv.mkDerivation {
pname = "sparrow-modules";
inherit version src;
nativeBuildInputs = [ makeWrapper gnugrep openjdk autoPatchelfHook stdenv.cc.cc.lib zlib ];
nativeBuildInputs = [ makeWrapper gzip gnugrep openjdk autoPatchelfHook stdenv.cc.cc.lib zlib ];
buildPhase = ''
# Extract Sparrow's JIMAGE and generate a list of them.
@ -143,9 +144,9 @@ let
# Replace the embedded Tor binary (which is in a Tar archive)
# with one from Nixpkgs.
cp ${torWrapper} ./tor
tar -cJf tor.tar.xz tor
cp tor.tar.xz modules/netlayer.jpms/native/linux/x64/tor.tar.xz
gzip -c ${torWrapper} > tor.gz
cp tor.gz modules/kmp.tor.binary.linuxx64/kmptor/linux/x64/tor.gz
find modules
'';
installPhase = ''
@ -158,7 +159,8 @@ let
};
in
stdenv.mkDerivation rec {
inherit pname version src;
inherit version src;
pname = "sparrow-unwrapped";
nativeBuildInputs = [ makeWrapper copyDesktopItems ];
desktopItems = [

View File

@ -1,9 +1,9 @@
{ lib
, buildFHSUserEnv
, buildFHSEnv
, sparrow-unwrapped
}:
buildFHSUserEnv {
buildFHSEnv {
name = "sparrow";
runScript = "${sparrow-unwrapped}/bin/sparrow";

View File

@ -23,4 +23,4 @@ sha256sum -c --ignore-missing manifest.txt
sha256=$(nix-prefetch-url --type sha256 "file://$PWD/$depname")
popd
update-source-version sparrow "$version" "$sha256"
update-source-version sparrow-unwrapped "$version" "$sha256"

View File

@ -2,7 +2,7 @@
{ alsa-lib
, bash
, buildFHSUserEnv
, buildFHSEnv
, cacert
, coreutils
, dbus
@ -178,7 +178,7 @@ let
# Android Studio downloads prebuilt binaries as part of the SDK. These tools
# (e.g. `mksdcard`) have `/lib/ld-linux.so.2` set as the interpreter. An FHS
# environment is used as a work around for that.
fhsEnv = buildFHSUserEnv {
fhsEnv = buildFHSEnv {
name = "${drvName}-fhs-env";
multiPkgs = pkgs: [
ncurses5

View File

@ -1,4 +1,4 @@
{ callPackage, makeFontsConf, gnome2, buildFHSUserEnv, tiling_wm ? false }:
{ callPackage, makeFontsConf, gnome2, buildFHSEnv, tiling_wm ? false }:
let
mkStudio = opts: callPackage (import ./common.nix opts) {
@ -6,7 +6,7 @@ let
fontDirectories = [];
};
inherit (gnome2) GConf gnome_vfs;
inherit buildFHSUserEnv;
inherit buildFHSEnv;
inherit tiling_wm;
};
stableVersion = {

View File

@ -1,4 +1,4 @@
{ stdenv, lib, buildFHSUserEnv, callPackage, makeDesktopItem, writeScript
{ stdenv, lib, buildFHSEnvChroot, callPackage, makeDesktopItem, writeScript
, supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ]
, unwrapped ? callPackage ./quartus.nix { inherit supportedDevices; }
}:
@ -13,7 +13,7 @@ let
categories = [ "Development" ];
};
# I think modelsim_ase/linux/vlm checksums itself, so use FHSUserEnv instead of `patchelf`
in buildFHSUserEnv rec {
in buildFHSEnvChroot rec {
name = "quartus-prime-lite"; # wrapped
targetPkgs = pkgs: with pkgs; [
@ -44,7 +44,7 @@ in buildFHSUserEnv rec {
xorg.libXext
xorg.libXrender
libudev0-shim
libxcrypt
libxcrypt-legacy
];
passthru = { inherit unwrapped; };

View File

@ -3286,6 +3286,9 @@ let
};
aliases = super: {
_1Password = super."1Password";
_2gua = super."2gua";
_4ops = super."4ops";
Arjun.swagger-viewer = super.arjun.swagger-viewer;
jakebecker.elixir-ls = super.elixir-lsp.vscode-elixir-ls;
jpoissonnier.vscode-styled-components = super.styled-components.vscode-styled-components;
@ -3294,9 +3297,6 @@ let
ms-vscode.PowerShell = super.ms-vscode.powershell;
rioj7.commandOnAllFiles = super.rioj7.commandonallfiles;
WakaTime.vscode-wakatime = super.wakatime.vscode-wakatime;
_1Password = throw ''_1Password has been replaced with "1Password"'';
_2gua = throw ''_2gua has been replaced with "2gua"'';
_4ops = throw ''_4ops has been replaced with "4ops"'';
};
# TODO: add overrides overlay, so that we can have a generated.nix

View File

@ -1,7 +1,7 @@
{ stdenv, lib, makeDesktopItem
, unzip, libsecret, libXScrnSaver, libxshmfence, buildPackages
, atomEnv, at-spi2-atk, autoPatchelfHook
, systemd, fontconfig, libdbusmenu, glib, buildFHSUserEnvBubblewrap, wayland
, systemd, fontconfig, libdbusmenu, glib, buildFHSEnv, wayland
# Populate passthru.tests
, tests
@ -150,9 +150,9 @@ let
# in order to create or update extensions.
# See: #83288 #91179 #73810 #41189
#
# buildFHSUserEnv allows for users to use the existing vscode
# buildFHSEnv allows for users to use the existing vscode
# extension tooling without significant pain.
fhs = { additionalPkgs ? pkgs: [] }: buildFHSUserEnvBubblewrap {
fhs = { additionalPkgs ? pkgs: [] }: buildFHSEnv {
# also determines the name of the wrapped command
name = executableName;

View File

@ -1,6 +1,7 @@
{ lib
, stdenv
, fetchFromGitHub
, fetchpatch
, SDL2
, SDL2_image
, SDL2_net
@ -39,6 +40,25 @@ stdenv.mkDerivation (self: {
hash = "sha256-I90poBeLSq1c8PXyjrx7/UcbfqFNnnNiXfJdWhLPGMc=";
};
patches = [
# Pull missind SDL2_net dependency:
# https://github.com/dosbox-staging/dosbox-staging/pull/2358
(fetchpatch {
name = "sdl2-net.patch";
url = "https://github.com/dosbox-staging/dosbox-staging/commit/1b02f187a39263f4b0285323dcfe184bccd749c2.patch";
hash = "sha256-Ev97xApInu6r5wvI9Q7FhkSXqtMW/rwJj48fExvqnT0=";
})
# Pull missing SDL2_image dependency:
# https://github.com/dosbox-staging/dosbox-staging/pull/2239
(fetchpatch {
name = "sdl2-image.patch";
url = "https://github.com/dosbox-staging/dosbox-staging/commit/ca8b7a906d29a3f8ce956c4af7dc829a6ac3e229.patch";
hash = "sha256-WtTVSWWSlfXrdPVsnlDe4P5K/Fnj4QsOzx3Wo/Kusmg=";
includes = [ "src/gui/meson.build" ];
})
];
nativeBuildInputs = [
copyDesktopItems
gtest
@ -69,11 +89,6 @@ stdenv.mkDerivation (self: {
speexdsp
];
env.NIX_CFLAGS_COMPILE = toString [
"-I${SDL2_image}/include/SDL2"
"-I${SDL2_net}/include/SDL2"
];
desktopItems = [
(makeDesktopItem {
name = "dosbox-staging";

View File

@ -24,13 +24,13 @@
stdenv.mkDerivation {
pname = "duckstation";
version = "unstable-2023-01-01";
version = "unstable-2023-04-14";
src = fetchFromGitHub {
owner = "stenzek";
repo = "duckstation";
rev = "06d6447e59f208f21ba42f4df1665b789db13fb7";
sha256 = "sha256-DyuQ7J7MVSQHpvPZhMtwqNM8ifjI8UFYQ9SxY5kikBI=";
rev = "5fee6f5abee7f3aad65da5523e57896e10e2a53a";
sha256 = "sha256-sRs/b4GVXhF3zrOef8DSBKJJGYECUER/nNWZAqv7suA=";
};
nativeBuildInputs = [

View File

@ -21,13 +21,13 @@ assert withNerdIcons -> withIcons == false;
stdenv.mkDerivation (finalAttrs: {
pname = "nnn";
version = "4.7";
version = "4.8";
src = fetchFromGitHub {
owner = "jarun";
repo = "nnn";
rev = "v${finalAttrs.version}";
hash = "sha256-ttG0aEqMlNyJaMhcVfrxbxlrhr1GSydrV58CYSq4CTM=";
hash = "sha256-QbKW2wjhUNej3zoX18LdeUHqjNLYhEKyvPH2MXzp/iQ=";
};
configFile = lib.optionalString (conf != null) (builtins.toFile "nnn.h" conf);

View File

@ -11,13 +11,13 @@
stdenv.mkDerivation rec {
pname = "brlcad";
version = "7.34.0";
version = "7.34.2";
src = fetchFromGitHub {
owner = "BRL-CAD";
repo = pname;
rev = "refs/tags/rel-${lib.replaceStrings [ "." ] [ "-" ] version}";
hash = "sha256-Re5gEXlqdPxniaEP13Q0v0O9rt40V5NrxoUpcNBwn7s=";
hash = "sha256-oafu255xElEIk8p4yvNyR2maykUfxQui/L5MkicA+JA=";
};
nativeBuildInputs = [

View File

@ -22,7 +22,7 @@
, mkDerivation
, xkeyboard_config
, fetchurl
, buildFHSUserEnv
, buildFHSEnv
, openal
, makeDesktopItem
}:
@ -94,9 +94,9 @@ let
in
# We can patch the "/bin/superposition", but "/bin/launcher" checks it for changes.
# For that we need use a buildFHSUserEnv.
# For that we need use a buildFHSEnv.
buildFHSUserEnv {
buildFHSEnv {
name = "Superposition";
targetPkgs = pkgs: [

View File

@ -1,5 +1,5 @@
{ lib
, buildFHSUserEnvBubblewrap
, buildFHSEnv
, symlinkJoin
, bottles-unwrapped
, gst_all_1
@ -99,8 +99,8 @@ in
symlinkJoin {
name = "bottles";
paths = [
(buildFHSUserEnvBubblewrap (fhsEnv // { name = "bottles"; runScript = "bottles"; }))
(buildFHSUserEnvBubblewrap (fhsEnv // { name = "bottles-cli"; runScript = "bottles-cli"; }))
(buildFHSEnv (fhsEnv // { name = "bottles"; runScript = "bottles"; }))
(buildFHSEnv (fhsEnv // { name = "bottles-cli"; runScript = "bottles-cli"; }))
];
postBuild = ''
mkdir -p $out/share

View File

@ -10,11 +10,11 @@
stdenv.mkDerivation rec {
pname = "haunt";
version = "0.2.4";
version = "0.2.6";
src = fetchurl {
url = "https://files.dthompson.us/${pname}/${pname}-${version}.tar.gz";
hash = "sha256-zOkICg7KmJJhPWPtJRT3C9sYB1Oig1xLtgPNGe0n3xQ=";
hash = "sha256-vPKLQ9hDJdimEAXwIBGgRRlefM8/77xFQoI+0J/lkNs=";
};
nativeBuildInputs = [
@ -27,7 +27,8 @@ stdenv.mkDerivation rec {
guile-reader
];
doCheck = true;
# Test suite is non-determinisitic in later versions
doCheck = false;
postInstall =
let

View File

@ -1,6 +1,6 @@
{ lib, stdenv, writeScript, callPackage, buildFHSUserEnv, unwrapped ? callPackage ./runtime.nix {} }:
{ lib, stdenv, writeScript, callPackage, buildFHSEnv, unwrapped ? callPackage ./runtime.nix {} }:
buildFHSUserEnv rec {
buildFHSEnv rec {
name = "houdini-${unwrapped.version}";
targetPkgs = pkgs: with pkgs; [

View File

@ -1,4 +1,4 @@
{ lib, buildFHSUserEnv, lutris-unwrapped
{ lib, buildFHSEnv, lutris-unwrapped
, extraPkgs ? pkgs: [ ]
, extraLibraries ? pkgs: [ ]
, steamSupport ? true
@ -13,7 +13,7 @@ let
libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite
];
in buildFHSUserEnv {
in buildFHSEnv {
name = "lutris";
runScript = "lutris";

View File

@ -5,7 +5,8 @@
, version
, desktopName
, longDescription
, buildFHSUserEnv
, broken ? false
, buildFHSEnv
, extraBuildInputs ? [ ]
, jdk
, stdenv
@ -68,7 +69,7 @@ let
in
# Package with cups in FHS sandbox, because JAVA bin expects "/usr/bin/lpr" for printing.
buildFHSUserEnv {
buildFHSEnv {
name = pname;
targetPkgs = pkgs: [
cups
@ -94,6 +95,7 @@ buildFHSUserEnv {
];
license = licenses.unfree;
platforms = platforms.linux;
inherit broken;
mainProgram = pname;
maintainers = [ maintainers.pwoelfel ];
};

View File

@ -40,6 +40,8 @@ in
sha256 = "sha256-cc8YjrMsYZqgmwp5+AA+HsqzjxzFcTT/ga31NQz/OWc=";
};
jdk = jdk11;
broken = true; # Bad hash, probably unstable
};
pdfstudio2021 = callPackage ./common.nix rec {
@ -66,5 +68,7 @@ in
(lib.getLib stdenv.cc.cc) # for libstdc++.so.6 and libgomp.so.1
];
jdk = jdk17;
broken = true; # URL 404s, probably unstable
};
}.${pname}

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, buildFHSUserEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }:
{ stdenv, lib, fetchurl, buildFHSEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }:
let
pname = "sidequest";
version = "0.10.24";
@ -38,7 +38,7 @@
"$out/lib/SideQuest/sidequest"
'';
};
in buildFHSUserEnv {
in buildFHSEnv {
name = "SideQuest";
passthru = {

View File

@ -1,5 +1,6 @@
{ mkDerivation
, lib
, stdenv
, fetchFromGitHub
, substituteAll
, qtbase
@ -14,11 +15,12 @@
, kio
, plasma-framework
, qttools
, iconv
, webviewSupport ? true
, jsSupport ? true
, kioPluginSupport ? true
, plasmoidSupport ? true
, systemdSupport ? true
, kioPluginSupport ? stdenv.isLinux
, plasmoidSupport ? stdenv.isLinux
, systemdSupport ? stdenv.isLinux
/* It is possible to set via this option an absolute exec path that will be
written to the `~/.config/autostart/syncthingtray.desktop` file generated
during runtime. Alternatively, one can edit the desktop file themselves after
@ -44,7 +46,7 @@ mkDerivation rec {
qtutilities
boost
qtforkawesome
]
] ++ lib.optionals stdenv.isDarwin [ iconv ]
++ lib.optionals webviewSupport [ qtwebengine ]
++ lib.optionals jsSupport [ qtdeclarative ]
++ lib.optionals kioPluginSupport [ kio ]
@ -59,7 +61,8 @@ mkDerivation rec {
;
# No tests are available by upstream, but we test --help anyway
doInstallCheck = true;
# Don't test on Darwin because output is .app
doInstallCheck = !stdenv.isDarwin;
installCheckPhase = ''
$out/bin/syncthingtray --help | grep ${version}
'';
@ -79,6 +82,6 @@ mkDerivation rec {
description = "Tray application and Dolphin/Plasma integration for Syncthing";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ doronbehar ];
platforms = platforms.linux;
platforms = platforms.linux ++ platforms.darwin;
};
}

View File

@ -29,6 +29,9 @@ stdenv.mkDerivation {
# https://github.com/SerenityOS/serenity/issues/17062
substituteInPlace main.cpp \
--replace "./SQLServer/SQLServer" "$out/bin/SQLServer"
# https://github.com/SerenityOS/serenity/issues/10055
substituteInPlace ../Meta/Lagom/CMakeLists.txt \
--replace "@rpath" "$out/lib"
'';
nativeBuildInputs = [
@ -49,13 +52,7 @@ stdenv.mkDerivation {
"-DENABLE_UNICODE_DATABASE_DOWNLOAD=false"
];
env.NIX_CFLAGS_COMPILE = toString ([
"-Wno-error"
] ++ lib.optionals (stdenv.isDarwin && lib.versionOlder stdenv.targetPlatform.darwinSdkVersion "11.0") [
# error: use of undeclared identifier 'aligned_alloc'
"-include mm_malloc.h"
"-Daligned_alloc=_mm_malloc"
]);
env.NIX_CFLAGS_COMPILE = "-Wno-error";
# https://github.com/SerenityOS/serenity/issues/10055
postInstall = lib.optionalString stdenv.isDarwin ''

View File

@ -1,6 +1,6 @@
{ stdenv
, lib
, buildFHSUserEnvBubblewrap
, buildFHSEnv
, copyDesktopItems
, dpkg
, lndir
@ -40,7 +40,7 @@ let
mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ];
};
fhs = buildFHSUserEnvBubblewrap {
fhs = buildFHSEnv {
name = "packettracer7";
runScript = "${ptFiles}/bin/packettracer7";

View File

@ -2,7 +2,7 @@
, lib
, alsa-lib
, autoPatchelfHook
, buildFHSUserEnvBubblewrap
, buildFHSEnv
, copyDesktopItems
, dbus
, dpkg
@ -97,7 +97,7 @@ let
mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ];
};
fhs = buildFHSUserEnvBubblewrap {
fhs = buildFHSEnv {
name = "packettracer8";
runScript = "${ptFiles}/bin/packettracer";
targetPkgs = pkgs: [ libudev0-shim ];

View File

@ -2,11 +2,11 @@
let
pname = "openlens";
version = "6.4.5";
version = "6.4.15";
src = fetchurl {
url = "https://github.com/MuhammedKalkan/OpenLens/releases/download/v${version}/OpenLens-${version}.x86_64.AppImage";
sha256 = "sha256-Lwl4unhXSyYCEImiPncAnmIQt26CD4horsREMyi6nuA=";
sha256 = "sha256-Q7Vh+/SKbnQ7HbDlx1XqBXg1U2DaIvY139VrIIdOX5E=";
};
appimageContents = appimageTools.extractType2 {

View File

@ -1,4 +1,4 @@
{ stdenv, lib, buildFHSUserEnv, writeScript, makeDesktopItem }:
{ stdenv, lib, buildFHSEnv, writeScript, makeDesktopItem }:
let platforms = [ "i686-linux" "x86_64-linux" ]; in
@ -30,7 +30,7 @@ let
};
in
buildFHSUserEnv {
buildFHSEnv {
name = "dropbox";
targetPkgs = pkgs: with pkgs; with xorg; [

View File

@ -1,5 +1,5 @@
{ autoPatchelfHook
, buildFHSUserEnv
, buildFHSEnv
, dpkg
, fetchurl
, inotify-tools
@ -41,7 +41,7 @@ let
'';
};
expressvpndFHS = buildFHSUserEnv {
expressvpndFHS = buildFHSEnv {
name = "expressvpnd";
# When connected, it directly creates/deletes resolv.conf to change the DNS entries.

View File

@ -13,15 +13,16 @@
}:
let
version = "1.10.0";
# map of nix platform -> expected url platform
platformMap = {
x86_64-linux = "linux-x86";
aarch64-linux = "linux-arm64";
};
in
stdenv.mkDerivation rec {
version = "1.10.0";
name = "fluffychat";
stdenv.mkDerivation {
inherit version;
pname = "fluffychat";
src = fetchzip {
url = "https://gitlab.com/api/v4/projects/16112282/packages/generic/fluffychat/${version}/fluffychat-${platformMap.${stdenv.hostPlatform.system}}.tar.gz";

View File

@ -0,0 +1,32 @@
{ lib
, rustPlatform
, fetchFromGitHub
, darwin
, stdenv
}:
rustPlatform.buildRustPackage rec {
pname = "iamb";
version = "0.0.7";
src = fetchFromGitHub {
owner = "ulyssa";
repo = "iamb";
rev = "v${version}";
hash = "sha256-KKr7dfFSffkFgqcREy/3RIIn5c5IxhFR7CjFJqCmqdM=";
};
cargoHash = "sha256-/OBGRE9zualLnMh9Ikh9s9IE9b8mEmAC/H5KUids8a8=";
buildInputs = lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.AppKit
];
meta = with lib; {
description = "A Matrix client for Vim addicts";
homepage = "https://github.com/ulyssa/iamb";
changelog = "https://github.com/ulyssa/iamb/releases/tag/${src.rev}";
license = licenses.asl20;
maintainers = with maintainers; [ meain ];
};
}

View File

@ -2,12 +2,12 @@
stdenv.mkDerivation rec {
pname = "signal-cli";
version = "0.11.7";
version = "0.11.8";
# Building from source would be preferred, but is much more involved.
src = fetchurl {
url = "https://github.com/AsamK/signal-cli/releases/download/v${version}/signal-cli-${version}-Linux.tar.gz";
hash = "sha256-oN80HQkPpJfhM4WBaRm4ytmhLjSokjEpfMhP6/XnQXs=";
hash = "sha256-lpCPPYkT+q9oYR32rHUGTJI4TmTvy01ttpJxeTSGxVo=";
};
buildInputs = lib.optionals stdenv.isLinux [ libmatthew_java dbus dbus_java ];

View File

@ -24,11 +24,11 @@
stdenv.mkDerivation rec {
pname = "liferea";
version = "1.14.4";
version = "1.14.5";
src = fetchurl {
url = "https://github.com/lwindolf/${pname}/releases/download/v${version}/${pname}-${version}.tar.bz2";
sha256 = "MD1Qx+4/y1wdIllHFPuthLZMLiMdox0FFpVE7tcdYu8=";
sha256 = "IkTnjY9rbij0EaNVTWFJagEtX+E5L+G0dZeOz9jGEXc=";
};
nativeBuildInputs = [

View File

@ -3,7 +3,7 @@
# of applications.
#
# What Nix does, simplifying a bit, is that it extracts an AppImage and starts
# it via buildFHSUserEnv - this is totally fine for majority of apps, but makes
# it via buildFHSEnv - this is totally fine for majority of apps, but makes
# it by-design *impossible* to launch SUID wrappers [^1]; in case of pCloud,
# it's fusermount.
# (so pCloud starts, but silently fails to mount the FUSE drive.)

View File

@ -1,6 +1,6 @@
{ stdenv
, lib
, buildFHSUserEnv
, buildFHSEnv
, fetchurl
, gsettings-desktop-schemas
, makeDesktopItem
@ -57,7 +57,7 @@ let
'';
};
vmwareFHSUserEnv = name: buildFHSUserEnv {
vmwareFHSUserEnv = name: buildFHSEnv {
inherit name;
runScript = "${vmwareHorizonClientFiles}/bin/${name}_wrapper";

File diff suppressed because it is too large Load Diff

View File

@ -17,25 +17,24 @@
stdenv.mkDerivation rec {
pname = "warp";
version = "0.4";
version = "0.5.2";
src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "World";
repo = pname;
rev = "v${version}";
hash = "sha256-c8X0kedfM8DPTEQAbh8cXIfEvxG2cdUD3twVHs0/k7U";
hash = "sha256-VtmLWbZXKTv+sjICnaBt2EPbtDwIVZym/PZdL2N7UQo=";
};
postPatch = ''
patchShebangs build-aux
'';
cargoDeps = rustPlatform.importCargoLock {
lockFile = ./Cargo.lock;
outputHashes = {
"tempfile-3.3.0" = "sha256-zVbGZOEYEmOJGtl5Ko8rYIW9NY16lq5+zMzJ/TSkfsc=";
};
cargoDeps = rustPlatform.fetchCargoTarball {
inherit src;
name = "${pname}-${version}";
hash = "sha256-NT6reZUsieqMTX7HW9QmrjcgBpqxZOUfzht9b7suNeY=";
};
nativeBuildInputs = [

View File

@ -1,5 +1,5 @@
{ atk
, buildFHSUserEnv
, buildFHSEnv
, cairo
, dpkg
, gdk-pixbuf
@ -56,7 +56,7 @@ let
${(wrapBinary libs) attrs.toolName}
'';
});
in buildFHSUserEnv {
in buildFHSEnv {
name = "${attrs.toolName}-${attrs.version}";
runScript = "${pkg.outPath}/bin/${attrs.toolName}";
} // { inherit (pkg) meta name; }

View File

@ -16,28 +16,15 @@
stdenv.mkDerivation rec {
pname = "nvc";
version = "1.9.0";
version = "1.9.1";
src = fetchFromGitHub {
owner = "nickg";
repo = pname;
rev = "r${version}";
hash = "sha256-hsoEAFSXI2bvzZV33jdg1849fipPQlUu3MZVvht54fI=";
hash = "sha256-UeA+6RKZMttLThyAf80ONximXRJNw5mUNM+cyCDTcGM=";
};
patches = [
# TODO: remove me on next release
(fetchpatch {
url = "https://github.com/nickg/nvc/commit/c857e16c33851f8a5386b97bc0dada2836b5db83.patch";
hash = "sha256-rvZHI1iQXT9zLpCugg5mGmMZBRbTe9PSHtDG7FVZ67Q=";
})
];
# TODO: recheck me on next release
postPatch = lib.optionalString stdenv.isLinux ''
sed -i "/vhpi4/d" test/regress/testlist.txt
'';
nativeBuildInputs = [
autoreconfHook
check

View File

@ -1,13 +1,13 @@
{ lib, stdenv, fetchurl, gmp, zlib }:
stdenv.mkDerivation {
version = "4.3.0";
version = "4.3.1";
pname = "form";
# This tarball is released by author, it is not downloaded from tag, so can't use fetchFromGitHub
src = fetchurl {
url = "https://github.com/vermaseren/form/releases/download/v4.3.0/form-4.3.0.tar.gz";
sha256 = "sha256-sjTg0JX3PssJBM3DsNjYMjqfp/RncKUvsiJnxiSq+/Y=";
url = "https://github.com/vermaseren/form/releases/download/v4.3.1/form-4.3.1.tar.gz";
sha256 = "sha256-8fUS3DT+m71rGfLf7wX8uZEt+0PINop1t5bsRy7ou84=";
};
buildInputs = [ gmp zlib ];

View File

@ -60,6 +60,8 @@ stdenv.mkDerivation rec {
substituteInPlace subprojects/libqalculate/libqalculate/Calculator-plot.cc \
--replace 'commandline = "gnuplot"' 'commandline = "${gnuplot}/bin/gnuplot"' \
--replace '"gnuplot - ' '"${gnuplot}/bin/gnuplot - '
substituteInPlace subprojects/libqalculate/libqalculate/meson.build \
--replace "link_with: 'libqalculate_lib_static'" "link_with: libqalculate_lib_static"
'';
passthru = {
@ -80,6 +82,5 @@ stdenv.mkDerivation rec {
platforms = platforms.linux;
license = licenses.gpl3Plus;
mainProgram = "com.github.parnold_x.nasc";
broken = true; # at 2022-09-23
};
}

View File

@ -1,6 +1,6 @@
{ lib, stdenv
, autoPatchelfHook
, buildFHSUserEnv
, buildFHSEnv
, dpkg
, fetchurl
, gcc-unwrapped
@ -35,7 +35,7 @@ let
installPhase = "cp -ar usr $out";
};
in
buildFHSUserEnv {
buildFHSEnv {
name = fahclient.name;
targetPkgs = pkgs': [

File diff suppressed because it is too large Load Diff

View File

@ -31,14 +31,14 @@
rustPlatform.buildRustPackage rec {
pname = "wezterm";
version = "20230326-111934-3666303c";
version = "20230408-112425-69ae8472";
src = fetchFromGitHub {
owner = "wez";
repo = pname;
rev = version;
fetchSubmodules = true;
sha256 = "sha256-tgJUnQKVdLJKohda9oy9dwz53OiK4O0A9YlsI0o+meY=";
hash = "sha256-Uk6I/JtSkGCQGG95DDD1hsu40X00/k5d44WP3OJ+rn4=";
};
postPatch = ''
@ -52,7 +52,6 @@ rustPlatform.buildRustPackage rec {
lockFile = ./Cargo.lock;
outputHashes = {
"image-0.24.5" = "sha256-fTajVwm88OInqCPZerWcSAm1ga46ansQ3EzAmbT58Js=";
"libssh-rs-0.1.7" = "sha256-pLaWKk/iGy7FfoVafpPYzErnKudxeIWzssWv2Zlm58s=";
"xcb-imdkit-0.2.0" = "sha256-QOT9HLlA26DVPUF4ViKH2ckexUsu45KZMdJwoUhW+hA=";
};
};
@ -136,6 +135,6 @@ rustPlatform.buildRustPackage rec {
description = "GPU-accelerated cross-platform terminal emulator and multiplexer written by @wez and implemented in Rust";
homepage = "https://wezfurlong.org/wezterm";
license = licenses.mit;
maintainers = with maintainers; [ SuperSandro2000 ];
maintainers = with maintainers; [ SuperSandro2000 mimame ];
};
}

View File

@ -25,11 +25,11 @@
buildGoModule rec {
pname = "forgejo";
version = "1.19.0-3";
version = "1.19.1-0";
src = fetchurl {
url = "https://codeberg.org/forgejo/forgejo/releases/download/v${version}/forgejo-src-${version}.tar.gz";
hash = "sha256-u27DDw3JUtVJ2nvkKfaGzpYP8bpRnwc1LUVra8Epkjc=";
hash = "sha256-zoYEkUmJx7lt++2Rmjx/jgyZ2Y9uJH4k8VpD++My7mU=";
};
vendorHash = null;

View File

@ -6,16 +6,16 @@
buildGoModule rec {
pname = "hut";
version = "0.2.0";
version = "0.3.0";
src = fetchFromSourcehut {
owner = "~emersion";
repo = "hut";
rev = "v${version}";
sha256 = "sha256-g9KbOtZaBAgy/iBBh/Tv5ULJNnNzwzZpA6DOynl+dnk=";
sha256 = "sha256-kr5EWQ3zHUp/oNPZV2d3j9AyoEmHEX8/rETiMKTBi3s=";
};
vendorSha256 = "sha256-vuAx8B34Za+GEtekFOUaY07hBk3O2OaJ1JmulbIhwbs=";
vendorHash = "sha256-aoqGb7g8UEC/ydmL3GbWGy3HDD1kfDJOMeUP4nO9waA=";
nativeBuildInputs = [
scdoc

File diff suppressed because it is too large Load Diff

View File

@ -43,7 +43,7 @@ let
owner = "facebook";
repo = "sapling";
rev = version;
hash = "sha256-e+S5gyyJF3bu6Yo+KjG2lLfjToYzzFj10GTcrPfzxDE=";
hash = "sha256-rZLLRcZNeYP7yKAgBujqEJ9TwwDPAct060pZ4aj/7PM=";
};
addonsSrc = "${src}/addons";
@ -51,7 +51,7 @@ let
# Fetches the Yarn modules in Nix to to be used as an offline cache
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${addonsSrc}/yarn.lock";
sha256 = "sha256-bJpfa1i3G5Ym5CLVpCt+7q5FNv34CoJBefXaf4qlxNA=";
sha256 = "sha256-cEIij7hocCSPw1Q1ESI/t9IFmLM0Nbr/IjSz3HzBdzU=";
};
# Builds the NodeJS server that runs with `sl web`
@ -101,11 +101,10 @@ python3Packages.buildPythonApplication {
lockFile = ./Cargo.lock;
outputHashes = {
"abomonation-0.7.3+smallvec1" = "sha256-AxEXR6GC8gHjycIPOfoViP7KceM29p2ZISIt4iwJzvM=";
"cloned-0.1.0" = "sha256-WHsvgnbAYrFx22p3rbMzlCIaZ8+BTsMswiTv4h+A/ZI=";
"fb303_core-0.0.0" = "sha256-bg4+4kdHfgaEbLzkCftdLH++QKherIAfM7IzlWeOWKI=";
"fbthrift-0.0.1+unstable" = "sha256-0qvab0a3PdvlOq2teXKjYrB9UbWLKzMbHgv/3LSsT+4=";
"reqwest-0.11.11" = "sha256-uhc8XhkGW22XDNo0qreWdXeFF2cslOOZHfTRQ30IBcE=";
"serde_bser-0.3.1" = "sha256-Sk3prRcLr2ExXvq7Px4+NRXbY8ZaRWOYexnaUAqQ4ao=";
"cloned-0.1.0" = "sha256-54XxXSeGoS0j0+dDUC15xn1Hvpvl2T7NJ0dZ6/ZSd9s=";
"fb303_core-0.0.0" = "sha256-YVPObJaxb5Giu3s70YP5syRSCmtijUK6y9g3UOzgrQU=";
"fbthrift-0.0.1+unstable" = "sha256-sfn8EB1hbJGq/jFjgCrf9OyBpXmIBv5qlIsiao071Os=";
"serde_bser-0.3.1" = "sha256-mrY6K6hoRo4exyZlStEIh8vuQdzd8XGkaR1MCEgKIP8=";
};
};
postPatch = ''

View File

@ -73,6 +73,6 @@
"url": "https://files.pythonhosted.org/packages/4c/76/1e41fbb365ad20b6efab2e61b0f4751518444c953b390f9b2d36cf97eea0/Cython-0.29.32.tar.gz"
}
],
"version": "0.2.20230228-144002-h9440b05e",
"versionHash": "6463510610610398322"
"version": "0.2.20230330-193452-h69692651",
"versionHash": "16853369111871393994"
}

View File

@ -8,7 +8,7 @@
, addOpenGLRunpath
, libGLU
, xorg
, buildFHSUserEnv
, buildFHSEnv
, bash
, writeText
, ocl-icd
@ -133,7 +133,7 @@ let
}
);
in
buildFHSUserEnv {
buildFHSEnv {
name = "davinci-resolve";
targetPkgs = pkgs: with pkgs; [
librsvg

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSUserEnv
{ lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSEnv
, gtk3, gdk-pixbuf, cairo, libjpeg_original, glib, pango, libGLU
, libGL, nvidia_cg_toolkit, zlib, openssl, libuuid , alsa-lib, udev, libjack2
}:
@ -73,7 +73,7 @@ let
};
# Lightworks expects some files in /usr/share/lightworks
in buildFHSUserEnv {
in buildFHSEnv {
name = lightworks.name;
targetPkgs = pkgs: [

View File

@ -2,7 +2,7 @@
## - export ELECTRON_SKIP_BINARY_DOWNLOAD=1
## - jq "del(.scripts.preinstall)" node_modules/shellcheck/package.json | sponge node_modules/shellcheck/package.json
{
lib, stdenv, buildFHSUserEnvBubblewrap, runCommand, writeScript, fetchurl, fetchzip
lib, stdenv, buildFHSEnv, runCommand, writeScript, fetchurl, fetchzip
}:
let
pname = "webtorrent-desktop";
@ -20,7 +20,7 @@ runCommand "${pname}-${version}" rec {
else
throw "Webtorrent is not currently supported on ${stdenv.hostPlatform.system}";
fhs = buildFHSUserEnvBubblewrap rec {
fhs = buildFHSEnv rec {
name = "fhsEnterWebTorrent";
runScript = "${src}/WebTorrent";
## use the trampoline, if you need to shell into the fhsenv

View File

@ -1,14 +1,14 @@
{ lib, buildPythonApplication, fetchFromGitHub, python-dotenv, pyyaml }:
buildPythonApplication rec {
version = "1.0.3";
version = "1.0.6";
pname = "podman-compose";
src = fetchFromGitHub {
repo = "podman-compose";
owner = "containers";
rev = "v${version}";
sha256 = "sha256-Si/O4dx9bqqRp/hTv3WbTXj46OM+PpyPBnQQWUqcZfs=";
sha256 = "sha256-TsNM5xORqwWge+UCijKptwbAcIz1uZFN9BuIOl28vIU=";
};
propagatedBuildInputs = [ pyyaml python-dotenv ];

View File

@ -1,5 +1,5 @@
{ stdenv
, buildFHSUserEnv
, buildFHSEnv
, fetchurl
, lib
, zlib
@ -64,7 +64,7 @@ let
'';
});
vmware-unpack-env = buildFHSUserEnv rec {
vmware-unpack-env = buildFHSEnv rec {
name = "vmware-unpack-env";
targetPkgs = pkgs: [ zlib ];
};

View File

@ -15,16 +15,16 @@
rustPlatform.buildRustPackage rec {
pname = "i3status-rust";
version = "0.30.5";
version = "0.30.7";
src = fetchFromGitHub {
owner = "greshake";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-7Fjz6Q/f6jocMPAcgeodzdImILKuRmF6V0zo00ZPfjI=";
hash = "sha256-mxkwAKfra2btUa/l3TjJac68SmzyGwjmz4HD2yN/U8U=";
};
cargoHash = "sha256-cHG3wUlk0AotfrQ8pYZNQDualhKSp6aNpY2mbjgnqzU=";
cargoHash = "sha256-jJ9JrpEJyk3Cg7YCZadESR0+9vB+ZdTQhG2affoCdx4=";
nativeBuildInputs = [ pkg-config makeWrapper ];

View File

@ -6,7 +6,7 @@
, libarchive
, pv
, squashfsTools
, buildFHSUserEnv
, buildFHSEnv
, pkgs
}:
@ -43,7 +43,7 @@ rec {
extraPkgs,
meta ? {},
...
}: buildFHSUserEnv
}: buildFHSEnv
(defaultFhsEnvArgs // {
inherit name;

View File

@ -166,7 +166,7 @@ stdenv.mkDerivation {
# If we are asked to wrap `gas` and this bintools has it,
# then symlink it (`as` will be symlinked next).
# This is mainly for the wrapped gnatboot on x86-64 Darwin,
# This is mainly for the wrapped gnat-bootstrap on x86-64 Darwin,
# as it must have both the GNU assembler from cctools (installed as `gas`)
# and the Clang integrated assembler (installed as `as`).
# See pkgs/os-specific/darwin/binutils/default.nix for details.

View File

@ -18,13 +18,13 @@ lib.checkListOfEnum "${pname}: color variants" [ "default" "purple" "pink" "red"
stdenvNoCC.mkDerivation rec {
inherit pname;
version = "2023-01-08";
version = "2023-03-28";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = version;
hash = "sha256-n4kMOIp7AD5Ue4qY4G3ja/VTyYF7cqhdI0uuk9b6o5c=";
hash = "sha256-R7QKxZdcKUeTD6E9gj02Tu5tYv9JyqyH2sCsdOk9zTM=";
};
nativeBuildInputs = [

View File

@ -56,9 +56,14 @@
"gnome-trash@gnome-trash.b00f.gitlab.com",
"gnome-trash@b00f.github.io"
],
"true-color-invert": [
"true-color-invert@jackkenney",
"true-color-window-invert@lynet101"
],
"volume-scroller": [
"volume_scroller@trflynn89.pm.me",
"volume_scroller@noskoski"
"volume_scroller@noskoski",
"volume_scroller@francislavoie.github.io"
]
},
"40": {
@ -82,6 +87,10 @@
"Hide_Activities@shay.shayel.org",
"hide-activities-button@nmingori.gnome-shell-extensions.org"
],
"clipboard-indicator": [
"clipboard-indicator@tudmotu.com",
"clipboard-indicator@Dieg0Js.github.io"
],
"shutdowntimer": [
"ShutdownTimer@neumann",
"shutdown-timer-gnome-shell-extension",
@ -123,9 +132,14 @@
"wireguard-indicator@gregos.me",
"wireguard-indicator@atareao.es"
],
"true-color-invert": [
"true-color-invert@jackkenney",
"true-color-window-invert@lynet101"
],
"volume-scroller": [
"volume_scroller@trflynn89.pm.me",
"volume_scroller@noskoski"
"volume_scroller@noskoski",
"volume_scroller@francislavoie.github.io"
],
"floating-panel": [
"floating-panel@aylur",
@ -177,9 +191,14 @@
"wireguard-indicator@gregos.me",
"wireguard-indicator@atareao.es"
],
"true-color-invert": [
"true-color-invert@jackkenney",
"true-color-window-invert@lynet101"
],
"volume-scroller": [
"volume_scroller@trflynn89.pm.me",
"volume_scroller@noskoski"
"volume_scroller@noskoski",
"volume_scroller@francislavoie.github.io"
],
"floating-panel": [
"floating-panel@aylur",
@ -219,9 +238,14 @@
"wireguard-indicator@gregos.me",
"wireguard-indicator@atareao.es"
],
"true-color-invert": [
"true-color-invert@jackkenney",
"true-color-window-invert@lynet101"
],
"volume-scroller": [
"volume_scroller@trflynn89.pm.me",
"volume_scroller@noskoski"
"volume_scroller@noskoski",
"volume_scroller@francislavoie.github.io"
],
"auto-activities": [
"auto-activities@acedron.github.io",
@ -265,9 +289,14 @@
"batime@martin.zurowietz.de",
"batterytime@typeof.pw"
],
"volume-scroller": [
"volume_scroller@trflynn89.pm.me",
"volume_scroller@francislavoie.github.io"
],
"floating-panel": [
"floating-panel@aylur",
"floating-panel-usedbymyself@wpism"
]
}
},
"44": {}
}

View File

@ -61,9 +61,10 @@ in rec {
gnome41Extensions = mapUuidNames (produceExtensionsList "41");
gnome42Extensions = mapUuidNames (produceExtensionsList "42");
gnome43Extensions = mapUuidNames (produceExtensionsList "43");
gnome44Extensions = mapUuidNames (produceExtensionsList "44");
# Keep the last three versions in here
gnomeExtensions = lib.trivial.pipe (gnome41Extensions // gnome42Extensions // gnome43Extensions) [
gnomeExtensions = lib.trivial.pipe (gnome42Extensions // gnome43Extensions // gnome44Extensions) [
# Apply some custom patches for automatically packaged extensions
(callPackage ./extensionOverrides.nix {})
# Add all manually packaged extensions

View File

@ -91,28 +91,6 @@ super: lib.trivial.pipe super [
];
}))
(patchExtension "screen-autorotate@kosmospredanie.yandex.ru" (old: {
# Requires gjs
# https://github.com/NixOS/nixpkgs/issues/164865
postPatch = ''
for file in *.js; do
substituteInPlace $file --replace "gjs" "${gjs}/bin/gjs"
done
'';
}))
(patchExtension "shell-volume-mixer@derhofbauer.at" (old: {
patches = [
(substituteAll {
src = ./extensionOverridesPatches/shell-volume-mixer_at_derhofbauer.at.patch;
inherit pulseaudio;
inherit python3;
})
];
meta.maintainers = with lib.maintainers; [ rhoriguchi ];
}))
(patchExtension "tophat@fflewddur.github.io" (old: {
patches = [
(substituteAll {

View File

@ -6,6 +6,11 @@
# - Make a separate section for each GNOME version. Collisions will come back eventually
# as the extensions are updated.
{
# ############################################################################
# These are conflicts for older extensions (i.e. they don't support the latest GNOME version).
# Make sure to move them up once they are updated
# ####### GNOME 43 #######
"apps-menu@gnome-shell-extensions.gcampax.github.com" = "applications-menu";
"Applications_Menu@rmy.pobox.com" = "frippery-applications-menu";
@ -31,14 +36,13 @@
"batime@martin.zurowietz.de" = "battery-time";
"batterytime@typeof.pw" = "battery-time-2";
"volume_scroller@trflynn89.pm.me" = "volume-scroller";
"volume_scroller@francislavoie.github.io" = "volume-scroller-2";
# no source repository can be found for this extension
"floating-panel@aylur" = "floating-panel";
"floating-panel-usedbymyself@wpism" = null;
# ############################################################################
# These are conflicts for older extensions (i.e. they don't support the latest GNOME version).
# Make sure to move them up once they are updated
# ####### GNOME 42 #######
"lockkeys@vaina.lt" = "lock-keys";
@ -47,8 +51,7 @@
"panel-date-format@keiii.github.com" = "panel-date-format";
"panel-date-format@atareao.es" = "panel-date-format-2";
"volume_scroller@trflynn89.pm.me" = "volume-scroller";
"volume_scroller@noskoski" = "volume-scroller-2";
"volume_scroller@noskoski" = "volume-scroller-3";
"wireguard-indicator@gregos.me" = "wireguard-indicator-2";
"wireguard-indicator@atareao.es" = "wireguard-indicator";
@ -56,6 +59,9 @@
"auto-activities@acedron.github.io" = "auto-activities-2";
"auto-activities@CleoMenezesJr.github.io" = "auto-activities";
"true-color-invert@jackkenney" = "true-color-invert";
"true-color-window-invert@lynet101" = "true-color-window-invert";
# ####### GNOME 41 #######
"floatingDock@sun.wxg@gmail.com" = "floating-dock-2";

File diff suppressed because one or more lines are too long

View File

@ -19,6 +19,7 @@ supported_versions = {
"41": "41",
"42": "42",
"43": "43",
"44": "44",
}
# Some type alias to increase readability of complex compound types

View File

@ -6,7 +6,7 @@
}:
{ bash
, buildFHSUserEnv
, buildFHSEnv
, cacert
, git
, runCommand
@ -100,7 +100,7 @@ let
# Wrap flutter inside an fhs user env to allow execution of binary,
# like adb from $ANDROID_HOME or java from android-studio.
fhsEnv = buildFHSUserEnv {
fhsEnv = buildFHSEnv {
name = "${drvName}-fhs-env";
multiPkgs = pkgs: [
# Flutter only use these certificates

View File

@ -16,7 +16,7 @@
, gmp, mpfr, libmpc, gettext, which, patchelf, binutils
, isl ? null # optional, for the Graphite optimization framework.
, zlib ? null
, gnatboot ? null
, gnat-bootstrap ? null
, enableMultilib ? false
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
, name ? "gcc"
@ -34,7 +34,7 @@ assert stdenv.buildPlatform.isDarwin -> gnused != null;
# The go frontend is written in c++
assert langGo -> langCC;
assert langAda -> gnatboot != null;
assert langAda -> gnat-bootstrap != null;
# threadsCross is just for MinGW
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
@ -111,7 +111,7 @@ let majorVersion = "10";
fetchurl
gettext
gmp
gnatboot
gnat-bootstrap
gnused
isl
langAda

View File

@ -16,7 +16,7 @@
, gmp, mpfr, libmpc, gettext, which, patchelf, binutils
, isl ? null # optional, for the Graphite optimization framework.
, zlib ? null
, gnatboot ? null
, gnat-bootstrap ? null
, enableMultilib ? false
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
, name ? "gcc"
@ -37,7 +37,7 @@ assert stdenv.buildPlatform.isDarwin -> gnused != null;
# The go frontend is written in c++
assert langGo -> langCC;
assert langAda -> gnatboot != null;
assert langAda -> gnat-bootstrap != null;
# threadsCross is just for MinGW
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
@ -126,7 +126,7 @@ let majorVersion = "11";
fetchurl
gettext
gmp
gnatboot
gnat-bootstrap
gnused
isl
langAda

View File

@ -17,7 +17,7 @@
, isl ? null # optional, for the Graphite optimization framework.
, zlib ? null
, libucontext ? null
, gnatboot ? null
, gnat-bootstrap ? null
, enableMultilib ? false
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
, name ? "gcc"
@ -39,7 +39,7 @@ assert stdenv.buildPlatform.isDarwin -> gnused != null;
# The go frontend is written in c++
assert langGo -> langCC;
assert langAda -> gnatboot != null;
assert langAda -> gnat-bootstrap != null;
# TODO: fixup D bootstapping, probably by using gdc11 (and maybe other changes).
# error: GDC is required to build d
@ -159,7 +159,7 @@ let majorVersion = "12";
fetchurl
gettext
gmp
gnatboot
gnat-bootstrap
gnused
isl
langAda

View File

@ -17,7 +17,7 @@
, gmp, mpfr, libmpc, gettext, which, patchelf, binutils
, isl ? null # optional, for the Graphite optimization framework.
, zlib ? null, boehmgc ? null
, gnatboot ? null
, gnat-bootstrap ? null
, zip ? null, unzip ? null, pkg-config ? null
, gtk2 ? null, libart_lgpl ? null
, libX11 ? null, libXt ? null, libSM ? null, libICE ? null, libXtst ? null
@ -45,7 +45,7 @@ assert stdenv.buildPlatform.isDarwin -> gnused != null;
# The go frontend is written in c++
assert langGo -> langCC;
assert langAda -> gnatboot != null;
assert langAda -> gnat-bootstrap != null;
# threadsCross is just for MinGW
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
@ -151,7 +151,7 @@ let majorVersion = "6";
flex
gettext
gmp
gnatboot
gnat-bootstrap
gnused
gtk2
isl

View File

@ -16,7 +16,7 @@
, gmp, mpfr, libmpc, gettext, which, patchelf, binutils
, isl ? null # optional, for the Graphite optimization framework.
, zlib ? null
, gnatboot ? null
, gnat-bootstrap ? null
, enableMultilib ? false
, enablePlugin ? stdenv.hostPlatform == stdenv.buildPlatform # Whether to support user-supplied plug-ins
, name ? "gcc"
@ -38,7 +38,7 @@ assert stdenv.buildPlatform.isDarwin -> gnused != null;
# The go frontend is written in c++
assert langGo -> langCC;
assert langAda -> gnatboot != null;
assert langAda -> gnat-bootstrap != null;
# threadsCross is just for MinGW
assert threadsCross != {} -> stdenv.targetPlatform.isWindows;
@ -112,7 +112,7 @@ let majorVersion = "9";
fetchurl
gettext
gmp
gnatboot
gnat-bootstrap
gnused
isl
langAda

View File

@ -17,7 +17,7 @@
, cloog ? null
, isl ? null
, zlib ? null
, gnatboot ? null
, gnat-bootstrap ? null
, flex ? null
, boehmgc ? null
, zip ? null
@ -51,7 +51,7 @@ in
++ optionals (perl != null) [ perl ]
++ optionals javaAwtGtk [ pkg-config ]
++ optionals (with stdenv.targetPlatform; isVc4 || isRedox && flex != null) [ flex ]
++ optionals langAda [ gnatboot ]
++ optionals langAda [ gnat-bootstrap ]
# The builder relies on GNU sed (for instance, Darwin's `sed' fails with
# "-i may not be used with stdin"), and `stdenvNative' doesn't provide it.
++ optionals buildPlatform.isDarwin [ gnused ]

View File

@ -1,5 +1,5 @@
{ lib, version, buildPlatform, hostPlatform, targetPlatform
, gnatboot ? null
, gnat-bootstrap ? null
, langAda ? false
, langJava ? false
, langJit ? false
@ -9,7 +9,7 @@
}:
assert langJava -> lib.versionOlder version "7";
assert langAda -> gnatboot != null; let
assert langAda -> gnat-bootstrap != null; let
needsLib
= (lib.versionOlder version "7" && (langJava || langGo))
|| (lib.versions.major version == "4" && lib.versions.minor version == "9" && targetPlatform.isDarwin);
@ -21,13 +21,13 @@ in lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
'' + lib.optionalString needsLib ''
export lib=$out;
'' + lib.optionalString langAda ''
export PATH=${gnatboot}/bin:$PATH
export PATH=${gnat-bootstrap}/bin:$PATH
''
# On x86_64-darwin, the gnatboot bootstrap compiler that we need to build a
# On x86_64-darwin, the gnat-bootstrap bootstrap compiler that we need to build a
# native GCC with Ada support emits assembly that is accepted by the Clang
# integrated assembler, but not by the GNU assembler in cctools-port that Nix
# usually in the x86_64-darwin stdenv. In particular, x86_64-darwin gnatboot
# usually in the x86_64-darwin stdenv. In particular, x86_64-darwin gnat-bootstrap
# emits MOVQ as the mnemonic for quadword interunit moves, such as between XMM
# and general registers (e.g "movq %xmm0, %rbp"); the cctools-port assembler,
# however, only recognises MOVD for such moves.
@ -35,7 +35,7 @@ in lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
# Therefore, for native x86_64-darwin builds that support Ada, we have to use
# the Clang integrated assembler to build (at least stage 1 of) GCC, but have to
# target GCC at the cctools-port GNU assembler. In the wrapped x86_64-darwin
# gnatboot, the former is provided as `as`, while the latter is provided as
# gnat-bootstrap, the former is provided as `as`, while the latter is provided as
# `gas`.
#
+ lib.optionalString (
@ -45,8 +45,8 @@ in lib.optionalString (hostPlatform.isSunOS && hostPlatform.is64bit) ''
&& targetPlatform.isx86_64
&& targetPlatform.isDarwin
) ''
export AS_FOR_BUILD=${gnatboot}/bin/as
export AS_FOR_TARGET=${gnatboot}/bin/gas
export AS_FOR_BUILD=${gnat-bootstrap}/bin/as
export AS_FOR_TARGET=${gnat-bootstrap}/bin/gas
''
# NOTE 2020/3/18: This environment variable prevents configure scripts from

View File

@ -2,13 +2,13 @@
rustPlatform.buildRustPackage rec {
pname = "gleam";
version = "0.27.0";
version = "0.28.2";
src = fetchFromGitHub {
owner = "gleam-lang";
repo = pname;
rev = "refs/tags/v${version}";
hash = "sha256-RkpHmrxKiMtXOPKd8qBREike2sJ3NZcrc7RIxG08eyI=";
hash = "sha256-4sYHI3yh5KvLxdpWkCMya7v5aXG+FvvK7hmpOkX1R28=";
};
nativeBuildInputs = [ git pkg-config ];
@ -16,7 +16,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ openssl ] ++
lib.optionals stdenv.isDarwin [ Security libiconv ];
cargoSha256 = "sha256-QluOPKEkofRRE+UxNe60f+sA8Ov3um25kl2F/pt19js=";
cargoSha256 = "sha256-7RLeLZS28eIGObisRRI3skSkplWZGnyikvD3qfFDpU8=";
meta = with lib; {
description = "A statically typed language for the Erlang VM";

View File

@ -38,7 +38,7 @@ let
in with versionMap.${majorVersion};
stdenv.mkDerivation rec {
pname = "gnatboot";
pname = "gnat-bootstrap";
inherit gccVersion alireRevision;
version = "${gccVersion}-${alireRevision}";
@ -86,7 +86,7 @@ stdenv.mkDerivation rec {
cp -ar * $out/
''
# So far with the Darwin gnatboot binary packages, there have been two
# So far with the Darwin gnat-bootstrap binary packages, there have been two
# types of dylib path references to other dylibs that need fixups:
#
# 1. Dylibs in $out/lib with paths starting with

Some files were not shown because too many files have changed in this diff Show More