Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2023-04-06 00:11:55 +00:00 committed by GitHub
commit 6a7b8348a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
226 changed files with 21595 additions and 1491 deletions

1
.gitattributes vendored
View File

@ -1,5 +1,6 @@
**/deps.nix linguist-generated **/deps.nix linguist-generated
**/deps.json linguist-generated **/deps.json linguist-generated
**/deps.toml lingust-generated
**/node-packages.nix linguist-generated **/node-packages.nix linguist-generated
pkgs/applications/editors/emacs-modes/*-generated.nix linguist-generated pkgs/applications/editors/emacs-modes/*-generated.nix linguist-generated

View File

@ -162,7 +162,7 @@ required to build a rust package. A simple fix is to use:
```nix ```nix
postPatch = '' postPatch = ''
cp ${./Cargo.lock} Cargo.lock ln -s ${./Cargo.lock} Cargo.lock
''; '';
``` ```

View File

@ -2409,12 +2409,6 @@
githubId = 91694; githubId = 91694;
name = "Javier Candeira"; name = "Javier Candeira";
}; };
candyc1oud = {
email = "candyc1oud@outlook.com";
github = "candyc1oud";
githubId = 113157395;
name = "Candy Cloud";
};
canndrew = { canndrew = {
email = "shum@canndrew.org"; email = "shum@canndrew.org";
github = "canndrew"; github = "canndrew";
@ -3395,6 +3389,11 @@
githubId = 1298344; githubId = 1298344;
name = "Daniel Fullmer"; name = "Daniel Fullmer";
}; };
dansbandit = {
github = "dansbandit";
githubId = 4530687;
name = "dansbandit";
};
danth = { danth = {
name = "Daniel Thwaites"; name = "Daniel Thwaites";
email = "danthwaites30@btinternet.com"; email = "danthwaites30@btinternet.com";
@ -6986,6 +6985,12 @@
githubId = 17029738; githubId = 17029738;
name = "Jean-Charles Quillet"; name = "Jean-Charles Quillet";
}; };
jedsek = {
email = "jedsek@qq.com";
github = "jedsek";
githubId = 63626406;
name = "Jedsek";
};
jefdaj = { jefdaj = {
email = "jefdaj@gmail.com"; email = "jefdaj@gmail.com";
github = "jefdaj"; github = "jefdaj";
@ -8188,6 +8193,12 @@
github = "konradmalik"; github = "konradmalik";
githubId = 13033392; githubId = 13033392;
}; };
konst-aa = {
email = "konstantin.astafurov@gmail.com";
github = "konst-aa";
githubId = 40547702;
name = "Konstantin Astafurov";
};
koozz = { koozz = {
email = "koozz@linux.com"; email = "koozz@linux.com";
github = "koozz"; github = "koozz";

View File

@ -100,7 +100,7 @@ async def commit_changes(name: str, merge_lock: asyncio.Lock, worktree: str, bra
# Git can only handle a single index operation at a time # Git can only handle a single index operation at a time
async with merge_lock: async with merge_lock:
await check_subprocess('git', 'add', *change['files'], cwd=worktree) await check_subprocess('git', 'add', *change['files'], cwd=worktree)
commit_message = '{attrPath}: {oldVersion} {newVersion}'.format(**change) commit_message = '{attrPath}: {oldVersion} -> {newVersion}'.format(**change)
if 'commitMessage' in change: if 'commitMessage' in change:
commit_message = change['commitMessage'] commit_message = change['commitMessage']
elif 'commitBody' in change: elif 'commitBody' in change:

View File

@ -294,6 +294,9 @@ with lib.maintainers; {
zowoq zowoq
qbit qbit
]; ];
githubTeams = [
"golang"
];
scope = "Maintain Golang compilers."; scope = "Maintain Golang compilers.";
shortName = "Go"; shortName = "Go";
enableFeatureFreezePing = true; enableFeatureFreezePing = true;
@ -423,6 +426,21 @@ with lib.maintainers; {
shortName = "Linux Kernel"; shortName = "Linux Kernel";
}; };
lisp = {
members = [
raskin
lukego
nagy
uthar
];
githubTeams = [
"lisp"
];
scope = "Maintain the Lisp ecosystem.";
shortName = "lisp";
enableFeatureFreezePing = true;
};
llvm = { llvm = {
members = [ members = [
dtzWill dtzWill
@ -723,6 +741,9 @@ with lib.maintainers; {
winter winter
zowoq zowoq
]; ];
githubTeams = [
"rust"
];
scope = "Maintain the Rust compiler toolchain and nixpkgs integration."; scope = "Maintain the Rust compiler toolchain and nixpkgs integration.";
shortName = "Rust"; shortName = "Rust";
enableFeatureFreezePing = true; enableFeatureFreezePing = true;

View File

@ -168,7 +168,7 @@ let
./manual.md \ ./manual.md \
./manual-combined-pre.xml ./manual-combined-pre.xml
${pkgs.libxslt.bin}/bin/xsltproc \ xsltproc \
-o manual-combined.xml ${./../../lib/make-options-doc/postprocess-option-descriptions.xsl} \ -o manual-combined.xml ${./../../lib/make-options-doc/postprocess-option-descriptions.xsl} \
manual-combined-pre.xml manual-combined-pre.xml

View File

@ -130,6 +130,8 @@ In addition to numerous new and upgraded packages, this release has the followin
- The [services.unifi-video.openFirewall](#opt-services.unifi-video.openFirewall) module option default value has been changed from `true` to `false`. You will need to explicitly set this option to `true`, or configure your firewall. - The [services.unifi-video.openFirewall](#opt-services.unifi-video.openFirewall) module option default value has been changed from `true` to `false`. You will need to explicitly set this option to `true`, or configure your firewall.
- The option `i18n.inputMethod.fcitx5.enableRimeData` has been removed. Default RIME data is now included in `fcitx5-rime` by default, and can be customized using `fcitx5-rime.override { rimeDataPkgs = [ pkgs.rime-data, package2, ... ]; }`
- Kime has been updated from 2.5.6 to 3.0.2 and the `i18n.inputMethod.kime.config` option has been removed. Users should use `daemonModules`, `iconColor`, and `extraConfig` options under `i18n.inputMethod.kime` instead. - Kime has been updated from 2.5.6 to 3.0.2 and the `i18n.inputMethod.kime.config` option has been removed. Users should use `daemonModules`, `iconColor`, and `extraConfig` options under `i18n.inputMethod.kime` instead.
- `tut` has been updated from 1.0.34 to 2.0.0, and now uses the TOML format for the configuration file instead of INI. Additional information can be found [here](https://github.com/RasmusLindroth/tut/releases/tag/2.0.0). - `tut` has been updated from 1.0.34 to 2.0.0, and now uses the TOML format for the configuration file instead of INI. Additional information can be found [here](https://github.com/RasmusLindroth/tut/releases/tag/2.0.0).
@ -233,6 +235,10 @@ In addition to numerous new and upgraded packages, this release has the followin
- `services.openssh.ciphers` to `services.openssh.settings.Ciphers` - `services.openssh.ciphers` to `services.openssh.settings.Ciphers`
- `services.openssh.gatewayPorts` to `services.openssh.settings.GatewayPorts` - `services.openssh.gatewayPorts` to `services.openssh.settings.GatewayPorts`
- `netbox` was updated to 3.4. NixOS' `services.netbox.package` still defaults to 3.3 if `stateVersion` is earlier than 23.05. Please review upstream's [breaking changes](https://github.com/netbox-community/netbox/releases/tag/v3.4.0), and upgrade NetBox by changing `services.netbox.package`. Database migrations will be run automatically.
- `services.netbox` now support RFC42-style options, through `services.netbox.settings`.
- `services.mastodon` gained a tootctl wrapped named `mastodon-tootctl` similar to `nextcloud-occ` which can be executed from any user and switches to the configured mastodon user with sudo and sources the environment variables. - `services.mastodon` gained a tootctl wrapped named `mastodon-tootctl` similar to `nextcloud-occ` which can be executed from any user and switches to the configured mastodon user with sudo and sources the environment variables.
- DocBook option documentation, which has been deprecated since 22.11, will now cause a warning when documentation is built. Out-of-tree modules should migrate to using CommonMark documentation as outlined in [](#sec-option-declarations) to silence this warning. - DocBook option documentation, which has been deprecated since 22.11, will now cause a warning when documentation is built. Out-of-tree modules should migrate to using CommonMark documentation as outlined in [](#sec-option-declarations) to silence this warning.

View File

@ -5,10 +5,9 @@ with lib;
let let
im = config.i18n.inputMethod; im = config.i18n.inputMethod;
cfg = im.fcitx5; cfg = im.fcitx5;
addons = cfg.addons ++ optional cfg.enableRimeData pkgs.rime-data; fcitx5Package = pkgs.fcitx5-with-addons.override { inherit (cfg) addons; };
fcitx5Package = pkgs.fcitx5-with-addons.override { inherit addons; }; in
whetherRimeDataDir = any (p: p.pname == "fcitx5-rime") cfg.addons; {
in {
options = { options = {
i18n.inputMethod.fcitx5 = { i18n.inputMethod.fcitx5 = {
addons = mkOption { addons = mkOption {
@ -19,30 +18,23 @@ in {
Enabled Fcitx5 addons. Enabled Fcitx5 addons.
''; '';
}; };
enableRimeData = mkEnableOption (lib.mdDoc "default rime-data with fcitx5-rime");
}; };
}; };
imports = [
(mkRemovedOptionModule [ "i18n" "inputMethod" "fcitx5" "enableRimeData" ] ''
RIME data is now included in `fcitx5-rime` by default, and can be customized using `fcitx5-rime.override { rimeDataPkgs = ...; }`
'')
];
config = mkIf (im.enabled == "fcitx5") { config = mkIf (im.enabled == "fcitx5") {
i18n.inputMethod.package = fcitx5Package; i18n.inputMethod.package = fcitx5Package;
environment = mkMerge [{ environment.variables = {
variables = { GTK_IM_MODULE = "fcitx";
GTK_IM_MODULE = "fcitx"; QT_IM_MODULE = "fcitx";
QT_IM_MODULE = "fcitx"; XMODIFIERS = "@im=fcitx";
XMODIFIERS = "@im=fcitx"; QT_PLUGIN_PATH = [ "${fcitx5Package}/${pkgs.qt6.qtbase.qtPluginPrefix}" ];
QT_PLUGIN_PATH = [ "${fcitx5Package}/${pkgs.qt6.qtbase.qtPluginPrefix}" ]; };
};
}
(mkIf whetherRimeDataDir {
pathsToLink = [
"/share/rime-data"
];
variables = {
NIX_RIME_DATA_DIR = "/run/current-system/sw/share/rime-data";
};
})];
}; };
} }

View File

@ -159,6 +159,15 @@ in
''; '';
}; };
}; };
options.relay_api.database = {
connection_string = lib.mkOption {
type = lib.types.str;
default = "file:relayapi.db";
description = lib.mdDoc ''
Database for the Relay Server.
'';
};
};
options.media_api = { options.media_api = {
database = { database = {
connection_string = lib.mkOption { connection_string = lib.mkOption {
@ -294,7 +303,7 @@ in
-o /run/dendrite/dendrite.yaml -o /run/dendrite/dendrite.yaml
'']; ''];
ExecStart = lib.strings.concatStringsSep " " ([ ExecStart = lib.strings.concatStringsSep " " ([
"${pkgs.dendrite}/bin/dendrite-monolith-server" "${pkgs.dendrite}/bin/dendrite"
"--config /run/dendrite/dendrite.yaml" "--config /run/dendrite/dendrite.yaml"
] ++ lib.optionals (cfg.httpPort != null) [ ] ++ lib.optionals (cfg.httpPort != null) [
"--http-bind-address :${builtins.toString cfg.httpPort}" "--http-bind-address :${builtins.toString cfg.httpPort}"

View File

@ -87,6 +87,7 @@ let
}; };
'' ''
} }
allow-query { any; };
${extraConfig} ${extraConfig}
}; };
'') '')

View File

@ -42,7 +42,7 @@ let
configPath = pkgs.writeText "smokeping.conf" configFile; configPath = pkgs.writeText "smokeping.conf" configFile;
cgiHome = pkgs.writeScript "smokeping.fcgi" '' cgiHome = pkgs.writeScript "smokeping.fcgi" ''
#!${pkgs.bash}/bin/bash #!${pkgs.bash}/bin/bash
${cfg.package}/bin/smokeping_cgi ${configPath} ${cfg.package}/bin/smokeping_cgi /etc/smokeping.conf
''; '';
in in
@ -307,6 +307,7 @@ in
source = "${pkgs.fping}/bin/fping"; source = "${pkgs.fping}/bin/fping";
}; };
}; };
environment.etc."smokeping.conf".source = configPath;
environment.systemPackages = [ pkgs.fping ]; environment.systemPackages = [ pkgs.fping ];
users.users.${cfg.user} = { users.users.${cfg.user} = {
isNormalUser = false; isNormalUser = false;
@ -327,18 +328,23 @@ in
# Thus, we need to make `smokepingHome` (which is given to `thttpd -d` below) `755`. # Thus, we need to make `smokepingHome` (which is given to `thttpd -d` below) `755`.
homeMode = "755"; homeMode = "755";
}; };
users.groups.${cfg.user} = {}; users.groups.${cfg.user} = { };
systemd.services.smokeping = { systemd.services.smokeping = {
requiredBy = [ "multi-user.target"]; reloadTriggers = [ configPath ];
requiredBy = [ "multi-user.target" ];
serviceConfig = { serviceConfig = {
User = cfg.user; User = cfg.user;
Restart = "on-failure"; Restart = "on-failure";
ExecStart = "${cfg.package}/bin/smokeping --config=${configPath} --nodaemon"; ExecStart = "${cfg.package}/bin/smokeping --config=/etc/smokeping.conf --nodaemon";
}; };
preStart = '' preStart = ''
mkdir -m 0755 -p ${smokepingHome}/cache ${smokepingHome}/data mkdir -m 0755 -p ${smokepingHome}/cache ${smokepingHome}/data
rm -f ${smokepingHome}/cropper rm -f ${smokepingHome}/cropper
ln -s ${cfg.package}/htdocs/cropper ${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 rm -f ${smokepingHome}/smokeping.fcgi
ln -s ${cgiHome} ${smokepingHome}/smokeping.fcgi ln -s ${cgiHome} ${smokepingHome}/smokeping.fcgi
${cfg.package}/bin/smokeping --check --config=${configPath} ${cfg.package}/bin/smokeping --check --config=${configPath}

View File

@ -4,45 +4,17 @@ with lib;
let let
cfg = config.services.netbox; cfg = config.services.netbox;
pythonFmt = pkgs.formats.pythonVars {};
staticDir = cfg.dataDir + "/static"; staticDir = cfg.dataDir + "/static";
configFile = pkgs.writeTextFile {
name = "configuration.py";
text = ''
STATIC_ROOT = '${staticDir}'
MEDIA_ROOT = '${cfg.dataDir}/media'
REPORTS_ROOT = '${cfg.dataDir}/reports'
SCRIPTS_ROOT = '${cfg.dataDir}/scripts'
ALLOWED_HOSTS = ['*'] settingsFile = pythonFmt.generate "netbox-settings.py" cfg.settings;
DATABASE = { extraConfigFile = pkgs.writeTextFile {
'NAME': 'netbox', name = "netbox-extraConfig.py";
'USER': 'netbox', text = cfg.extraConfig;
'HOST': '/run/postgresql',
}
# Redis database settings. Redis is used for caching and for queuing background tasks such as webhook events. A separate
# configuration exists for each. Full connection details are required in both sections, and it is strongly recommended
# to use two separate database IDs.
REDIS = {
'tasks': {
'URL': 'unix://${config.services.redis.servers.netbox.unixSocket}?db=0',
'SSL': False,
},
'caching': {
'URL': 'unix://${config.services.redis.servers.netbox.unixSocket}?db=1',
'SSL': False,
}
}
with open("${cfg.secretKeyFile}", "r") as file:
SECRET_KEY = file.readline()
${optionalString cfg.enableLdap "REMOTE_AUTH_BACKEND = 'netbox.authentication.LDAPBackend'"}
${cfg.extraConfig}
'';
}; };
pkg = (pkgs.netbox.overrideAttrs (old: { configFile = pkgs.concatText "configuration.py" [ settingsFile extraConfigFile ];
pkg = (cfg.package.overrideAttrs (old: {
installPhase = old.installPhase + '' installPhase = old.installPhase + ''
ln -s ${configFile} $out/opt/netbox/netbox/netbox/configuration.py ln -s ${configFile} $out/opt/netbox/netbox/netbox/configuration.py
'' + optionalString cfg.enableLdap '' '' + optionalString cfg.enableLdap ''
@ -70,6 +42,30 @@ in {
''; '';
}; };
settings = lib.mkOption {
description = lib.mdDoc ''
Configuration options to set in `configuration.py`.
See the [documentation](https://docs.netbox.dev/en/stable/configuration/) for more possible options.
'';
default = { };
type = lib.types.submodule {
freeformType = pythonFmt.type;
options = {
ALLOWED_HOSTS = lib.mkOption {
type = with lib.types; listOf str;
default = ["*"];
description = lib.mdDoc ''
A list of valid fully-qualified domain names (FQDNs) and/or IP
addresses that can be used to reach the NetBox service.
'';
};
};
};
};
listenAddress = mkOption { listenAddress = mkOption {
type = types.str; type = types.str;
default = "[::1]"; default = "[::1]";
@ -78,6 +74,17 @@ in {
''; '';
}; };
package = mkOption {
type = types.package;
default = if versionAtLeast config.system.stateVersion "23.05" then pkgs.netbox else pkgs.netbox_3_3;
defaultText = literalExpression ''
if versionAtLeast config.system.stateVersion "23.05" then pkgs.netbox else pkgs.netbox_3_3;
'';
description = lib.mdDoc ''
NetBox package to use.
'';
};
port = mkOption { port = mkOption {
type = types.port; type = types.port;
default = 8001; default = 8001;
@ -117,7 +124,7 @@ in {
default = ""; default = "";
description = lib.mdDoc '' description = lib.mdDoc ''
Additional lines of configuration appended to the `configuration.py`. Additional lines of configuration appended to the `configuration.py`.
See the [documentation](https://netbox.readthedocs.io/en/stable/configuration/optional-settings/) for more possible options. See the [documentation](https://docs.netbox.dev/en/stable/configuration/) for more possible options.
''; '';
}; };
@ -138,11 +145,90 @@ in {
Path to the Configuration-File for LDAP-Authentication, will be loaded as `ldap_config.py`. Path to the Configuration-File for LDAP-Authentication, will be loaded as `ldap_config.py`.
See the [documentation](https://netbox.readthedocs.io/en/stable/installation/6-ldap/#configuration) for possible options. See the [documentation](https://netbox.readthedocs.io/en/stable/installation/6-ldap/#configuration) for possible options.
''; '';
example = ''
import ldap
from django_auth_ldap.config import LDAPSearch, PosixGroupType
AUTH_LDAP_SERVER_URI = "ldaps://ldap.example.com/"
AUTH_LDAP_USER_SEARCH = LDAPSearch(
"ou=accounts,ou=posix,dc=example,dc=com",
ldap.SCOPE_SUBTREE,
"(uid=%(user)s)",
)
AUTH_LDAP_GROUP_SEARCH = LDAPSearch(
"ou=groups,ou=posix,dc=example,dc=com",
ldap.SCOPE_SUBTREE,
"(objectClass=posixGroup)",
)
AUTH_LDAP_GROUP_TYPE = PosixGroupType()
# Mirror LDAP group assignments.
AUTH_LDAP_MIRROR_GROUPS = True
# For more granular permissions, we can map LDAP groups to Django groups.
AUTH_LDAP_FIND_GROUP_PERMS = True
'';
}; };
}; };
config = mkIf cfg.enable { config = mkIf cfg.enable {
services.netbox.plugins = mkIf cfg.enableLdap (ps: [ ps.django-auth-ldap ]); services.netbox = {
plugins = mkIf cfg.enableLdap (ps: [ ps.django-auth-ldap ]);
settings = {
STATIC_ROOT = staticDir;
MEDIA_ROOT = "${cfg.dataDir}/media";
REPORTS_ROOT = "${cfg.dataDir}/reports";
SCRIPTS_ROOT = "${cfg.dataDir}/scripts";
DATABASE = {
NAME = "netbox";
USER = "netbox";
HOST = "/run/postgresql";
};
# Redis database settings. Redis is used for caching and for queuing
# background tasks such as webhook events. A separate configuration
# exists for each. Full connection details are required in both
# sections, and it is strongly recommended to use two separate database
# IDs.
REDIS = {
tasks = {
URL = "unix://${config.services.redis.servers.netbox.unixSocket}?db=0";
SSL = false;
};
caching = {
URL = "unix://${config.services.redis.servers.netbox.unixSocket}?db=1";
SSL = false;
};
};
REMOTE_AUTH_BACKEND = lib.mkIf cfg.enableLdap "netbox.authentication.LDAPBackend";
LOGGING = lib.mkDefault {
version = 1;
formatters.precise.format = "[%(levelname)s@%(name)s] %(message)s";
handlers.console = {
class = "logging.StreamHandler";
formatter = "precise";
};
# log to console/systemd instead of file
root = {
level = "INFO";
handlers = [ "console" ];
};
};
};
extraConfig = ''
with open("${cfg.secretKeyFile}", "r") as file:
SECRET_KEY = file.readline()
'';
};
services.redis.servers.netbox.enable = true; services.redis.servers.netbox.enable = true;

View File

@ -460,7 +460,8 @@ in {
netdata = handleTest ./netdata.nix {}; netdata = handleTest ./netdata.nix {};
networking.networkd = handleTest ./networking.nix { networkd = true; }; networking.networkd = handleTest ./networking.nix { networkd = true; };
networking.scripted = handleTest ./networking.nix { networkd = false; }; networking.scripted = handleTest ./networking.nix { networkd = false; };
netbox = handleTest ./web-apps/netbox.nix {}; netbox = handleTest ./web-apps/netbox.nix { inherit (pkgs) netbox; };
netbox_3_3 = handleTest ./web-apps/netbox.nix { netbox = pkgs.netbox_3_3; };
# TODO: put in networking.nix after the test becomes more complete # TODO: put in networking.nix after the test becomes more complete
networkingProxy = handleTest ./networking-proxy.nix {}; networkingProxy = handleTest ./networking-proxy.nix {};
nextcloud = handleTest ./nextcloud {}; nextcloud = handleTest ./nextcloud {};

View File

@ -1,5 +1,7 @@
import ./make-test-python.nix ({ pkgs, ... }: { import ./make-test-python.nix ({ pkgs, ... }: {
name = "tracee-integration"; name = "tracee-integration";
meta.maintainers = pkgs.tracee.meta.maintainers;
nodes = { nodes = {
machine = { config, pkgs, ... }: { machine = { config, pkgs, ... }: {
# EventFilters/trace_only_events_from_new_containers and # EventFilters/trace_only_events_from_new_containers and
@ -7,11 +9,11 @@ import ./make-test-python.nix ({ pkgs, ... }: {
# require docker/dockerd # require docker/dockerd
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
environment.systemPackages = [ environment.systemPackages = with pkgs; [
# required by Test_EventFilters/trace_events_from_ls_and_which_binary_in_separate_scopes # required by Test_EventFilters/trace_events_from_ls_and_which_binary_in_separate_scopes
pkgs.which which
# build the go integration tests as a binary # build the go integration tests as a binary
(pkgs.tracee.overrideAttrs (oa: { (tracee.overrideAttrs (oa: {
pname = oa.pname + "-integration"; pname = oa.pname + "-integration";
postPatch = oa.postPatch or "" + '' postPatch = oa.postPatch or "" + ''
# prepare tester.sh (which will be embedded in the test binary) # prepare tester.sh (which will be embedded in the test binary)
@ -20,10 +22,11 @@ import ./make-test-python.nix ({ pkgs, ... }: {
# fix the test to look at nixos paths for running programs # fix the test to look at nixos paths for running programs
substituteInPlace tests/integration/integration_test.go \ substituteInPlace tests/integration/integration_test.go \
--replace "bin=/usr/bin/" "comm=" \ --replace "bin=/usr/bin/" "comm=" \
--replace "binary=/usr/bin/" "comm=" \
--replace "/usr/bin/dockerd" "dockerd" \ --replace "/usr/bin/dockerd" "dockerd" \
--replace "/usr/bin" "/run/current-system/sw/bin" --replace "/usr/bin" "/run/current-system/sw/bin"
''; '';
nativeBuildInputs = oa.nativeBuildInputs or [ ] ++ [ pkgs.makeWrapper ]; nativeBuildInputs = oa.nativeBuildInputs or [ ] ++ [ makeWrapper ];
buildPhase = '' buildPhase = ''
runHook preBuild runHook preBuild
# just build the static lib we need for the go test binary # just build the static lib we need for the go test binary
@ -34,6 +37,7 @@ import ./make-test-python.nix ({ pkgs, ... }: {
runHook postBuild runHook postBuild
''; '';
doCheck = false; doCheck = false;
outputs = [ "out" ];
installPhase = '' installPhase = ''
mkdir -p $out/bin mkdir -p $out/bin
mv $GOPATH/tracee-integration $out/bin/ mv $GOPATH/tracee-integration $out/bin/

View File

@ -1,21 +1,146 @@
import ../make-test-python.nix ({ lib, pkgs, ... }: { let
ldapDomain = "example.org";
ldapSuffix = "dc=example,dc=org";
ldapRootUser = "admin";
ldapRootPassword = "foobar";
testUser = "alice";
testPassword = "verySecure";
testGroup = "netbox-users";
in import ../make-test-python.nix ({ lib, pkgs, netbox, ... }: {
name = "netbox"; name = "netbox";
meta = with lib.maintainers; { meta = with lib.maintainers; {
maintainers = [ n0emis ]; maintainers = [ minijackson n0emis ];
}; };
nodes.machine = { ... }: { nodes.machine = { config, ... }: {
services.netbox = { services.netbox = {
enable = true; enable = true;
package = netbox;
secretKeyFile = pkgs.writeText "secret" '' secretKeyFile = pkgs.writeText "secret" ''
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
''; '';
enableLdap = true;
ldapConfigPath = pkgs.writeText "ldap_config.py" ''
import ldap
from django_auth_ldap.config import LDAPSearch, PosixGroupType
AUTH_LDAP_SERVER_URI = "ldap://localhost/"
AUTH_LDAP_USER_SEARCH = LDAPSearch(
"ou=accounts,ou=posix,${ldapSuffix}",
ldap.SCOPE_SUBTREE,
"(uid=%(user)s)",
)
AUTH_LDAP_GROUP_SEARCH = LDAPSearch(
"ou=groups,ou=posix,${ldapSuffix}",
ldap.SCOPE_SUBTREE,
"(objectClass=posixGroup)",
)
AUTH_LDAP_GROUP_TYPE = PosixGroupType()
# Mirror LDAP group assignments.
AUTH_LDAP_MIRROR_GROUPS = True
# For more granular permissions, we can map LDAP groups to Django groups.
AUTH_LDAP_FIND_GROUP_PERMS = True
'';
}; };
services.nginx = {
enable = true;
recommendedProxySettings = true;
virtualHosts.netbox = {
default = true;
locations."/".proxyPass = "http://localhost:${toString config.services.netbox.port}";
locations."/static/".alias = "/var/lib/netbox/static/";
};
};
# Adapted from the sssd-ldap NixOS test
services.openldap = {
enable = true;
settings = {
children = {
"cn=schema".includes = [
"${pkgs.openldap}/etc/schema/core.ldif"
"${pkgs.openldap}/etc/schema/cosine.ldif"
"${pkgs.openldap}/etc/schema/inetorgperson.ldif"
"${pkgs.openldap}/etc/schema/nis.ldif"
];
"olcDatabase={1}mdb" = {
attrs = {
objectClass = [ "olcDatabaseConfig" "olcMdbConfig" ];
olcDatabase = "{1}mdb";
olcDbDirectory = "/var/lib/openldap/db";
olcSuffix = ldapSuffix;
olcRootDN = "cn=${ldapRootUser},${ldapSuffix}";
olcRootPW = ldapRootPassword;
};
};
};
};
declarativeContents = {
${ldapSuffix} = ''
dn: ${ldapSuffix}
objectClass: top
objectClass: dcObject
objectClass: organization
o: ${ldapDomain}
dn: ou=posix,${ldapSuffix}
objectClass: top
objectClass: organizationalUnit
dn: ou=accounts,ou=posix,${ldapSuffix}
objectClass: top
objectClass: organizationalUnit
dn: uid=${testUser},ou=accounts,ou=posix,${ldapSuffix}
objectClass: person
objectClass: posixAccount
userPassword: ${testPassword}
homeDirectory: /home/${testUser}
uidNumber: 1234
gidNumber: 1234
cn: ""
sn: ""
dn: ou=groups,ou=posix,${ldapSuffix}
objectClass: top
objectClass: organizationalUnit
dn: cn=${testGroup},ou=groups,ou=posix,${ldapSuffix}
objectClass: posixGroup
gidNumber: 2345
memberUid: ${testUser}
'';
};
};
users.users.nginx.extraGroups = [ "netbox" ];
networking.firewall.allowedTCPPorts = [ 80 ];
}; };
testScript = '' testScript = let
machine.start() changePassword = pkgs.writeText "change-password.py" ''
from django.contrib.auth.models import User
u = User.objects.get(username='netbox')
u.set_password('netbox')
u.save()
'';
in ''
from typing import Any, Dict
import json
start_all()
machine.wait_for_unit("netbox.target") machine.wait_for_unit("netbox.target")
machine.wait_until_succeeds("journalctl --since -1m --unit netbox --grep Listening") machine.wait_until_succeeds("journalctl --since -1m --unit netbox --grep Listening")
@ -26,5 +151,167 @@ import ../make-test-python.nix ({ lib, pkgs, ... }: {
with subtest("Staticfiles are generated"): with subtest("Staticfiles are generated"):
machine.succeed("test -e /var/lib/netbox/static/netbox.js") machine.succeed("test -e /var/lib/netbox/static/netbox.js")
with subtest("Superuser can be created"):
machine.succeed(
"netbox-manage createsuperuser --noinput --username netbox --email netbox@example.com"
)
# Django doesn't have a "clean" way of inputting the password from the command line
machine.succeed("cat '${changePassword}' | netbox-manage shell")
machine.wait_for_unit("network.target")
with subtest("Home screen loads from nginx"):
machine.succeed(
"curl -sSfL http://localhost | grep '<title>Home | NetBox</title>'"
)
with subtest("Staticfiles can be fetched"):
machine.succeed("curl -sSfL http://localhost/static/netbox.js")
machine.succeed("curl -sSfL http://localhost/static/docs/")
with subtest("Can interact with API"):
json.loads(
machine.succeed("curl -sSfL -H 'Accept: application/json' 'http://localhost/api/'")
)
def login(username: str, password: str):
encoded_data = json.dumps({"username": username, "password": password})
uri = "/users/tokens/provision/"
result = json.loads(
machine.succeed(
"curl -sSfL "
"-X POST "
"-H 'Accept: application/json' "
"-H 'Content-Type: application/json' "
f"'http://localhost/api{uri}' "
f"--data '{encoded_data}'"
)
)
return result["key"]
with subtest("Can login"):
auth_token = login("netbox", "netbox")
def get(uri: str):
return json.loads(
machine.succeed(
"curl -sSfL "
"-H 'Accept: application/json' "
f"-H 'Authorization: Token {auth_token}' "
f"'http://localhost/api{uri}'"
)
)
def delete(uri: str):
return machine.succeed(
"curl -sSfL "
f"-X DELETE "
"-H 'Accept: application/json' "
f"-H 'Authorization: Token {auth_token}' "
f"'http://localhost/api{uri}'"
)
def data_request(uri: str, method: str, data: Dict[str, Any]):
encoded_data = json.dumps(data)
return json.loads(
machine.succeed(
"curl -sSfL "
f"-X {method} "
"-H 'Accept: application/json' "
"-H 'Content-Type: application/json' "
f"-H 'Authorization: Token {auth_token}' "
f"'http://localhost/api{uri}' "
f"--data '{encoded_data}'"
)
)
def post(uri: str, data: Dict[str, Any]):
return data_request(uri, "POST", data)
def patch(uri: str, data: Dict[str, Any]):
return data_request(uri, "PATCH", data)
with subtest("Can create objects"):
result = post("/dcim/sites/", {"name": "Test site", "slug": "test-site"})
site_id = result["id"]
# Example from:
# http://netbox.extra.cea.fr/static/docs/integrations/rest-api/#creating-a-new-object
post("/ipam/prefixes/", {"prefix": "192.0.2.0/24", "site": site_id})
result = post(
"/dcim/manufacturers/",
{"name": "Test manufacturer", "slug": "test-manufacturer"}
)
manufacturer_id = result["id"]
# Had an issue with device-types before NetBox 3.4.0
result = post(
"/dcim/device-types/",
{
"model": "Test device type",
"manufacturer": manufacturer_id,
"slug": "test-device-type",
},
)
device_type_id = result["id"]
with subtest("Can list objects"):
result = get("/dcim/sites/")
assert result["count"] == 1
assert result["results"][0]["id"] == site_id
assert result["results"][0]["name"] == "Test site"
assert result["results"][0]["description"] == ""
result = get("/dcim/device-types/")
assert result["count"] == 1
assert result["results"][0]["id"] == device_type_id
assert result["results"][0]["model"] == "Test device type"
with subtest("Can update objects"):
new_description = "Test site description"
patch(f"/dcim/sites/{site_id}/", {"description": new_description})
result = get(f"/dcim/sites/{site_id}/")
assert result["description"] == new_description
with subtest("Can delete objects"):
# Delete a device-type since no object depends on it
delete(f"/dcim/device-types/{device_type_id}/")
result = get("/dcim/device-types/")
assert result["count"] == 0
with subtest("Can use the GraphQL API"):
encoded_data = json.dumps({
"query": "query { prefix_list { prefix, site { id, description } } }",
})
result = json.loads(
machine.succeed(
"curl -sSfL "
"-H 'Accept: application/json' "
"-H 'Content-Type: application/json' "
f"-H 'Authorization: Token {auth_token}' "
"'http://localhost/graphql/' "
f"--data '{encoded_data}'"
)
)
assert len(result["data"]["prefix_list"]) == 1
assert result["data"]["prefix_list"][0]["prefix"] == "192.0.2.0/24"
assert result["data"]["prefix_list"][0]["site"]["id"] == str(site_id)
assert result["data"]["prefix_list"][0]["site"]["description"] == new_description
with subtest("Can login with LDAP"):
machine.wait_for_unit("openldap.service")
login("alice", "${testPassword}")
with subtest("Can associate LDAP groups"):
result = get("/users/users/?username=${testUser}")
assert result["count"] == 1
assert any(group["name"] == "${testGroup}" for group in result["results"][0]["groups"])
''; '';
}) })

View File

@ -31,11 +31,11 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wasabiwallet"; pname = "wasabiwallet";
version = "2.0.2.2"; version = "2.0.3";
src = fetchurl { src = fetchurl {
url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz"; url = "https://github.com/zkSNACKs/WalletWasabi/releases/download/v${version}/Wasabi-${version}.tar.gz";
sha256 = "sha256-Mwr2TwJsA7+G5U2FHOC6SMgiYxuy6fAiA3t7oJGSVaA="; sha256 = "sha256-RlWaeOK6XqxyCIQQp1/X6iG9t7f3ER5K+S3ZvPg6wBg=";
}; };
dontBuild = true; dontBuild = true;

View File

@ -15,11 +15,11 @@ let
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz"; archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
sha256 = { sha256 = {
x86_64-linux = "1cwxb6713hlgbrp4yhaky18r05ykb2ljxkldpj3hlgiz8x9l3n8r"; x86_64-linux = "1dz0fppcbb1cbrq7lp72fdm53ss85bp7i9y5yk3l0yzlmb737syv";
x86_64-darwin = "14j7jsy7ldgkjpfb6acyv86nqfg6mip27rq0d9zfg26n4m0qm3s9"; x86_64-darwin = "1m7j4fnlcjjfpx551svh67sj45zln798dsjc1b4hlwcn6qh65kfk";
aarch64-linux = "080qqc9bacgs655sz32vdczdlkylycgzf5l584il9xyn7bp8xyk1"; aarch64-linux = "0ym6l1zkqwwj7jx2k1765094krq6cw562hyvliv1cy6079xkahiy";
aarch64-darwin = "0ifzwjalwskxm4phf9c4v6sfyxhdh63vzdippcwh0r7fx0gcj6g8"; aarch64-darwin = "14zq18s68nh8jq542kjn0pf92s7ld5x2p220z71xg3mywmlsgjqf";
armv7l-linux = "1gchynk0i05jkan47773fdlkbppwvdim73qwpcxbl0ck2giy7q9z"; armv7l-linux = "05h96x5nngli7zv2yh8a2yp8z5d8mqq1a6427sdpg3aybyj7ij2d";
}.${system} or throwSystem; }.${system} or throwSystem;
sourceRoot = if stdenv.isDarwin then "" else "."; sourceRoot = if stdenv.isDarwin then "" else ".";
@ -29,7 +29,7 @@ in
# Please backport all compatible updates to the stable release. # Please backport all compatible updates to the stable release.
# This is important for the extension ecosystem. # This is important for the extension ecosystem.
version = "1.76.2.23074"; version = "1.77.0.23093";
pname = "vscodium"; pname = "vscodium";
executableName = "codium"; executableName = "codium";

View File

@ -15,13 +15,13 @@ let
in { in {
nightly = libsForQt5.callPackage ./generic.nix rec { nightly = libsForQt5.callPackage ./generic.nix rec {
pname = "citra-nightly"; pname = "citra-nightly";
version = "1765"; version = "1873";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "citra-emu"; owner = "citra-emu";
repo = "citra-nightly"; repo = "citra-nightly";
rev = "nightly-${version}"; rev = "nightly-${version}";
sha256 = "0d3dfh63cmsy5idbypdz3ibydmb4a35sfv7qmxxlcpc390pp9cvq"; sha256 = "1csn9n1s2mvxwk2mahwm8mc4zgn40im374hcsqgz8gaxjkmnx288";
fetchSubmodules = true; fetchSubmodules = true;
}; };
@ -30,13 +30,13 @@ in {
canary = libsForQt5.callPackage ./generic.nix rec { canary = libsForQt5.callPackage ./generic.nix rec {
pname = "citra-canary"; pname = "citra-canary";
version = "2146"; version = "2440";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "citra-emu"; owner = "citra-emu";
repo = "citra-canary"; repo = "citra-canary";
rev = "canary-${version}"; rev = "canary-${version}";
sha256 = "1wnym0nklngimf5gaaa2703nz4g5iy572wlgp88h67rrh9b4f04r"; sha256 = "06f2qnvywyaf8jc43jrzjhfshj3k21ggk8wdrvd9wjsmrryvqgbz";
fetchSubmodules = true; fetchSubmodules = true;
}; };

View File

@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
"-DUSE_SYSTEM_BOOST=ON" "-DUSE_SYSTEM_BOOST=ON"
"-DCITRA_USE_BUNDLED_FFMPEG=OFF" "-DCITRA_USE_BUNDLED_FFMPEG=OFF"
"-DCITRA_USE_BUNDLED_QT=OFF" "-DCITRA_USE_BUNDLED_QT=OFF"
"-DCITRA_USE_BUNDLED_SDL2=OFF" "-DUSE_SYSTEM_SDL2=ON"
# We dont want to bother upstream with potentially outdated compat reports # We dont want to bother upstream with potentially outdated compat reports
"-DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON" "-DCITRA_ENABLE_COMPATIBILITY_REPORTING=ON"
@ -65,6 +65,10 @@ stdenv.mkDerivation rec {
++ lib.optional enableFdk "-DENABLE_FDK=ON"; ++ lib.optional enableFdk "-DENABLE_FDK=ON";
postPatch = '' postPatch = ''
# Fix file not found when looking in var/empty instead of opt
mkdir externals/dynarmic/src/dynarmic/ir/var
ln -s ../opt externals/dynarmic/src/dynarmic/ir/var/empty
# Prep compatibilitylist # Prep compatibilitylist
ln -s ${compat-list} ./dist/compatibility_list/compatibility_list.json ln -s ${compat-list} ./dist/compatibility_list/compatibility_list.json

View File

@ -29,13 +29,13 @@
buildDotnetModule rec { buildDotnetModule rec {
pname = "ryujinx"; pname = "ryujinx";
version = "1.1.687"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml version = "1.1.692"; # Based off of the official github actions builds: https://github.com/Ryujinx/Ryujinx/actions/workflows/release.yml
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Ryujinx"; owner = "Ryujinx";
repo = "Ryujinx"; repo = "Ryujinx";
rev = "460f96967de6f5cb729ed57baaa4dad2178c8cb6"; rev = "1b41b285ac7f551c3495ced436ce3930ad7223b4";
sha256 = "008mjih7lp2zq86g750s237d9g2p2jqfryp6izac3iqr3s7dbr6g"; sha256 = "07s42xmdagi97i7c3mm9qak9msgv4c75say10dl4nha784kxkbvp";
}; };
dotnet-sdk = dotnetCorePackages.sdk_7_0; dotnet-sdk = dotnetCorePackages.sdk_7_0;

View File

@ -2,24 +2,25 @@
# Please dont edit it manually, your changes might get overwritten! # Please dont edit it manually, your changes might get overwritten!
{ fetchNuGet }: [ { fetchNuGet }: [
(fetchNuGet { pname = "Avalonia"; version = "0.10.18"; sha256 = "01x7fc8rdkzba40piwi1ngsk7f8jawzn5bcq2la96hphsiahaarh"; }) (fetchNuGet { pname = "Avalonia"; version = "0.10.19"; sha256 = "1yzrbp0b6kv9h9d4kl96ldr6ln40xj1j2yvbvpm0pgv7ajwr7qhc"; })
(fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2020091801"; sha256 = "04jm83cz7vkhhr6n2c9hya2k8i2462xbf6np4bidk55as0jdq43a"; }) (fetchNuGet { pname = "Avalonia.Angle.Windows.Natives"; version = "2.1.0.2020091801"; sha256 = "04jm83cz7vkhhr6n2c9hya2k8i2462xbf6np4bidk55as0jdq43a"; })
(fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "0.10.18"; sha256 = "1qbb527jvhv2p8dcxi7lhm3lczy96j546gb5w09gh90dmzaq45bw"; }) (fetchNuGet { pname = "Avalonia.Controls.DataGrid"; version = "0.10.19"; sha256 = "0wlmr4dlz8x3madm7xwhmsf0kgdnwcy6n7zvfd9x6h0bllii1lbn"; })
(fetchNuGet { pname = "Avalonia.Desktop"; version = "0.10.18"; sha256 = "0iaby5696km0yl0bs2a8i6a5ypras54mimnmh9wjwarwniqj8yjs"; }) (fetchNuGet { pname = "Avalonia.Desktop"; version = "0.10.19"; sha256 = "0vghwp1wx6l1z0dlvd9aqdaikz6k34q0i9yzaphqlzjp6ms2g2ny"; })
(fetchNuGet { pname = "Avalonia.Diagnostics"; version = "0.10.18"; sha256 = "1qsrzv1fz73p46p9v60qqds229znfv9hawnams5hxwl46jn2v9cp"; }) (fetchNuGet { pname = "Avalonia.Diagnostics"; version = "0.10.19"; sha256 = "1zlcp8mwn2nscrdsvxlspny22m054gsva9az27pvk7s2s5mrqgfk"; })
(fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "0.10.18"; sha256 = "173apfayxkm3lgj7xk9xzsbxmdhv44svr49ccqnd1dii7y69bgny"; }) (fetchNuGet { pname = "Avalonia.FreeDesktop"; version = "0.10.19"; sha256 = "01fin1w9nwa3c9kpvbri26x1r4g59hmayx9r5hxwbhq7s7vm5ghr"; })
(fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "0.10.18"; sha256 = "0vcbhwckzxgcq9wxim91zk30kzjaydr9szl4rbr3rz85447hj9pi"; }) (fetchNuGet { pname = "Avalonia.Markup.Xaml.Loader"; version = "0.10.19"; sha256 = "19b74qs4bfslzldvs87r3skynw9k0bh7m6a2g9q67xb9ppwspr8n"; })
(fetchNuGet { pname = "Avalonia.Native"; version = "0.10.18"; sha256 = "1hvmjs7wfcbycviky79g1p5q3bzs8j31sr53nnqxqy6pnbmg0nxg"; }) (fetchNuGet { pname = "Avalonia.Native"; version = "0.10.19"; sha256 = "0c9rw2wckyx9h5yfhm0af5zbs53n9bnhv0mlshl7mn0p92v1wfl3"; })
(fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "0.10.18"; sha256 = "0phxxz4r1llklvp4svy9qlsms3qw77crai3ww70g03fifmmr9qq2"; }) (fetchNuGet { pname = "Avalonia.Remote.Protocol"; version = "0.10.19"; sha256 = "0klk9hqas0h3d3lmr0di175nw2kwq5br1xpprkb4y4m83r5lfy0s"; })
(fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.18"; sha256 = "1vi83d9q6m2zd7b5snyzjxsj3vdp5bmi5vqhfslzghslpbhj2zwv"; }) (fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.18"; sha256 = "1vi83d9q6m2zd7b5snyzjxsj3vdp5bmi5vqhfslzghslpbhj2zwv"; })
(fetchNuGet { pname = "Avalonia.Skia"; version = "0.10.19"; sha256 = "16cl9ssmyif2a25fq9kvxs2vr83j589yns53zkfr3wmggl9n6lf2"; })
(fetchNuGet { pname = "Avalonia.Svg"; version = "0.10.18"; sha256 = "06h7yh2lkm4rqfchn7nxqjbqx4afh42w61z9sby7b5gj56h5a84q"; }) (fetchNuGet { pname = "Avalonia.Svg"; version = "0.10.18"; sha256 = "06h7yh2lkm4rqfchn7nxqjbqx4afh42w61z9sby7b5gj56h5a84q"; })
(fetchNuGet { pname = "Avalonia.Svg.Skia"; version = "0.10.18"; sha256 = "0s25aq3xz0km55jwdxp59z8cc0d1zqaag1hiwnxdzd30id2ahn66"; }) (fetchNuGet { pname = "Avalonia.Svg.Skia"; version = "0.10.18"; sha256 = "0s25aq3xz0km55jwdxp59z8cc0d1zqaag1hiwnxdzd30id2ahn66"; })
(fetchNuGet { pname = "Avalonia.Win32"; version = "0.10.18"; sha256 = "1rvqydbzdi2n6jw4xx9q8i025w5zsgcli9vmv0vw1d51rd4cnc4k"; }) (fetchNuGet { pname = "Avalonia.Win32"; version = "0.10.19"; sha256 = "1pd3jmrdc738j7b4d8rzaj7fxrfq1m2pl3i62z2ym3h0sxl51xy2"; })
(fetchNuGet { pname = "Avalonia.X11"; version = "0.10.18"; sha256 = "0bzhbnz0dimxbpjxcrphnjn8nk37hqw0b83s2nsha4gzqvpc75b2"; }) (fetchNuGet { pname = "Avalonia.X11"; version = "0.10.19"; sha256 = "1h71w73r7r9ci059qwsjqnhp60l8sfd3i3xsw37qfnbhslcna6hh"; })
(fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; sha256 = "1sldkj8lakggn4hnyabjj1fppqh50fkdrr1k99d4gswpbk5kv582"; }) (fetchNuGet { pname = "CommandLineParser"; version = "2.9.1"; sha256 = "1sldkj8lakggn4hnyabjj1fppqh50fkdrr1k99d4gswpbk5kv582"; })
(fetchNuGet { pname = "Concentus"; version = "1.1.7"; sha256 = "0y5z444wrbhlmsqpy2sxmajl1fbf74843lvgj3y6vz260dn2q0l0"; }) (fetchNuGet { pname = "Concentus"; version = "1.1.7"; sha256 = "0y5z444wrbhlmsqpy2sxmajl1fbf74843lvgj3y6vz260dn2q0l0"; })
(fetchNuGet { pname = "DiscordRichPresence"; version = "1.1.3.18"; sha256 = "0p4bhaggjjfd4gl06yiphqgncxgcq2bws4sjkrw0n2ldf3hgrps3"; }) (fetchNuGet { pname = "DiscordRichPresence"; version = "1.1.3.18"; sha256 = "0p4bhaggjjfd4gl06yiphqgncxgcq2bws4sjkrw0n2ldf3hgrps3"; })
(fetchNuGet { pname = "DynamicData"; version = "7.12.11"; sha256 = "159037gd4rn8z5wdkbnb296rw5csay8rjigi1h4n35mjfg4nhm8f"; }) (fetchNuGet { pname = "DynamicData"; version = "7.13.1"; sha256 = "0hy2ba2nkhgp23glkinhfx3v892fkkf4cr9m41daaahnl2r2l8y1"; })
(fetchNuGet { pname = "ExCSS"; version = "4.1.4"; sha256 = "1y50xp6rihkydbf5l73mr3qq2rm6rdfjrzdw9h1dw9my230q5lpd"; }) (fetchNuGet { pname = "ExCSS"; version = "4.1.4"; sha256 = "1y50xp6rihkydbf5l73mr3qq2rm6rdfjrzdw9h1dw9my230q5lpd"; })
(fetchNuGet { pname = "Fizzler"; version = "1.2.1"; sha256 = "1w5jb1d0figbv68dydbnlcsfmqlc3sv9z1zxp7d79dg2dkarc4qm"; }) (fetchNuGet { pname = "Fizzler"; version = "1.2.1"; sha256 = "1w5jb1d0figbv68dydbnlcsfmqlc3sv9z1zxp7d79dg2dkarc4qm"; })
(fetchNuGet { pname = "FluentAvaloniaUI"; version = "1.4.5"; sha256 = "1j5ivy83f13dgn09qrfkq44ijvh0m9rbdx8760g47di70c4lda7j"; }) (fetchNuGet { pname = "FluentAvaloniaUI"; version = "1.4.5"; sha256 = "1j5ivy83f13dgn09qrfkq44ijvh0m9rbdx8760g47di70c4lda7j"; })
@ -275,5 +276,5 @@
(fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; }) (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.0.11"; sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18"; })
(fetchNuGet { pname = "Tmds.DBus"; version = "0.9.0"; sha256 = "0vvx6sg8lxm23g5jvm5wh2gfs95mv85vd52lkq7d1b89bdczczf3"; }) (fetchNuGet { pname = "Tmds.DBus"; version = "0.9.0"; sha256 = "0vvx6sg8lxm23g5jvm5wh2gfs95mv85vd52lkq7d1b89bdczczf3"; })
(fetchNuGet { pname = "UnicornEngine.Unicorn"; version = "2.0.2-rc1-fb78016"; sha256 = "1r43b5fd5q8xq8b5nk11jsz2gnm96dh7sxc0rrv2p605ivz7icin"; }) (fetchNuGet { pname = "UnicornEngine.Unicorn"; version = "2.0.2-rc1-fb78016"; sha256 = "1r43b5fd5q8xq8b5nk11jsz2gnm96dh7sxc0rrv2p605ivz7icin"; })
(fetchNuGet { pname = "XamlNameReferenceGenerator"; version = "1.5.1"; sha256 = "11sld5a9z2rdglkykvylghka7y37ny18naywpgpxp485m9bc63wc"; }) (fetchNuGet { pname = "XamlNameReferenceGenerator"; version = "1.6.1"; sha256 = "0348gj9g5rl0pj2frx4vscj6602gfyn9ba3i1rmfcrxh9jwwa09m"; })
] ]

View File

@ -33,14 +33,14 @@ stdenv.mkDerivation rec {
"snes9x-gtk" "snes9x-gtk"
else else
"snes9x"; "snes9x";
version = "1.62.1"; version = "1.62.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "snes9xgit"; owner = "snes9xgit";
repo = "snes9x"; repo = "snes9x";
rev = version; rev = version;
fetchSubmodules = true; fetchSubmodules = true;
hash = "sha256-y/tNJmmgigMEqjBWLyqxM/GQ2jcu4YXZjP0AbIjoPLg="; hash = "sha256-+KHpvz7nfwGXjzDAK/V+2JDRT1sa0kXDkg7XcRyvSP8=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -6,23 +6,24 @@
# adds support for handling removable media (vifm-media). Linux only! # adds support for handling removable media (vifm-media). Linux only!
, mediaSupport ? false, python3 ? null, udisks2 ? null, lib ? null , mediaSupport ? false, python3 ? null, udisks2 ? null, lib ? null
, gitUpdater
}: }:
let isFullPackage = mediaSupport; let isFullPackage = mediaSupport;
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
pname = if isFullPackage then "vifm-full" else "vifm"; pname = if isFullPackage then "vifm-full" else "vifm";
version = "0.12.1"; version = "0.13";
src = fetchurl { src = fetchurl {
url = "https://github.com/vifm/vifm/releases/download/v${version}/vifm-${version}.tar.bz2"; url = "https://github.com/vifm/vifm/releases/download/v${version}/vifm-${version}.tar.bz2";
sha256 = "sha256-j+KBPr3Mz+ma7OArBdYqIJkVJdRrDM+67Dr2FMZlVog="; hash = "sha256-DZKTdJp5QHat6Wfs3EfRQdheRQNwWUdlORvfGpvUUHU=";
}; };
nativeBuildInputs = [ perl pkg-config makeWrapper ]; nativeBuildInputs = [ perl pkg-config makeWrapper ];
buildInputs = [ ncurses libX11 util-linux file which groff ]; buildInputs = [ ncurses libX11 util-linux file which groff ];
postPatch = '' postPatch = ''
# Avoid '#!/usr/bin/env perl' reverences to build help. # Avoid '#!/usr/bin/env perl' references to build help.
patchShebangs --build src/helpztags patchShebangs --build src/helpztags
''; '';
@ -37,6 +38,12 @@ in stdenv.mkDerivation rec {
${lib.optionalString mediaSupport wrapVifmMedia} ${lib.optionalString mediaSupport wrapVifmMedia}
''; '';
passthru.updateScript = gitUpdater {
url = "https://github.com/vifm/vifm.git";
rev-prefix = "v";
ignoredVersions = "beta";
};
meta = with lib; { meta = with lib; {
description = "A vi-like file manager${lib.optionalString isFullPackage "; Includes support for optional features"}"; description = "A vi-like file manager${lib.optionalString isFullPackage "; Includes support for optional features"}";
maintainers = with maintainers; [ raskin ]; maintainers = with maintainers; [ raskin ];

View File

@ -0,0 +1,47 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, fontconfig
, libX11
, libXi
, freetype
, mesa
}:
stdenv.mkDerivation rec {
pname = "brlcad";
version = "7.34.0";
src = fetchFromGitHub {
owner = "BRL-CAD";
repo = pname;
rev = "refs/tags/rel-${lib.replaceStrings [ "." ] [ "-" ] version}";
hash = "sha256-Re5gEXlqdPxniaEP13Q0v0O9rt40V5NrxoUpcNBwn7s=";
};
nativeBuildInputs = [
cmake
];
buildInputs = [
fontconfig
libX11
libXi
freetype
mesa
];
cmakeFlags = [
"-DBRLCAD_ENABLE_STRICT=OFF"
"-DCMAKE_BUILD_TYPE=Release"
];
meta = with lib; {
homepage = "https://brlcad.org";
description = "BRL-CAD is a powerful cross-platform open source combinatorial solid modeling system";
license = with licenses; [ lgpl21 bsd2 ];
maintainers = with maintainers; [ GaetanLepage ];
platforms = platforms.linux;
};
}

View File

@ -9,13 +9,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "PotreeConverter"; pname = "PotreeConverter";
version = "unstable-2022-08-04"; version = "unstable-2023-02-27";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "potree"; owner = "potree";
repo = "PotreeConverter"; repo = "PotreeConverter";
rev = "758bbac98a662de5e57d2280675e11cc76241688"; rev = "af4666fa1090983d8ce7c11dcf49ba19eda90995";
sha256 = "sha256-pDdV2/edYhhBWs153hSy1evI3cXD0Xq9nrEsw3JNcH4="; sha256 = "sha256-QYNY+/v6mBEJFiv3i2QS+zqkgWJqeqXSqNoh+ChAiQA=";
}; };
buildInputs = [ buildInputs = [
@ -29,8 +29,16 @@ stdenv.mkDerivation rec {
]; ];
patchPhase = '' patchPhase = ''
runHook prePatch
substituteInPlace ./CMakeLists.txt \ substituteInPlace ./CMakeLists.txt \
--replace "find_package(TBB REQUIRED)" "" --replace "find_package(TBB REQUIRED)" ""
# prevent inheriting permissions from /nix/store when copying
substituteInPlace Converter/src/main.cpp --replace \
'fs::copy(templateDir, pagedir, fs::copy_options::overwrite_existing | fs::copy_options::recursive)' 'string cmd = "cp --no-preserve=mode -r " + templateDir + " " + pagedir; system(cmd.c_str());'
runHook postPatch
''; '';
installPhase = '' installPhase = ''
@ -48,6 +56,12 @@ stdenv.mkDerivation rec {
runHook postInstall runHook postInstall
''; '';
fixupPhase = ''
runHook preFixup
ln -s $src/resources $out/bin/resources
runHook postFixup
'';
meta = with lib; { meta = with lib; {
description = "Create multi res point cloud to use with potree"; description = "Create multi res point cloud to use with potree";
homepage = "https://github.com/potree/PotreeConverter"; homepage = "https://github.com/potree/PotreeConverter";

View File

@ -41,17 +41,20 @@ stdenv.mkDerivation rec {
buildInputs = buildInputs =
[ boost ffmpeg gettext glew ilmbase [ boost ffmpeg gettext glew ilmbase
freetype libjpeg libpng libsamplerate libsndfile libtiff libwebp freetype libjpeg libpng libsamplerate libsndfile libtiff libwebp
opencolorio openexr openimagedenoise openimageio openjpeg python zlib zstd fftw jemalloc opencolorio openexr openimageio openjpeg python zlib zstd fftw jemalloc
alembic alembic
(opensubdiv.override { inherit cudaSupport; }) (opensubdiv.override { inherit cudaSupport; })
tbb tbb
embree
gmp gmp
pugixml pugixml
potrace potrace
libharu libharu
libepoxy libepoxy
] ]
++ lib.optional (!stdenv.isAarch64) [
openimagedenoise
embree
]
++ (if (!stdenv.isDarwin) then [ ++ (if (!stdenv.isDarwin) then [
libXi libX11 libXext libXrender libXi libX11 libXext libXrender
libGLU libGL openal libGLU libGL openal
@ -70,8 +73,6 @@ stdenv.mkDerivation rec {
pythonPath = with python310Packages; [ numpy requests ]; pythonPath = with python310Packages; [ numpy requests ];
postPatch = '' postPatch = ''
# allow usage of dynamically linked embree
rm build_files/cmake/Modules/FindEmbree.cmake
'' + '' +
(if stdenv.isDarwin then '' (if stdenv.isDarwin then ''
: > build_files/cmake/platform/platform_apple_xcode.cmake : > build_files/cmake/platform/platform_apple_xcode.cmake
@ -121,6 +122,9 @@ stdenv.mkDerivation rec {
"-DWITH_IMAGE_OPENJPEG=ON" "-DWITH_IMAGE_OPENJPEG=ON"
"-DWITH_OPENCOLLADA=${if colladaSupport then "ON" else "OFF"}" "-DWITH_OPENCOLLADA=${if colladaSupport then "ON" else "OFF"}"
] ]
++ lib.optionals stdenv.hostPlatform.isAarch64 [
"-DWITH_CYCLES_EMBREE=OFF"
]
++ lib.optionals stdenv.isDarwin [ ++ lib.optionals stdenv.isDarwin [
"-DWITH_CYCLES_OSL=OFF" # requires LLVM "-DWITH_CYCLES_OSL=OFF" # requires LLVM
"-DWITH_OPENVDB=OFF" # OpenVDB currently doesn't build on darwin "-DWITH_OPENVDB=OFF" # OpenVDB currently doesn't build on darwin
@ -171,7 +175,7 @@ stdenv.mkDerivation rec {
# say: "We've decided to cancel the BL offering for an indefinite period." # say: "We've decided to cancel the BL offering for an indefinite period."
# OptiX, enabled with cudaSupport, is non-free. # OptiX, enabled with cudaSupport, is non-free.
license = with licenses; [ gpl2Plus ] ++ optional cudaSupport unfree; license = with licenses; [ gpl2Plus ] ++ optional cudaSupport unfree;
platforms = [ "x86_64-linux" "x86_64-darwin" ]; platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ];
maintainers = with maintainers; [ goibhniu veprbl ]; maintainers = with maintainers; [ goibhniu veprbl ];
}; };
} }

View File

@ -2,12 +2,12 @@
stdenvNoCC.mkDerivation rec { stdenvNoCC.mkDerivation rec {
pname = "fluidd"; pname = "fluidd";
version = "1.23.3"; version = "1.23.4";
src = fetchurl { src = fetchurl {
name = "fluidd-v${version}.zip"; name = "fluidd-v${version}.zip";
url = "https://github.com/cadriel/fluidd/releases/download/v${version}/fluidd.zip"; url = "https://github.com/cadriel/fluidd/releases/download/v${version}/fluidd.zip";
sha256 = "sha256-CCIu6DNU71oL0JIW3mQ5ThRSjbXeBmJ4FbF6i2dERbc="; sha256 = "sha256-ofGjIxxk7tBEa4jbNSCNzZJBHvv+mA1u03f9KtdjIbQ=";
}; };
nativeBuildInputs = [ unzip ]; nativeBuildInputs = [ unzip ];

View File

@ -24,14 +24,14 @@ assert svgSupport -> enableCairo;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "fuzzel"; pname = "fuzzel";
version = "1.8.2"; version = "1.9.1";
src = fetchFromGitea { src = fetchFromGitea {
domain = "codeberg.org"; domain = "codeberg.org";
owner = "dnkl"; owner = "dnkl";
repo = "fuzzel"; repo = pname;
rev = version; rev = version;
sha256 = "sha256-5uXf5HfQ8bDQSMNCHHaC9sCX5P/D89T2ZOUiXTDx3bQ="; hash = "sha256-Va/Rm35jqxDlIfQdrpZ41qrW8YzWmm1LWra76AW1xUw=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -20,13 +20,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "otpclient"; pname = "otpclient";
version = "3.1.5"; version = "3.1.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "paolostivanin"; owner = "paolostivanin";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-/1nycFh/slcfztfaZA6p9rZTWS4/vkb/Sovc94zlfCI="; sha256 = "sha256-v7TvdS0IlfB4oKdaEh7Z3AFJDV1bOMiX5vVD7VhIMCE=";
}; };
buildInputs = [ gtk3 jansson libgcrypt libzip libpng libcotp zbar protobuf protobufc libsecret qrencode libuuid ]; buildInputs = [ gtk3 jansson libgcrypt libzip libpng libcotp zbar protobuf protobufc libsecret qrencode libuuid ];

View File

@ -0,0 +1,117 @@
{ lib
, stdenv
, fetchurl
, alsa-lib
, at-spi2-atk
, atk
, autoPatchelfHook
, cairo
, cups
, curl
, dbus
, dpkg
, expat
, fontconfig
, gdk-pixbuf
, glib
, glibc
, gsettings-desktop-schemas
, gtk3
, libX11
, libXScrnSaver
, libXcomposite
, libXcursor
, libXdamage
, libXext
, libXfixes
, libXi
, libXrandr
, libXrender
, libXtst
, libnghttp2
, libudev0-shim
, libxcb
, makeWrapper
, nspr
, nss
, openssl
, pango
, wrapGAppsHook
}:
stdenv.mkDerivation rec {
pname = "polar-bookshelf1";
version = "1.100.14";
src = fetchurl {
url = "https://github.com/burtonator/polar-bookshelf/releases/download/v${version}/polar-bookshelf-${version}-amd64.deb";
hash = "sha256-5xa+Nwu0p1x5DLn1GNI0HDt7GtBGoFQ/9qGTeq9uBgU=";
};
buildInputs = [
alsa-lib
at-spi2-atk
atk
cairo
cups
dbus
expat
fontconfig
gdk-pixbuf
glib
gsettings-desktop-schemas
gtk3
libX11
libXScrnSaver
libXcomposite
libXcursor
libXdamage
libXext
libXfixes
libXi
libXrandr
libXrender
libXtst
libxcb
nspr
nss
pango
];
nativeBuildInputs = [
autoPatchelfHook
dpkg
makeWrapper
wrapGAppsHook
];
runtimeLibs = lib.makeLibraryPath [ libudev0-shim glibc curl openssl libnghttp2 ];
unpackPhase = ''
dpkg-deb -x $src .
'';
installPhase = ''
mkdir -p $out/share/polar-bookshelf $out/bin $out/lib
mv opt/Polar\ Bookshelf/* $out/share/polar-bookshelf
mv $out/share/polar-bookshelf/*.so $out/lib
mv usr/share/* $out/share/
ln -s $out/share/polar-bookshelf/polar-bookshelf $out/bin/polar-bookshelf
'';
preFixup = ''
gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${runtimeLibs}" )
# Correct desktop file `Exec`
substituteInPlace $out/share/applications/polar-bookshelf.desktop \
--replace "/opt/Polar Bookshelf/polar-bookshelf" "$out/bin/polar-bookshelf"
'';
meta = {
homepage = "https://getpolarized.io/";
description = "Personal knowledge repository for PDF and web content supporting incremental reading and document annotation";
license = lib.licenses.gpl3Only;
maintainers = [ lib.maintainers.dansbandit ];
platforms = lib.platforms.linux;
sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
};
}

View File

@ -5,16 +5,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "ttdl"; pname = "ttdl";
version = "3.7.0"; version = "3.7.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "VladimirMarkelov"; owner = "VladimirMarkelov";
repo = "ttdl"; repo = "ttdl";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-4XmOFoj2kynQZzos/vf0rciJCGfnFLN7f1MG9NU53os="; sha256 = "sha256-Bhi1d01VqeLmxsiyIG8HXD6AgabgsKgZoKYgnGNpk/8=";
}; };
cargoHash = "sha256-9TyEHAlxTNx/ildlqEjuFIKfmUQQFQSVoxcrb2Tg9Ps="; cargoHash = "sha256-A/5DS7b7Dgj+GlCPu6fx0t14BfMm4XjkpcDjSpeDSnE=";
meta = with lib; { meta = with lib; {
description = "A CLI tool to manage todo lists in todo.txt format"; description = "A CLI tool to manage todo lists in todo.txt format";

View File

@ -5,9 +5,11 @@
, meson , meson
, ninja , ninja
, pkg-config , pkg-config
, wrapGAppsHook , vala
, wrapGAppsHook4
, evolution-data-server-gtk4 , evolution-data-server-gtk4
, glib , glib
, glib-networking
, gnutls , gnutls
, gst_all_1 , gst_all_1
, json-glib , json-glib
@ -20,14 +22,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "valent"; pname = "valent";
version = "unstable-2023-03-02"; version = "unstable-2023-03-31";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "andyholmes"; owner = "andyholmes";
repo = "valent"; repo = "valent";
rev = "4b60f28f46bc948c5f3b30189bb9b5fbe29d2745"; rev = "bb9fc25a58eeb81abea2bb651accc9538a3a82fd";
fetchSubmodules = true; fetchSubmodules = true;
sha256 = "sha256-ltf/srQLqtqE71sxEh7VTQqXy2wOpTSdGDsjITOt3f8="; sha256 = "sha256-3pEPE96gFjDGesFs/EZswuv6D3JQEpnAnlCw0IWYkR0=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -35,12 +37,14 @@ stdenv.mkDerivation rec {
meson meson
ninja ninja
pkg-config pkg-config
wrapGAppsHook vala
wrapGAppsHook4
]; ];
buildInputs = [ buildInputs = [
evolution-data-server-gtk4 evolution-data-server-gtk4
glib glib
glib-networking
gnutls gnutls
gst_all_1.gstreamer gst_all_1.gstreamer
gst_all_1.gst-plugins-base gst_all_1.gst-plugins-base

View File

@ -1,21 +1,21 @@
{ {
"stable": { "stable": {
"version": "111.0.5563.146", "version": "112.0.5615.49",
"sha256": "1zmm926fsifqaw60ilfav017xxnvnhvqbbq7qcrhdyjm3fiiyw0y", "sha256": "0hgzbbmz40235binfn3vkkxzvwxilaxg04dclqrz980z7hvkgzfx",
"sha256bin64": "00z4rqgpd6sdmh5dlqbyk6c3ja8kyssw418rn6b3kc93zvn7df0p", "sha256bin64": "0jq5pbyayk8pa9ksxp2dk3k7j2jic506mfpkq1a1z48j1l4fkr5i",
"deps": { "deps": {
"gn": { "gn": {
"version": "2022-12-12", "version": "2023-02-17",
"url": "https://gn.googlesource.com/gn", "url": "https://gn.googlesource.com/gn",
"rev": "5e19d2fb166fbd4f6f32147fbb2f497091a54ad8", "rev": "b25a2f8c2d33f02082f0f258350f5e22c0973108",
"sha256": "1b5fwldfmkkbpp5x63n1dxv0nc965hphc8rm8ah7zg44zscm9z30" "sha256": "075p4jwk1apvwmqmvhwfw5f669ci7nxwjq9mz5aa2g5lz4fkdm4c"
} }
}, },
"chromedriver": { "chromedriver": {
"version": "111.0.5563.64", "version": "112.0.5615.28",
"sha256_linux": "0f4v6hds5wl43hnmqxmzidlg5nqgr4iy04hmrmvzaihsdny3na8s", "sha256_linux": "13i2y1zd3dxjvs9575m00gg8xxll1g08sn7dayl7l8qr3zy74p98",
"sha256_darwin": "0izdp36d4wid5hmz8wcna3gddly7nbkafqqf5k1ikb2jgx9ipp8f", "sha256_darwin": "0mw8h7ijc0nf7c2j731w30ajh6djy1lk6nak81fpksgk98vkv64f",
"sha256_darwin_aarch64": "0yzn7bibj36wrc980s9sa8cl0qds01n9i88jk95afx5lk5zb8rgc" "sha256_darwin_aarch64": "103b3n7vxqvim4ks8vi5b29d41wdldkj1rz94fnqvgw04lykm9sk"
} }
}, },
"beta": { "beta": {
@ -32,9 +32,9 @@
} }
}, },
"dev": { "dev": {
"version": "113.0.5672.12", "version": "113.0.5672.24",
"sha256": "1h0mll8xq096jzqg4hhwcaxg12j5pinjjyicm276f7r5m12l1c1x", "sha256": "1z7yv5lqi1n4ycymkf0kz1v8ig06n430a37ik8hri3a6db8r9lv8",
"sha256bin64": "1ffyhigs4x3c1cr4r8pv5jjg6qx9pxwy0hmyp9a1196jxkh65kpy", "sha256bin64": "0byksvk781gmh5fmjmc77jh19gvkzadf78yr9b4c42las44g4pn4",
"deps": { "deps": {
"gn": { "gn": {
"version": "2023-03-18", "version": "2023-03-18",

View File

@ -1,4 +1,5 @@
{ stdenv, lib, makeDesktopItem, makeWrapper, makeBinaryWrapper, lndir, config { stdenv, lib, makeDesktopItem, makeWrapper, makeBinaryWrapper, lndir, config
, buildPackages
, jq, xdg-utils, writeText , jq, xdg-utils, writeText
## various stuff that can be plugged in ## various stuff that can be plugged in
@ -275,7 +276,7 @@ let
# Symbolic link: wrap the link's target. # Symbolic link: wrap the link's target.
oldExe="$(readlink -v --canonicalize-existing "$executablePath")" oldExe="$(readlink -v --canonicalize-existing "$executablePath")"
rm "$executablePath" rm "$executablePath"
elif wrapperCmd=$(${makeBinaryWrapper.extractCmd} "$executablePath"); [[ $wrapperCmd ]]; then elif wrapperCmd=$(${buildPackages.makeBinaryWrapper.extractCmd} "$executablePath"); [[ $wrapperCmd ]]; then
# If the executable is a binary wrapper, we need to update its target to # If the executable is a binary wrapper, we need to update its target to
# point to $out, but we can't just edit the binary in-place because of length # point to $out, but we can't just edit the binary in-place because of length
# issues. So we extract the command used to create the wrapper and add the # issues. So we extract the command used to create the wrapper and add the

View File

@ -7,13 +7,13 @@
buildGoModule rec { buildGoModule rec {
pname = "arkade"; pname = "arkade";
version = "0.9.5"; version = "0.9.6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "alexellis"; owner = "alexellis";
repo = "arkade"; repo = "arkade";
rev = version; rev = version;
sha256 = "sha256-gC7HdOrmOIYTaksx/CxXMt4wIly3RBL1SsQRbwQWLi8="; sha256 = "sha256-EkpoXmaJ679B0sATDP/asJaywY4RFN7NNYc+7uyMQEA=";
}; };
CGO_ENABLED = 0; CGO_ENABLED = 0;

View File

@ -69,6 +69,24 @@ let
}; };
}) })
(self: super: {
cryptography = super.cryptography.overridePythonAttrs (old: {
meta = old.meta // {
knownVulnerabilities = old.meta.knownVulnerabilities or [ ]
++ lib.optionals (lib.versionOlder old.version "39.0.1") [
"CVE-2022-4304"
"CVE-2023-0215"
"CVE-2023-0216"
"CVE-2023-0217"
"CVE-2023-0401"
"CVE-2022-4203"
"CVE-2022-4450"
"CVE-2023-23931"
];
};
});
})
]; ];
} }
).python; ).python;

View File

@ -1,10 +1,10 @@
{ {
"aci": { "aci": {
"hash": "sha256-rgPqf8PopvzXiIOjng7DNOv920MPI81EVMUu3DaS8o4=", "hash": "sha256-OwQzr0Rt9fjbGfJPDezrh/j4hLwgq8ldRgTX3rL/ddY=",
"homepage": "https://registry.terraform.io/providers/CiscoDevNet/aci", "homepage": "https://registry.terraform.io/providers/CiscoDevNet/aci",
"owner": "CiscoDevNet", "owner": "CiscoDevNet",
"repo": "terraform-provider-aci", "repo": "terraform-provider-aci",
"rev": "v2.6.1", "rev": "v2.7.0",
"spdx": "MPL-2.0", "spdx": "MPL-2.0",
"vendorHash": null "vendorHash": null
}, },
@ -146,11 +146,11 @@
"vendorHash": null "vendorHash": null
}, },
"baiducloud": { "baiducloud": {
"hash": "sha256-htNkDa60XHpH0aoJhMvsMiqUl8Ldqa/ZMl5dp7OKwGA=", "hash": "sha256-J17jzgCTCG87Cieci/TrMpEUxA4Ynfm1+Cr4fRjDtNY=",
"homepage": "https://registry.terraform.io/providers/baidubce/baiducloud", "homepage": "https://registry.terraform.io/providers/baidubce/baiducloud",
"owner": "baidubce", "owner": "baidubce",
"repo": "terraform-provider-baiducloud", "repo": "terraform-provider-baiducloud",
"rev": "v1.19.5", "rev": "v1.19.6",
"spdx": "MPL-2.0", "spdx": "MPL-2.0",
"vendorHash": null "vendorHash": null
}, },
@ -164,13 +164,13 @@
"vendorHash": null "vendorHash": null
}, },
"bitbucket": { "bitbucket": {
"hash": "sha256-FrKNPpwPCpL7GuPkjYCPqHit/VPJG5Fe0Ew4WMzp1AI=", "hash": "sha256-2JTJF+zYuf9ZKaEMSOxxjODbmIBXnhpwE8LJUdRIkYY=",
"homepage": "https://registry.terraform.io/providers/DrFaust92/bitbucket", "homepage": "https://registry.terraform.io/providers/DrFaust92/bitbucket",
"owner": "DrFaust92", "owner": "DrFaust92",
"repo": "terraform-provider-bitbucket", "repo": "terraform-provider-bitbucket",
"rev": "v2.30.2", "rev": "v2.31.0",
"spdx": "MPL-2.0", "spdx": "MPL-2.0",
"vendorHash": "sha256-rtPbHItqsgHoHs85QO6Uix2yvJkHE6B2XYMOdcJvoGc=" "vendorHash": "sha256-mnG2CZ/ko4p4CTs0YskJP41sQD9lmEz4dRQLiklim34="
}, },
"brightbox": { "brightbox": {
"hash": "sha256-e4WvQKtf6zVEZ74c+lE3ZkbX24rPazp8MrJCNQDTz2c=", "hash": "sha256-e4WvQKtf6zVEZ74c+lE3ZkbX24rPazp8MrJCNQDTz2c=",
@ -219,13 +219,13 @@
"vendorHash": "sha256-w7Rsr3UgijW/3RMKzhMyWCvn5b1R1oqRs87/ZPO7jHs=" "vendorHash": "sha256-w7Rsr3UgijW/3RMKzhMyWCvn5b1R1oqRs87/ZPO7jHs="
}, },
"cloudflare": { "cloudflare": {
"hash": "sha256-jf2NAhiavSWsKTRIJF8Ypm7tobzvTlESKEkDRre4ZVo=", "hash": "sha256-dhSjFeTkbiG/Gx/DS1WzW2b31u3apfXX4Safh29e6Fw=",
"homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare", "homepage": "https://registry.terraform.io/providers/cloudflare/cloudflare",
"owner": "cloudflare", "owner": "cloudflare",
"repo": "terraform-provider-cloudflare", "repo": "terraform-provider-cloudflare",
"rev": "v4.2.0", "rev": "v4.3.0",
"spdx": "MPL-2.0", "spdx": "MPL-2.0",
"vendorHash": "sha256-9YmvaKPZVu+Fi0zlmJbKcU2iw2WUdzZJzgWPfkI1C24=" "vendorHash": "sha256-sgJ1HhhWQpvOGFVEC43pymBKyVcqdn8jLlW5fR21mFE="
}, },
"cloudfoundry": { "cloudfoundry": {
"hash": "sha256-MKhsUGuDpKfYFf9Vk0uVrP/Z4hnQyO+2WiqWXO9EAC0=", "hash": "sha256-MKhsUGuDpKfYFf9Vk0uVrP/Z4hnQyO+2WiqWXO9EAC0=",
@ -420,11 +420,11 @@
"vendorHash": "sha256-uWTY8cFztXFrQQ7GW6/R+x9M6vHmsb934ldq+oeW5vk=" "vendorHash": "sha256-uWTY8cFztXFrQQ7GW6/R+x9M6vHmsb934ldq+oeW5vk="
}, },
"github": { "github": {
"hash": "sha256-QsytXQ1bf9/OI4+XyZ+lBIuwTwAbdSOdquH1oyp6rOE=", "hash": "sha256-PdaQAR/dSzFnJ+f+EEm1Y/DRjTDL2Qj7goSakjEaW80=",
"homepage": "https://registry.terraform.io/providers/integrations/github", "homepage": "https://registry.terraform.io/providers/integrations/github",
"owner": "integrations", "owner": "integrations",
"repo": "terraform-provider-github", "repo": "terraform-provider-github",
"rev": "v5.19.0", "rev": "v5.20.0",
"spdx": "MIT", "spdx": "MIT",
"vendorHash": null "vendorHash": null
}, },
@ -438,22 +438,22 @@
"vendorHash": "sha256-s4FynUO6bT+8uZYkecbQCtFw1jFTAAYUkSzONI6Ba9g=" "vendorHash": "sha256-s4FynUO6bT+8uZYkecbQCtFw1jFTAAYUkSzONI6Ba9g="
}, },
"google": { "google": {
"hash": "sha256-44Jbh9PiSNJNpshL0G4zz/5U73Y28C/eLGlJ1GTMITk=", "hash": "sha256-XeY2AXdwzYUC5d5Bhx0vgBnmF80qDsjxUlJfUf+eKzw=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google", "homepage": "https://registry.terraform.io/providers/hashicorp/google",
"owner": "hashicorp", "owner": "hashicorp",
"proxyVendor": true, "proxyVendor": true,
"repo": "terraform-provider-google", "repo": "terraform-provider-google",
"rev": "v4.59.0", "rev": "v4.60.0",
"spdx": "MPL-2.0", "spdx": "MPL-2.0",
"vendorHash": "sha256-ztoWOiqyOrusSo0peigEV9wy2f387gVGfcolkYoJvhw=" "vendorHash": "sha256-ztoWOiqyOrusSo0peigEV9wy2f387gVGfcolkYoJvhw="
}, },
"google-beta": { "google-beta": {
"hash": "sha256-5ywjtlJCCw+Vzj22op7tm5xVj+QOqGIg4Paw8t8jFAg=", "hash": "sha256-Fx6CEMjgrd0dnscSRono4QsyV/zZKzgrP9jyLqxtAFU=",
"homepage": "https://registry.terraform.io/providers/hashicorp/google-beta", "homepage": "https://registry.terraform.io/providers/hashicorp/google-beta",
"owner": "hashicorp", "owner": "hashicorp",
"proxyVendor": true, "proxyVendor": true,
"repo": "terraform-provider-google-beta", "repo": "terraform-provider-google-beta",
"rev": "v4.59.0", "rev": "v4.60.0",
"spdx": "MPL-2.0", "spdx": "MPL-2.0",
"vendorHash": "sha256-ztoWOiqyOrusSo0peigEV9wy2f387gVGfcolkYoJvhw=" "vendorHash": "sha256-ztoWOiqyOrusSo0peigEV9wy2f387gVGfcolkYoJvhw="
}, },
@ -973,13 +973,13 @@
"vendorHash": null "vendorHash": null
}, },
"scaleway": { "scaleway": {
"hash": "sha256-cHleY4quCLquw4XH0TmvQ+TO0XP+ikclCvd0LASgC2w=", "hash": "sha256-8bo+bJdzEZWQN6dATt9ln2BlEu11/9abWLl5V09mQX8=",
"homepage": "https://registry.terraform.io/providers/scaleway/scaleway", "homepage": "https://registry.terraform.io/providers/scaleway/scaleway",
"owner": "scaleway", "owner": "scaleway",
"repo": "terraform-provider-scaleway", "repo": "terraform-provider-scaleway",
"rev": "v2.15.0", "rev": "v2.16.0",
"spdx": "MPL-2.0", "spdx": "MPL-2.0",
"vendorHash": "sha256-BIXxAGvF4+MjfU5X9/wNLUgzcVkiuz60EGXU/mNyqd8=" "vendorHash": "sha256-KUbE00fajvs4p8QxmuKV5IoRfCdWtfZTrOftcRAPSws="
}, },
"secret": { "secret": {
"hash": "sha256-MmAnA/4SAPqLY/gYcJSTnEttQTsDd2kEdkQjQj6Bb+A=", "hash": "sha256-MmAnA/4SAPqLY/gYcJSTnEttQTsDd2kEdkQjQj6Bb+A=",
@ -1090,13 +1090,13 @@
"vendorHash": "sha256-iNBM4Y24vDGPKyb5cppSogk145F0/pAFmOzEeiWgfLI=" "vendorHash": "sha256-iNBM4Y24vDGPKyb5cppSogk145F0/pAFmOzEeiWgfLI="
}, },
"tailscale": { "tailscale": {
"hash": "sha256-X3YV640d3pLyKm/v88oEhXfYnox+ksrEWKgiJbYl6gk=", "hash": "sha256-r8MUoPWD06DcM4Oqqyoe4MPR6/NY7vvs/90z2zjQKTU=",
"homepage": "https://registry.terraform.io/providers/tailscale/tailscale", "homepage": "https://registry.terraform.io/providers/tailscale/tailscale",
"owner": "tailscale", "owner": "tailscale",
"repo": "terraform-provider-tailscale", "repo": "terraform-provider-tailscale",
"rev": "v0.13.6", "rev": "v0.13.7",
"spdx": "MIT", "spdx": "MIT",
"vendorHash": "sha256-2wPmLpjhG6QgG+BUCO0oIzHjBOWIOYuptgdtSIm9TZw=" "vendorHash": "sha256-6UxBnQiogcizff5Rv4eadOeiG5JaXQphUWlfnqELvAI="
}, },
"talos": { "talos": {
"hash": "sha256-/Ml+Vsh50U5CoVdnls69iTPoSPpgAtOpO2hWlcmbyKw=", "hash": "sha256-/Ml+Vsh50U5CoVdnls69iTPoSPpgAtOpO2hWlcmbyKw=",
@ -1126,11 +1126,11 @@
"vendorHash": "sha256-plYy3INLi/SeKu7R0lDLY1CvRDU7bmZsQKzFtMc2Wu4=" "vendorHash": "sha256-plYy3INLi/SeKu7R0lDLY1CvRDU7bmZsQKzFtMc2Wu4="
}, },
"thunder": { "thunder": {
"hash": "sha256-GLyGm9Q+ajuQFIni/OCYvYhpj2fiVYHzkPwbofq/DEs=", "hash": "sha256-GmFEgEKpkx+cvztHe2qDTVStMIGYYzmbZM8/QmSwbcA=",
"homepage": "https://registry.terraform.io/providers/a10networks/thunder", "homepage": "https://registry.terraform.io/providers/a10networks/thunder",
"owner": "a10networks", "owner": "a10networks",
"repo": "terraform-provider-thunder", "repo": "terraform-provider-thunder",
"rev": "v1.1.0", "rev": "v1.2.0",
"spdx": "BSD-2-Clause", "spdx": "BSD-2-Clause",
"vendorHash": null "vendorHash": null
}, },

View File

@ -11,11 +11,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "cinny-desktop"; pname = "cinny-desktop";
version = "2.2.4"; version = "2.2.6";
src = fetchurl { src = fetchurl {
url = "https://github.com/cinnyapp/cinny-desktop/releases/download/v${version}/Cinny_desktop-x86_64.deb"; url = "https://github.com/cinnyapp/cinny-desktop/releases/download/v${version}/Cinny_desktop-x86_64.deb";
sha256 = "sha256-ibUXNGgc23ndTqQKD0np5EH1T3xipVAmETbIy7akqkg="; sha256 = "sha256-Bh7qBlHh2bQ6y2HnI4TtxMU6N3t04tr1Juoul2KMrqs=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
description = "Yet another matrix client for desktop"; description = "Yet another matrix client for desktop";
homepage = "https://github.com/cinnyapp/cinny-desktop"; homepage = "https://github.com/cinnyapp/cinny-desktop";
maintainers = [ maintainers.aveltras ]; maintainers = [ maintainers.aveltras ];
license = licenses.mit; license = licenses.agpl3Only;
sourceProvenance = with sourceTypes; [ binaryNativeCode ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ];
platforms = platforms.linux; platforms = platforms.linux;
mainProgram = "cinny"; mainProgram = "cinny";

View File

@ -3,6 +3,7 @@
, fetchFromGitHub , fetchFromGitHub
, pkg-config , pkg-config
, libpcap , libpcap
, openssl
, stdenv , stdenv
, alsa-lib , alsa-lib
, expat , expat
@ -14,21 +15,22 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "sniffnet"; pname = "sniffnet";
version = "1.1.2"; version = "1.1.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "gyulyvgc"; owner = "gyulyvgc";
repo = "sniffnet"; repo = "sniffnet";
rev = "refs/tags/v${version}"; rev = "refs/tags/v${version}";
hash = "sha256-QEMd/vOi0DFCq7AJHhii7rnBAHS89XP3/b2UIewAgLc="; hash = "sha256-sJUc14MXaCS4OHtwdCuwI1b7NAlOnaGsXBNUYCEXJqQ=";
}; };
cargoHash = "sha256-VcmiM7prK5l8Ow8K9TGUR2xfx9648IoU6i40hOGAqGQ="; cargoHash = "sha256-neRVpJmI4TgzvIQqKNqBr61O7rR8246PcxG50IIKE/M=";
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
buildInputs = [ buildInputs = [
libpcap libpcap
openssl
] ++ lib.optionals stdenv.isLinux [ ] ++ lib.optionals stdenv.isLinux [
alsa-lib alsa-lib
expat expat
@ -43,6 +45,11 @@ rustPlatform.buildRustPackage rec {
rustPlatform.bindgenHook rustPlatform.bindgenHook
]; ];
# requires internet access
checkFlags = [
"--skip=secondary_threads::check_updates::tests::fetch_latest_release_from_github"
];
postFixup = lib.optionalString stdenv.isLinux '' postFixup = lib.optionalString stdenv.isLinux ''
patchelf $out/bin/sniffnet \ patchelf $out/bin/sniffnet \
--add-rpath ${lib.makeLibraryPath [ vulkan-loader xorg.libX11 ]} --add-rpath ${lib.makeLibraryPath [ vulkan-loader xorg.libX11 ]}

View File

@ -17,14 +17,14 @@
let let
pname = "qownnotes"; pname = "qownnotes";
appname = "QOwnNotes"; appname = "QOwnNotes";
version = "23.2.4"; version = "23.4.0";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
inherit pname appname version; inherit pname appname version;
src = fetchurl { src = fetchurl {
url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz"; url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
sha256 = "sha256-ZliVhnO9fK/6k4Ga86ZSmhzQ3YKziAab19oZs9Pteic="; sha256 = "sha256-8gSy7WL0wpLAXxVo3oOA9X12qd/R7P3MgmlwXxpJSUs=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,19 +1,23 @@
{ lib, stdenv, fetchurl, zlib }: { lib, stdenv, fetchFromGitHub, pkg-config, coin-utils, zlib, osi }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "1.17.6"; version = "1.17.7";
pname = "clp"; pname = "clp";
src = fetchurl { src = fetchFromGitHub {
url = "https://www.coin-or.org/download/source/Clp/Clp-${version}.tgz"; owner = "coin-or";
sha256 = "0ap1f0lxppa6pnbc4bg7ih7a96avwaki482nig8w5fr3vg9wvkzr"; repo = "Clp";
rev = "releases/${version}";
hash = "sha256-CfAK/UbGaWvyk2ZxKEgziVruzZfz7WMJVi/YvdR/UNA=";
}; };
propagatedBuildInputs = [ zlib ]; nativeBuildInputs = [ pkg-config ];
propagatedBuildInputs = [ zlib coin-utils osi ];
doCheck = true; doCheck = true;
meta = with lib; { meta = with lib; {
license = licenses.epl10; license = licenses.epl20;
homepage = "https://github.com/coin-or/Clp"; homepage = "https://github.com/coin-or/Clp";
description = "An open-source linear programming solver written in C++"; description = "An open-source linear programming solver written in C++";
platforms = platforms.darwin ++ [ "x86_64-linux" ]; platforms = platforms.darwin ++ [ "x86_64-linux" ];

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "gh"; pname = "gh";
version = "2.26.0"; version = "2.26.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cli"; owner = "cli";
repo = "cli"; repo = "cli";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-PsZSlLI6ZcHsKWIwETJKPdNWin4YySGNpgH2Yc7rdF8="; hash = "sha256-ECYUpbzZXEJv0r9q66kLpUtp1gbgSeXdb3p4vHWIIk4=";
}; };
vendorHash = "sha256-+8/cA0UxyVu7nyLhHYBWmn8Vs0O/EYepqTAOVU4gwt4="; vendorHash = "sha256-+8/cA0UxyVu7nyLhHYBWmn8Vs0O/EYepqTAOVU4gwt4=";

View File

@ -0,0 +1,48 @@
{ lib
, stdenv
, fetchurl
, electron
, makeWrapper
}:
stdenv.mkDerivation rec {
pname = "bilibili";
version = "1.9.2-1";
src = fetchurl {
url = "https://github.com/msojocs/bilibili-linux/releases/download/v${version}/io.github.msojocs.bilibili_${version}_amd64.deb";
hash = "sha256-y3dUBImvcIG89m82RaIOa0cxJXIAIGa+n3FJkASacaY=";
};
unpackPhase = ''
runHook preUnpack
ar x $src
tar xf data.tar.xz
runHook postUnpack
'';
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp -r usr/share $out/share
sed -i "s|Exec=.*|Exec=$out/bin/bilibili|" $out/share/applications/*.desktop
cp -r opt/apps/io.github.msojocs.bilibili/files/bin/app $out/opt
makeWrapper ${electron}/bin/electron $out/bin/bilibili \
--argv0 "bilibili" \
--add-flags "$out/opt/app.asar"
runHook postInstall
'';
meta = with lib; {
description = "Electron-based bilibili desktop client";
homepage = "https://github.com/msojocs/bilibili-linux";
license = licenses.mit;
maintainers = with maintainers; [ jedsek ];
platforms = platforms.unix;
};
}

View File

@ -18,13 +18,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "celluloid"; pname = "celluloid";
version = "0.24"; version = "0.25";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "celluloid-player"; owner = "celluloid-player";
repo = "celluloid"; repo = "celluloid";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-8Y/dCeoS29R1UHwmLOp0d+JNNC4JH5pLpiqfBZU+kLI="; hash = "sha256-GCRpcC/olMUbMG2fadNcXTKF/Zl0+GY2+eSRLQhnWxI=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -2,38 +2,48 @@
, stdenv , stdenv
, fetchFromGitHub , fetchFromGitHub
, cmake , cmake
, qt5 , wrapQtAppsHook
, ffmpeg-full , qtbase
, aria2 , aria2
, yt-dlp , ffmpeg
, python3 , python3
, yt-dlp
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "media-downloader"; pname = "media-downloader";
version = "2.9.0"; version = "3.1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "mhogomchungu"; owner = "mhogomchungu";
repo = pname; repo = pname;
rev = "${version}"; rev = "${version}";
sha256 = "sha256-3tVOyIwdGcSVnEJWQWh6HIsjY6uEzWkTs45qf81r/+0="; hash = "sha256-/oKvjmLFchR2B/mcLIUVIHBK78u2OQGf2aiwVR/ZoQc=";
}; };
nativeBuildInputs = [ cmake qt5.wrapQtAppsHook ]; nativeBuildInputs = [
cmake
wrapQtAppsHook
];
preFixup = '' buildInputs = [
qtWrapperArgs+=( qtbase
--prefix PATH : "${lib.makeBinPath [ ffmpeg-full aria2 yt-dlp python3 ]}" ];
)
''; qtWrapperArgs = [
"--prefix PATH : ${lib.makeBinPath [
aria2
ffmpeg
python3
yt-dlp
]}"
];
meta = with lib; { meta = with lib; {
description = "A Qt/C++ GUI front end to youtube-dl"; description = "A Qt/C++ GUI front end to youtube-dl";
homepage = "https://github.com/mhogomchungu/media-downloader"; homepage = "https://github.com/mhogomchungu/media-downloader";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
broken = stdenv.isDarwin; platforms = platforms.linux;
platforms = platforms.unix;
maintainers = with maintainers; [ zendo ]; maintainers = with maintainers; [ zendo ];
}; };
} }

View File

@ -40,7 +40,7 @@ rustPlatform.buildRustPackage rec {
homepage = "https://containers.github.io/youki/"; homepage = "https://containers.github.io/youki/";
changelog = "https://github.com/containers/youki/releases/tag/v${version}"; changelog = "https://github.com/containers/youki/releases/tag/v${version}";
license = licenses.asl20; license = licenses.asl20;
maintainers = with maintainers; [ candyc1oud ]; maintainers = [];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -25,13 +25,13 @@ let
in in
stdenv.mkDerivation (self: { stdenv.mkDerivation (self: {
pname = "labwc"; pname = "labwc";
version = "0.6.1"; version = "0.6.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "labwc"; owner = "labwc";
repo = "labwc"; repo = "labwc";
rev = self.version; rev = self.version;
hash = "sha256-PfvtNbSAz1vt0+ko4zRPyRRN+lhQoA2kJ2xoJy5o4So="; hash = "sha256-yZ1tXx7AA9pFc5C6c/J3B03/TfXw1PsAunNNiee3BGU=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

@ -1,33 +1,87 @@
{ lib, stdenv, fetchurl, cmake, meson, ninja, pkg-config { lib
, cairo, doctest, libdrm, libexecinfo, libinput, libjpeg, libxkbcommon, wayland , stdenv
, wayland-protocols, wf-config, wlroots, mesa , fetchFromGitHub
, cmake
, meson
, ninja
, pkg-config
, wf-config
, cairo
, doctest
, libdrm
, libexecinfo
, libinput
, libjpeg
, libxkbcommon
, wayland
, wayland-protocols
, wayland-scanner
, wlroots
, pango
, xorg
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wayfire"; pname = "wayfire";
version = "0.7.2"; version = "0.7.5";
src = fetchurl { src = fetchFromGitHub {
url = "https://github.com/WayfireWM/wayfire/releases/download/v${version}/wayfire-${version}.tar.xz"; owner = "WayfireWM";
sha256 = "1gasijjyfl00zpy6j9hh6qpwv0sw42h9irycbnm693j3vw9mcy66"; repo = pname;
rev = "v${version}";
fetchSubmodules = true;
sha256 = "sha256-Z+rR9pY244I3i/++XZ4ROIkq3vtzMgcxxHvJNxFD9is=";
}; };
nativeBuildInputs = [ cmake meson ninja pkg-config wayland ]; nativeBuildInputs = [
meson
ninja
pkg-config
wayland-scanner
];
buildInputs = [ buildInputs = [
cairo doctest libdrm libexecinfo libinput libjpeg libxkbcommon wayland wf-config
wayland-protocols wf-config wlroots mesa libdrm
libexecinfo
libinput
libjpeg
libxkbcommon
wayland-protocols
xorg.xcbutilwm
wayland
cairo
pango
];
propagatedBuildInputs = [
wlroots
];
nativeCheckInputs = [
cmake
doctest
]; ];
# CMake is just used for finding doctest. # CMake is just used for finding doctest.
dontUseCmakeConfigure = true; dontUseCmakeConfigure = true;
mesonFlags = [ "--sysconfdir" "/etc" ]; doCheck = true;
mesonFlags = [
"--sysconfdir /etc"
"-Duse_system_wlroots=enabled"
"-Duse_system_wfconfig=enabled"
];
passthru.providedSessions = [ "wayfire" ];
meta = with lib; { meta = with lib; {
homepage = "https://wayfire.org/"; homepage = "https://wayfire.org/";
description = "3D Wayland compositor"; description = "3D Wayland compositor";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ qyliss wucke13 ]; maintainers = with maintainers; [ qyliss wucke13 rewine ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -1,27 +1,61 @@
{ stdenv, lib, fetchurl, meson, ninja, pkg-config, wayland, wrapGAppsHook { stdenv
, gtk3, libevdev, libxml2, wayfire, wayland-protocols, wf-config, wf-shell , lib
, fetchFromGitHub
, meson
, ninja
, pkg-config
, wayland
, wrapGAppsHook
, wayfire
, wf-shell
, wf-config
, wayland-scanner
, wayland-protocols
, gtk3
, libevdev
, libxml2
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wcm"; pname = "wcm";
version = "0.7.0"; version = "0.7.5";
src = fetchurl { src = fetchFromGitHub {
url = "https://github.com/WayfireWM/wcm/releases/download/v${version}/wcm-${version}.tar.xz"; owner = "WayfireWM";
sha256 = "19za1fnlf5hz4n4mxxwqcr5yxp6mga9ah539ifnjnqrgvj19cjlj"; repo = pname;
rev = "v${version}";
fetchSubmodules = true;
sha256 = "sha256-LJR9JGl49o4O6LARofz3jOeAqseGcmzVhMnhk/aobUU=";
}; };
nativeBuildInputs = [ meson ninja pkg-config wayland wrapGAppsHook ]; nativeBuildInputs = [
meson
ninja
pkg-config
wayland-scanner
wrapGAppsHook
];
buildInputs = [ buildInputs = [
gtk3 libevdev libxml2 wayfire wayland wayfire
wayland-protocols wf-config wf-shell wf-config
wf-shell
wayland
wayland-protocols
gtk3
libevdev
libxml2
];
mesonFlags = [
"-Denable_wdisplays=false"
]; ];
meta = with lib; { meta = with lib; {
homepage = "https://github.com/WayfireWM/wcm"; homepage = "https://github.com/WayfireWM/wcm";
description = "Wayfire Config Manager"; description = "Wayfire Config Manager";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ qyliss wucke13 ]; maintainers = with maintainers; [ qyliss wucke13 rewine ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -1,20 +1,46 @@
{ stdenv, lib, fetchurl, cmake, meson, ninja, pkg-config { stdenv
, doctest, glm, libevdev, libxml2 , lib
, fetchFromGitHub
, cmake
, meson
, ninja
, pkg-config
, doctest
, glm
, libevdev
, libxml2
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wf-config"; pname = "wf-config";
version = "0.7.1"; version = "0.7.1";
src = fetchurl { src = fetchFromGitHub {
url = "https://github.com/WayfireWM/wf-config/releases/download/v${version}/wf-config-${version}.tar.xz"; owner = "WayfireWM";
sha256 = "1w75yxhz0nvw4mlv38sxp8k8wb5h99b51x3fdvizc3yaxanqa8kx"; repo = pname;
rev = "v${version}";
sha256 = "sha256-ADUBvDJcPYEB9ZvaFIgTfemo1WYwiWgCWX/z2yrEPtA=";
}; };
nativeBuildInputs = [ cmake meson ninja pkg-config ]; nativeBuildInputs = [
buildInputs = [ doctest libevdev libxml2 ]; meson
propagatedBuildInputs = [ glm ]; ninja
pkg-config
];
buildInputs = [
libevdev
libxml2
];
propagatedBuildInputs = [
glm
];
nativeCheckInputs = [
cmake
doctest
];
# CMake is just used for finding doctest. # CMake is just used for finding doctest.
dontUseCmakeConfigure = true; dontUseCmakeConfigure = true;
@ -24,7 +50,7 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/WayfireWM/wf-config"; homepage = "https://github.com/WayfireWM/wf-config";
description = "Library for managing configuration files, written for Wayfire"; description = "Library for managing configuration files, written for Wayfire";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ qyliss wucke13 ]; maintainers = with maintainers; [ qyliss wucke13 rewine ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -1,29 +1,53 @@
{ stdenv, lib, fetchurl, meson, ninja, pkg-config, wayland, alsa-lib, gtkmm3, gtk-layer-shell, pulseaudio, wayfire, wf-config { stdenv
, lib
, fetchFromGitHub
, meson
, ninja
, pkg-config
, wayland-scanner
, wayfire
, wf-config
, alsa-lib
, gtkmm3
, gtk-layer-shell
, pulseaudio
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "wf-shell"; pname = "wf-shell";
version = "0.7.0"; version = "0.7.0";
# > Note to packagers: do not use the autogenerated "Source code" src = fetchFromGitHub {
# > archives from GitHub, but the wf-shell-0.4.0.tar.xz file. owner = "WayfireWM";
src = fetchurl { repo = pname;
url = "https://github.com/WayfireWM/wf-shell/releases/download/v${version}/wf-shell-${version}.tar.xz"; rev = "v${version}";
sha256 = "1isybm9lcpxwyf6zh2vzkwrcnw3q7qxm21535g4f08f0l68cd5bl"; fetchSubmodules = true;
sha256 = "sha256-iQUBuNjbZuf51A69RC6NsMHFZCFRv+d9XZ0HtP6OpOA=";
}; };
nativeBuildInputs = [ meson ninja pkg-config wayland ]; nativeBuildInputs = [
buildInputs = [ meson
alsa-lib gtkmm3 gtk-layer-shell pulseaudio wayfire wf-config ninja
pkg-config
wayland-scanner
]; ];
mesonFlags = [ "--sysconfdir" "/etc" ]; buildInputs = [
wayfire
wf-config
alsa-lib
gtkmm3
gtk-layer-shell
pulseaudio
];
mesonFlags = [ "--sysconfdir /etc" ];
meta = with lib; { meta = with lib; {
homepage = "https://github.com/WayfireWM/wf-shell"; homepage = "https://github.com/WayfireWM/wf-shell";
description = "GTK3-based panel for Wayfire"; description = "GTK3-based panel for Wayfire";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ qyliss wucke13 ]; maintainers = with maintainers; [ qyliss wucke13 rewine ];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -10,7 +10,7 @@ args@{
, bazelBuildFlags ? [] , bazelBuildFlags ? []
, bazelTestFlags ? [] , bazelTestFlags ? []
, bazelFetchFlags ? [] , bazelFetchFlags ? []
, bazelTarget , bazelTargets
, bazelTestTargets ? [] , bazelTestTargets ? []
, buildAttrs , buildAttrs
, fetchAttrs , fetchAttrs
@ -69,11 +69,11 @@ let
''; '';
in in
stdenv.mkDerivation (fBuildAttrs // { stdenv.mkDerivation (fBuildAttrs // {
inherit name bazelFlags bazelBuildFlags bazelTestFlags bazelFetchFlags bazelTarget bazelTestTargets; inherit name bazelFlags bazelBuildFlags bazelTestFlags bazelFetchFlags bazelTargets bazelTestTargets;
deps = stdenv.mkDerivation (fFetchAttrs // { deps = stdenv.mkDerivation (fFetchAttrs // {
name = "${name}-deps.tar.gz"; name = "${name}-deps.tar.gz";
inherit bazelFlags bazelBuildFlags bazelTestFlags bazelFetchFlags bazelTarget bazelTestTargets; inherit bazelFlags bazelBuildFlags bazelTestFlags bazelFetchFlags bazelTargets bazelTestTargets;
impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ fFetchAttrs.impureEnvVars or []; impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ fFetchAttrs.impureEnvVars or [];
@ -94,21 +94,18 @@ stdenv.mkDerivation (fBuildAttrs // {
buildPhase = fFetchAttrs.buildPhase or '' buildPhase = fFetchAttrs.buildPhase or ''
runHook preBuild runHook preBuild
# See footnote called [USER and BAZEL_USE_CPP_ONLY_TOOLCHAIN variables]. ${
# We disable multithreading for the fetching phase since it can lead to timeouts with many dependencies/threads: bazelCmd {
# https://github.com/bazelbuild/bazel/issues/6502 cmd = if fetchConfigured then "build --nobuild" else "fetch";
BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \ additionalFlags = [
USER=homeless-shelter \ # We disable multithreading for the fetching phase since it can lead to timeouts with many dependencies/threads:
bazel \ # https://github.com/bazelbuild/bazel/issues/6502
--batch \ "--loading_phase_threads=1"
--output_base="$bazelOut" \ "$bazelFetchFlags"
--output_user_root="$bazelUserRoot" \ ];
${if fetchConfigured then "build --nobuild" else "fetch"} \ targets = bazelTargets ++ bazelTestTargets;
--loading_phase_threads=1 \ }
$bazelFlags \ }
$bazelFetchFlags \
${bazelTarget} \
${lib.strings.concatStringsSep " " bazelTestTargets}
runHook postBuild runHook postBuild
''; '';
@ -232,7 +229,7 @@ stdenv.mkDerivation (fBuildAttrs // {
bazelCmd { bazelCmd {
cmd = "build"; cmd = "build";
additionalFlags = bazelBuildFlags; additionalFlags = bazelBuildFlags;
targets = [bazelTarget]; targets = bazelTargets;
} }
} }
runHook postBuild runHook postBuild

View File

@ -38,7 +38,7 @@ get_image_digest(){
imageTag="latest" imageTag="latest"
fi fi
skopeo --insecure-policy --tmpdir=$TMPDIR inspect "docker://$imageName:$imageTag" | jq '.Digest' -r skopeo --override-os "${os}" --override-arch "${arch}" --insecure-policy --tmpdir=$TMPDIR inspect "docker://$imageName:$imageTag" | jq '.Digest' -r
} }
get_name() { get_name() {

View File

@ -0,0 +1,25 @@
{ lib, fetchurl }:
fetchurl {
pname = "linja-sike";
version = "5.0";
url = "https://wyub.github.io/tokipona/linja-sike-5.otf";
downloadToTemp = true;
recursiveHash = true;
postFetch = ''
install -D $downloadedFile $out/share/fonts/opentype/linja-sike.otf
'';
sha256 = "sha256-LkjG1Oao/LqKwI+eRZPzShTh7lz5DkooltXm7vxZC9w=";
meta = with lib; {
description = "An extensive sitelen pona font by lipamanka";
homepage = "https://docs.google.com/document/d/1d8kUIAVlB-JNgK3LWr_zVCuUOZTh2hF7CfC6xQgxsBs/edit?usp=sharing";
downloadPage = "https://wyub.github.io/tokipona/linjasike";
license = licenses.ofl;
platforms = platforms.all;
maintainers = with maintainers; [ somasis ];
};
}

View File

@ -25,7 +25,7 @@ stdenvNoCC.mkDerivation rec {
homepage = "https://atelier-anchor.com/typefaces/smiley-sans/"; homepage = "https://atelier-anchor.com/typefaces/smiley-sans/";
changelog = "https://github.com/atelier-anchor/smiley-sans/blob/main/CHANGELOG.md"; changelog = "https://github.com/atelier-anchor/smiley-sans/blob/main/CHANGELOG.md";
license = licenses.ofl; license = licenses.ofl;
maintainers = with maintainers; [ candyc1oud ]; maintainers = [];
platforms = platforms.all; platforms = platforms.all;
}; };
} }

View File

@ -26,6 +26,6 @@ stdenvNoCC.mkDerivation rec {
description = "A GeoLite2 data created by MaxMind"; description = "A GeoLite2 data created by MaxMind";
homepage = "https://github.com/Dreamacro/maxmind-geoip"; homepage = "https://github.com/Dreamacro/maxmind-geoip";
license = licenses.unfree; license = licenses.unfree;
maintainers = with maintainers; [ candyc1oud ]; maintainers = [];
}; };
} }

View File

@ -18,6 +18,7 @@ let
dtkcore = callPackage ./library/dtkcore { }; dtkcore = callPackage ./library/dtkcore { };
dtkgui = callPackage ./library/dtkgui { }; dtkgui = callPackage ./library/dtkgui { };
dtkwidget = callPackage ./library/dtkwidget { }; dtkwidget = callPackage ./library/dtkwidget { };
deepin-pdfium = callPackage ./library/deepin-pdfium { };
qt5platform-plugins = callPackage ./library/qt5platform-plugins { }; qt5platform-plugins = callPackage ./library/qt5platform-plugins { };
qt5integration = callPackage ./library/qt5integration { }; qt5integration = callPackage ./library/qt5integration { };
deepin-wayland-protocols = callPackage ./library/deepin-wayland-protocols { }; deepin-wayland-protocols = callPackage ./library/deepin-wayland-protocols { };
@ -28,6 +29,7 @@ let
gio-qt = callPackage ./library/gio-qt { }; gio-qt = callPackage ./library/gio-qt { };
image-editor = callPackage ./library/image-editor { }; image-editor = callPackage ./library/image-editor { };
udisks2-qt5 = callPackage ./library/udisks2-qt5 { }; udisks2-qt5 = callPackage ./library/udisks2-qt5 { };
util-dfm = callPackage ./library/util-dfm { };
#### CORE #### CORE
dde-control-center = callPackage ./core/dde-control-center { }; dde-control-center = callPackage ./core/dde-control-center { };

View File

@ -0,0 +1,42 @@
{ stdenv
, lib
, fetchFromGitHub
, qmake
, pkg-config
, libchardet
, lcms2
, openjpeg
}:
stdenv.mkDerivation rec {
pname = "deepin-pdfium";
version = "1.0.1";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
sha256 = "sha256-gUIQ+fZ7VaYaIj1hbzER10ceoJZbvhJlnDTFIShMrKw=";
};
nativeBuildInputs = [
qmake
pkg-config
];
dontWrapQtApps = true;
buildInputs = [
libchardet
lcms2
openjpeg
];
meta = with lib; {
description = "development library for pdf on deepin";
homepage = "https://github.com/linuxdeepin/deepin-pdfium";
license = licenses.lgpl3Plus;
platforms = platforms.linux;
maintainers = teams.deepin.members;
};
}

View File

@ -0,0 +1,62 @@
{ stdenv
, lib
, fetchFromGitHub
, fetchpatch
, cmake
, pkg-config
, qtbase
, libmediainfo
, libsecret
, libisoburn
, libuuid
, udisks
}:
stdenv.mkDerivation rec {
pname = "util-dfm";
version = "1.2.7";
src = fetchFromGitHub {
owner = "linuxdeepin";
repo = pname;
rev = version;
sha256 = "sha256-+qqirRkvVyKvt+Pu/ghQjMe+O6a7/7IoJL8AWL4QlvE=";
};
patches = [
(fetchpatch {
name = "fix: use pkgconfig to check mount";
url = "https://github.com/linuxdeepin/util-dfm/commit/fb8425a8c13f16e86db38ff84f43347fdc8ea468.diff";
sha256 = "sha256-PGSRfnQ1MGmq0V3NBCoMk4p/T2x19VA04u9C+WcBKow=";
})
];
nativeBuildInputs = [
cmake
pkg-config
];
dontWrapQtApps = true;
buildInputs = [
qtbase
libmediainfo
libsecret
libuuid
libisoburn
udisks
];
cmakeFlags = [
"-DCMAKE_INSTALL_LIBDIR=lib"
"-DPROJECT_VERSION=${version}"
];
meta = with lib; {
description = "A Toolkits of libdfm-io,libdfm-mount and libdfm-burn";
homepage = "https://github.com/linuxdeepin/util-dfm";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = teams.deepin.members;
};
}

View File

@ -119,7 +119,5 @@ stdenv.mkDerivation rec {
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = teams.gnome.members; maintainers = teams.gnome.members;
platforms = platforms.unix; platforms = platforms.unix;
# requires <gio/gdesktopappinfo.h>
broken = stdenv.isDarwin;
}; };
} }

View File

@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "A JVM-based Common Lisp implementation"; description = "A JVM-based Common Lisp implementation";
license = lib.licenses.gpl3 ; license = lib.licenses.gpl3 ;
maintainers = [lib.maintainers.raskin]; maintainers = lib.teams.lisp.members;
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
homepage = "https://common-lisp.net/project/armedbear/"; homepage = "https://common-lisp.net/project/armedbear/";
}; };

View File

@ -119,7 +119,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Clozure Common Lisp"; description = "Clozure Common Lisp";
homepage = "https://ccl.clozure.com/"; homepage = "https://ccl.clozure.com/";
maintainers = with maintainers; [ raskin ]; maintainers = lib.teams.lisp.members;
platforms = attrNames options; platforms = attrNames options;
# assembler failures during build, x86_64-darwin broken since 2020-10-14 # assembler failures during build, x86_64-darwin broken since 2020-10-14
broken = (stdenv.isDarwin && stdenv.isx86_64); broken = (stdenv.isDarwin && stdenv.isx86_64);

View File

@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
homepage = "https://call-cc.org/"; homepage = "https://call-cc.org/";
license = lib.licenses.bsd3; license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ corngood ]; maintainers = with lib.maintainers; [ corngood nagy konst-aa ];
platforms = lib.platforms.unix; platforms = lib.platforms.unix;
description = "A portable compiler for the Scheme programming language"; description = "A portable compiler for the Scheme programming language";
longDescription = '' longDescription = ''

View File

@ -1,11 +1,16 @@
{ lib, newScope } : { lib, newScope, fetchurl }:
let let
callPackage = newScope self; callPackage = newScope self;
self = { self = with lib; {
pkgs = self; pkgs = self;
fetchegg = callPackage ./fetchegg { }; fetchegg = { pname, version, sha256, ... }:
fetchurl {
inherit sha256;
url =
"https://code.call-cc.org/egg-tarballs/5/${pname}/${pname}-${version}.tar.gz";
};
eggDerivation = callPackage ./eggDerivation.nix { }; eggDerivation = callPackage ./eggDerivation.nix { };
@ -13,7 +18,21 @@ let
bootstrap-chicken = self.chicken.override { bootstrap-chicken = null; }; bootstrap-chicken = self.chicken.override { bootstrap-chicken = null; };
}; };
chickenEggs = lib.recurseIntoAttrs (callPackage ./eggs.nix { }); chickenEggs = recurseIntoAttrs (mapAttrs (pname:
eggData@{ version, synopsis, dependencies, license, ... }:
self.eggDerivation {
name = "${pname}-${version}";
src = self.fetchegg (eggData // { inherit pname; });
buildInputs = map (x: self.chickenEggs.${x}) dependencies;
meta.homepage =
"https://code.call-cc.org/cgi-bin/gitweb.cgi?p=eggs-5-latest.git;a=tree;f=${pname}/${version}";
meta.description = synopsis;
meta.license = (licenses // {
"bsd-2-clause" = licenses.bsd2;
"bsd-3-clause" = licenses.bsd3;
"public-domain" = licenses.publicDomain;
}).${license} or license;
}) (importTOML ./deps.toml));
egg2nix = callPackage ./egg2nix.nix { }; egg2nix = callPackage ./egg2nix.nix { };
}; };

File diff suppressed because it is too large Load Diff

View File

@ -1,551 +0,0 @@
{ pkgs, stdenv }:
rec {
inherit (pkgs) eggDerivation fetchegg;
address-info = eggDerivation {
name = "address-info-1.0.5";
src = fetchegg {
name = "address-info";
version = "1.0.5";
sha256 = "1nv87ghfv8szmi2l0rybrgrds6fs5w6jxafqslnzw0mw5sfj6jyk";
};
buildInputs = [
srfi-1
];
};
apropos = eggDerivation {
name = "apropos-3.6.0";
src = fetchegg {
name = "apropos";
version = "3.6.0";
sha256 = "0jq5d4zijbf5dw2vsfn89smp7zjpgp82y5hs10xkysf831x7l551";
};
buildInputs = [
srfi-1
srfi-13
check-errors
string-utils
symbol-utils
];
};
args = eggDerivation {
name = "args-1.6.0";
src = fetchegg {
name = "args";
version = "1.6.0";
sha256 = "1y9sznh4kxqxvhd8k44bjx0s7xspp52sx4bn8i8i0f8lwch6r2g4";
};
buildInputs = [
srfi-1
srfi-13
srfi-37
];
};
base64 = eggDerivation {
name = "base64-1.0";
src = fetchegg {
name = "base64";
version = "1.0";
sha256 = "01lid9wxf94nr7gmskamxlfngack1hyxig8rl9swwgnbmz9qgysi";
};
buildInputs = [
srfi-13
];
};
check-errors = eggDerivation {
name = "check-errors-3.2.0";
src = fetchegg {
name = "check-errors";
version = "3.2.0";
sha256 = "0d0hpq1nmwyvbg162bqzgk62f70rin0pxsr5a3pgx6xin5i3ngah";
};
buildInputs = [
];
};
defstruct = eggDerivation {
name = "defstruct-2.0";
src = fetchegg {
name = "defstruct";
version = "2.0";
sha256 = "0q1v1gdwqlpmwcsa4jnqldfqky9k7kvb83qgkhdyqym52bm5aln8";
};
buildInputs = [
srfi-1
];
};
feature-test = eggDerivation {
name = "feature-test-0.2.0";
src = fetchegg {
name = "feature-test";
version = "0.2.0";
sha256 = "1dxdisv64d8alg6r45cwxf5gmdpcvql1hvlq808lgwphd7kvfpgr";
};
buildInputs = [
];
};
foreigners = eggDerivation {
name = "foreigners-1.5";
src = fetchegg {
name = "foreigners";
version = "1.5";
sha256 = "1mm91y61nlawgb7iqdrkz2fi9sc3fic07f5m1ig541b2hbscfiqy";
};
buildInputs = [
matchable
];
};
intarweb = eggDerivation {
name = "intarweb-2.0.1";
src = fetchegg {
name = "intarweb";
version = "2.0.1";
sha256 = "0md226jikqhj993cw17588ipmnz0v7l34zrvylamyrs6zbvj3scm";
};
buildInputs = [
srfi-1
srfi-13
srfi-14
defstruct
uri-common
base64
];
};
iset = eggDerivation {
name = "iset-2.2";
src = fetchegg {
name = "iset";
version = "2.2";
sha256 = "0yfkcd07cw6xnnqfbbvjy81x0vc54k40vdjp2m7gwxx64is6m3rz";
};
buildInputs = [
];
};
json = eggDerivation {
name = "json-1.6";
src = fetchegg {
name = "json";
version = "1.6";
sha256 = "0sb8285dqrm27c8zaqfzc0gixvfmvf0cq2nbza8c4z7j5snxzs2w";
};
buildInputs = [
packrat
srfi-1
srfi-69
];
};
matchable = eggDerivation {
name = "matchable-1.1";
src = fetchegg {
name = "matchable";
version = "1.1";
sha256 = "084hm5dvbvgnpb32ispkp3hjili8z02hamln860r99jx68jx6j2v";
};
buildInputs = [
];
};
r7rs = eggDerivation {
name = "r7rs-1.0.5";
src = fetchegg {
name = "r7rs";
version = "1.0.5";
sha256 = "0zyi1z4m1995hm2wfc5wpi8jjgxcwk03qknq5v2ygff3akxazsf6";
};
buildInputs = [
matchable
srfi-1
srfi-13
];
};
memory-mapped-files = eggDerivation {
name = "memory-mapped-files-0.4";
src = fetchegg {
name = "memory-mapped-files";
version = "0.4";
sha256 = "0by3r18bj9fs0bs9w5czx84vssmr58br3x7pz1m3myb4mns3mpsc";
};
buildInputs = [
];
};
message-digest-primitive = eggDerivation {
name = "message-digest-primitive-4.3.2";
src = fetchegg {
name = "message-digest-primitive";
version = "4.3.2";
sha256 = "1wfmyyp1fv0sz70m0rgzbhkiqgzjc15ppz7fwmpnxg12rvfzdvq0";
};
buildInputs = [
check-errors
];
};
miscmacros = eggDerivation {
name = "miscmacros-1.0";
src = fetchegg {
name = "miscmacros";
version = "1.0";
sha256 = "0n2ia4ib4f18hcbkm5byph07ncyx61pcpfp2qr5zijf8ykp8nbvr";
};
buildInputs = [
];
};
packrat = eggDerivation {
name = "packrat-1.5";
src = fetchegg {
name = "packrat";
version = "1.5";
sha256 = "0hfnh57a8yga3byrk8522al5wdj7dyz48lixvvcgnsn3vdy333hq";
};
buildInputs = [
srfi-1
];
};
regex = eggDerivation {
name = "regex-2.0";
src = fetchegg {
name = "regex";
version = "2.0";
sha256 = "0qgqrrdr95yqggw8xyvb693nhizwqvf1fp9cjx9p3z80c4ih8j4j";
};
buildInputs = [
];
};
sendfile = eggDerivation {
name = "sendfile-1.8.3";
src = fetchegg {
name = "sendfile";
version = "1.8.3";
sha256 = "0acmydjxlrbq7bdspmrzv9q9l3gh4xxnbpi5g1d5mz1g2mjwgm63";
};
buildInputs = [
memory-mapped-files
];
};
sha2 = eggDerivation {
name = "sha2-4.0.5";
src = fetchegg {
name = "sha2";
version = "4.0.5";
sha256 = "020yc41gkpg2s48v5n1nnq02dii340yly2y1zsi71bbfbkai2vcs";
};
buildInputs = [
message-digest-primitive
];
};
socket = eggDerivation {
name = "socket-0.3.3";
src = fetchegg {
name = "socket";
version = "0.3.3";
sha256 = "04wfxrwjizvf1jdpfqp3r7381rp9lscrm3z21ihq2dc2lfzjgrxw";
};
buildInputs = [
srfi-13
srfi-18
foreigners
feature-test
];
};
spiffy = eggDerivation {
name = "spiffy-6.3";
src = fetchegg {
name = "spiffy";
version = "6.3";
sha256 = "0f22gfdyysgbm3q6cjibn1z1yavks3imxi1mxcyfmms3x91k5k3c";
};
buildInputs = [
intarweb
uri-common
uri-generic
sendfile
srfi-1
srfi-13
srfi-14
srfi-18
];
};
srfi-1 = eggDerivation {
name = "srfi-1-0.5.1";
src = fetchegg {
name = "srfi-1";
version = "0.5.1";
sha256 = "15x0ajdkw5gb3vgs8flzh5g0pzl3wmcpf11iimlm67mw6fxc8p7j";
};
buildInputs = [
];
};
srfi-13 = eggDerivation {
name = "srfi-13-0.3.1";
src = fetchegg {
name = "srfi-13";
version = "0.3.1";
sha256 = "12ryxs3w3las0wjdh0yp52g1xmyq1fb48xi3i26l5a9sfx7gbilp";
};
buildInputs = [
srfi-14
];
};
srfi-14 = eggDerivation {
name = "srfi-14-0.2.1";
src = fetchegg {
name = "srfi-14";
version = "0.2.1";
sha256 = "0gc33cx4xll9vsf7fm8jvn3gc0604kn3bbi6jfn6xscqp86kqb9p";
};
buildInputs = [
];
};
srfi-145 = eggDerivation {
name = "srfi-145-0.1";
src = fetchegg {
name = "srfi-145";
version = "0.1";
sha256 = "1r4278xhpmm8gww64j6akpyv3qjnn14b6nsisyb9qm7yx3pkpim9";
};
buildInputs = [
];
};
srfi-189 = eggDerivation {
name = "srfi-189-0.1";
src = fetchegg {
name = "srfi-189";
version = "0.1";
sha256 = "1nmrywpi9adi5mm1vcbxxsgw0j3v6m7s4j1mii7icj83xn81cgvx";
};
buildInputs = [
r7rs
srfi-1
srfi-145
];
};
srfi-18 = eggDerivation {
name = "srfi-18-0.1.6";
src = fetchegg {
name = "srfi-18";
version = "0.1.6";
sha256 = "00lykm5lqbrcxl3dab9dqwimpgm36v4ys2957k3vdlg4xdb1abfa";
};
buildInputs = [
];
};
srfi-37 = eggDerivation {
name = "srfi-37-1.4";
src = fetchegg {
name = "srfi-37";
version = "1.4";
sha256 = "17f593497n70gldkj6iab6ilgryiqar051v6azn1szhnm1lk7dwd";
};
buildInputs = [
];
};
srfi-69 = eggDerivation {
name = "srfi-69-0.4.1";
src = fetchegg {
name = "srfi-69";
version = "0.4.1";
sha256 = "1l102kppncz27acsr4jyi46q0r7g2lb6gdbkd6p3h1xmvwcnk2hl";
};
buildInputs = [
];
};
string-utils = eggDerivation {
name = "string-utils-2.4.0";
src = fetchegg {
name = "string-utils";
version = "2.4.0";
sha256 = "09m3s0p199r2nmvc8qnqvbxjbq967gvwqrzp236wsw3hdcil6p8v";
};
buildInputs = [
srfi-1
srfi-13
srfi-69
miscmacros
check-errors
utf8
];
};
symbol-utils = eggDerivation {
name = "symbol-utils-2.1.0";
src = fetchegg {
name = "symbol-utils";
version = "2.1.0";
sha256 = "17nq8bj18f3bbf3mdfx1m8agy97izn1xcl8ymvgvvd5g384b2xil";
};
buildInputs = [
check-errors
];
};
tcp6 = eggDerivation {
name = "tcp6-0.2.1";
src = fetchegg {
name = "tcp6";
version = "0.2.1";
sha256 = "14dynnjgac28f46v781hi6kam326q6rh57pf0pvl0chdva4hlf3q";
};
buildInputs = [
socket
srfi-1
];
};
uri-common = eggDerivation {
name = "uri-common-2.0";
src = fetchegg {
name = "uri-common";
version = "2.0";
sha256 = "07rq7ppkyk3i85vqspc048pnj6gmjhj236z00chslli9xybqkgrd";
};
buildInputs = [
uri-generic
defstruct
matchable
srfi-1
srfi-13
srfi-14
];
};
uri-generic = eggDerivation {
name = "uri-generic-3.2";
src = fetchegg {
name = "uri-generic";
version = "3.2";
sha256 = "1lpvnk1mnhmrga149km7ygpy7fkq7z2pvw0mvpx2aql03l8gpdsj";
};
buildInputs = [
matchable
srfi-1
srfi-14
];
};
utf8 = eggDerivation {
name = "utf8-3.6.2";
src = fetchegg {
name = "utf8";
version = "3.6.2";
sha256 = "10wzp3qmwik4gx3hhaqm2n83wza0rllgy57363h5ccv8fga5nnm6";
};
buildInputs = [
srfi-69
iset
regex
];
};
}

View File

@ -1,11 +0,0 @@
;; Eggs used by egg2nix
args
matchable
apropos
spiffy
json
tcp6
sha2
;; other eggs to include in nixpkgs
srfi-189

View File

@ -1,9 +0,0 @@
if [ -e .attrs.sh ]; then source .attrs.sh; fi
source $stdenv/setup
echo "exporting egg ${eggName} (version $version) into $out"
mkdir -p $out
CHICKEN_EGG_CACHE=. chicken-install -r "${eggName}:${version}"
rm ${eggName}/{STATUS,TIMESTAMP}
cp -r ${eggName}/* $out/

View File

@ -1,25 +0,0 @@
# Fetches a chicken egg from henrietta using `chicken-install -r'
# See: http://wiki.call-cc.org/chicken-projects/egg-index-5.html
{ lib, stdenvNoCC, chicken }:
{ name, version, md5 ? "", sha256 ? "" }:
if md5 != "" then
throw "fetchegg does not support md5 anymore, please use sha256"
else
stdenvNoCC.mkDerivation {
name = "chicken-${name}-export";
builder = ./builder.sh;
nativeBuildInputs = [ chicken ];
outputHashAlgo = "sha256";
outputHashMode = "recursive";
outputHash = sha256;
inherit version;
eggName = name;
impureEnvVars = lib.fetchers.proxyImpureEnvVars;
}

View File

@ -0,0 +1,40 @@
(import (chicken process-context)
(chicken format)
(chicken string))
(define env-var get-environment-variable)
(define ref alist-ref)
(define egg (read))
(printf "[~A]\n" (env-var "EGG_NAME"))
(define dependencies
(map (lambda (dep)
(->string (if (list? dep)
(car dep)
dep)))
(ref 'dependencies egg eqv? '())))
(printf "dependencies = [~A]\n"
(string-intersperse (map (lambda (dep) (sprintf "~S" dep))
dependencies)
", "))
(define license (ref 'license egg))
(printf "license = ~S\n"
(if (not license)
""
(string-translate (->string (car license))
"ABCDEFGHIJKLMNOPQRSTUVWXYZ "
"abcdefghijklmnopqrstuvwxyz-")))
(printf "sha256 = ~S\n" (env-var "EGG_SHA256"))
(define synopsis (ref 'synopsis egg))
(printf "synopsis = ~S\n"
(if (not synopsis)
""
(car synopsis)))
(printf "version = ~S\n" (env-var "EGG_VERSION"))
(print)

View File

@ -0,0 +1,19 @@
#!/usr/bin/env nix-shell
#! nix-shell -i oil -p oil chicken
export URL_PREFIX="https://code.call-cc.org/egg-tarballs/5/"
cd $(nix-prefetch-url \
'https://code.call-cc.org/cgi-bin/gitweb.cgi?p=eggs-5-latest.git;a=snapshot;h=master;sf=tgz' \
--name chicken-eggs-5-latest --unpack --print-path | tail -1)
echo "# THIS IS A GENERATED FILE. DO NOT EDIT!" > $_this_dir/deps.toml
for i, item in */*/*.egg {
var EGG_NAME=$(dirname $(dirname $item))
var EGG_VERSION=$(basename $(dirname $item))
var EGG_URL="${URL_PREFIX}${EGG_NAME}/${EGG_NAME}-${EGG_VERSION}.tar.gz"
var EGG_SHA256=$(nix-prefetch-url $EGG_URL)
export EGG_NAME
export EGG_VERSION
export EGG_SHA256
csi -s $_this_dir/read-egg.scm < $item
} >> $_this_dir/deps.toml

View File

@ -89,8 +89,11 @@ in llvmPackages_15.stdenv.mkDerivation {
meta = { meta = {
description = "A Common Lisp implementation based on LLVM with C++ integration"; description = "A Common Lisp implementation based on LLVM with C++ integration";
license = lib.licenses.lgpl21Plus ; license = lib.licenses.lgpl21Plus ;
maintainers = [lib.maintainers.raskin lib.maintainers.uthar]; maintainers = lib.teams.lisp.members;
platforms = lib.platforms.linux; platforms = ["x86_64-linux" "x86_64-darwin"];
# Upstream claims support, but breaks with:
# error: use of undeclared identifier 'aligned_alloc'
broken = llvmPackages_15.stdenv.isDarwin;
homepage = "https://github.com/clasp-developers/clasp"; homepage = "https://github.com/clasp-developers/clasp";
}; };

View File

@ -56,7 +56,7 @@ stdenv.mkDerivation (finalAttrs: {
ANSI Common Lisp standard. ANSI Common Lisp standard.
''; '';
license = licenses.publicDomain; license = licenses.publicDomain;
maintainers = [ ]; maintainers = lib.teams.lisp.members;
platforms = [ "i686-linux" "x86_64-linux" ]; platforms = [ "i686-linux" "x86_64-linux" ];
}; };
}) })

View File

@ -91,7 +91,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "Lisp implementation aiming to be small, fast and easy to embed"; description = "Lisp implementation aiming to be small, fast and easy to embed";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ raskin ]; maintainers = lib.teams.lisp.members;
platforms = platforms.unix; platforms = platforms.unix;
# never built on aarch64-darwin since first introduction in nixpkgs # never built on aarch64-darwin since first introduction in nixpkgs
broken = stdenv.isDarwin && stdenv.isAarch64; broken = stdenv.isDarwin && stdenv.isAarch64;

View File

@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
description = "Lisp implementation aiming to be small, fast and easy to embed"; description = "Lisp implementation aiming to be small, fast and easy to embed";
homepage = "https://common-lisp.net/project/ecl/"; homepage = "https://common-lisp.net/project/ecl/";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ raskin ]; maintainers = lib.teams.lisp.members;
platforms = platforms.unix; platforms = platforms.unix;
changelog = "https://gitlab.com/embeddable-common-lisp/ecl/-/raw/${version}/CHANGELOG"; changelog = "https://gitlab.com/embeddable-common-lisp/ecl/-/raw/${version}/CHANGELOG";
}; };

View File

@ -0,0 +1,54 @@
{ lib
, stdenv
, fetchFromGitHub
, makeWrapper
, gforth
}:
stdenv.mkDerivation {
pname = "gbforth";
version = "unstable-2023-03-02";
src = fetchFromGitHub {
owner = "ams-hackers";
repo = "gbforth";
rev = "428fcf5054fe301e90ac74b1d920ee3ecc375b5b";
hash = "sha256-v1bdwT15Wg1VKpo74Cc3tsTl1uOKvKdlHWtbZkJ/qbA=";
};
nativeBuildInputs = [
makeWrapper
];
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/share/gbforth $out/bin
cp -r lib shared src gbforth.fs $out/share/gbforth/
makeWrapper ${gforth}/bin/gforth $out/bin/gbforth \
--set GBFORTH_PATH $out/share/gbforth/lib \
--add-flags $out/share/gbforth/gbforth.fs
runHook postInstall
'';
doInstallCheck = true;
installCheckPhase = ''
runHook preInstallCheck
$out/bin/gbforth examples/simon/simon.fs
runHook postInstallCheck
'';
meta = with lib; {
homepage = "https://gbforth.org/";
description = "A Forth-based Game Boy development kit";
longDescription = ''
A Forth-based Game Boy development kit.
It features a Forth-based assembler, a cross-compiler with support for
lazy code generation and a library of useful words.
'';
license = licenses.mit;
platforms = platforms.all;
maintainers = with maintainers; [ fgaz ];
};
}

View File

@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors"; description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors";
homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"; homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm";
license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
maintainers = with maintainers; [ prusnak ]; maintainers = with maintainers; [ prusnak prtzl ];
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ]; platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
sourceProvenance = with sourceTypes; [ binaryNativeCode ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ];
}; };

View File

@ -3,6 +3,8 @@
, fetchurl , fetchurl
, ncurses5 , ncurses5
, python38 , python38
, libxcrypt-legacy
, runtimeShell
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -38,10 +40,21 @@ stdenv.mkDerivation rec {
find $out -type f | while read f; do find $out -type f | while read f; do
patchelf "$f" > /dev/null 2>&1 || continue patchelf "$f" > /dev/null 2>&1 || continue
patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true
patchelf --set-rpath ${lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python38 ]} "$f" || true patchelf --set-rpath ${lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python38 libxcrypt-legacy ]} "$f" || true
done done
''; '';
postFixup = ''
mv $out/bin/arm-none-eabi-gdb $out/bin/arm-none-eabi-gdb-unwrapped
cat <<EOF > $out/bin/arm-none-eabi-gdb
#!${runtimeShell}
export PYTHONPATH=${python38}/lib/python3.8
export PYTHONHOME=${python38}/bin/python3.8
$out/bin/arm-none-eabi-gdb-unwrapped
EOF
chmod +x $out/bin/arm-none-eabi-gdb
'';
meta = with lib; { meta = with lib; {
description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors"; description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors";
homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"; homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm";

View File

@ -3,6 +3,8 @@
, fetchurl , fetchurl
, ncurses5 , ncurses5
, python38 , python38
, libxcrypt-legacy
, runtimeShell
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
@ -40,15 +42,26 @@ stdenv.mkDerivation rec {
find $out -type f | while read f; do find $out -type f | while read f; do
patchelf "$f" > /dev/null 2>&1 || continue patchelf "$f" > /dev/null 2>&1 || continue
patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) "$f" || true
patchelf --set-rpath ${lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python38 ]} "$f" || true patchelf --set-rpath ${lib.makeLibraryPath [ "$out" stdenv.cc.cc ncurses5 python38 libxcrypt-legacy ]} "$f" || true
done done
''; '';
postFixup = ''
mv $out/bin/arm-none-eabi-gdb $out/bin/arm-none-eabi-gdb-unwrapped
cat <<EOF > $out/bin/arm-none-eabi-gdb
#!${runtimeShell}
export PYTHONPATH=${python38}/lib/python3.8
export PYTHONHOME=${python38}/bin/python3.8
$out/bin/arm-none-eabi-gdb-unwrapped
EOF
chmod +x $out/bin/arm-none-eabi-gdb
'';
meta = with lib; { meta = with lib; {
description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors"; description = "Pre-built GNU toolchain from ARM Cortex-M & Cortex-R processors";
homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm"; homepage = "https://developer.arm.com/open-source/gnu-toolchain/gnu-rm";
license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ]; license = with licenses; [ bsd2 gpl2 gpl3 lgpl21 lgpl3 mit ];
maintainers = with maintainers; [ prusnak ]; maintainers = with maintainers; [ prusnak prtzl ];
platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ]; platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
sourceProvenance = with sourceTypes; [ binaryNativeCode ]; sourceProvenance = with sourceTypes; [ binaryNativeCode ];
}; };

View File

@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "GNU Common Lisp compiler working via GCC"; description = "GNU Common Lisp compiler working via GCC";
maintainers = [ lib.maintainers.raskin ]; maintainers = lib.teams.lisp.members;
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
}; };
} }

View File

@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "GNU Common Lisp compiler working via GCC"; description = "GNU Common Lisp compiler working via GCC";
maintainers = [ maintainers.raskin ]; maintainers = lib.teams.lisp.members;
license = licenses.gpl2; license = licenses.gpl2;
platforms = platforms.linux; platforms = platforms.linux;
}; };

View File

@ -47,11 +47,11 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "go"; pname = "go";
version = "1.19.7"; version = "1.19.8";
src = fetchurl { src = fetchurl {
url = "https://go.dev/dl/go${version}.src.tar.gz"; url = "https://go.dev/dl/go${version}.src.tar.gz";
hash = "sha256-d1vfKFzqupQNqKL+IBIlAO/XoLZdvO6FJHhUqNdAJjM="; hash = "sha256-HXpnkp3Mr+r4op5VmFvCt4ngSZyxoXEAA58ITjI42i8=";
}; };
strictDeps = true; strictDeps = true;

View File

@ -270,6 +270,7 @@ in stdenv.mkDerivation (rec {
# Disables building of shared libs, -fPIC is still injected by cc-wrapper # Disables building of shared libs, -fPIC is still injected by cc-wrapper
"-DLLVM_ENABLE_PIC=OFF" "-DLLVM_ENABLE_PIC=OFF"
"-DLLVM_BUILD_STATIC=ON" "-DLLVM_BUILD_STATIC=ON"
"-DLLVM_LINK_LLVM_DYLIB=off"
# libxml2 needs to be disabled because the LLVM build system ignores its .la # libxml2 needs to be disabled because the LLVM build system ignores its .la
# file and doesn't link zlib as well. # file and doesn't link zlib as well.
# https://github.com/ClangBuiltLinux/tc-build/issues/150#issuecomment-845418812 # https://github.com/ClangBuiltLinux/tc-build/issues/150#issuecomment-845418812

View File

@ -60,6 +60,6 @@ stdenv.mkDerivation rec {
homepage = "https://common-lisp.net/project/mkcl/"; homepage = "https://common-lisp.net/project/mkcl/";
license = licenses.lgpl2Plus; license = licenses.lgpl2Plus;
platforms = platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ ]; maintainers = lib.teams.lisp.members;
}; };
} }

View File

@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
hash = "sha256-UFqXQBeIQMSV4O439j9s06p1hh7xA98Tu79FsjK9PIY="; hash = "sha256-UFqXQBeIQMSV4O439j9s06p1hh7xA98Tu79FsjK9PIY=";
}; };
strictDeps = true;
nativeBuildInputs = with ocamlPackages; [ nativeBuildInputs = with ocamlPackages; [
ocaml ocaml
]; ];
@ -23,9 +25,7 @@ stdenv.mkDerivation rec {
num num
]; ];
configureFlags = [ "--prefix" "${placeholder "out"}" ]; prefixKey = "-prefix ";
dontAddPrefix = true;
meta = with lib; { meta = with lib; {
description = "ReactiveML: a programming language for implementing interactive systems"; description = "ReactiveML: a programming language for implementing interactive systems";

View File

@ -78,7 +78,7 @@ stdenv.mkDerivation rec {
description = "Lisp compiler"; description = "Lisp compiler";
homepage = "http://www.sbcl.org"; homepage = "http://www.sbcl.org";
license = licenses.publicDomain; # and FreeBSD license = licenses.publicDomain; # and FreeBSD
maintainers = [ maintainers.raskin ]; maintainers = lib.teams.lisp.members;
platforms = attrNames options; platforms = attrNames options;
}; };
} }

View File

@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "ANSI Common Lisp Implementation"; description = "ANSI Common Lisp Implementation";
homepage = "http://clisp.cons.org"; homepage = "http://clisp.cons.org";
maintainers = with lib.maintainers; [ raskin ]; maintainers = lib.teams.lisp.members;
platforms = lib.platforms.unix; platforms = lib.platforms.unix;
# problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062 # problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062
broken = stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isAarch64; broken = stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isAarch64;

View File

@ -91,7 +91,7 @@ stdenv.mkDerivation rec {
meta = { meta = {
description = "ANSI Common Lisp Implementation"; description = "ANSI Common Lisp Implementation";
homepage = "http://clisp.cons.org"; homepage = "http://clisp.cons.org";
maintainers = with lib.maintainers; [ raskin ]; maintainers = lib.teams.lisp.members;
# problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062 # problems on Darwin: https://github.com/NixOS/nixpkgs/issues/20062
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
}; };

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
homepage = "https://cista.rocks"; homepage = "https://cista.rocks";
description = "A simple, high-performance, zero-copy C++ serialization & reflection library"; description = "A simple, high-performance, zero-copy C++ serialization & reflection library";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ candyc1oud ]; maintainers = [];
platforms = platforms.all; platforms = platforms.all;
}; };
} }

View File

@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
description = "A tiny boost library in C++11"; description = "A tiny boost library in C++11";
homepage = "https://github.com/idealvin/coost"; homepage = "https://github.com/idealvin/coost";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ candyc1oud ]; maintainers = [];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "faudio"; pname = "faudio";
version = "23.03"; version = "23.04";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "FNA-XNA"; owner = "FNA-XNA";
repo = "FAudio"; repo = "FAudio";
rev = version; rev = version;
sha256 = "sha256-sQbltmHmScSn5E1tE32uU16JQasjOnLW5N2m6+LC9CI="; sha256 = "sha256-XajCJ8wmKzvLxPaA/SVETRiDM3gcd3NFxmdoz+WzkF8=";
}; };
nativeBuildInputs = [cmake]; nativeBuildInputs = [cmake];

View File

@ -18,6 +18,6 @@ stdenv.mkDerivation rec {
homepage = "https://github.com/Dobiasd/FunctionalPlus"; homepage = "https://github.com/Dobiasd/FunctionalPlus";
license = licenses.boost; license = licenses.boost;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ candyc1oud ]; maintainers = [];
}; };
} }

View File

@ -112,6 +112,6 @@ stdenv.mkDerivation rec {
binaryNativeCode binaryNativeCode
]; ];
license = licenses.bsd3; license = licenses.bsd3;
platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" ]; platforms = [ "x86_64-linux" "aarch64-linux" ];
}; };
} }

View File

@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
homepage = "https://openquantumsafe.org"; homepage = "https://openquantumsafe.org";
license = licenses.mit; license = licenses.mit;
platforms = platforms.all; platforms = platforms.all;
maintainers = with maintainers; [ candyc1oud ]; maintainers = [];
}; };
} }

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
description = "Public domain cross-platform semantic versioning in C99"; description = "Public domain cross-platform semantic versioning in C99";
homepage = "https://github.com/uael/sv"; homepage = "https://github.com/uael/sv";
license = licenses.unlicense; license = licenses.unlicense;
maintainers = with maintainers; [ candyc1oud ]; maintainers = [];
platforms = platforms.unix; platforms = platforms.unix;
}; };
} }

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "ngtcp2"; pname = "ngtcp2";
version = "0.13.0"; version = "0.13.1";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ngtcp2"; owner = "ngtcp2";
repo = "ngtcp2"; repo = "ngtcp2";
rev = "v${version}"; rev = "v${version}";
sha256 = "sha256-rKEF5R1GubgFiblmdTqh26PxTRxIqXUJHxj0Qwd3N00="; sha256 = "sha256-bkTbnf7vyTxA623JVGUgrwAuXK7d8kzijOK1F4Sh4yY=";
}; };
outputs = [ "out" "dev" ]; outputs = [ "out" "dev" ];

View File

@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
homepage = "https://quantlib.org"; homepage = "https://quantlib.org";
platforms = platforms.unix; platforms = platforms.unix;
license = licenses.bsd3; license = licenses.bsd3;
maintainers = with maintainers; [ candyc1oud ]; maintainers = [];
}; };
} }

View File

@ -1,19 +1,23 @@
{ lib, fetchzip }: { lib, stdenvNoCC, fetchurl }:
let stdenvNoCC.mkDerivation rec {
pname = "restinio"; pname = "restinio";
version = "0.6.17"; version = "0.6.17";
in
fetchzip {
name = "${pname}-${version}";
url = "https://github.com/Stiffstream/restinio/releases/download/v.${version}/${pname}-${version}.tar.bz2";
hash = "sha256-8A13r3Qsn5S+kVWLPENoOjqz2tPMxSo6EWBvHG1cTAE=";
stripRoot = false; src = fetchurl {
postFetch = '' url = "https://github.com/Stiffstream/restinio/releases/download/v.${version}/${pname}-${version}.tar.bz2";
hash = "sha256-zqDEaQYZbpfDCyv++/1JV4yfhwqJUB185c05u9N2FCo=";
};
sourceRoot = ".";
installPhase = ''
runHook preInstall
mkdir -p $out/include mkdir -p $out/include
mv $out/restinio-*/dev/restinio $out/include mv restinio-*/dev/restinio $out/include
rm -r $out/restinio-*
runHook postInstall
''; '';
meta = with lib; { meta = with lib; {

View File

@ -0,0 +1,22 @@
{ lib, stdenv, fetchFromGitHub, pkg-config }:
stdenv.mkDerivation rec {
version = "2.11.6";
pname = "coinutils";
src = fetchFromGitHub {
owner = "coin-or";
repo = "CoinUtils";
rev = "releases/${version}";
hash = "sha256-avXp7eKSZ/Fe1QmSJiNDMnPQ70LlOHrBeUYb9lhka8c=";
};
doCheck = true;
meta = with lib; {
license = licenses.epl20;
homepage = "https://github.com/coin-or/CoinUtils";
description = "Collection of classes and helper functions that are generally useful to multiple COIN-OR projects";
maintainers = with maintainers; [ tmarkus ];
};
}

View File

@ -1,19 +1,21 @@
{ stdenv, lib, fetchurl, gfortran, pkg-config { stdenv, lib, fetchFromGitHub, gfortran, pkg-config
, blas, zlib, bzip2 , blas, zlib, bzip2, coin-utils
, withGurobi ? false, gurobi , withGurobi ? false, gurobi
, withCplex ? false, cplex }: , withCplex ? false, cplex }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "osi"; pname = "osi";
version = "0.108.6"; version = "0.108.7";
src = fetchurl { src = fetchFromGitHub {
url = "https://www.coin-or.org/download/source/Osi/Osi-${version}.tgz"; owner = "coin-or";
sha256 = "1n2jlpq4aikbp0ncs16f7q1pj7yk6kny1bh4fmjaqnwrjw63zvsp"; repo = "Osi";
rev = "releases/${version}";
hash = "sha256-MTmt/MgsfEAXor2EZXJX05bQg5oOtMaN7oNxGv2PHJg=";
}; };
buildInputs = buildInputs =
[ blas zlib bzip2 ] [ blas zlib bzip2 coin-utils ]
++ lib.optional withGurobi gurobi ++ lib.optional withGurobi gurobi
++ lib.optional withCplex cplex; ++ lib.optional withCplex cplex;
nativeBuildInputs = [ gfortran pkg-config ]; nativeBuildInputs = [ gfortran pkg-config ];
@ -35,7 +37,7 @@ stdenv.mkDerivation rec {
meta = with lib; { meta = with lib; {
description = "An abstract base class to a generic linear programming (LP) solver"; description = "An abstract base class to a generic linear programming (LP) solver";
homepage = "https://github.com/coin-or/Osi"; homepage = "https://github.com/coin-or/Osi";
license = licenses.epl10; license = licenses.epl20;
platforms = platforms.unix; platforms = platforms.unix;
maintainers = with maintainers; [ abbradar ]; maintainers = with maintainers; [ abbradar ];
}; };

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