Merge staging-next into staging

This commit is contained in:
github-actions[bot] 2024-10-13 00:15:51 +00:00 committed by GitHub
commit bf97df9c1c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
100 changed files with 2454 additions and 1543 deletions

View File

@ -25,6 +25,13 @@ jobs:
steps:
- uses: cachix/install-nix-action@08dcb3a5e62fa31e2da3d490afc4176ef55ecd72 # v30
- uses: cachix/cachix-action@ad2ddac53f961de1989924296a1f236fcfbaa4fc # v15
if: github.repository_owner == 'NixOS'
with:
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
name: nixpkgs-ci
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
# Important: Because we use pull_request_target, this checks out the base branch of the PR, not the PR itself.
# We later build and run code from the base branch with access to secrets,
# so it's important this is not the PRs code.

View File

@ -26,52 +26,22 @@ jobs:
# This should take 1 minute at most, but let's be generous. The default of 6 hours is definitely too long.
timeout-minutes: 10
steps:
# This step has to be in this file, because it's needed to determine which revision of the repository to fetch, and we can only use other files from the repository once it's fetched.
# This checks out the base branch because of pull_request_target
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
with:
path: base
sparse-checkout: ci
- name: Resolving the merge commit
env:
GH_TOKEN: ${{ github.token }}
run: |
# This checks for mergeability of a pull request as recommended in
# https://docs.github.com/en/rest/guides/using-the-rest-api-to-interact-with-your-git-database?apiVersion=2022-11-28#checking-mergeability-of-pull-requests
# Retry the API query this many times
retryCount=5
# Start with 5 seconds, but double every retry
retryInterval=5
while true; do
echo "Checking whether the pull request can be merged"
prInfo=$(gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/"$GITHUB_REPOSITORY"/pulls/${{ github.event.pull_request.number }})
mergeable=$(jq -r .mergeable <<< "$prInfo")
mergedSha=$(jq -r .merge_commit_sha <<< "$prInfo")
if [[ "$mergeable" == "null" ]]; then
if (( retryCount == 0 )); then
echo "Not retrying anymore. It's likely that GitHub is having internal issues: check https://www.githubstatus.com/"
exit 1
else
(( retryCount -= 1 )) || true
# null indicates that GitHub is still computing whether it's mergeable
# Wait a couple seconds before trying again
echo "GitHub is still computing whether this PR can be merged, waiting $retryInterval seconds before trying again ($retryCount retries left)"
sleep "$retryInterval"
(( retryInterval *= 2 )) || true
fi
else
break
fi
done
if [[ "$mergeable" == "true" ]]; then
echo "The PR can be merged, checking the merge commit $mergedSha"
if mergedSha=$(base/ci/get-merge-commit.sh ${{ github.repository }} ${{ github.event.number }}); then
echo "Checking the merge commit $mergedSha"
echo "mergedSha=$mergedSha" >> "$GITHUB_ENV"
else
echo "The PR cannot be merged, it has a merge conflict, skipping the rest.."
echo "Skipping the rest..."
fi
rm -rf base
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
if: env.mergedSha
with:

View File

@ -41,3 +41,58 @@ Why not just build the tooling right from the PRs Nixpkgs version?
- Because it improves security, since we don't have to build potentially untrusted code from PRs.
The tool only needs a very minimal Nix evaluation at runtime, which can work with [readonly-mode](https://nixos.org/manual/nix/stable/command-ref/opt-common.html#opt-readonly-mode) and [restrict-eval](https://nixos.org/manual/nix/stable/command-ref/conf-file.html#conf-restrict-eval).
## `get-merge-commit.sh GITHUB_REPO PR_NUMBER`
Check whether a PR is mergeable and return the test merge commit as
[computed by GitHub](https://docs.github.com/en/rest/guides/using-the-rest-api-to-interact-with-your-git-database?apiVersion=2022-11-28#checking-mergeability-of-pull-requests).
Arguments:
- `GITHUB_REPO`: The repository of the PR, e.g. `NixOS/nixpkgs`
- `PR_NUMBER`: The PR number, e.g. `1234`
Exit codes:
- 0: The PR can be merged, the test merge commit hash is returned on stdout
- 1: The PR cannot be merged because it's not open anymore
- 2: The PR cannot be merged because it has a merge conflict
- 3: The merge commit isn't being computed, GitHub is likely having internal issues, unknown if the PR is mergeable
### Usage
This script can be used in GitHub Actions workflows as follows:
```yaml
on: pull_request_target
# We need a token to query the API, but it doesn't need any special permissions
permissions: {}
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
# Important: Because of `pull_request_target`, this doesn't check out the PR,
# but rather the base branch of the PR, which is needed so we don't run untrusted code
- uses: actions/checkout@<VERSION>
with:
path: base
sparse-checkout: ci
- name: Resolving the merge commit
env:
GH_TOKEN: ${{ github.token }}
run: |
if mergedSha=$(base/ci/get-merge-commit.sh ${{ github.repository }} ${{ github.event.number }}); then
echo "Checking the merge commit $mergedSha"
echo "mergedSha=$mergedSha" >> "$GITHUB_ENV"
else
# Skipping so that no notifications are sent
echo "Skipping the rest..."
fi
rm -rf base
- uses: actions/checkout@<VERSION>
# Add this to _all_ subsequent steps to skip them
if: env.mergedSha
with:
ref: ${{ env.mergedSha }}
- ...
```

62
ci/get-merge-commit.sh Executable file
View File

@ -0,0 +1,62 @@
#!/usr/bin/env bash
# See ./README.md for docs
set -euo pipefail
log() {
echo "$@" >&2
}
if (( $# < 2 )); then
log "Usage: $0 GITHUB_REPO PR_NUMBER"
exit 99
fi
repo=$1
prNumber=$2
# Retry the API query this many times
retryCount=5
# Start with 5 seconds, but double every retry
retryInterval=5
while true; do
log "Checking whether the pull request can be merged"
prInfo=$(gh api \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
"/repos/$repo/pulls/$prNumber")
# Non-open PRs won't have their mergeability computed no matter what
state=$(jq -r .state <<< "$prInfo")
if [[ "$state" != open ]]; then
log "PR is not open anymore"
exit 1
fi
mergeable=$(jq -r .mergeable <<< "$prInfo")
if [[ "$mergeable" == "null" ]]; then
if (( retryCount == 0 )); then
log "Not retrying anymore. It's likely that GitHub is having internal issues: check https://www.githubstatus.com/"
exit 3
else
(( retryCount -= 1 )) || true
# null indicates that GitHub is still computing whether it's mergeable
# Wait a couple seconds before trying again
log "GitHub is still computing whether this PR can be merged, waiting $retryInterval seconds before trying again ($retryCount retries left)"
sleep "$retryInterval"
(( retryInterval *= 2 )) || true
fi
else
break
fi
done
if [[ "$mergeable" == "true" ]]; then
log "The PR can be merged"
jq -r .merge_commit_sha <<< "$prInfo"
else
log "The PR has a merge conflict"
exit 2
fi

View File

@ -18403,6 +18403,18 @@
githubId = 1217934;
name = "José Romildo Malaquias";
};
romner-set = {
email = "admin@cynosure.red";
github = "romner-set";
githubId = 41077433;
name = "romner-set";
keys = [
{
# uploaded to https://keys.openpgp.org
fingerprint = "4B75 244B 0279 9598 FF3B C21F 95FC 58F1 8CFD FAB0";
}
];
};
ronanmacf = {
email = "macfhlar@tcd.ie";
github = "RonanMacF";

View File

@ -26,9 +26,9 @@ in
config = mkIf cfg.enable {
# Module is upstream as of 6.10
boot.extraModulePackages = with config.boot.kernelPackages;
optional (kernelOlder "6.10") ipu6-drivers;
# Module is upstream as of 6.10,
# but still needs various out-of-tree i2c and the `intel-ipu6-psys` kernel driver
boot.extraModulePackages = with config.boot.kernelPackages; [ ipu6-drivers ];
hardware.firmware = with pkgs; [
ipu6-camera-bins

View File

@ -16,7 +16,6 @@ in {
libayatana-common
ubports-click
]) ++ (with pkgs.lomiri; [
content-hub
hfd-service
history-service
libusermetrics
@ -24,6 +23,7 @@ in {
lomiri-calculator-app
lomiri-camera-app
lomiri-clock-app
lomiri-content-hub
lomiri-docviewer-app
lomiri-download-manager
lomiri-filemanager-app
@ -129,7 +129,7 @@ in {
environment.pathsToLink = [
# Configs for inter-app data exchange system
"/share/content-hub/peers"
"/share/lomiri-content-hub/peers"
# Configs for inter-app URL requests
"/share/lomiri-url-dispatcher/urls"
# Splash screens & other images for desktop apps launched via lomiri-app-launch
@ -194,10 +194,6 @@ in {
};
users.groups.usermetrics = { };
# TODO content-hub cannot pass files between applications without asking AA for permissions. And alot of the Lomiri stack is designed with AA availability in mind. This might be a requirement to be closer to upstream?
# But content-hub currently fails to pass files between applications even with AA enabled, and we can get away without AA in many places. Let's see how this develops before requiring this for good.
# security.apparmor.enable = true;
};
meta.maintainers = lib.teams.lomiri.members;

View File

@ -12,9 +12,12 @@ let
RAILS_ENV = "production";
NODE_ENV = "production";
BOOTSNAP_CACHE_DIR="/var/cache/mastodon/precompile";
LD_PRELOAD = "${pkgs.jemalloc}/lib/libjemalloc.so";
# mastodon-web concurrency.
MASTODON_USE_LIBVIPS = "true";
# Concurrency mastodon-web
WEB_CONCURRENCY = toString cfg.webProcesses;
MAX_THREADS = toString cfg.webThreads;
@ -24,7 +27,7 @@ let
DB_NAME = cfg.database.name;
LOCAL_DOMAIN = cfg.localDomain;
SMTP_SERVER = cfg.smtp.host;
SMTP_PORT = toString(cfg.smtp.port);
SMTP_PORT = toString cfg.smtp.port;
SMTP_FROM_ADDRESS = cfg.smtp.fromAddress;
PAPERCLIP_ROOT_PATH = "/var/lib/mastodon/public-system";
PAPERCLIP_ROOT_URL = "/system";
@ -33,12 +36,12 @@ let
TRUSTED_PROXY_IP = cfg.trustedProxy;
}
// lib.optionalAttrs (cfg.redis.host != null) { REDIS_HOST = cfg.redis.host; }
// lib.optionalAttrs (cfg.redis.port != null) { REDIS_PORT = toString(cfg.redis.port); }
// lib.optionalAttrs (cfg.redis.port != null) { REDIS_PORT = toString cfg.redis.port; }
// lib.optionalAttrs (cfg.redis.createLocally && cfg.redis.enableUnixSocket) { REDIS_URL = "unix://${config.services.redis.servers.mastodon.unixSocket}"; }
// lib.optionalAttrs (cfg.database.host != "/run/postgresql" && cfg.database.port != null) { DB_PORT = toString cfg.database.port; }
// lib.optionalAttrs cfg.smtp.authenticate { SMTP_LOGIN = cfg.smtp.user; }
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_HOST = cfg.elasticsearch.host; }
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_PORT = toString(cfg.elasticsearch.port); }
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_PORT = toString cfg.elasticsearch.port; }
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_PRESET = cfg.elasticsearch.preset; }
// lib.optionalAttrs (cfg.elasticsearch.user != null) { ES_USER = cfg.elasticsearch.user; }
// cfg.extraConfig;
@ -51,6 +54,9 @@ let
Group = cfg.group;
# Working directory
WorkingDirectory = cfg.package;
# Cache directory and mode
CacheDirectory = "mastodon";
CacheDirectoryMode = "0750";
# State directory and mode
StateDirectory = "mastodon";
StateDirectoryMode = "0750";
@ -127,7 +133,7 @@ let
description = "Mastodon sidekiq${jobClassLabel}";
wantedBy = [ "mastodon.target" ];
environment = env // {
PORT = toString(cfg.sidekiqPort);
PORT = toString cfg.sidekiqPort;
DB_POOL = threads;
};
serviceConfig = {
@ -309,7 +315,7 @@ in {
Voluntary Application Server Identification. A new keypair can
be generated by running:
`nix build -f '<nixpkgs>' mastodon; cd result; bin/rake webpush:generate_keys`
`nix build -f '<nixpkgs>' mastodon; cd result; RAILS_ENV=production bin/rake webpush:generate_keys`
If {option}`mastodon.vapidPrivateKeyFile`does not
exist, it and this file will be created with a new keypair.
@ -324,12 +330,57 @@ in {
type = lib.types.str;
};
activeRecordEncryptionDeterministicKeyFile = lib.mkOption {
description = ''
This key must be set to enable the Active Record Encryption feature within
Rails that Mastodon uses to encrypt and decrypt some database attributes.
A new Active Record keys can be generated by running:
`nix build -f '<nixpkgs>' mastodon; cd result; RAILS_ENV=production ./bin/rails db:encryption:init`
If this file does not exist, it will be created with a new Active Record
keys.
'';
default = "/var/lib/mastodon/secrets/active-record-encryption-deterministic-key";
type = lib.types.str;
};
activeRecordEncryptionKeyDerivationSaltFile = lib.mkOption {
description = ''
This key must be set to enable the Active Record Encryption feature within
Rails that Mastodon uses to encrypt and decrypt some database attributes.
A new Active Record keys can be generated by running:
`nix build -f '<nixpkgs>' mastodon; cd result; RAILS_ENV=production ./bin/rails db:encryption:init`
If this file does not exist, it will be created with a new Active Record
keys.
'';
default = "/var/lib/mastodon/secrets/active-record-encryption-key-derivation-salt";
type = lib.types.str;
};
activeRecordEncryptionPrimaryKeyFile = lib.mkOption {
description = ''
This key must be set to enable the Active Record Encryption feature within
Rails that Mastodon uses to encrypt and decrypt some database attributes.
A new Active Record keys can be generated by running:
`nix build -f '<nixpkgs>' mastodon; cd result; RAILS_ENV=production ./bin/rails db:encryption:init`
If this file does not exist, it will be created with a new Active Record
keys.
'';
default = "/var/lib/mastodon/secrets/active-record-encryption-primary-key";
type = lib.types.str;
};
secretKeyBaseFile = lib.mkOption {
description = ''
Path to file containing the secret key base.
A new secret key base can be generated by running:
`nix build -f '<nixpkgs>' mastodon; cd result; bin/rake secret`
`nix build -f '<nixpkgs>' mastodon; cd result; bin/bundle exec rails secret`
If this file does not exist, it will be created with a new secret key base.
'';
@ -342,7 +393,7 @@ in {
Path to file containing the OTP secret.
A new OTP secret can be generated by running:
`nix build -f '<nixpkgs>' mastodon; cd result; bin/rake secret`
`nix build -f '<nixpkgs>' mastodon; cd result; bin/bundle exec rails secret`
If this file does not exist, it will be created with a new OTP secret.
'';
@ -708,13 +759,28 @@ in {
script = ''
umask 077
if ! test -d /var/cache/mastodon/precompile; then
${cfg.package}/bin/bundle exec bootsnap precompile --gemfile ${cfg.package}/app ${cfg.package}/lib
fi
if ! test -f ${cfg.activeRecordEncryptionDeterministicKeyFile}; then
mkdir -p $(dirname ${cfg.activeRecordEncryptionDeterministicKeyFile})
bin/rails db:encryption:init | grep --only-matching "ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=[^ ]\+" | sed 's/^ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=//' > ${cfg.activeRecordEncryptionDeterministicKeyFile}
fi
if ! test -f ${cfg.activeRecordEncryptionKeyDerivationSaltFile}; then
mkdir -p $(dirname ${cfg.activeRecordEncryptionKeyDerivationSaltFile})
bin/rails db:encryption:init | grep --only-matching "ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=[^ ]\+" | sed 's/^ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=//' > ${cfg.activeRecordEncryptionKeyDerivationSaltFile}
fi
if ! test -f ${cfg.activeRecordEncryptionPrimaryKeyFile}; then
mkdir -p $(dirname ${cfg.activeRecordEncryptionPrimaryKeyFile})
bin/rails db:encryption:init | grep --only-matching "ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=[^ ]\+" | sed 's/^ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=//' > ${cfg.activeRecordEncryptionPrimaryKeyFile}
fi
if ! test -f ${cfg.secretKeyBaseFile}; then
mkdir -p $(dirname ${cfg.secretKeyBaseFile})
bin/rake secret > ${cfg.secretKeyBaseFile}
bin/bundle exec rails secret > ${cfg.secretKeyBaseFile}
fi
if ! test -f ${cfg.otpSecretFile}; then
mkdir -p $(dirname ${cfg.otpSecretFile})
bin/rake secret > ${cfg.otpSecretFile}
bin/bundle exec rails secret > ${cfg.otpSecretFile}
fi
if ! test -f ${cfg.vapidPrivateKeyFile}; then
mkdir -p $(dirname ${cfg.vapidPrivateKeyFile}) $(dirname ${cfg.vapidPublicKeyFile})
@ -724,6 +790,9 @@ in {
fi
cat > /var/lib/mastodon/.secrets_env <<EOF
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY="$(cat ${cfg.activeRecordEncryptionDeterministicKeyFile})"
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT="$(cat ${cfg.activeRecordEncryptionKeyDerivationSaltFile})"
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY="$(cat ${cfg.activeRecordEncryptionPrimaryKeyFile})"
SECRET_KEY_BASE="$(cat ${cfg.secretKeyBaseFile})"
OTP_SECRET="$(cat ${cfg.otpSecretFile})"
VAPID_PRIVATE_KEY="$(cat ${cfg.vapidPrivateKeyFile})"
@ -802,7 +871,7 @@ in {
description = "Mastodon web";
environment = env // (if cfg.enableUnixSocket
then { SOCKET = "/run/mastodon-web/web.socket"; }
else { PORT = toString(cfg.webPort); }
else { PORT = toString cfg.webPort; }
);
serviceConfig = {
ExecStart = "${cfg.package}/bin/puma -C config/puma.rb";
@ -816,7 +885,7 @@ in {
# System Call Filtering
SystemCallFilter = [ ("~" + lib.concatStringsSep " " systemCallsList) "@chown" "pipe" "pipe2" ];
} // cfgService;
path = with pkgs; [ ffmpeg-headless file imagemagick ];
path = with pkgs; [ ffmpeg-headless file ];
};
systemd.services.mastodon-media-auto-remove = lib.mkIf cfg.mediaAutoRemove.enable {
@ -851,7 +920,7 @@ in {
};
locations."@proxy" = {
proxyPass = (if cfg.enableUnixSocket then "http://unix:/run/mastodon-web/web.socket" else "http://127.0.0.1:${toString(cfg.webPort)}");
proxyPass = (if cfg.enableUnixSocket then "http://unix:/run/mastodon-web/web.socket" else "http://127.0.0.1:${toString cfg.webPort}");
proxyWebsockets = true;
};
@ -903,7 +972,7 @@ in {
inherit (cfg) group;
};
})
(lib.attrsets.setAttrByPath [ cfg.user "packages" ] [ cfg.package pkgs.imagemagick ])
(lib.attrsets.setAttrByPath [ cfg.user "packages" ] [ cfg.package ])
(lib.mkIf (cfg.redis.createLocally && cfg.redis.enableUnixSocket) {${config.services.mastodon.user}.extraGroups = [ "redis-mastodon" ];})
];

View File

@ -853,9 +853,12 @@ in
type = types.bool;
default = false;
description = ''
Resolves domains of proxyPass targets at runtime
and not only at start, you have to set
services.nginx.resolver, too.
Resolves domains of proxyPass targets at runtime and not only at startup.
This can be used as a workaround if nginx fails to start because of not-yet-working DNS.
:::{.warn}
`services.nginx.resolver` must be set for this option to work.
:::
'';
};

View File

@ -141,6 +141,7 @@ let
--absolute-names \
--verbatim-files-from \
--transform 'flags=rSh;s|/nix/store/||' \
--transform 'flags=rSh;s|~nix~case~hack~[[:digit:]]\+||g' \
--files-from ${hostPkgs.closureInfo { rootPaths = [ config.system.build.toplevel regInfo ]; }}/store-paths \
| ${hostPkgs.erofs-utils}/bin/mkfs.erofs \
--quiet \

View File

@ -4,6 +4,52 @@ let
user = "alice";
description = "Alice Foobar";
password = "foobar";
# tmpfiles setup to make OCRing on terminal output more reliable
terminalOcrTmpfilesSetup =
{
pkgs,
lib,
config,
}:
let
white = "255, 255, 255";
black = "0, 0, 0";
colorSection = color: {
Color = color;
Bold = true;
Transparency = false;
};
terminalColors = pkgs.writeText "customized.colorscheme" (
lib.generators.toINI { } {
Background = colorSection white;
Foreground = colorSection black;
Color2 = colorSection black;
Color2Intense = colorSection black;
}
);
terminalConfig = pkgs.writeText "terminal.ubports.conf" (
lib.generators.toINI { } {
General = {
colorScheme = "customized";
fontSize = "16";
fontStyle = "Inconsolata";
};
}
);
confBase = "${config.users.users.${user}.home}/.config";
userDirArgs = {
mode = "0700";
user = user;
group = "users";
};
in
{
"${confBase}".d = userDirArgs;
"${confBase}/terminal.ubports".d = userDirArgs;
"${confBase}/terminal.ubports/customized.colorscheme".L.argument = "${terminalColors}";
"${confBase}/terminal.ubports/terminal.ubports.conf".L.argument = "${terminalConfig}";
};
in
{
greeter = makeTest (
@ -154,47 +200,9 @@ in
};
# Help with OCR
systemd.tmpfiles.settings =
let
white = "255, 255, 255";
black = "0, 0, 0";
colorSection = color: {
Color = color;
Bold = true;
Transparency = false;
};
terminalColors = pkgs.writeText "customized.colorscheme" (
lib.generators.toINI { } {
Background = colorSection white;
Foreground = colorSection black;
Color2 = colorSection black;
Color2Intense = colorSection black;
}
);
terminalConfig = pkgs.writeText "terminal.ubports.conf" (
lib.generators.toINI { } {
General = {
colorScheme = "customized";
fontSize = "16";
fontStyle = "Inconsolata";
};
}
);
confBase = "${config.users.users.${user}.home}/.config";
userDirArgs = {
mode = "0700";
user = user;
group = "users";
};
in
{
"10-lomiri-test-setup" = {
"${confBase}".d = userDirArgs;
"${confBase}/terminal.ubports".d = userDirArgs;
"${confBase}/terminal.ubports/customized.colorscheme".L.argument = "${terminalColors}";
"${confBase}/terminal.ubports/terminal.ubports.conf".L.argument = "${terminalConfig}";
};
};
systemd.tmpfiles.settings = {
"10-lomiri-test-setup" = terminalOcrTmpfilesSetup { inherit pkgs lib config; };
};
};
enableOCR = true;
@ -360,58 +368,20 @@ in
};
variables = {
# So we can test what content-hub is working behind the scenes
CONTENT_HUB_LOGGING_LEVEL = "2";
# So we can test what lomiri-content-hub is working behind the scenes
LOMIRI_CONTENT_HUB_LOGGING_LEVEL = "2";
};
systemPackages = with pkgs; [
# For a convenient way of kicking off content-hub peer collection
lomiri.content-hub.examples
# For a convenient way of kicking off lomiri-content-hub peer collection
lomiri.lomiri-content-hub.examples
];
};
# Help with OCR
systemd.tmpfiles.settings =
let
white = "255, 255, 255";
black = "0, 0, 0";
colorSection = color: {
Color = color;
Bold = true;
Transparency = false;
};
terminalColors = pkgs.writeText "customized.colorscheme" (
lib.generators.toINI { } {
Background = colorSection white;
Foreground = colorSection black;
Color2 = colorSection black;
Color2Intense = colorSection black;
}
);
terminalConfig = pkgs.writeText "terminal.ubports.conf" (
lib.generators.toINI { } {
General = {
colorScheme = "customized";
fontSize = "16";
fontStyle = "Inconsolata";
};
}
);
confBase = "${config.users.users.${user}.home}/.config";
userDirArgs = {
mode = "0700";
user = user;
group = "users";
};
in
{
"10-lomiri-test-setup" = {
"${confBase}".d = userDirArgs;
"${confBase}/terminal.ubports".d = userDirArgs;
"${confBase}/terminal.ubports/customized.colorscheme".L.argument = "${terminalColors}";
"${confBase}/terminal.ubports/terminal.ubports.conf".L.argument = "${terminalConfig}";
};
};
systemd.tmpfiles.settings = {
"10-lomiri-test-setup" = terminalOcrTmpfilesSetup { inherit pkgs lib config; };
};
};
enableOCR = true;
@ -484,9 +454,9 @@ in
# lomiri-terminal-app has a separate VM test to test its basic functionality
# for the LSS content-hub test to work reliably, we need to kick off peer collecting
machine.send_chars("content-hub-test-importer\n")
wait_for_text(r"(/build/source|hub.cpp|handler.cpp|void|virtual|const)") # awaiting log messages from content-hub
# for the LSS lomiri-content-hub test to work reliably, we need to kick off peer collecting
machine.send_chars("lomiri-content-hub-test-importer\n")
wait_for_text(r"(/build/source|hub.cpp|handler.cpp|void|virtual|const)") # awaiting log messages from lomiri-content-hub
machine.send_key("ctrl-c")
# Doing this here, since we need an in-session shell & separately starting a terminal again wastes time
@ -510,7 +480,7 @@ in
wait_for_text("Rotation Lock")
machine.screenshot("settings_open")
# lomiri-system-settings has a separate VM test, only test Lomiri-specific content-hub functionalities here
# lomiri-system-settings has a separate VM test, only test Lomiri-specific lomiri-content-hub functionalities here
# Make fullscreen, can't navigate to Background plugin via keyboard unless window has non-phone-like aspect ratio
toggle_maximise()
@ -536,7 +506,7 @@ in
# Peers should be loaded
wait_for_text("Morph") # or Gallery, but Morph is already packaged
machine.screenshot("settings_content-hub_peers")
machine.screenshot("settings_lomiri-content-hub_peers")
# Select Morph as content source
mouse_click(370, 100)
@ -544,11 +514,11 @@ in
# Expect Morph to be brought into the foreground, with its Downloads page open
wait_for_text("No downloads")
# If content-hub encounters a problem, it may have crashed the original application issuing the request.
# If lomiri-content-hub encounters a problem, it may have crashed the original application issuing the request.
# Check that it's still alive
machine.succeed("pgrep -u ${user} -f lomiri-system-settings")
machine.screenshot("content-hub_exchange")
machine.screenshot("lomiri-content-hub_exchange")
# Testing any more would require more applications & setup, the fact that it's already being attempted is a good sign
machine.send_key("esc")
@ -732,8 +702,17 @@ in
# Help with OCR
fonts.packages = [ pkgs.inconsolata ];
# Non-QWERTY keymap to test keymap patch
services.xserver.xkb.layout = "de";
services.xserver.xkb.layout = lib.strings.concatStringsSep "," [
# Start with a non-QWERTY keymap to test keymap patch
"de"
# Then a QWERTY one to test switching
"us"
];
# Help with OCR
systemd.tmpfiles.settings = {
"10-lomiri-test-setup" = terminalOcrTmpfilesSetup { inherit pkgs lib config; };
};
};
enableOCR = true;
@ -784,6 +763,30 @@ in
machine.send_chars("touch ${pwInput}\n")
machine.wait_for_file("/home/alice/${pwOutput}", 10)
# Issues with this keybind: input leaks to focused surface, may open launcher
# Don't have the keyboard indicator to handle this better
machine.send_key("meta_l-spc")
machine.wait_for_console_text('SET KEYMAP "us"')
# Handle keybind fallout
machine.sleep(10) # wait for everything to settle
machine.send_key("esc") # close launcher in case it was opened
machine.sleep(2) # wait for animation to finish
# Make sure input leaks are gone
machine.send_key("backspace")
machine.send_key("backspace")
machine.send_key("backspace")
machine.send_key("backspace")
machine.send_key("backspace")
machine.send_key("backspace")
machine.send_key("backspace")
machine.send_key("backspace")
machine.send_key("backspace")
machine.send_key("backspace")
machine.send_chars("touch ${pwInput}\n")
machine.wait_for_file("/home/alice/${pwInput}", 10)
machine.send_key("alt-f4")
'';
}

View File

@ -24,6 +24,8 @@ import ./make-test-python.nix ({ pkgs, ... }: {
system.build.privateKey = snakeOilPrivateKey;
system.build.publicKey = snakeOilPublicKey;
# needed to provide STC implementation for target
system.switch.enable = true;
};
target = { nodes, lib, ... }: let

View File

@ -5534,6 +5534,18 @@ final: prev:
meta.homepage = "https://github.com/qnighy/lalrpop.vim/";
};
langmapper-nvim = buildVimPlugin {
pname = "langmapper.nvim";
version = "2024-09-19";
src = fetchFromGitHub {
owner = "Wansmer";
repo = "langmapper.nvim";
rev = "ac74a80cb86e8b51e4a13ccb2ee540d544fe1c62";
sha256 = "1b2sjsi81r7m1pxxkisl4b2w2cag3v2i4andhn89gv6afzakvzka";
};
meta.homepage = "https://github.com/Wansmer/langmapper.nvim/";
};
last256 = buildVimPlugin {
pname = "last256";
version = "2020-12-09";
@ -12954,6 +12966,18 @@ final: prev:
meta.homepage = "https://github.com/junegunn/vim-after-object/";
};
vim-afterglow = buildVimPlugin {
pname = "vim-afterglow";
version = "2024-03-31";
src = fetchFromGitHub {
owner = "danilo-augusto";
repo = "vim-afterglow";
rev = "fe3a0c4d2acf13ed6f7f0f1fede0a2570f13b06e";
sha256 = "0z61jfdhhajw5k7y8msk8nj5nljwygmw3s6vsqq9qgczaixqh968";
};
meta.homepage = "https://github.com/danilo-augusto/vim-afterglow/";
};
vim-agda = buildVimPlugin {
pname = "vim-agda";
version = "2024-05-17";

View File

@ -463,6 +463,7 @@ https://github.com/b3nj5m1n/kommentary/,,
https://github.com/udalov/kotlin-vim/,,
https://github.com/mistweaverco/kulala.nvim/,HEAD,
https://github.com/qnighy/lalrpop.vim/,,
https://github.com/Wansmer/langmapper.nvim/,HEAD,
https://github.com/sk1418/last256/,,
https://github.com/latex-box-team/latex-box/,,
https://github.com/dundalek/lazy-lsp.nvim/,HEAD,
@ -1092,6 +1093,7 @@ https://github.com/MarcWeber/vim-addon-syntax-checker/,,
https://github.com/MarcWeber/vim-addon-toggle-buffer/,,
https://github.com/MarcWeber/vim-addon-xdebug/,,
https://github.com/junegunn/vim-after-object/,,
https://github.com/danilo-augusto/vim-afterglow/,HEAD,
https://github.com/msuperdock/vim-agda/,HEAD,
https://github.com/vim-airline/vim-airline/,,
https://github.com/enricobacis/vim-airline-clock/,,

View File

@ -35,9 +35,12 @@ python3Packages.buildPythonApplication rec {
pygobject3
pycairo
pyxdg
setuptools
dbus-python
];
PYTHONDIR = "${placeholder "out"}/${python3Packages.python.sitePackages}";
dontWrapGApps = true;
# Arguments to be passed to `makeWrapper`, only used by buildPython*

View File

@ -54,11 +54,8 @@ stdenv.mkDerivation {
#!nix-shell -i bash -p curl gnugrep common-updater-scripts
set -x
set -eou pipefail;
url=$(curl -sI "https://discordapp.com/api/download/${
builtins.replaceStrings [ "discord-" "discord" ] [ "" "stable" ] pname
}?platform=osx&format=dmg" | grep -oP 'location: \K\S+')
version=''${url##https://dl*.discordapp.net/apps/osx/}
version=''${version%%/*.dmg}
url=$(curl -sI -o /dev/null -w '%header{location}' "https://discord.com/api/download/${branch}?platform=osx&format=dmg")
version=$(echo $url | grep -oP '/\K(\d+\.){2}\d+')
update-source-version ${lib.optionalString (!stdenv.buildPlatform.isDarwin) "pkgsCross.aarch64-darwin."}${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix --version-key=${branch}
'';
};

View File

@ -2,52 +2,52 @@
let
versions =
if stdenv.hostPlatform.isLinux then {
stable = "0.0.70";
ptb = "0.0.105";
canary = "0.0.492";
development = "0.0.28";
stable = "0.0.71";
ptb = "0.0.110";
canary = "0.0.502";
development = "0.0.30";
} else {
stable = "0.0.318";
ptb = "0.0.133";
canary = "0.0.591";
development = "0.0.49";
stable = "0.0.322";
ptb = "0.0.140";
canary = "0.0.611";
development = "0.0.53";
};
version = versions.${branch};
srcs = rec {
x86_64-linux = {
stable = fetchurl {
url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
hash = "sha256-Ujlewrhbqal97hCG6+Iu+OqntWZJ/oY6ZHeL+HmoU38=";
url = "https://stable.dl2.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
hash = "sha256-PMcavgUhL8c1YFaWsooZObDa7APMqCD1IaysED5fWac=";
};
ptb = fetchurl {
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
hash = "sha256-u/4wWssZxKlHrRW/Vd9pqUfqN2VQGYv1SDktpRsOayM=";
url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
hash = "sha256-NV/0YKn1rG54Zkc9qAmpeb+4YbKjxhjTCdPOd84Lcc8=";
};
canary = fetchurl {
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
hash = "sha256-NjcNgKYm1Twm8nN3sFlZCG/3x5fcSmX7X2On7CeZm0M=";
url = "https://canary.dl2.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
hash = "sha256-2DE7p3eT/mVGC+ejnTcTEhF7sEWyhfUfzj0gYTh+6Dw=";
};
development = fetchurl {
url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
hash = "sha256-326KAuqt3VQSgyJAdsdc7YgrdF3vCVoJoKUCVC2UdaU=";
url = "https://development.dl2.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
hash = "sha256-HxMJQd5fM1VNfrBey4SbnnBkFQYZgbxg4YTy6FIC9Ps=";
};
};
x86_64-darwin = {
stable = fetchurl {
url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
hash = "sha256-Ot6IM6EAg4MQPp0JqvUOZNAor6Nr6luc6pGY+722GMo=";
url = "https://stable.dl2.discordapp.net/apps/osx/${version}/Discord.dmg";
hash = "sha256-RLAdcCcRrUtDSdaj/RdVLJGvufpIjZoMAKxp0Jyu17A=";
};
ptb = fetchurl {
url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
hash = "sha256-FFp6CRgD/kpCVxJ4+es0DaOGaW5v2Aa+lzJdG2Zu8eY=";
url = "https://ptb.dl2.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
hash = "sha256-VGhvykujfzI7jwXE+lHTzqT0t08GaON6gCuf13po7wY=";
};
canary = fetchurl {
url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
hash = "sha256-TIXe8cy6feME0900R5aWyItZfUrUA8zXo0pqwQ79yAM=";
url = "https://canary.dl2.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
hash = "sha256-QC8RANqoyMAGKjTF0NNhz7wMt65D5LI1xYtd++dHXC4=";
};
development = fetchurl {
url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
hash = "sha256-kfHnS1NHuPD7UR7XvMdtY2LPsDRJVQHk7/Nm+cR/KGc=";
url = "https://development.dl2.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
hash = "sha256-DhY8s7Mhzos0ygB/WuoE07WK6hoIh/FcETeIsffw+e0=";
};
};
aarch64-darwin = x86_64-darwin;
@ -78,7 +78,7 @@ let
meta = meta // { mainProgram = value.binaryName; };
}))
{
stable = rec {
stable = {
pname = "discord";
binaryName = "Discord";
desktopName = "Discord";

View File

@ -151,11 +151,8 @@ stdenv.mkDerivation rec {
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p curl gnugrep common-updater-scripts
set -eou pipefail;
url=$(curl -sI "https://discordapp.com/api/download/${
builtins.replaceStrings [ "discord-" "discord" ] [ "" "stable" ] pname
}?platform=linux&format=tar.gz" | grep -oP 'location: \K\S+')
version=''${url##https://dl*.discordapp.net/apps/linux/}
version=''${version%%/*.tar.gz}
url=$(curl -sI -o /dev/null -w '%header{location}' "https://discord.com/api/download/${branch}?platform=linux&format=tar.gz")
version=$(echo $url | grep -oP '/\K(\d+\.){2}\d+')
update-source-version ${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix --version-key=${branch}
'';
};

View File

@ -13,18 +13,19 @@
gtksourceview5,
xdg-utils,
ollama,
vte-gtk4,
}:
python3Packages.buildPythonApplication rec {
pname = "alpaca";
version = "2.0.6";
version = "2.6.0";
pyproject = false; # Built with meson
src = fetchFromGitHub {
owner = "Jeffser";
repo = "Alpaca";
rev = "refs/tags/${version}";
hash = "sha256-4c6pisd3o7mycivHd1QZ2N7s8pYzrQXiZMbVvl5ciPA=";
hash = "sha256-XXxfbchQ1l6L8KflqjlGIiyRbG/dI5ok0ExlROavXYg=";
};
nativeBuildInputs = [
@ -40,6 +41,7 @@ python3Packages.buildPythonApplication rec {
buildInputs = [
libadwaita
gtksourceview5
vte-gtk4
];
dependencies = with python3Packages; [

View File

@ -1,9 +1,9 @@
{
"owner": "advplyr",
"repo": "audiobookshelf",
"rev": "ce213c3d89458baeb77324ce59a5f2137740564e",
"hash": "sha256-7vPhvsjGJQvus5Mmx8543OuBeuPWC/4cLfHHYmN2lnk=",
"version": "2.13.4",
"depsHash": "sha256-1CmtuzE8R6zkb0DT7gt9MrxErAw0mqY2AkJZh3PjuBQ=",
"clientDepsHash": "sha256-BfrVN70i1e4JWELxLS0jliHLfG4/kN8tj8aQOjsnZ/M="
"rev": "cf5598aeb9b086a28e853d6a89b82a7467fd6969",
"hash": "sha256-tObC7QbdwpAlt97eXB9QzZEaQcquuST+8nC6lYEXTUM=",
"version": "2.14.0",
"depsHash": "sha256-nVsmV3Vms2S9oM7duFfgt+go1+wM2JniI8B3UFmv/TE=",
"clientDepsHash": "sha256-oaoGxcMs8XQVaRx8UO9NSThqbHuZsA4fm8OGlSiaKO0="
}

View File

@ -119,6 +119,17 @@ let
overrideAzureMgmtPackage super.azure-mgmt-batchai "7.0.0b1" "zip"
"sha256-mT6vvjWbq0RWQidugR229E8JeVEiobPD3XA/nDM3I6Y=";
azure-mgmt-billing =
(overrideAzureMgmtPackage super.azure-mgmt-billing "6.0.0" "zip"
"sha256-1PXFpBiKRW/h6zK2xF9VyiBpx0vkHrdpIYQLOfL1wH8="
).overridePythonAttrs
(attrs: {
propagatedBuildInputs = attrs.propagatedBuildInputs or [ ] ++ [
self.msrest
self.msrestazure
];
});
# AttributeError: type object 'CustomDomainsOperations' has no attribute 'disable_custom_https'
azure-mgmt-cdn =
overrideAzureMgmtPackage super.azure-mgmt-cdn "12.0.0" "zip"

View File

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec {
pname = "boxbuddy";
version = "2.2.12";
version = "2.2.13";
src = fetchFromGitHub {
owner = "Dvlv";
repo = "BoxBuddyRS";
rev = version;
hash = "sha256-PoPIIwe2SlK/iQTyqIhMG0dRobU98L5hnOciMmi9coo=";
hash = "sha256-47LOwBm7ql3Nvx6PZ2+x5aR9LSpzc8xuixdvKGdNS94=";
};
cargoHash = "sha256-En5TVCW/URJEry4sTd+vdi8K1YO2L0X5pYu/TGsrx6U=";
cargoHash = "sha256-W4W2tnnNgBcGD0/t5pobj4ca/YrRkHE1l5dIVe21KPU=";
# The software assumes it is installed either in flatpak or in the home directory
# so the xdg data path needs to be patched here

View File

@ -1,20 +1,21 @@
{ lib
, config
, fetchFromGitHub
, cmake
, cctools
, libiconv
, llvmPackages
, ninja
, openssl
, python3Packages
, ragel
, yasm
, zlib
, cudaSupport ? config.cudaSupport
, cudaPackages ? {}
, llvmPackages_12
, pythonSupport ? false
{
lib,
config,
fetchFromGitHub,
cmake,
cctools,
libiconv,
llvmPackages,
ninja,
openssl,
python3Packages,
ragel,
yasm,
zlib,
cudaSupport ? config.cudaSupport,
cudaPackages ? { },
llvmPackages_12,
pythonSupport ? false,
}:
let
inherit (llvmPackages) stdenv;
@ -22,13 +23,13 @@ in
stdenv.mkDerivation (finalAttrs: {
pname = "catboost";
version = "1.2.5";
version = "1.2.7";
src = fetchFromGitHub {
owner = "catboost";
repo = "catboost";
rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-2dfCCCa0LheytkLRbYuBd25M320f1kbhBWKIVjslor0=";
hash = "sha256-I3geFdVQ1Pm61eRXi+ueaxel3QRb8EJV9f4zV2Q7kk4=";
};
patches = [
@ -50,33 +51,50 @@ stdenv.mkDerivation (finalAttrs: {
done
'';
outputs = [ "out" "dev" ];
outputs = [
"out"
"dev"
];
nativeBuildInputs = [
cmake
llvmPackages.bintools
ninja
(python3Packages.python.withPackages (ps: with ps; [ six ]))
ragel
yasm
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
cctools
] ++ lib.optionals cudaSupport (with cudaPackages; [
cuda_nvcc
]);
nativeBuildInputs =
[
cmake
llvmPackages.bintools
ninja
(python3Packages.python.withPackages (ps: with ps; [ six ]))
ragel
yasm
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
cctools
]
++ lib.optionals cudaSupport (
with cudaPackages;
[
cuda_nvcc
]
);
buildInputs = [
openssl
zlib
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
libiconv
] ++ lib.optionals cudaSupport (with cudaPackages; [
cuda_cudart
cuda_cccl
libcublas
]);
buildInputs =
[
openssl
zlib
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
libiconv
]
++ lib.optionals cudaSupport (
with cudaPackages;
[
cuda_cudart
cuda_cccl
libcublas
]
);
env = {
PROGRAM_VERSION = finalAttrs.version;
# catboost requires clang 14+ for build, but does clang 12 for cuda build.
# after bumping the default version of llvm, check for compatibility with the cuda backend and pin it.
# see https://catboost.ai/en/docs/installation/build-environment-setup-for-cmake#compilers,-linkers-and-related-tools
@ -112,10 +130,16 @@ stdenv.mkDerivation (finalAttrs: {
library, used for ranking, classification, regression and other machine
learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.
'';
changelog = "https://github.com/catboost/catboost/releases/tag/v${finalAttrs.version}";
license = licenses.asl20;
platforms = platforms.unix;
homepage = "https://catboost.ai";
maintainers = with maintainers; [ PlushBeaver natsukium ];
maintainers = with maintainers; [
PlushBeaver
natsukium
];
mainProgram = "catboost";
# /nix/store/hzxiynjmmj35fpy3jla7vcqwmzj9i449-Libsystem-1238.60.2/include/sys/_types/_mbstate_t.h:31:9: error: unknown type name '__darwin_mbstate_t'
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64;
};
})

View File

@ -1,16 +1,16 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ed6c53b220..5c6fb8f157 100644
index 24ffd1225a..700adcc246 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,7 +29,6 @@ include(cmake/global_flags.cmake)
@@ -39,7 +39,6 @@ include(cmake/global_flags.cmake)
include(cmake/global_vars.cmake)
include(cmake/archive.cmake)
include(cmake/common.cmake)
-include(cmake/conan.cmake)
-include(cmake/conan1_deprecated.cmake)
include(cmake/cuda.cmake)
include(cmake/cython.cmake)
include(cmake/fbs.cmake)
@@ -38,21 +37,6 @@ include(cmake/recursive_library.cmake)
@@ -48,21 +47,6 @@ include(cmake/recursive_library.cmake)
include(cmake/shared_libs.cmake)
include(cmake/swig.cmake)
@ -24,11 +24,16 @@ index ed6c53b220..5c6fb8f157 100644
- BUILD missing
- REMOTE conancenter
- SETTINGS ${settings}
- ENV "CONAN_CMAKE_GENERATOR=${CMAKE_GENERATOR}"
- CONF "tools.cmake.cmaketoolchain:generator=${CMAKE_GENERATOR}"
- ENV "CONAN_CMAKE_GENERATOR=${CMAKE_GENERATOR}"
- CONF "tools.cmake.cmaketoolchain:generator=${CMAKE_GENERATOR}"
- )
-endif()
-
if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA)
include(CMakeLists.linux-x86_64.txt)
elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND HAVE_CUDA)
@@ -93,4 +77,3 @@ elseif (ANDROID AND CMAKE_ANDROID_ARCH STREQUAL "x86")
elseif (ANDROID AND CMAKE_ANDROID_ARCH STREQUAL "x86_64")
include(CMakeLists.android-x86_64.txt)
endif()
-

View File

@ -17,6 +17,7 @@
testers,
wrapGAppsHook4,
xvfb-run,
versionCheckHook,
}:
let
@ -26,21 +27,16 @@ let
self = buildRustPackage' {
pname = "czkawka";
version = "7.0.0";
version = "8.0.0";
src = fetchFromGitHub {
owner = "qarmin";
repo = "czkawka";
rev = self.version;
hash = "sha256-SOWtLmehh1F8SoDQ+9d7Fyosgzya5ZztCv8IcJZ4J94=";
rev = "refs/tags/${self.version}";
hash = "sha256-Uxko2TRIjqQvd7n9C+P7oMUrm3YY5j7TVzvijEjDwOM=";
};
cargoPatches = [
# Updates time and time-macros from Cargo.lock
./0000-time.diff
];
cargoHash = "sha256-cQv8C0P3xizsvnJODkTMJQA98P4nYSCHFT75isJE6es=";
cargoHash = "sha256-DR2JU+QcGWliNoRMjSjJns7FsicpNAX5gTariFuQ/dw=";
nativeBuildInputs = [
gobject-introspection
@ -85,6 +81,13 @@ let
install -Dm444 -t $out/share/metainfo data/com.github.qarmin.czkawka.metainfo.xml
'';
nativeInstallCheckInputs = [
versionCheckHook
];
versionCheckProgram = "${placeholder "out"}/bin/czkawka_cli";
versionCheckProgramArg = [ "--version" ];
doInstallCheck = true;
passthru = {
tests.version = testers.testVersion {
package = self;

View File

@ -6,16 +6,17 @@
, nix
, nixos-install
, coreutils
, testers
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "disko";
version = "1.8.0";
version = "1.8.2";
src = fetchFromGitHub {
owner = "nix-community";
repo = "disko";
rev = "v${finalAttrs.version}";
hash = "sha256-5zShvCy9S4tuISFjNSjb+TWpPtORqPbRZ0XwbLbPLho=";
hash = "sha256-O0QVhsj9I/hmcIqJ4qCqFyzvjYL+dtzJP0C5MFd8O/Y=";
};
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ bash ];
@ -27,7 +28,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
for i in disko disko-install; do
sed -e "s|libexec_dir=\".*\"|libexec_dir=\"$out/share/disko\"|" "$i" > "$out/bin/$i"
chmod 755 "$out/bin/$i"
wrapProgram "$out/bin/$i" --prefix PATH : ${lib.makeBinPath [ nix coreutils nixos-install ]}
wrapProgram "$out/bin/$i" \
--set DISKO_VERSION "${finalAttrs.version}" \
--prefix PATH : ${lib.makeBinPath [ nix coreutils nixos-install ]}
done
runHook postInstall
'';
@ -38,12 +41,15 @@ stdenvNoCC.mkDerivation (finalAttrs: {
$out/bin/disko-install --help
runHook postInstallCheck
'';
passthru.tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
meta = {
homepage = "https://github.com/nix-community/disko";
description = "Declarative disk partitioning and formatting using nix";
license = lib.licenses.mit;
mainProgram = "disko";
maintainers = with lib.maintainers; [ mic92 lassulus ];
maintainers = with lib.maintainers; [ mic92 lassulus iFreilicht ];
platforms = lib.platforms.linux;
};
})

View File

@ -0,0 +1,52 @@
{
lib,
stdenv,
buildGoModule,
fetchFromGitHub,
testers,
harbor-cli,
installShellFiles,
}:
buildGoModule rec {
pname = "harbor-cli";
version = "0.0.1";
src = fetchFromGitHub {
owner = "goharbor";
repo = "harbor-cli";
rev = "v${version}";
hash = "sha256-WSADuhr6p8N0Oh1xIG7yItM6t0EWUiAkzNbdKsSc4WA=";
};
vendorHash = "sha256-UUD9/5+McR1t5oO4/6TSScT7hhSKM0OpBf94LVQG1Pw=";
nativeBuildInputs = [ installShellFiles ];
ldflags = [
"-s"
"-w"
"-X github.com/goharbor/harbor-cli/cmd/harbor/internal/version.Version=${version}"
];
postInstall = lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
installShellCompletion --cmd harbor \
--bash <($out/bin/harbor completion bash) \
--fish <($out/bin/harbor completion fish) \
--zsh <($out/bin/harbor completion zsh)
'';
passthru.tests.version = testers.testVersion {
package = harbor-cli;
command = "harbor version";
};
meta = {
homepage = "https://github.com/goharbor/harbor-cli";
description = "Command-line tool facilitates seamless interaction with the Harbor container registry";
changelog = "https://github.com/goharbor/harbor-cli/releases/tag/v${version}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ aaronjheng ];
mainProgram = "harbor";
};
}

View File

@ -0,0 +1,31 @@
{
lib,
stdenv,
fetchurl,
automake,
libusb1,
}:
stdenv.mkDerivation {
pname = "libphidget22";
version = "0-unstable-2024-04-11";
src = fetchurl {
url = "https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22.tar.gz";
hash = "sha256-mDoYVs0LhBb3+vzKjzYr9EmcrztmA4cy9xh5ONxHaxI=";
};
nativeBuildInputs = [ automake ];
buildInputs = [ libusb1 ];
strictDeps = true;
meta = {
description = "Phidget Inc sensor boards and electronics Library";
homepage = "https://www.phidgets.com/docs/OS_-_Linux";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ mksafavi ];
platforms = lib.platforms.linux;
};
}

View File

@ -0,0 +1,35 @@
{
lib,
stdenv,
fetchurl,
automake,
libusb1,
libphidget22,
}:
stdenv.mkDerivation {
pname = "libphidget22extra";
version = "0-unstable-2024-04-11";
src = fetchurl {
url = "https://cdn.phidgets.com/downloads/phidget22/libraries/linux/libphidget22extra.tar.gz";
hash = "sha256-UD6Crr1dl7c3NOAVNi3xrXJI3OYPLZBJX1MXVvbyEUE=";
};
nativeBuildInputs = [ automake ];
buildInputs = [
libphidget22
libusb1
];
strictDeps = true;
meta = {
description = "Phidget Inc sensor boards and electronics extras library";
homepage = "https://www.phidgets.com/docs/OS_-_Linux";
license = lib.licenses.bsd3;
maintainers = with lib.maintainers; [ mksafavi ];
platforms = lib.platforms.linux;
};
}

View File

@ -15,13 +15,13 @@
stdenv.mkDerivation rec {
pname = "memorado";
version = "0.3";
version = "0.4";
src = fetchFromGitHub {
owner = "wbernard";
repo = "Memorado";
rev = "refs/tags/${version}";
hash = "sha256-bArcYUHSfpjYsySGZco4fmb6bKRFtG6efhzNSqUROX0=";
hash = "sha256-yWu2+VAa5FkpLs/KLI0lcNzFLGN/kiq6frtW8SHN+W4=";
};
nativeBuildInputs = [

View File

@ -8,16 +8,16 @@
buildNpmPackage rec {
pname = "redocly";
version = "1.18.1";
version = "1.25.5";
src = fetchFromGitHub {
owner = "Redocly";
repo = "redocly-cli";
rev = "@redocly/cli@${version}";
hash = "sha256-Y09tGm3Sje8gd+6tUyBTCt7HjL2CQ/vo/ExLDnywvcQ=";
hash = "sha256-pVSmrORa6KcAwllYepwra8QpnlfFoB9+noevLSmoWzY=";
};
npmDepsHash = "sha256-WzMFKMW/YyAH3ZoOeIcXIum15cJmPGp96xSYb9QCaWI=";
npmDepsHash = "sha256-nFRKC3xM+vq9SDeIelUqE/ZSSCSke0G0Qm629/s6WO8=";
npmBuildScript = "prepare";

View File

@ -0,0 +1,126 @@
{
lib,
stdenv,
fetchFromGitHub,
nix-update-script,
cmake,
pkg-config,
check,
openssl,
python3,
subunit,
mbedtls_2,
libpcap,
libnl,
libmnl,
libelf,
dpdk,
jansson,
zlib,
rdma-core,
libbpf,
xdp-tools,
enableDpdk ? true,
enableRdma ? true,
# FIXME: broken: af_xdp plugins - no working libbpf found - af_xdp plugin disabled
enableAfXdp ? false,
}:
let
dpdk' = dpdk.overrideAttrs (old: {
mesonFlags = old.mesonFlags ++ [ "-Denable_driver_sdk=true" ];
});
rdma-core' = rdma-core.overrideAttrs (old: {
cmakeFlags = old.cmakeFlags ++ [
"-DENABLE_STATIC=1"
"-DBUILD_SHARED_LIBS:BOOL=false"
];
});
xdp-tools' = xdp-tools.overrideAttrs (old: {
postInstall = "";
dontDisableStatic = true;
});
in
stdenv.mkDerivation rec {
pname = "vpp";
version = "24.06";
src = fetchFromGitHub {
owner = "FDio";
repo = "vpp";
rev = "v${version}";
hash = "sha256-AbdtH3ha/Bzj9tAkp4OhjRcUZilUEt+At0LukWN2LJU=";
};
postPatch = ''
patchShebangs scripts/
substituteInPlace CMakeLists.txt \
--replace "plugins tools/vppapigen tools/g2 tools/perftool cmake pkg" \
"plugins tools/vppapigen tools/g2 tools/perftool cmake"
'';
preConfigure = ''
echo "${version}-nixos" > scripts/.version
scripts/version
'';
postConfigure = ''
patchShebangs ../tools/
patchShebangs ../vpp-api/
'';
sourceRoot = "source/src";
enableParallelBuilding = true;
env.NIX_CFLAGS_COMPILE = "-Wno-error -Wno-array-bounds -Wno-maybe-uninitialized";
cmakeFlags = [
"-DVPP_PLATFORM=default"
"-DVPP_LIBRARY_DIR=lib"
] ++ lib.optional enableDpdk "-DVPP_USE_SYSTEM_DPDK=ON";
nativeBuildInputs = [
cmake
pkg-config
] ++ lib.optional enableDpdk dpdk' ++ lib.optional enableRdma rdma-core'.dev;
buildInputs =
[
check
openssl
(python3.withPackages (ps: [ ps.ply ]))
subunit # vapi tests
mbedtls_2 # tlsmbed plugin
libpcap # bpf_trace_filter plugin
# linux-cp plugin
libnl
libmnl
]
++ lib.optionals enableDpdk [
# dpdk plugin
libelf
jansson
zlib
]
++ lib.optionals enableAfXdp [
# af_xdp plugin
libelf
libbpf
xdp-tools'
];
passthru.updateScript = nix-update-script { };
meta = {
description = "Fast, scalable layer 2-4 multi-platform network stack running in user space";
homepage = "https://s3-docs.fd.io/vpp/${version}/";
license = [ lib.licenses.asl20 ];
maintainers = with lib.maintainers; [ romner-set ];
mainProgram = "vpp";
platforms = lib.platforms.linux;
};
}

View File

@ -6,12 +6,12 @@
gitUpdater,
nixosTests,
cmake,
content-hub,
exiv2,
gettext,
gst_all_1,
libusermetrics,
lomiri-action-api,
lomiri-content-hub,
lomiri-ui-toolkit,
lomiri-thumbnailer,
pkg-config,
@ -145,9 +145,9 @@ stdenv.mkDerivation (finalAttrs: {
qzxing
# QML
content-hub
libusermetrics
lomiri-action-api
lomiri-content-hub
lomiri-ui-toolkit
lomiri-thumbnailer
qtpositioning
@ -192,7 +192,7 @@ stdenv.mkDerivation (finalAttrs: {
export QML2_IMPORT_PATH=${
listToQtVar qtbase.qtQmlPrefix [
lomiri-ui-toolkit
content-hub
lomiri-content-hub
lomiri-thumbnailer
]
}
@ -203,7 +203,7 @@ stdenv.mkDerivation (finalAttrs: {
ln -s $out/share/lomiri-camera-app/assets/lomiri-camera-app-splash.svg $out/share/lomiri-app-launch/splash/lomiri-camera-app.svg
ln -s $out/share/lomiri-camera-app/assets/lomiri-barcode-reader-app-splash.svg $out/share/lomiri-app-launch/splash/lomiri-barcode-reader-app.svg
install -Dm644 ../camera-contenthub.json $out/share/content-hub/peers/lomiri-camera-app
install -Dm644 ../camera-contenthub.json $out/share/lomiri-content-hub/peers/lomiri-camera-app
'';
dontWrapGApps = true;

View File

@ -6,10 +6,10 @@
gitUpdater,
nixosTests,
cmake,
content-hub,
geonames,
gettext,
libusermetrics,
lomiri-content-hub,
lomiri-sounds,
lomiri-ui-toolkit,
makeWrapper,
@ -124,8 +124,8 @@ stdenv.mkDerivation (finalAttrs: {
qtbase
# QML
content-hub
libusermetrics
lomiri-content-hub
lomiri-ui-toolkit
qtdeclarative
qtmultimedia
@ -172,7 +172,7 @@ stdenv.mkDerivation (finalAttrs: {
export QML2_IMPORT_PATH=${
listToQtVar qtbase.qtQmlPrefix (
[
content-hub
lomiri-content-hub
lomiri-ui-toolkit
qtmultimedia
u1db-qt

View File

@ -7,9 +7,9 @@
gitUpdater,
nixosTests,
cmake,
content-hub,
gettext,
libreoffice-unwrapped,
lomiri-content-hub,
lomiri-ui-toolkit,
pkg-config,
poppler,
@ -21,61 +21,16 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-docviewer-app";
version = "3.0.4";
version = "3.1.0";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/apps/lomiri-docviewer-app";
rev = "v${finalAttrs.version}";
hash = "sha256-xUBE+eSAfG2yMlE/DI+6JHQx+3HiNwtSTv/P4YOAE7Y=";
hash = "sha256-zesBZmaMiMJwHtj3SoaNeHPiM9VNGEa4nTIiG8nskqI=";
};
patches = [
# Remove when version > 3.0.4
(fetchpatch {
name = "0001-lomiri-docviewer-app-Set-gettext-domain.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/8dc2c911817c45451ff341e4ae4b841bcc134945.patch";
hash = "sha256-vP6MYl7qhJzkgtnVelMMIbc0ZkHxC1s3abUXJ2zVi4w=";
})
(fetchpatch {
name = "0002-lomiri-docviewer-app-Install-splash-file.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/ef20bbdd5e80040bf11273a5fc2964400086fdc9.patch";
hash = "sha256-ylPFn53PJRyyzhN1SxtmNFMFeDsV9UxyQhAqULA5PJM=";
})
# Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/72 merged & in release
(fetchpatch {
name = "1001-lomiri-docviewer-app-Stop-using-qt5_use_modules.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/120c81dd71356f2e06ef5c44d114b665236a7382.patch";
hash = "sha256-4VCw90qYnQ/o67ndp9o8h+wUl2IUpmVGb9xyY55AMIQ=";
})
(fetchpatch {
name = "1002-lomiri-docviewer-app-Move-Qt-find_package-to-top-level.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/43ee96a3a33b7a8f04e95f434982bcc60ba4b257.patch";
hash = "sha256-3LggdNo4Yak4SVAD/4/mMCl8PjZy1dIx9i5hKHM5fJU=";
})
# Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/73 merged & in release
(fetchpatch {
name = "1011-lomiri-docviewer-app-Call-i18n-bindtextdomain.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/67599a841917304f76ffa1167a217718542a8b46.patch";
hash = "sha256-nbi3qX14kWtFcXrxAD41IeybDIRTNfUdRgSP1vDI/Hs=";
})
# Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/74 merged & in release
(fetchpatch {
name = "1021-lomiri-docviewer-app-Use-GNUInstallDirs-more-better.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/40a860a118077c05692002db694be77ea62dc5b3.patch";
hash = "sha256-/zhpIdqZ7WsU4tx4/AZs5w8kEopjH2boiHdHaJk5RXk=";
})
# Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/75 merged & in release
(fetchpatch {
name = "1031-lomiri-docviewer-app-Use-BUILD_TESTING.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/6f1eb739a3e0bf0ba847f94f8ea8411e0a385c2d.patch";
hash = "sha256-yVuYG+1JGo/I4TVRZ3UQeO/TJ8GiFO5BJ9Bs7glK7hg=";
})
# Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/76 merged & in release
# fetchpatch2 because there's a file rename
(fetchpatch2 {
@ -84,11 +39,11 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-KdHyKXM0hMMIFkuDn5JZJOEuitWAXT2QQOuR+1AolP0=";
})
# Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/77 merged & in release
# Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/81 merged & in release
(fetchpatch {
name = "1051-lomiri-docviewer-app-Install-content-hub-lomiri-url-dispatcher-files.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/98f5ab9d51ba05e8c3ed1991c0b67d3922b5ba90.patch";
hash = "sha256-JA26ga1CNOdbis87lSzqbUbs94Oc1vlxraXZxx3dsu8=";
name = "1051-lomiri-docviewer-app-XDGify-icon.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/a319e648ba15a7868d9ceb3a77ea15ad196e515b.patch";
hash = "sha256-JMSnN8EyWPHhqHzaJxy3JIhNaOvPLYkVDnNCrPGbO4E=";
})
];
@ -98,7 +53,6 @@ stdenv.mkDerivation (finalAttrs: {
# We don't want absolute paths in desktop files
substituteInPlace data/CMakeLists.txt \
--replace-fail 'ICON "''${DATA_DIR}/''${ICON_FILE}"' 'ICON lomiri-docviewer-app' \
--replace-fail 'SPLASH "''${DATA_DIR}/''${SPLASH_FILE}"' 'SPLASH "lomiri-app-launch/splash/lomiri-docviewer-app.svg"'
'';
@ -118,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: {
qtdeclarative
# QML
content-hub
lomiri-content-hub
lomiri-ui-toolkit
qtsystems
];
@ -133,9 +87,8 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = false;
postInstall = ''
mkdir -p $out/share/{icons/hicolor/scalable/apps,lomiri-app-launch/splash}
mkdir -p $out/share/lomiri-app-launch/splash
ln -s $out/share/{lomiri-docviewer-app/docviewer-app.svg,icons/hicolor/scalable/apps/lomiri-docviewer-app.svg}
ln -s $out/share/{lomiri-docviewer-app/docviewer-app-splash.svg,lomiri-app-launch/splash/lomiri-docviewer-app.svg}
'';

View File

@ -2,13 +2,12 @@
stdenv,
lib,
fetchFromGitLab,
fetchpatch,
gitUpdater,
nixosTests,
biometryd,
cmake,
content-hub,
gettext,
lomiri-content-hub,
lomiri-thumbnailer,
lomiri-ui-extras,
lomiri-ui-toolkit,
@ -22,65 +21,22 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-filemanager-app";
version = "1.0.4";
version = "1.1.2";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/apps/lomiri-filemanager-app";
rev = "v${finalAttrs.version}";
hash = "sha256-vjGCTfXoqul1S7KUJXG6JwgZOc2etXWsdKbyQ/V3abA=";
hash = "sha256-XA1Gdb0Kpc3BEifmgHhQ38moKkCkYbhpr8wptnddZlk=";
};
patches = [
# This sets the *wrong* domain, but at least it sets *some* domain.
# Remove when version > 1.0.4
(fetchpatch {
name = "0001-lomiri-filemanager-app-Set-a-gettext-domain.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/b310434d2c25a3b446d3d975f3755eb473a833e8.patch";
hash = "sha256-gzFFzZCIxedMGW4fp6sonnHj/HmwqdqU5fvGhXUsSOI=";
})
# Set the *correct* domain.
# Remove when version > 1.0.4
(fetchpatch {
name = "0002-lomiri-filemanager-app-Fix-gettext-domain.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/2bb19aeef2baba8d12df1e4976becc08d7cf341d.patch";
hash = "sha256-wreOMMvBjf316N/XJv3VfI5f5N/VFiEraeadtgRStjA=";
})
# Bind domain to locale dir
# Remove when https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/merge_requests/112 merged & in release
(fetchpatch {
name = "0003-lomiri-filemanager-app-Call-i18n.bindtextdomain.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/ac0ab681c52c691d464cf94707b013b39675ad2d.patch";
hash = "sha256-mwpcHwMT2FcNC6KIZNuSWU/bA8XP8rEQKHn7t5m6npM=";
})
# Stop using deprecated qt5_use_modules
# Remove when https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/merge_requests/113 merged & in release
(fetchpatch {
name = "0004-lomiri-filemanager-app-Stop-using-qt5_use_modules.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/c2bfe927b16e660bf4730371b1e61e442e034780.patch";
hash = "sha256-wPOZP2FOaacEGj4SMS5Q/TO+/L11Qz7NTux4kA86Bcs=";
})
# Use pkg-config for smbclient flags
# Remove when https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/merge_requests/115 merged & in release
(fetchpatch {
name = "0005-lomiri-filemanager-app-Get-smbclient-flags-via-pkg-config.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/aa791da5999719724e0b0592765e8fa2962305c6.patch";
hash = "sha256-fFAYKBR28ym/n7fhP9O6VE2owarLxK8cN9QeExHFbtU=";
})
];
postPatch = ''
# Use correct QML install path, don't pull in autopilot test code (we can't run that system)
# Remove absolute paths from desktop file, https://github.com/NixOS/nixpkgs/issues/308324
substituteInPlace CMakeLists.txt \
--replace-fail 'qmake -query QT_INSTALL_QML' 'echo ${placeholder "out"}/${qtbase.qtQmlPrefix}' \
--replace-fail 'add_subdirectory(tests)' '#add_subdirectory(tests)' \
--replace-fail 'ICON ''${CMAKE_INSTALL_PREFIX}/''${DATA_DIR}/''${ICON_FILE}' 'ICON lomiri-filemanager-app' \
--replace-fail 'SPLASH ''${CMAKE_INSTALL_PREFIX}/''${DATA_DIR}/''${SPLASH_FILE}' 'SPLASH lomiri-app-launch/splash/lomiri-filemanager-app.svg'
--replace-fail 'SPLASH ''${DATA_DIR}/''${SPLASH_FILE}' 'SPLASH lomiri-app-launch/splash/lomiri-filemanager-app.svg'
# In case this ever gets run, at least point it to a correct-ish path
substituteInPlace tests/autopilot/CMakeLists.txt \
@ -103,7 +59,7 @@ stdenv.mkDerivation (finalAttrs: {
# QML
biometryd
content-hub
lomiri-content-hub
lomiri-thumbnailer
lomiri-ui-extras
lomiri-ui-toolkit
@ -117,14 +73,6 @@ stdenv.mkDerivation (finalAttrs: {
# No tests we can actually run (just autopilot)
doCheck = false;
postInstall = ''
# Some misc files don't get installed to the correct paths for us
mkdir -p $out/share/{content-hub/peers,icons/hicolor/scalable/apps,lomiri-app-launch/splash}
ln -s $out/share/lomiri-filemanager-app/content-hub.json $out/share/content-hub/peers/lomiri-filemanager-app
ln -s $out/share/lomiri-filemanager-app/filemanager.svg $out/share/icons/hicolor/scalable/apps/lomiri-filemanager-app.svg
ln -s $out/share/lomiri-filemanager-app/splash.svg $out/share/lomiri-app-launch/splash/lomiri-filemanager-app.svg
'';
passthru = {
tests.vm = nixosTests.lomiri-filemanager-app;
updateScript = gitUpdater { rev-prefix = "v"; };

View File

@ -6,11 +6,11 @@
gitUpdater,
nixosTests,
cmake,
content-hub,
exiv2,
imagemagick,
libglvnd,
libmediainfo,
lomiri-content-hub,
lomiri-thumbnailer,
lomiri-ui-extras,
lomiri-ui-toolkit,
@ -25,79 +25,30 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-gallery-app";
version = "3.0.2";
version = "3.1.0";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/apps/lomiri-gallery-app";
rev = "v${finalAttrs.version}";
hash = "sha256-nX9dTL4W0WxrwvszGd4AUIx4yUrghMM7ZMtGZLhZE/8=";
hash = "sha256-uKGPic9XYUj0rLA05i6GjLM+n17MYgiFJMWnLXHKmIU=";
};
patches = [
# Remove when version > 3.0.2
(fetchpatch {
name = "0001-lomiri-gallery-app-Newer-Evix2-compat.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/afa019b5e9071fbafaa9afb3b4effdae6e0774c5.patch";
hash = "sha256-gBc++6EQ7t3VcBZTknkIpC0bJ/P15oI+G0YoQWtjnSY=";
})
# Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/147 merged & in release
(fetchpatch {
name = "0002-lomiri-gallery-app-Stop-using-qt5_use_modules.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/0149c8d422c3e0889d7d523789dc65776a52c4f9.patch";
hash = "sha256-jS81F7KNbAn5J8sDDXzhXARNYAu6dEKcbNHpHp/3MaI=";
})
# Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/148 merged & in release
(fetchpatch {
name = "0003-lomiri-gallery-app-Fix-GNUInstallDirs.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/805121b362a9b486094e570053884b9ffa92b152.patch";
hash = "sha256-fyAqKjZ0g7Sw7fWP1IW4SpZ+g0xi/pH6RJie1K3doP0=";
})
# Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/149 merged & in release
(fetchpatch {
name = "0004-lomiri-gallery-app-Fix-icons.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/906966536363e80fe9906dee935d991955e8f842.patch";
hash = "sha256-LJ+ILhokceXFUvP/G1BEBE/J1/XUAmNBxu551x0Q6nk=";
})
# Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/150 merged & in release
(fetchpatch {
name = "0005-lomiri-gallery-app-Add-ENABLE_WERROR.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/fe32a3453b88cc3563e53ab124f669ce307e9688.patch";
hash = "sha256-nFCtY3857D5e66rIME+lj6x4exEfx9D2XGEgyWhemgI=";
})
# Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/151 merged & in release
(fetchpatch {
name = "0006-lomiri-gallery-app-BUILD_TESTING.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/51f3d5e643db5576b051da63c58ba3492c851e44.patch";
hash = "sha256-5aGx2xfCDgq/khgkzGsvUOmTIYALjyfn6W7IR5dldr8=";
})
(fetchpatch {
name = "0007-lomiri-gallery-app-Top-level-Qt5Test.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/c308c689c2841d71554ff6397a110d1a12016b70.patch";
hash = "sha256-fXVOKjnj4EPeby9iEp3mZRqx9MLqdF8SUVEouCkyDRc=";
})
# Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/152 merged & in release
(fetchpatch {
name = "0008-lomiri-gallery-app-bindtextdomain.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/90a79972741ee0c5dc734dba6c42afeb3ee6a699.patch";
hash = "sha256-YAmH0he5/rZYKWFyPzUFAKJuHhUTxB3q8zbLL7Spz/c=";
name = "0001-lomiri-gallery-app-bindtextdomain.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/592eff118cb5056886b73e6698f8941c7a16f2e0.patch";
hash = "sha256-aR/Lnzvq4RuRLI75mMd4xTGMAcijm1adSAGVFZZ++No=";
})
(fetchpatch {
name = "0002-lomiri-gallery-app-C++ify-i18n.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/a7582abbe0acef4d49c77a4395bc22dbd1707ef3.patch";
hash = "sha256-qzqTXqIYX+enoOwwV9d9fxe7tVYLuh1WkL8Ij/Qx0H0=";
})
];
postPatch = ''
# 0003-lomiri-gallery-app-Fix-icons.patch cannot be fully applied via patches due to binary diffs
# Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/149 merged & in release
for size in 64x64 128x128 256x256; do
rm desktop/icons/hicolor/"$size"/apps/gallery-app.png
magick desktop/lomiri-gallery-app.svg -resize "$size" desktop/icons/hicolor/"$size"/apps/lomiri-gallery-app.png
done
# Make splash path in desktop file relative
substituteInPlace desktop/lomiri-gallery-app.desktop.in.in \
--replace-fail 'X-Lomiri-Splash-Image=@SPLASH@' 'X-Lomiri-Splash-Image=lomiri-app-launch/splash/lomiri-gallery-app.svg'
@ -130,7 +81,7 @@ stdenv.mkDerivation (finalAttrs: {
qtsvg
# QML
content-hub
lomiri-content-hub
lomiri-thumbnailer
lomiri-ui-extras
lomiri-ui-toolkit
@ -164,9 +115,6 @@ stdenv.mkDerivation (finalAttrs: {
# Link splash to splash dir
mkdir -p $out/share/lomiri-app-launch/splash
ln -s $out/share/{lomiri-gallery-app/lomiri-gallery-app-splash.svg,lomiri-app-launch/splash/lomiri-gallery-app.svg}
# Old name
mv $out/share/content-hub/peers/{,lomiri-}gallery-app
'';
passthru = {

View File

@ -9,7 +9,6 @@
biometryd,
cmake,
cmake-extras,
content-hub,
dbus,
deviceinfo,
geonames,
@ -24,6 +23,7 @@
libqofono,
libqtdbustest,
libqtdbusmock,
lomiri-content-hub,
lomiri-indicator-network,
lomiri-schemas,
lomiri-settings-components,
@ -122,8 +122,8 @@ stdenv.mkDerivation (finalAttrs: {
propagatedBuildInputs = [
ayatana-indicator-datetime
biometryd
content-hub
libqofono
lomiri-content-hub
lomiri-indicator-network
lomiri-schemas
lomiri-settings-components

View File

@ -1,7 +1,6 @@
{ stdenv
, lib
, fetchFromGitLab
, fetchpatch
, gitUpdater
, nixosTests
, cmake
@ -18,41 +17,15 @@
stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-terminal-app";
version = "2.0.2";
version = "2.0.3";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/apps/lomiri-terminal-app";
rev = "v${finalAttrs.version}";
hash = "sha256-mXbPmVcl5dL78QUp+w3o4im5ohUQCPTKWLSVqlNO0yo=";
hash = "sha256-374ATxF+XhoALzYv6DEyj6IYgb82Ch4zcmqK0RXmlzI=";
};
patches = [
# Stop usage of private qt5_use_modules function, seemingly unavailable in this package
# Remove when https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/merge_requests/103 merged & in release
(fetchpatch {
name = "0001-lomiri-terminal-app-Stop-using-qt5_use_modules.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/commit/db210c74e771a427066aebdc3a99cab6e782d326.patch";
hash = "sha256-op4+/eo8rBRMcW6MZ0rOEFReM7JBCck1B+AsgAPyqAI=";
})
# Explicitly bind textdomain, don't rely on hacky workaround in LUITK
# Remove when https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/merge_requests/104 merged & in release
(fetchpatch {
name = "0002-lomiri-terminal-app-Call-i18n.bindtextdomain.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/commit/7f9d419e29043f0d0922d2ac1dce5673e2723a01.patch";
hash = "sha256-HfIvGVbIdTasoHAfHysnzFLufQQ4lskym5HTekH+mjk=";
})
# Add more & correct existing usage of GNUInstallDirs variables
# Remove when https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/merge_requests/105 merged & in release
(fetchpatch {
name = "0003-lomiri-terminal-app-GNUInstallDirs-usage.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/commit/fcde1f05bb442c74b1dff95917fd7594f26e97a7.patch";
hash = "sha256-umxCMGNjyz0TVmwH0Gl0MpgjLQtkW9cHkUfpNJcoasE=";
})
];
postPatch = ''
substituteInPlace CMakeLists.txt \
--replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"

View File

@ -5,10 +5,10 @@
, gitUpdater
, nixosTests
, cmake
, content-hub
, gettext
, libapparmor
, lomiri-action-api
, lomiri-content-hub
, lomiri-ui-extras
, lomiri-ui-toolkit
, pkg-config
@ -27,23 +27,16 @@ let
in
stdenv.mkDerivation (finalAttrs: {
pname = "morph-browser";
version = "1.1.0";
version = "1.1.1";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/morph-browser";
rev = finalAttrs.version;
hash = "sha256-C5iXv8VS8Mm1ryxK7Vi5tVmiM01OSIFiTyH0vP9B/xA=";
hash = "sha256-VxSADFTlaxQUDc81TzGkx54mjAUgY2L+suQC9zYGKo0=";
};
patches = [
# Remove when https://gitlab.com/ubports/development/core/morph-browser/-/merge_requests/575 merged & in release
(fetchpatch {
name = "0001-morph-browser-tst_SessionUtilsTests-Set-permissions-on-temporary-xdg-runtime-directory.patch";
url = "https://gitlab.com/ubports/development/core/morph-browser/-/commit/e90206105b8b287fbd6e45ac37ca1cd259981928.patch";
hash = "sha256-5htFn+OGVVBn3mJQaZcF5yt0mT+2QRlKyKFesEhklfA=";
})
# Remove when https://gitlab.com/ubports/development/core/morph-browser/-/merge_requests/576 merged & in release
(fetchpatch {
name = "0002-morph-browser-Call-i18n-bindtextdomain-with-buildtime-determined-locale-path.patch";
@ -84,8 +77,8 @@ stdenv.mkDerivation (finalAttrs: {
qtwebengine
# QML
content-hub
lomiri-action-api
lomiri-content-hub
lomiri-ui-extras
lomiri-ui-toolkit
qqc2-suru-style
@ -132,7 +125,8 @@ stdenv.mkDerivation (finalAttrs: {
standalone = nixosTests.morph-browser;
# Lomiri-specific issues with the desktop file may break the entire session, make sure it still works
lomiri = nixosTests.lomiri;
lomiri-basics = nixosTests.lomiri.desktop-basics;
lomiri-appinteractions = nixosTests.lomiri.desktop-appinteractions;
};
};

View File

@ -7,8 +7,8 @@
gitUpdater,
nixosTests,
cmake,
content-hub,
intltool,
lomiri-content-hub,
lomiri-indicator-network,
lomiri-push-qml,
lomiri-thumbnailer,
@ -84,7 +84,7 @@ stdenv.mkDerivation (finalAttrs: {
];
buildInputs = [
content-hub
lomiri-content-hub
lomiri-indicator-network
lomiri-push-qml
lomiri-thumbnailer
@ -102,10 +102,10 @@ stdenv.mkDerivation (finalAttrs: {
];
postInstall = ''
mkdir -p $out/share/{applications,content-hub/peers,icons/hicolor/scalable/apps,lomiri-app-launch/splash,lomiri-url-dispatcher/urls}
mkdir -p $out/share/{applications,lomiri-content-hub/peers,icons/hicolor/scalable/apps,lomiri-app-launch/splash,lomiri-url-dispatcher/urls}
ln -s $out/share/teleports/teleports.desktop $out/share/applications/teleports.desktop
ln -s $out/share/teleports/teleports.content-hub $out/share/content-hub/peers/teleports
ln -s $out/share/teleports/teleports.content-hub $out/share/lomiri-content-hub/peers/teleports
ln -s $out/share/teleports/assets/icon.svg $out/share/icons/hicolor/scalable/apps/teleports.svg
ln -s $out/share/teleports/assets/splash.svg $out/share/lomiri-app-launch/splash/teleports.svg
ln -s $out/share/teleports/teleports.url-dispatcher $out/share/lomiri-url-dispatcher/urls/teleports.url-dispatcher

View File

@ -56,7 +56,7 @@ let
#### Services
biometryd = callPackage ./services/biometryd { };
content-hub = callPackage ./services/content-hub { };
lomiri-content-hub = callPackage ./services/lomiri-content-hub { };
hfd-service = callPackage ./services/hfd-service { };
history-service = callPackage ./services/history-service { };
lomiri-download-manager = callPackage ./services/lomiri-download-manager { };
@ -70,5 +70,6 @@ let
in
lib.makeScope libsForQt5.newScope packages
// lib.optionalAttrs config.allowAliases {
content-hub = lib.warn "`content-hub` was renamed to `lomiri-content-hub`." pkgs.lomiri.lomiri-content-hub; # Added on 2024-09-11
lomiri-system-settings-security-privacy = lib.warn "`lomiri-system-settings-security-privacy` upstream was merged into `lomiri-system-settings`. Please use `pkgs.lomiri.lomiri-system-settings-unwrapped` if you need to directly access the plugins that belonged to this project." pkgs.lomiri.lomiri-system-settings-unwrapped; # Added on 2024-08-08
}

View File

@ -1,25 +1,26 @@
{ stdenv
, lib
, fetchFromGitLab
, fetchpatch
, gitUpdater
, testers
, cmake
, dbus-test-runner
, pkg-config
, qtbase
, qtdeclarative
{
stdenv,
lib,
fetchFromGitLab,
fetchpatch,
gitUpdater,
testers,
cmake,
dbus-test-runner,
pkg-config,
qtbase,
qtdeclarative,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "u1db-qt";
version = "0.1.7";
version = "0.1.8";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/u1db-qt";
rev = finalAttrs.version;
hash = "sha256-qlWkxpiVEUbpsKhzR0s7SKaEFCLM2RH+v9XmJ3qLoGY=";
hash = "sha256-KmAEgnWHY0cDKJqRhZpY0fzVjNlEU67e559XEbAPpJI=";
};
outputs = [
@ -29,12 +30,11 @@ stdenv.mkDerivation (finalAttrs: {
];
patches = [
# Fixes some issues with the pkg-config file
# Remove when https://gitlab.com/ubports/development/core/u1db-qt/-/merge_requests/7 merged & in release
# Remove when https://gitlab.com/ubports/development/core/u1db-qt/-/merge_requests/8 merged & in release
(fetchpatch {
name = "0001-u1db-qt-Fix-pkg-config-files-includedir-variable.patch";
url = "https://gitlab.com/ubports/development/core/u1db-qt/-/commit/ddafbfadfad6dfc508a866835354a4701dda1fe1.patch";
hash = "sha256-entwjU9TiHuSuht7Cdl0k1v0cP7350a04/FXgTVhGmk=";
name = "0001-u1db-qt-Use-BUILD_TESTING.patch";
url = "https://gitlab.com/ubports/development/core/u1db-qt/-/commit/df5d526df26c056d54bfa532a3a3fa025d655690.patch";
hash = "sha256-CILMcvqXrTbEL/N2Tic4IsKLnTtmFJ2QbV3r4PsQ5t0=";
})
];
@ -48,10 +48,6 @@ stdenv.mkDerivation (finalAttrs: {
# For our automatic pkg-config output patcher to work, prefix must be used here
substituteInPlace libu1db-qt.pc.in \
--replace-fail 'libdir=''${exec_prefix}/lib' 'libdir=''${prefix}/lib'
'' + lib.optionalString (!finalAttrs.finalPackage.doCheck) ''
# Other locations add dependencies to custom check target from tests
substituteInPlace CMakeLists.txt \
--replace-fail 'add_subdirectory(tests)' 'add_custom_target(check COMMAND "echo check dummy")'
'';
strictDeps = true;
@ -67,9 +63,7 @@ stdenv.mkDerivation (finalAttrs: {
qtdeclarative
];
nativeCheckInputs = [
dbus-test-runner
];
nativeCheckInputs = [ dbus-test-runner ];
cmakeFlags = [
# Needs qdoc, see https://github.com/NixOS/nixpkgs/pull/245379
@ -104,14 +98,12 @@ stdenv.mkDerivation (finalAttrs: {
updateScript = gitUpdater { };
};
meta = with lib; {
meta = {
description = "Qt5 binding and QtQuick2 plugin for U1DB";
homepage = "https://gitlab.com/ubports/development/core/u1db-qt";
license = licenses.lgpl3Only;
maintainers = teams.lomiri.members;
platforms = platforms.linux;
pkgConfigModules = [
"libu1db-qt5"
];
license = lib.licenses.lgpl3Only;
maintainers = lib.teams.lomiri.members;
platforms = lib.platforms.linux;
pkgConfigModules = [ "libu1db-qt5" ];
};
})

View File

@ -1,29 +1,28 @@
{ stdenv
, lib
, fetchFromGitLab
, gitUpdater
, qmake
, qtdeclarative
, qtquickcontrols2
{
stdenv,
lib,
fetchFromGitLab,
gitUpdater,
qmake,
qtdeclarative,
qtquickcontrols2,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "qqc2-suru-style";
version = "0.20230206";
version = "0.20230630";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/qqc2-suru-style";
rev = finalAttrs.version;
hash = "sha256-ZLPuXnhlR1IDhGnprcdWHLnOeS6ZzVkFhQML0iKMjO8=";
rev = "refs/tags/${finalAttrs.version}";
hash = "sha256-kAgHsNWwUWxHg26bTMmlq8m9DR4+ob4pl/oUX7516hM=";
};
# QMake can't find Qt modules from buildInputs
strictDeps = false;
nativeBuildInputs = [
qmake
];
nativeBuildInputs = [ qmake ];
buildInputs = [
qtdeclarative
@ -34,12 +33,16 @@ stdenv.mkDerivation (finalAttrs: {
passthru.updateScript = gitUpdater { };
meta = with lib; {
meta = {
description = "Suru Style for QtQuick Controls 2";
homepage = "https://gitlab.com/ubports/development/core/qqc2-suru-style";
changelog = "https://gitlab.com/ubports/development/core/qqc2-suru-style/-/blob/${finalAttrs.version}/ChangeLog";
license = with licenses; [ gpl2Plus lgpl3Only cc-by-sa-30 ];
maintainers = teams.lomiri.members;
platforms = platforms.unix;
license = with lib.licenses; [
gpl2Plus
lgpl3Only
cc-by-sa-30
];
maintainers = lib.teams.lomiri.members;
platforms = lib.platforms.unix;
};
})

View File

@ -1,8 +1,6 @@
{ stdenv
, lib
, fetchFromGitLab
, fetchpatch
, fetchpatch2
, gitUpdater
, testers
, cmake
@ -30,14 +28,14 @@
}:
stdenv.mkDerivation (finalAttrs: {
pname = "content-hub";
version = "1.1.1";
pname = "lomiri-content-hub";
version = "2.0.0";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/content-hub";
repo = "development/core/lomiri-content-hub";
rev = finalAttrs.version;
hash = "sha256-sQeyJV+Wc6PHKGIefl/dfU06XqTdICsn+Xamjx3puiI=";
hash = "sha256-eA5oCoAZB7fWyWm0Sy6wXh0EW+h76bdfJ2dotr7gUC0=";
};
outputs = [
@ -46,44 +44,6 @@ stdenv.mkDerivation (finalAttrs: {
"examples"
];
patches = [
# Remove when version > 1.1.1
(fetchpatch {
name = "0001-content-hub-Migrate-to-GetConnectionCredentials.patch";
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/9ec9df32f77383eec7994d8e3e6961531bc8464d.patch";
hash = "sha256-14dZosMTMa1FDGEMuil0r1Hz6vn+L9XC83NMAqC7Ol8=";
})
# Remove when https://gitlab.com/ubports/development/core/content-hub/-/merge_requests/34 merged & in release
(fetchpatch {
name = "0002-content-hub-import-Lomiri-Content-CMakeLists-Drop-qt-argument-to-qmlplugindump.patch";
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/63a4baf1469de31c4fd50c69ed85d061f5e8e80a.patch";
hash = "sha256-T+6T9lXne6AhDFv9d7L8JNwdl8f0wjDmvSoNVPkHza4=";
})
# Remove when version > 1.1.1
# fetchpatch2 due to renames, https://github.com/NixOS/nixpkgs/issues/32084
(fetchpatch2 {
name = "0003-content-hub-Add-more-better-GNUInstallDirs-variables-usage.patch";
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/3c5ca4a8ec125e003aca78c14521b70140856c25.patch";
hash = "sha256-kYN0eLwMyM/9yK+zboyEsoPKZMZ4SCXodVYsvkQr2F8=";
})
# Remove when version > 1.1.1
(fetchpatch {
name = "0004-content-hub-Fix-generation-of-transfer_files-and-moc_test_harness.patch";
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/68899c75e77e1f34176b8a550d52794413e5070f.patch";
hash = "sha256-HAxePnzY/cL2c+o+Aw2N1pdr8rsbHGmRsH2EQkrBcHg=";
})
# Remove when https://gitlab.com/ubports/development/core/lomiri-content-hub/-/merge_requests/40 merged & in release
(fetchpatch {
name = "0006-content-hub-Fix-AppArmor-less-transfer.patch";
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/b58e5c8babf00ad7c402555c96254ce0165adb9e.patch";
hash = "sha256-a7x/0NiUBmmFlq96jkHyLCL0f5NIFh5JR/H+FQ/2GqI=";
})
];
postPatch = ''
substituteInPlace import/*/Content/CMakeLists.txt \
--replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
@ -163,7 +123,7 @@ stdenv.mkDerivation (finalAttrs: {
moveToOutput share/applications/$exampleExe.desktop $examples
done
moveToOutput share/icons $examples
moveToOutput share/content-hub/peers $examples
moveToOutput share/lomiri-content-hub/peers $examples
'';
postFixup = ''
@ -178,20 +138,20 @@ stdenv.mkDerivation (finalAttrs: {
};
meta = {
description = "Content sharing/picking service";
description = "Content sharing/picking service for the Lomiri desktop";
longDescription = ''
content-hub is a mediation service to let applications share content between them,
lomiri-content-hub is a mediation service to let applications share content between them,
even if they are not running at the same time.
'';
homepage = "https://gitlab.com/ubports/development/core/content-hub";
changelog = "https://gitlab.com/ubports/development/core/content-hub/-/blob/${finalAttrs.version}/ChangeLog";
homepage = "https://gitlab.com/ubports/development/core/lomiri-content-hub";
changelog = "https://gitlab.com/ubports/development/core/lomiri-content-hub/-/blob/${finalAttrs.version}/ChangeLog";
license = with lib.licenses; [ gpl3Only lgpl3Only ];
mainProgram = "content-hub-service";
mainProgram = "lomiri-content-hub-service";
maintainers = lib.teams.lomiri.members;
platforms = lib.platforms.linux;
pkgConfigModules = [
"libcontent-hub"
"libcontent-hub-glib"
"liblomiri-content-hub"
"liblomiri-content-hub-glib"
];
};
})

View File

@ -1,39 +1,40 @@
{ stdenv
, lib
, fetchFromGitLab
, gitUpdater
, testers
, boost
, cmake
, cmake-extras
, dbus
, dbus-cpp
, gdk-pixbuf
, glib
, gst_all_1
, gtest
, libapparmor
, libexif
, pkg-config
, properties-cpp
, qtbase
, qtdeclarative
, shared-mime-info
, sqlite
, taglib
, udisks
, wrapQtAppsHook
{
stdenv,
lib,
fetchFromGitLab,
gitUpdater,
testers,
boost,
cmake,
cmake-extras,
dbus,
dbus-cpp,
gdk-pixbuf,
glib,
gst_all_1,
gtest,
libapparmor,
libexif,
pkg-config,
properties-cpp,
qtbase,
qtdeclarative,
shared-mime-info,
sqlite,
taglib,
udisks,
wrapQtAppsHook,
}:
stdenv.mkDerivation (finalAttrs: {
pname = "mediascanner2";
version = "0.116";
version = "0.117";
src = fetchFromGitLab {
owner = "ubports";
repo = "development/core/mediascanner2";
rev = finalAttrs.version;
hash = "sha256-aRNT3DSPxz/vf6gqipf5Qc5zyDGFMHWONevAslwOrCY=";
hash = "sha256-e1vDPnIIfevXj9ODEEKJ2y4TiU0H+08aTf2vU+emdQk=";
};
outputs = [
@ -43,11 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
postPatch = ''
substituteInPlace src/qml/MediaScanner.*/CMakeLists.txt \
--replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
# Lomiri desktop doesn't identify itself under Canonical's name anymore
substituteInPlace src/daemon/scannerdaemon.cc \
--replace 'Unity8' 'Lomiri'
--replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
'';
strictDeps = true;
@ -59,35 +56,33 @@ stdenv.mkDerivation (finalAttrs: {
wrapQtAppsHook
];
buildInputs = [
boost
cmake-extras
dbus
dbus-cpp
gdk-pixbuf
glib
libapparmor
libexif
properties-cpp
qtbase
qtdeclarative
shared-mime-info
sqlite
taglib
udisks
] ++ (with gst_all_1; [
gstreamer
gst-plugins-base
gst-plugins-good
]);
buildInputs =
[
boost
cmake-extras
dbus
dbus-cpp
gdk-pixbuf
glib
libapparmor
libexif
properties-cpp
qtbase
qtdeclarative
shared-mime-info
sqlite
taglib
udisks
]
++ (with gst_all_1; [
gstreamer
gst-plugins-base
gst-plugins-good
]);
checkInputs = [
gtest
];
checkInputs = [ gtest ];
cmakeFlags = [
"-DENABLE_TESTS=${lib.boolToString finalAttrs.finalPackage.doCheck}"
];
cmakeFlags = [ (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) ];
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
@ -108,15 +103,13 @@ stdenv.mkDerivation (finalAttrs: {
updateScript = gitUpdater { };
};
meta = with lib; {
meta = {
description = "Media scanner service & access library";
homepage = "https://gitlab.com/ubports/development/core/mediascanner2";
license = licenses.gpl3Only;
maintainers = teams.lomiri.members;
license = lib.licenses.gpl3Only;
maintainers = lib.teams.lomiri.members;
mainProgram = "mediascanner-service-2.0";
platforms = platforms.linux;
pkgConfigModules = [
"mediascanner-2.0"
];
platforms = lib.platforms.linux;
pkgConfigModules = [ "mediascanner-2.0" ];
};
})

View File

@ -1,7 +1,7 @@
{ lib, stdenv, fetchFromGitHub, glfw, freetype, openssl, makeWrapper, upx, boehmgc, xorg, binaryen, darwin }:
let
version = "0.4.4";
version = "0.4.8";
ptraceSubstitution = ''
#include <sys/types.h>
#include <sys/ptrace.h>
@ -10,12 +10,12 @@ let
# So we fix its rev to correspond to the V version.
vc = stdenv.mkDerivation {
pname = "v.c";
version = "0.4.4";
version = "0.4.8";
src = fetchFromGitHub {
owner = "vlang";
repo = "vc";
rev = "66eb8eae253d31fa5622e35a69580d9ad8efcccb";
hash = "sha256-YGlzr0Qq7+NtrnbaFPBuclzjOZBOnTe3BOhsuwdsQ5c=";
rev = "54beb1f416b404a06b894e6883a0e2368d80bc3e";
hash = "sha256-hofganRnWPRCjjsItwF2BKam4dCqzMCrjgWSjZLSrlo=";
};
# patch the ptrace reference for darwin
@ -46,7 +46,7 @@ stdenv.mkDerivation {
owner = "vlang";
repo = "v";
rev = version;
hash = "sha256-Aqecw8K+igHx5R34lQiWtdNfeGn+umcjcS4w0vXgpLM=";
hash = "sha256-V4f14TcuKW8unzlo6i/tE6MzSb3HAll478OU2LxiTPQ=";
};
propagatedBuildInputs = [ glfw freetype openssl ]

View File

@ -6,17 +6,18 @@
, gst_all_1
, ipu6-camera-hal
, libdrm
, libva
}:
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "icamerasrc-${ipu6-camera-hal.ipuVersion}";
version = "unstable-2023-10-23";
version = "unstable-2024-09-29";
src = fetchFromGitHub {
owner = "intel";
repo = "icamerasrc";
rev = "528a6f177732def4d5ebc17927220d8823bc8fdc";
hash = "sha256-Ezcm5OpF/NKvJf5sFeJyvNc2Uq0166GukC9MuNUV2Fs=";
rev = "refs/tags/20240926_1446";
hash = "sha256-BpIZxkPmSVKqPntwBJjGmCaMSYFCEZHJa4soaMAJRWE=";
};
nativeBuildInputs = [
@ -34,8 +35,10 @@ stdenv.mkDerivation {
buildInputs = [
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
gst_all_1.gst-plugins-bad
ipu6-camera-hal
libdrm
libva
];
NIX_CFLAGS_COMPILE = [

View File

@ -11,6 +11,7 @@
, ipu6-camera-bins
, libtool
, gst_all_1
, libdrm
# Pick one of
# - ipu6 (Tiger Lake)
@ -27,13 +28,13 @@ let
in
stdenv.mkDerivation {
pname = "${ipuVersion}-camera-hal";
version = "unstable-2023-09-25";
version = "unstable-2024-09-29";
src = fetchFromGitHub {
owner = "intel";
repo = "ipu6-camera-hal";
rev = "9fa05a90886d399ad3dda4c2ddc990642b3d20c9";
hash = "sha256-yS1D7o6dsQ4FQkjfwcisOxcP7Majb+4uQ/iW5anMb5c=";
rev = "f98f72b156563fe8373e4f8d017a9f609676bb33";
hash = "sha256-zVcgKW7/GHYd1oMvsaI77cPyj3G68dL+OXBJDz5+Td4=";
};
nativeBuildInputs = [
@ -41,12 +42,16 @@ stdenv.mkDerivation {
pkg-config
];
PKG_CONFIG_PATH = "${lib.makeLibraryPath [ ipu6-camera-bins ]}/${ipuTarget}/pkgconfig";
cmakeFlags = [
"-DIPU_VER=${ipuVersion}"
"-DTARGET_SUFFIX=-${ipuVersion}"
# missing libiacss
"-DUSE_PG_LITE_PIPE=ON"
"-DCMAKE_BUILD_TYPE=Release"
"-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
"-DCMAKE_INSTALL_SUB_PATH=${ipuTarget}"
"-DCMAKE_INSTALL_LIBDIR=lib"
];
NIX_CFLAGS_COMPILE = [
@ -61,21 +66,28 @@ stdenv.mkDerivation {
libtool
gst_all_1.gstreamer
gst_all_1.gst-plugins-base
libdrm
];
postPatch = ''
substituteInPlace src/platformdata/PlatformData.h \
--replace '/usr/share/' "${placeholder "out"}/share/"
--replace '/usr/share/' "${placeholder "out"}/share/" \
--replace '#define CAMERA_DEFAULT_CFG_PATH "/etc/camera/"' '#define CAMERA_DEFAULT_CFG_PATH "${placeholder "out"}/etc/camera/"'
'';
postInstall = ''
mkdir -p $out/include/${ipuTarget}/
cp -r $src/include $out/include/${ipuTarget}/libcamhal
'';
postFixup = ''
for lib in $out/lib/*.so; do
patchelf --add-rpath "${lib.makeLibraryPath [ ipu6-camera-bins ]}/${ipuTarget}" $lib
patchelf --add-rpath "${ipu6-camera-bins}/lib" $lib
done
'';
passthru = {
inherit ipuVersion;
inherit ipuVersion ipuTarget;
};
meta = with lib; {

View File

@ -105,6 +105,10 @@ stdenv.mkDerivation {
cp faiss/python/dist/*.whl "$dist/"
'';
passthru = {
inherit cudaSupport cudaPackages pythonSupport;
};
meta = {
description = "Library for efficient similarity search and clustering of dense vectors by Facebook Research";
mainProgram = "demo_ivfpq_indexing";

View File

@ -19,7 +19,7 @@
buildPythonPackage rec {
pname = "aiortm";
version = "0.9.11";
version = "0.9.12";
pyproject = true;
disabled = pythonOlder "3.12";
@ -28,7 +28,7 @@ buildPythonPackage rec {
owner = "MartinHjelmare";
repo = "aiortm";
rev = "refs/tags/v${version}";
hash = "sha256-uP+nQZA6ZdCAy3E4a1jcm+3X1Fe6n+7v/6unX423jfw=";
hash = "sha256-PTg+/Iqjj5V5XJNDAJva/BvaOl6qyjeqrjxy0RLAvEc=";
};
pythonRelaxDeps = [ "typer" ];

View File

@ -1,45 +1,46 @@
{
lib,
buildPythonPackage,
fetchPypi,
msrestazure,
azure-common,
azure-mgmt-core,
azure-mgmt-nspkg,
buildPythonPackage,
fetchPypi,
isodate,
pythonOlder,
setuptools,
typing-extensions,
}:
buildPythonPackage rec {
pname = "azure-mgmt-billing";
version = "6.0.0"; # pypi's 0.2.0 doesn't build ootb
format = "setuptools";
version = "7.0.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
sha256 = "d4f5c5a4188a456fe1eb32b6c45f55ca2069c74be41eb76921840b39f2f5c07f";
extension = "zip";
pname = "azure_mgmt_billing";
inherit version;
hash = "sha256-jgplxlEQtTpCk35b7WrgDvydYgaXLZa/1KdOgMhcLXs=";
};
propagatedBuildInputs = [
msrestazure
build-system = [ setuptools ];
dependencies = [
azure-common
azure-mgmt-core
azure-mgmt-nspkg
isodate
typing-extensions
];
preBuild = ''
rm -rf azure_bdist_wheel.py
substituteInPlace setup.cfg \
--replace "azure-namespace-package = azure-mgmt-nspkg" ""
'';
pythonNamespaces = [ "azure.mgmt" ];
# has no tests
# Module has no tests
doCheck = false;
meta = with lib; {
description = "This is the Microsoft Azure Billing Client Library";
homepage = "https://github.com/Azure/azure-sdk-for-python";
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/billing/azure-mgmt-billing";
changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-mgmt-billing_${version}/sdk/billing/azure-mgmt-billing/CHANGELOG.md";
license = licenses.mit;
maintainers = with maintainers; [ maxwilson ];
};

View File

@ -12,7 +12,7 @@
buildPythonPackage rec {
pname = "azure-storage-file-share";
version = "12.18.0";
version = "12.19.0";
pyproject = true;
disabled = pythonOlder "3.8";
@ -20,7 +20,7 @@ buildPythonPackage rec {
src = fetchPypi {
pname = "azure_storage_file_share";
inherit version;
hash = "sha256-CoHa7l4TWYrM3jxzsa7Mxu39zsXpV79AFQwGIvuV3HY=";
hash = "sha256-6npBdNxsUvUKyMMPIoFZ/MNnXR+Lp3G40O/LwxB0Ang=";
};
build-system = [ setuptools ];

View File

@ -3,15 +3,18 @@
buildPythonPackage,
catboost,
python,
# build-system
setuptools,
# dependencies
graphviz,
matplotlib,
numpy,
pandas,
plotly,
scipy,
setuptools,
six,
wheel,
}:
buildPythonPackage rec {
@ -21,16 +24,15 @@ buildPythonPackage rec {
src
meta
;
format = "pyproject";
pyproject = true;
sourceRoot = "${src.name}/catboost/python-package";
nativeBuildInputs = [
build-system = [
setuptools
wheel
];
propagatedBuildInputs = [
dependencies = [
graphviz
matplotlib
numpy

View File

@ -37,18 +37,18 @@ buildPythonPackage rec {
version = "3.1.0";
pyproject = true;
disabled = pythonOlder "3.6";
disabled = pythonOlder "3.8";
src = fetchFromGitHub {
owner = "spec-first";
repo = pname;
repo = "connexion";
rev = "refs/tags/${version}";
hash = "sha256-rngQDU9kXw/Z+Al0SCVnWN8xnphueTtZ0+xPBR5MbEM=";
};
nativeBuildInputs = [ poetry-core ];
build-system = [ poetry-core ];
propagatedBuildInputs = [
dependencies = [
asgiref
httpx
inflection
@ -80,6 +80,10 @@ buildPythonPackage rec {
pythonImportsCheck = [ "connexion" ];
disabledTests = [
"test_build_example"
"test_mock_resolver_no_example"
# Tests require network access
"test_remote_api"
# AssertionError
"test_headers"
# waiter.acquire() deadlock
@ -91,9 +95,10 @@ buildPythonPackage rec {
meta = with lib; {
description = "Swagger/OpenAPI First framework on top of Flask";
mainProgram = "connexion";
homepage = "https://github.com/spec-first/connexion";
changelog = "https://github.com/spec-first/connexion/releases/tag/${version}";
license = licenses.asl20;
maintainers = [ ];
mainProgram = "connexion";
};
}

View File

@ -22,7 +22,7 @@
buildPythonPackage rec {
pname = "debugpy";
version = "1.8.6";
version = "1.8.7";
format = "setuptools";
disabled = pythonOlder "3.8";
@ -31,7 +31,7 @@ buildPythonPackage rec {
owner = "microsoft";
repo = "debugpy";
rev = "refs/tags/v${version}";
hash = "sha256-kkFNIJ3QwojwgiRAOmBiWIg5desxOKTmo9YH1Qup6fI=";
hash = "sha256-JFVhEAfdSfl2ACfXLMdoO/1otdif9bHialdQXucTM5A=";
};
patches =

View File

@ -44,7 +44,7 @@
buildPythonPackage rec {
pname = "dissect-target";
version = "3.18";
version = "3.19";
pyproject = true;
disabled = pythonOlder "3.9";
@ -53,7 +53,7 @@ buildPythonPackage rec {
owner = "fox-it";
repo = "dissect.target";
rev = "refs/tags/${version}";
hash = "sha256-jR+f4t0QXmm007lrGdMyF9vFa3NW35gZxs7pe9sdjfg=";
hash = "sha256-D5YgCAKcnPyBrZTpcSuvKfWfIIcCxKGxn+mj8Jqzmws=";
};
postPatch = ''
@ -138,6 +138,8 @@ buildPythonPackage rec {
"test_systemd_basic_syntax"
"test_target_cli_unicode_argparse"
"test_target_query"
"test_target_info"
"test_yara"
]
++
# test is broken on Darwin

View File

@ -12,24 +12,24 @@
buildPythonPackage rec {
pname = "dissect-volume";
version = "3.11";
version = "3.12";
pyproject = true;
disabled = pythonOlder "3.11";
disabled = pythonOlder "3.12";
src = fetchFromGitHub {
owner = "fox-it";
repo = "dissect.volume";
rev = "refs/tags/${version}";
hash = "sha256-eHIInoquuyukKuPVvVB6qtovx1NloHHVGKfFBHxVd+o=";
hash = "sha256-IhG2FZdCmYrGxHc2i+ERhphxP/uGgOY67epHEWnQXb0=";
};
nativeBuildInputs = [
build-system = [
setuptools
setuptools-scm
];
propagatedBuildInputs = [
dependencies = [
dissect-cstruct
dissect-util
];
@ -44,6 +44,7 @@ buildPythonPackage rec {
"test_dm_thin"
"test_lvm_mirro"
"test_lvm_thin"
"test_lvm"
"test_md_raid0_zones"
"test_md_read"
];

View File

@ -12,14 +12,14 @@
buildPythonPackage rec {
pname = "ffmpeg-progress-yield";
version = "0.7.8";
version = "0.9.1";
format = "setuptools";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-muauX4Mq58ew9lGPE0H+bu4bqPydNADLocujjy6qRh4=";
hash = "sha256-n6zHi6M9SyrNm8MhQ9xvBo2OIzoQYJ4yhgujW5C6QWY=";
};
propagatedBuildInputs = [

View File

@ -1,30 +1,35 @@
{
lib,
buildPythonPackage,
duckdb,
elastic-transport,
elasticsearch,
fastavro,
fetchFromGitHub,
httpx,
lz4,
maxminddb,
msgpack,
pytest7CheckHook,
pythonOlder,
setuptools,
pytz,
setuptools-scm,
setuptools,
zstandard,
}:
buildPythonPackage rec {
pname = "flow-record";
version = "3.15";
version = "3.17";
pyproject = true;
disabled = pythonOlder "3.8";
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "fox-it";
repo = "flow.record";
rev = "refs/tags/${version}";
hash = "sha256-j5N66p7feB9Ae+Fu5RhVzh8XCHiq55jJMg0Fe+C6Jvg=";
hash = "sha256-fFP2bdO4wTR9Y+9no3FabtVmLicTD76Jw5aWDMPOB0w=";
};
build-system = [
@ -39,11 +44,18 @@ buildPythonPackage rec {
lz4
zstandard
];
duckdb = [
duckdb
pytz
];
elastic = [ elasticsearch ];
geoip = [ maxminddb ];
avro = [ fastavro ] ++ fastavro.optional-dependencies.snappy;
splunk = [ httpx ];
};
nativeCheckInputs = [
elastic-transport
pytest7CheckHook
] ++ lib.flatten (builtins.attrValues optional-dependencies);

View File

@ -17,7 +17,7 @@
buildPythonPackage rec {
pname = "greatfet";
version = "2024.0.2";
version = "2024.0.3";
pyproject = true;
disabled = pythonOlder "3.8";
@ -26,7 +26,7 @@ buildPythonPackage rec {
owner = "greatscottgadgets";
repo = "greatfet";
rev = "refs/tags/v${version}";
hash = "sha256-1GfyhxwA6Nhf/umvllR/hkh5hyn42141QOT7+6IGAis=";
hash = "sha256-jdOTEOotLiIxA9TxmFGOjP8IZ/8xo7mzXSJRg3A5Ri4=";
};
sourceRoot = "${src.name}/host";

View File

@ -13,7 +13,7 @@
buildPythonPackage rec {
pname = "hypothesis-auto";
version = "1.1.5";
format = "pyproject";
pyproject = true;
disabled = pythonOlder "3.6";
@ -23,14 +23,22 @@ buildPythonPackage rec {
hash = "sha256-U0vcOB9jXmUV5v2IwybVu2arY1FpPnKkP7m2kbD1kRw=";
};
nativeBuildInputs = [ poetry-core ];
propagatedBuildInputs = [
pydantic
hypothesis
pytest
pythonRelaxDeps = [
"hypothesis"
"pydantic"
];
build-system = [ poetry-core ];
dependencies = [
hypothesis
pydantic
];
optional-dependencies = {
pytest = [ pytest ];
};
pythonImportsCheck = [ "hypothesis_auto" ];
nativeCheckInputs = [ pytestCheckHook ];
@ -38,6 +46,7 @@ buildPythonPackage rec {
meta = with lib; {
description = "Enables fully automatic tests for type annotated functions";
homepage = "https://github.com/timothycrosley/hypothesis-auto/";
changelog = "https://github.com/timothycrosley/hypothesis-auto/blob/master/CHANGELOG.md";
license = licenses.mit;
maintainers = [ ];
};

View File

@ -3,38 +3,43 @@
buildPythonPackage,
fetchPypi,
pytestCheckHook,
astunparse,
pythonOlder,
setuptools,
typing-extensions,
}:
buildPythonPackage rec {
pname = "import-expression";
version = "2.0.0";
pyproject = true;
disabled = pythonOlder "3.9";
src = fetchPypi {
inherit version;
pname = "import_expression";
inherit version;
hash = "sha256-Biw7dIOPKbDcqYJSCyeqC/seREcVihSZuaKNFfgjTew=";
};
build-system = [ setuptools ];
dependencies = [ astunparse ];
dependencies = [ typing-extensions ];
nativeCheckInputs = [ pytestCheckHook ];
pytestFlagsArray = [ "tests.py" ];
pythonImportsCheck = [
"import_expression"
"import_expression._codec"
];
pythonImportsCheck = [ "import_expression" ];
meta = {
description = "Transpiles a superset of python to allow easy inline imports";
homepage = "https://github.com/ioistired/import-expression-parser";
changelog = "https://github.com/ioistired/import-expression/releases/tag/v${version}";
license = with lib.licenses; [
mit
psfl
];
mainProgram = "import-expression";
maintainers = with lib.maintainers; [ ];
mainProgram = "import-expression";
};
}

View File

@ -0,0 +1,35 @@
{
lib,
buildPythonPackage,
fetchPypi,
pythonOlder,
setuptools,
}:
buildPythonPackage rec {
pname = "jalali-core";
version = "1.0.0";
pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi {
pname = "jalali_core";
inherit version;
hash = "sha256-9Ch8cMYwMj3PCjqybfkFuk1FHiMKwfZbO7L3d5eJSis=";
};
build-system = [ setuptools ];
# Module has no tests
doCheck = false;
pythonImportsCheck = [ "jalali_core" ];
meta = {
description = "Module to convert Gregorian to Jalali and inverse dates";
homepage = "https://pypi.org/project/jalali-core/";
license = lib.licenses.lgpl2Only;
maintainers = with lib.maintainers; [ fab ];
};
}

View File

@ -2,29 +2,33 @@
lib,
buildPythonPackage,
fetchPypi,
six,
jalali-core,
pythonOlder,
setuptools,
}:
buildPythonPackage rec {
pname = "jdatetime";
version = "5.0.0";
format = "setuptools";
pyproject = true;
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.8";
src = fetchPypi {
inherit pname version;
hash = "sha256-LMYD2RPA2OMokoRU09KVJhywN+mVAif2fJYpq0cQ/fk=";
};
propagatedBuildInputs = [ six ];
build-system = [ setuptools ];
dependencies = [ jalali-core ];
pythonImportsCheck = [ "jdatetime" ];
meta = with lib; {
description = "Jalali datetime binding";
homepage = "https://github.com/slashmili/python-jalali";
changelog = "https://github.com/slashmili/python-jalali/blob/v${version}/CHANGELOG.md";
license = licenses.psfl;
maintainers = [ ];
};

View File

@ -0,0 +1,52 @@
{
lib,
buildPythonPackage,
hatchling,
opentelemetry-api,
opentelemetry-instrumentation,
opentelemetry-semantic-conventions,
botocore,
moto,
opentelemetry-test-utils,
opentelemetry-propagator-aws-xray,
pytestCheckHook,
aws-xray-sdk,
}:
buildPythonPackage rec {
inherit (opentelemetry-instrumentation) version src;
pname = "opentelemetry-instrumentation-botocore";
pyproject = true;
sourceRoot = "${opentelemetry-instrumentation.src.name}/instrumentation/opentelemetry-instrumentation-botocore";
build-system = [ hatchling ];
dependencies = [
opentelemetry-api
opentelemetry-instrumentation
opentelemetry-propagator-aws-xray
opentelemetry-semantic-conventions
];
nativeCheckInputs = [
opentelemetry-test-utils
pytestCheckHook
];
checkInputs = [
aws-xray-sdk
moto
];
optional-dependencies = {
instruments = [ botocore ];
};
pythonImportsCheck = [ "opentelemetry.instrumentation.botocore" ];
meta = opentelemetry-instrumentation.meta // {
homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/instrumentation/opentelemetry-instrumentation-botocore";
description = "Botocore instrumentation for OpenTelemetry";
};
}

View File

@ -0,0 +1,42 @@
{
lib,
buildPythonPackage,
hatchling,
opentelemetry-api,
opentelemetry-instrumentation,
opentelemetry-semantic-conventions,
opentelemetry-instrumentation-botocore,
opentelemetry-test-utils,
pytestCheckHook,
requests,
pytest-benchmark,
}:
buildPythonPackage rec {
inherit (opentelemetry-instrumentation) version src;
pname = "opentelemetry-propagator-aws-xray";
pyproject = true;
sourceRoot = "${opentelemetry-instrumentation.src.name}/propagator/opentelemetry-propagator-aws-xray";
build-system = [ hatchling ];
dependencies = [ opentelemetry-api ];
nativeCheckInputs = [
opentelemetry-test-utils
pytestCheckHook
];
checkInputs = [
pytest-benchmark
requests
];
pythonImportsCheck = [ "opentelemetry.propagators.aws" ];
meta = opentelemetry-instrumentation.meta // {
homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/blob/main/propagator/opentelemetry-propagator-aws-xray";
description = "AWS X-Ray Propagator for OpenTelemetry";
};
}

View File

@ -14,14 +14,14 @@
xarray,
pillow,
scipy,
psutil,
statsmodels,
ipython,
ipywidgets,
which,
orca,
nbformat,
scikit-image,
orca,
psutil,
}:
buildPythonPackage rec {
@ -53,6 +53,15 @@ buildPythonPackage rec {
kaleido
];
# packages/python/plotly/optional-requirements.txt
optional-dependencies = {
orca = [
orca
requests
psutil
];
};
nativeCheckInputs = [
pytestCheckHook
pandas
@ -61,69 +70,39 @@ buildPythonPackage rec {
xarray
pillow
scipy
psutil
statsmodels
ipython
ipywidgets
which
orca
nbformat
scikit-image
];
# the check inputs are broken on darwin
doCheck = !stdenv.hostPlatform.isDarwin;
disabledTests = [
# FAILED plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots - AssertionError: assert '3' == '2'
# failed pinning test, sensitive to dep versions
"test_legend_dots"
# FAILED plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle - AssertionError:
"test_linestyle"
# FAILED plotly/tests/test_io/test_to_from_plotly_json.py::test_sanitize_json[auto] - KeyError: 'template'
# FAILED plotly/tests/test_io/test_to_from_plotly_json.py::test_sanitize_json[json] - KeyError: 'template'
# test bug, i assume sensitive to dep versions
"test_sanitize_json"
# FAILED plotly/tests/test_orca/test_orca_server.py::test_validate_orca - ValueError:
"test_validate_orca"
# FAILED plotly/tests/test_orca/test_orca_server.py::test_orca_executable_path - ValueError:
"test_orca_executable_path"
# FAILED plotly/tests/test_orca/test_orca_server.py::test_orca_version_number - ValueError:
"test_orca_version_number"
# FAILED plotly/tests/test_orca/test_orca_server.py::test_ensure_orca_ping_and_proc - ValueError:
"test_ensure_orca_ping_and_proc"
# FAILED plotly/tests/test_orca/test_orca_server.py::test_server_timeout_shutdown - ValueError:
"test_server_timeout_shutdown"
# FAILED plotly/tests/test_orca/test_orca_server.py::test_external_server_url - ValueError:
"test_external_server_url"
# FAILED plotly/tests/test_orca/test_to_image.py::test_simple_to_image[eps] - ValueError:
"test_simple_to_image"
# FAILED plotly/tests/test_orca/test_to_image.py::test_to_image_default[eps] - ValueError:
"test_to_image_default"
# FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_string[eps] - ValueError:
"test_write_image_string"
# FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_writeable[eps] - ValueError:
"test_write_image_writeable"
# FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_string_format_inference[eps] - ValueError:
"test_write_image_string_format_inference"
# FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_string_bad_extension_failure - assert 'must be specified as one of the followi...
"test_write_image_string_bad_extension_failure"
# FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_string_bad_extension_override - ValueError:
"test_write_image_string_bad_extension_override"
# FAILED plotly/tests/test_orca/test_to_image.py::test_topojson_fig_to_image[eps] - ValueError:
"test_topojson_fig_to_image"
# FAILED plotly/tests/test_orca/test_to_image.py::test_latex_fig_to_image[eps] - ValueError:
"test_latex_fig_to_image"
# FAILED plotly/tests/test_orca/test_to_image.py::test_problematic_environment_variables[eps] - ValueError:
"test_problematic_environment_variables"
# FAILED plotly/tests/test_orca/test_to_image.py::test_invalid_figure_json - assert 'Invalid' in "\nThe orca executable is required in order to e...
"test_invalid_figure_json"
# FAILED test_init/test_dependencies_not_imported.py::test_dependencies_not_imported - AssertionError: assert 'plotly' not in {'IPython': <module>
"test_dependencies_not_imported"
# FAILED test_init/test_lazy_imports.py::test_lazy_imports - AssertionError: assert 'plotly' not in {'IPython': <module 'IPython' from '...
"test_lazy_imports"
# requires vaex and polars, vaex is not packaged
"test_build_df_from_vaex_and_polars"
"test_build_df_with_hover_data_from_vaex_and_polars"
# lazy loading error, could it be the sandbox PYTHONPATH?
# AssertionError: assert "plotly" not in sys.modules
"test_dependencies_not_imported"
"test_lazy_imports"
];
disabledTestPaths =
[
# unable to locate orca binary, adding the package does not fix it
"plotly/tests/test_orca/"
]
++ lib.optionals stdenv.hostPlatform.isDarwin [
# requires local networking
"plotly/tests/test_io/test_renderers.py"
# fails to launch kaleido subprocess
"plotly/tests/test_optional/test_kaleido"
];
pythonImportsCheck = [ "plotly" ];

View File

@ -4,14 +4,16 @@
fetchPypi,
mypy-extensions,
pytestCheckHook,
pythonAtLeast,
pythonOlder,
setuptools,
six,
}:
buildPythonPackage rec {
pname = "pyannotate";
version = "1.2.0";
format = "setuptools";
pyproject = true;
disabled = pythonOlder "3.7";
@ -20,7 +22,9 @@ buildPythonPackage rec {
hash = "sha256-BO1YBLqzgVPVmB/JLYPc9qIog0U3aFYfBX53flwFdZk=";
};
propagatedBuildInputs = [
build-system = [ setuptools ];
dependencies = [
six
mypy-extensions
];
@ -32,11 +36,20 @@ buildPythonPackage rec {
"pyannotate_tools"
];
disabledTestPaths =
[
"pyannotate_runtime/tests/test_collect_types.py"
]
++ lib.optionals (pythonAtLeast "3.11") [
# Tests are using lib2to3
"pyannotate_tools/fixes/tests/test_annotate*.py"
];
meta = with lib; {
description = "Auto-generate PEP-484 annotations";
mainProgram = "pyannotate";
homepage = "https://github.com/dropbox/pyannotate";
license = licenses.mit;
maintainers = [ ];
mainProgram = "pyannotate";
};
}

View File

@ -14,21 +14,21 @@
buildPythonPackage rec {
pname = "pylint-django";
version = "2.5.4";
version = "2.6.0";
pyproject = true;
disabled = pythonOlder "3.7";
disabled = pythonOlder "3.9";
src = fetchFromGitHub {
owner = "PyCQA";
repo = "pylint-django";
rev = "refs/tags/v${version}";
hash = "sha256-MNgu3LvFoohXA+JzUiHIaYFw0ssEe+H5T8Ea56LcGuI=";
hash = "sha256-Rnty8ryKd5PxFFVYcvB8p9VS3qlHCprxR8+/ySY5qC8=";
};
nativeBuildInputs = [ poetry-core ];
build-system = [ poetry-core ];
propagatedBuildInputs = [ pylint-plugin-utils ];
dependencies = [ pylint-plugin-utils ];
optional-dependencies = {
with_django = [ django ];

View File

@ -9,19 +9,20 @@
requests,
requests-mock,
setuptools,
typing-extensions,
versioneer,
}:
buildPythonPackage rec {
pname = "tableauserverclient";
version = "0.31";
version = "0.33";
pyproject = true;
disabled = pythonOlder "3.7";
src = fetchPypi {
inherit pname version;
hash = "sha256-e00/+yVKg7dGGq3Os+oWu/F93j5e9dnwWZxKwm+soqM=";
hash = "sha256-7yj/Ey3mIR2GZ0gtNkrrtoKEmuA5LihZlM9qPhbROQw=";
};
postPatch = ''
@ -29,7 +30,10 @@ buildPythonPackage rec {
rm versioneer.py
'';
pythonRelaxDeps = [ "urllib3" ];
pythonRelaxDeps = [
"defusedxml"
"urllib3"
];
nativeBuildInputs = [
setuptools
@ -40,6 +44,7 @@ buildPythonPackage rec {
defusedxml
requests
packaging
typing-extensions
];
nativeCheckInputs = [

View File

@ -6,10 +6,11 @@
hatchling,
httpx,
}:
buildPythonPackage rec {
pname = "tika-client";
version = "0.6.0";
format = "pyproject";
version = "0.7.0";
pyproject = true;
disabled = pythonOlder "3.8";
@ -17,14 +18,15 @@ buildPythonPackage rec {
owner = "stumpylog";
repo = "tika-client";
rev = "refs/tags/${version}";
hash = "sha256-1Gc/WF8eEGT17z2CiuSLUIngDZVoHdBhfsUddNUBwWo=";
hash = "sha256-0cv2HaquIUQOb5CPkCxSYvXDzu3OV7WKIT80jI+pjpY=";
};
propagatedBuildInputs = [
hatchling
httpx
];
build-system = [ hatchling ];
dependencies = [ httpx ];
pythonImportsCheck = [ "tika_client" ];
# Almost all of the tests (all except one in 0.1.0) fail since there
# is no tika http API endpoint reachable. Since tika is not yet
# packaged for nixpkgs, it seems like an unreasonable amount of effort

View File

@ -0,0 +1,60 @@
From 203afecca3717787628eab30b550ba25389cb188 Mon Sep 17 00:00:00 2001
From: Sander <hey@sandydoo.me>
Date: Sat, 12 Oct 2024 12:26:51 +0000
Subject: [PATCH] deps: bump time to fix compilation error
---
Cargo.lock | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/Cargo.lock b/Cargo.lock
index 9ce33e5..785764d 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1420,6 +1420,12 @@ dependencies = [
"minimal-lexical",
]
+[[package]]
+name = "num-conv"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51d515d32fb182ee37cda2ccdcb92950d6a3c2893aa280e540671c2cd0f3b1d9"
+
[[package]]
name = "num_cpus"
version = "1.16.0"
@@ -2219,13 +2225,14 @@ dependencies = [
[[package]]
name = "time"
-version = "0.3.31"
+version = "0.3.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f657ba42c3f86e7680e53c8cd3af8abbe56b5491790b46e22e19c0d57463583e"
+checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885"
dependencies = [
"deranged",
"itoa",
"libc",
+ "num-conv",
"num_threads",
"powerfmt",
"serde",
@@ -2241,10 +2248,11 @@ checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3"
[[package]]
name = "time-macros"
-version = "0.2.16"
+version = "0.2.18"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "26197e33420244aeb70c3e8c78376ca46571bc4e701e4791c2cd9f57dcb3a43f"
+checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf"
dependencies = [
+ "num-conv",
"time-core",
]
--
2.44.1

View File

@ -23,7 +23,13 @@ rustPlatform.buildRustPackage {
hash = "sha256-JhMkK2zw3VL9o7j8DJmjY/im+GyCjfV2TJI3GDo8T8c=";
};
cargoHash = "sha256-ye9MAfG3m24ofV95Kr+KTP4FEqfrsm3aTQ464hG9q08=";
cargoPatches = [
# Bump `time` and friends to fix compilation with rust 1.80.
# See https://github.com/NixOS/nixpkgs/issues/332957
./0001-update-time.patch
];
cargoHash = "sha256-0UAttCCbSH91Dn7IvEX+Klp/bSYZM4rml7/dD3a208A=";
nativeBuildInputs = [ pkg-config ];

View File

@ -28,10 +28,10 @@
}:
let
defaultVersion = "2024.07";
defaultVersion = "2024.10";
defaultSrc = fetchurl {
url = "https://ftp.denx.de/pub/u-boot/u-boot-${defaultVersion}.tar.bz2";
hash = "sha256-9ZHamrkO89az0XN2bQ3f+QxO1zMGgIl0hhF985DYPI8=";
hash = "sha256-so2vSsF+QxVjYweL9RApdYQTf231D87ZsS3zT2GpL7A=";
};
# Dependencies for the tools need to be included as either native or cross,
@ -212,6 +212,14 @@ in {
filesToInstall = ["u-boot-with-spl.kwb"];
};
ubootCM3588NAS = buildUBoot {
defconfig = "cm3588-nas-rk3588_defconfig";
extraMeta.platforms = [ "aarch64-linux" ];
BL31 = "${armTrustedFirmwareRK3588}/bl31.elf";
ROCKCHIP_TPL = rkbin.TPL_RK3588;
filesToInstall = [ "u-boot.itb" "idbloader.img" "u-boot-rockchip.bin" ];
};
ubootCubieboard2 = buildUBoot {
defconfig = "Cubieboard2_defconfig";
extraMeta.platforms = ["armv7l-linux"];
@ -442,6 +450,14 @@ in {
filesToInstall = ["u-boot-sunxi-with-spl.bin"];
};
ubootOrangePi3B = buildUBoot {
defconfig = "orangepi-3b-rk3566_defconfig";
extraMeta.platforms = ["aarch64-linux"];
ROCKCHIP_TPL = rkbin.TPL_RK3568;
BL31 = rkbin.BL31_RK3568;
filesToInstall = [ "u-boot.itb" "idbloader.img" "u-boot-rockchip.bin" "u-boot-rockchip-spi.bin" ];
};
ubootPcduino3Nano = buildUBoot {
defconfig = "Linksprite_pcDuino3_Nano_defconfig";
extraMeta.platforms = ["armv7l-linux"];

View File

@ -6,15 +6,15 @@
, zlib
}:
stdenv.mkDerivation (finalAttrs: {
stdenv.mkDerivation (finalAttrs: rec {
pname = "ipu6-camera-bins";
version = "unstable-2023-10-26";
version = "unstable-2024-09-27";
src = fetchFromGitHub {
owner = "intel";
repo = "ipu6-camera-bins";
rev = "af5ba0cb4a763569ac7514635013e9d870040bcf";
hash = "sha256-y0pT5M7AKACbquQWLZPYpTPXRC5hipLNL61nhs+cst4=";
owner = "intel";
rev = "98ca6f2a54d20f171628055938619972514f7a07";
hash = "sha256-DAjAzHMqX41mrfQVpDUJLw4Zjb9pz6Uy3TJjTGIkd6o=";
};
nativeBuildInputs = [
@ -33,13 +33,14 @@ stdenv.mkDerivation (finalAttrs: {
include \
$out/
install -m 0644 -D LICENSE $out/share/doc/LICENSE
# There is no LICENSE file in the src
# install -m 0644 -D LICENSE $out/share/doc/LICENSE
runHook postInstall
'';
postFixup = ''
for pcfile in $out/lib/*/pkgconfig/*.pc; do
for pcfile in $out/lib/pkgconfig/*.pc; do
substituteInPlace $pcfile \
--replace 'prefix=/usr' "prefix=$out"
done

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation {
pname = "ivsc-firmware";
version = "unstable-2023-08-11";
version = "unstable-2024-06-14";
src = fetchFromGitHub {
owner = "intel";
repo = "ivsc-firmware";
rev = "10c214fea5560060d387fbd2fb8a1af329cb6232";
hash = "sha256-kEoA0yeGXuuB+jlMIhNm+SBljH+Ru7zt3PzGb+EPBPw=";
rev = "74a01d1208a352ed85d76f959c68200af4ead918";
hash = "sha256-kHYfeftMtoOsOtVN6+XoDMDHP7uTEztbvjQLpCnKCh0=";
};
dontBuild = true;

View File

@ -5,17 +5,19 @@
, kernel
}:
stdenv.mkDerivation {
stdenv.mkDerivation rec {
pname = "ipu6-drivers";
version = "unstable-2023-11-24";
version = "unstable-2024-10-10";
src = fetchFromGitHub {
owner = "intel";
repo = "ipu6-drivers";
rev = "07f0612eabfdc31df36f5e316a9eae115807804f";
hash = "sha256-8JRZG6IKJT0qtoqJHm8641kSQMLc4Z+DRzK6FpL9Euk=";
rev = "118952d49ec598f56add50d93fa7bc3ac4a05643";
hash = "sha256-xdMwINoKrdRHCPMpdZQn86ATi1dAXncMU39LLXS16mc=";
};
patches = [ "${src}/patches/0001-v6.10-IPU6-headers-used-by-PSYS.patch" ];
postPatch = ''
cp --no-preserve=mode --recursive --verbose \
${ivsc-driver.src}/backport-include \
@ -47,7 +49,7 @@ stdenv.mkDerivation {
license = lib.licenses.gpl2Only;
maintainers = [ ];
platforms = [ "x86_64-linux" ];
# requires 6.1.7 https://github.com/intel/ipu6-drivers/pull/84
broken = kernel.kernelOlder "6.1.7";
# requires 6.10
broken = kernel.kernelOlder "6.10";
};
}

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation {
pname = "ivsc-driver";
version = "unstable-2023-11-09";
version = "unstable-2024-09-18";
src = fetchFromGitHub {
owner = "intel";
repo = "ivsc-driver";
rev = "73a044d9633212fac54ea96cdd882ff5ab40573e";
hash = "sha256-vE5pOtVqjiWovlUMSEoBKTk/qvs8K8T5oY2r7njh0wQ=";
rev = "10f440febe87419d5c82d8fe48580319ea135b54";
hash = "sha256-jc+8geVquRtaZeIOtadCjY9F162Rb05ptE7dk8kuof0=";
};
nativeBuildInputs = kernel.moduleBuildDependencies;

View File

@ -36,7 +36,11 @@ let
# Currently only enabling Rust by default on kernel 6.12+,
# which actually has features that use Rust that we want.
defaultRust = lib.versionAtLeast version "6.12" && rustAvailable;
withRust = (forceRust || defaultRust) && kernelSupportsRust;
withRust =
assert lib.assertMsg (!(forceRust && !kernelSupportsRust)) ''
Kernels below 6.7 (the kernel being built is ${version}) don't support Rust.
'';
(forceRust || defaultRust) && kernelSupportsRust;
options = {

View File

@ -396,6 +396,9 @@ let
requiredSystemFeatures = [ "big-parallel" ];
meta = {
# https://github.com/NixOS/nixpkgs/pull/345534#issuecomment-2391238381
broken = withRust && lib.versionOlder version "6.12";
description =
"The Linux kernel" +
(if kernelPatches == [] then "" else

View File

@ -18,9 +18,9 @@ stdenv.mkDerivation rec {
makeFlags = [ "PREFIX=${placeholder "out"}" ];
meta = with lib; {
inherit (src.meta) homepage;
description = "Monitoring software for AMD Zen-based CPUs";
mainProgram = "zenmonitor";
homepage = "https://github.com/Ta180m/zenmonitor3";
license = licenses.mit;
platforms = [ "i686-linux" "x86_64-linux" ];
maintainers = with maintainers; [ alexbakker artturin ];

View File

@ -1,7 +1,6 @@
{ lib, stdenv, nodejs-slim, bundlerEnv, nixosTests
, yarn, callPackage, ruby, writeShellScript
, fetchYarnDeps, fixup-yarn-lock
, brotli
, yarn-berry, callPackage, ruby, writeShellScript
, brotli, python3
# Allow building a fork or custom version of Mastodon:
, pname ? "mastodon"
@ -28,12 +27,12 @@ stdenv.mkDerivation rec {
pname = "${pname}-modules";
inherit src version;
yarnOfflineCache = fetchYarnDeps {
yarnLock = "${src}/yarn.lock";
yarnOfflineCache = callPackage ./yarn.nix {
inherit version src;
hash = yarnHash;
};
nativeBuildInputs = [ fixup-yarn-lock nodejs-slim yarn mastodonGems mastodonGems.wrappedRuby brotli ];
nativeBuildInputs = [ nodejs-slim yarn-berry mastodonGems mastodonGems.wrappedRuby brotli python3 ];
RAILS_ENV = "production";
NODE_ENV = "production";
@ -42,29 +41,33 @@ stdenv.mkDerivation rec {
runHook preBuild
export HOME=$PWD
fixup-yarn-lock ~/yarn.lock
yarn config --offline set yarn-offline-mirror $yarnOfflineCache
yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress
export YARN_ENABLE_TELEMETRY=0
export npm_config_nodedir=${nodejs-slim}
export SECRET_KEY_BASE_DUMMY=1
mkdir -p ~/.yarn/berry
ln -s $yarnOfflineCache ~/.yarn/berry/cache
yarn install --immutable --immutable-cache
patchShebangs ~/bin
patchShebangs ~/node_modules
# skip running yarn install
rm -rf ~/bin/yarn
bundle exec rails assets:precompile
OTP_SECRET=precompile_placeholder SECRET_KEY_BASE=precompile_placeholder \
rails assets:precompile
yarn cache clean --offline
yarn cache clean --all
rm -rf ~/node_modules/.cache
# Remove execute permissions
find ~/public/assets -type f ! -perm 0555 \
-exec chmod 0444 {} ';'
# Create missing static gzip and brotli files
gzip --best --keep ~/public/assets/500.html
gzip --best --keep ~/public/packs/report.html
find ~/public/assets -maxdepth 1 -type f -name '.*.json' \
-exec gzip --best --keep --force {} ';'
brotli --best --keep ~/public/packs/report.html
find ~/public/assets -type f -regextype posix-extended -iregex '.*\.(css|js|json|html)' \
find ~/public/assets -type f -regextype posix-extended -iregex '.*\.(css|html|js|json|svg)' \
-exec gzip --best --keep --force {} ';' \
-exec brotli --best --keep {} ';'
gzip --best --keep ~/public/packs/report.html
brotli --best --keep ~/public/packs/report.html
runHook postBuild
'';
@ -101,13 +104,14 @@ stdenv.mkDerivation rec {
done
# Remove execute permissions
chmod 0444 public/emoji/*.svg
find public/emoji -type f ! -perm 0555 \
-exec chmod 0444 {} ';'
# Create missing static gzip and brotli files
find public -maxdepth 1 -type f -regextype posix-extended -iregex '.*\.(css|js|svg|txt|xml)' \
find public -maxdepth 1 -type f -regextype posix-extended -iregex '.*\.(js|txt)' \
-exec gzip --best --keep --force {} ';' \
-exec brotli --best --keep {} ';'
find public/emoji -type f -name '.*.svg' \
find public/emoji -type f -name '*.svg' \
-exec gzip --best --keep --force {} ';' \
-exec brotli --best --keep {} ';'
ln -s assets/500.html.gz public/500.html.gz
@ -133,7 +137,8 @@ stdenv.mkDerivation rec {
runHook preInstall
mkdir -p $out
cp -r * $out/
mv .{env*,ruby*} $out/
mv * $out/
ln -s ${run-streaming} $out/run-streaming.sh
runHook postInstall

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
# This file was generated by pkgs.mastodon.updateScript.
{ fetchFromGitHub, applyPatches, patches ? [] }:
let
version = "4.2.13";
version = "4.3.0";
in
(
applyPatches {
@ -9,10 +9,10 @@ in
owner = "mastodon";
repo = "mastodon";
rev = "v${version}";
hash = "sha256-+HGu02fjYJ1x6Tk9AdqmFN7JHk3UnlvCdiQ/5yMu69M=";
hash = "sha256-nZtxildQmT/7JMCTx89ZSWxb9I7xMLGHTJv7v4gfdd4=";
};
patches = patches ++ [];
}) // {
inherit version;
yarnHash = "sha256-qoLesubmSvRsXhKwMEWHHXcpcqRszqcdZgHQqnTpNPE=";
yarnHash = "sha256-V/kBkxv6akTyzlFzdR1F53b7RD0NYtap58Xt5yOAbYA=";
}

View File

@ -106,7 +106,5 @@ echo "Creating gemset.nix"
bundix --lockfile="$SOURCE_DIR/Gemfile.lock" --gemfile="$SOURCE_DIR/Gemfile"
echo "" >> gemset.nix # Create trailing newline to please EditorConfig checks
echo "Creating yarn-hash.nix"
YARN_HASH="$(prefetch-yarn-deps "$SOURCE_DIR/yarn.lock")"
YARN_HASH="$(nix hash to-sri --type sha256 "$YARN_HASH")"
sed -i "s/sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=/$YARN_HASH/g" source.nix
echo "Required manual update of yarn-hash"
exit 1

View File

@ -0,0 +1,34 @@
{
stdenvNoCC,
yarn-berry,
cacert,
version,
src,
hash,
}:
stdenvNoCC.mkDerivation {
pname = "yarn-deps";
inherit version src;
nativeBuildInputs = [
yarn-berry
];
dontInstall = true;
NODE_EXTRA_CA_CERTS = "${cacert}/etc/ssl/certs/ca-bundle.crt";
buildPhase = ''
export HOME=$(mktemp -d)
export YARN_ENABLE_TELEMETRY=0
cache="$(yarn config get cacheFolder)"
yarn install --immutable --mode skip-build
mkdir -p $out
cp -r $cache/* $out/
'';
outputHash = hash;
outputHashMode = "recursive";
}

View File

@ -59,14 +59,14 @@ let
in
{
nextcloud28 = generic {
version = "28.0.10";
hash = "sha256-LoAVJtKJHBhf6sWYXL084pLOcKQl9Tb5GfkBuftMwhA=";
version = "28.0.11";
hash = "sha256-S6rs7GpvFFgy28PGNdcuIM1IBKytmmZOanS5CnmB40g=";
packages = nextcloud28Packages;
};
nextcloud29 = generic {
version = "29.0.7";
hash = "sha256-9TL/wxvlqDdLXgcrhv/4dl7Bn9oMhQnO45hzCB2yxUQ=";
version = "29.0.8";
hash = "sha256-CrVLUX92zSbyvTi2/hhLn7rtMvc0JGxYwaz4NHPApLk=";
packages = nextcloud29Packages;
};

View File

@ -70,9 +70,9 @@
]
},
"forms": {
"hash": "sha256-OqqorHVWCDicQKnTxEJjeXzDrsj98vWvtWYyaRmDsUs=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v4.2.4/forms-v4.2.4.tar.gz",
"version": "4.2.4",
"hash": "sha256-JhLaTXll2kh/TaWXR1DfUCHuxaJlUMU1oY9ry9yoTTg=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.1/forms-v4.3.1.tar.gz",
"version": "4.3.1",
"description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
"homepage": "https://github.com/nextcloud/forms",
"licenses": [
@ -260,9 +260,9 @@
]
},
"spreed": {
"hash": "sha256-eMdFS5yQWJNsTVuHBZX4v0PSocP/nT+JaS7RSTYF8p0=",
"url": "https://github.com/nextcloud-releases/spreed/releases/download/v18.0.11/spreed-v18.0.11.tar.gz",
"version": "18.0.11",
"hash": "sha256-pOnL5uz8FcuHUFn7otp9NQinOqm+oCmXRHx4TM2NukI=",
"url": "https://github.com/nextcloud-releases/spreed/releases/download/v18.0.12/spreed-v18.0.12.tar.gz",
"version": "18.0.12",
"description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* 👥 **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* 💻 **Screen sharing!** Share your screen with the participants of your call.\n* 🚀 **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* 🌉 **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.",
"homepage": "https://github.com/nextcloud/spreed",
"licenses": [
@ -311,7 +311,7 @@
},
"unsplash": {
"hash": "sha256-kNDQk4HYkrBA+o+5/bNYj65ZJbViBjhnbSA87tsu6YE=",
"url": "https://github.com/nextcloud/unsplash/releases/download/v3.0.1/unsplash.tar.gz",
"url": "https://github.com/nextcloud/unsplash/releases/download/v3.0.2/unsplash.tar.gz",
"version": "3.0.1",
"description": "Show a new random featured nature photo in your nextcloud. Now with choosable motives!",
"homepage": "https://github.com/nextcloud/unsplash/",
@ -330,9 +330,9 @@
]
},
"user_saml": {
"hash": "sha256-+oeTDRomjmfSLIM6eyP6MHg+qtOs8IPqIWUzBofahYQ=",
"url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.2.0/user_saml-v6.2.0.tar.gz",
"version": "6.2.0",
"hash": "sha256-xxabQU8kZhgI7Q9D0n7hrFygvfZWZDnAQWnB8+A1xwE=",
"url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.3.0/user_saml-v6.3.0.tar.gz",
"version": "6.3.0",
"description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.",
"homepage": "https://github.com/nextcloud/user_saml",
"licenses": [

View File

@ -70,9 +70,9 @@
]
},
"forms": {
"hash": "sha256-OqqorHVWCDicQKnTxEJjeXzDrsj98vWvtWYyaRmDsUs=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v4.2.4/forms-v4.2.4.tar.gz",
"version": "4.2.4",
"hash": "sha256-JhLaTXll2kh/TaWXR1DfUCHuxaJlUMU1oY9ry9yoTTg=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.1/forms-v4.3.1.tar.gz",
"version": "4.3.1",
"description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
"homepage": "https://github.com/nextcloud/forms",
"licenses": [
@ -140,8 +140,8 @@
]
},
"maps": {
"hash": "sha256-FmRhpPRpMnCHkJFaVvQuR6Y7Pd7vpP+tUVih919g/fQ=",
"url": "https://github.com/nextcloud/maps/releases/download/v1.4.0-1-nightly/maps-1.4.0-1-nightly.tar.gz",
"hash": "sha256-BmXs6Oepwnm+Cviy4awm3S8P9AiJTt1BnAQNb4TxVYE=",
"url": "https://github.com/nextcloud/maps/releases/download/v1.4.0/maps-1.4.0.tar.gz",
"version": "1.4.0",
"description": "**The whole world fits inside your cloud!**\n\n- **🗺 Beautiful map:** Using [OpenStreetMap](https://www.openstreetmap.org) and [Leaflet](https://leafletjs.com), you can choose between standard map, satellite, topographical, dark mode or even watercolor! 🎨\n- **⭐ Favorites:** Save your favorite places, privately! Sync with [GNOME Maps](https://github.com/nextcloud/maps/issues/30) and mobile apps is planned.\n- **🧭 Routing:** Possible using either [OSRM](http://project-osrm.org), [GraphHopper](https://www.graphhopper.com) or [Mapbox](https://www.mapbox.com).\n- **🖼 Photos on the map:** No more boring slideshows, just show directly where you were!\n- **🙋 Contacts on the map:** See where your friends live and plan your next visit.\n- **📱 Devices:** Lost your phone? Check the map!\n- **〰 Tracks:** Load GPS tracks or past trips. Recording with [PhoneTrack](https://f-droid.org/en/packages/net.eneiluj.nextcloud.phonetrack/) or [OwnTracks](https://owntracks.org) is planned.",
"homepage": "https://github.com/nextcloud/maps",
@ -260,9 +260,9 @@
]
},
"spreed": {
"hash": "sha256-cZYE528jSNnPFgJSnqosoPyo/7V3zdUAIxnFpcOuvh4=",
"url": "https://github.com/nextcloud-releases/spreed/releases/download/v19.0.9/spreed-v19.0.9.tar.gz",
"version": "19.0.9",
"hash": "sha256-CWmVARbiZAjgMpZKofWU9FTy/LCz8zXuQdGM6UMHjZ4=",
"url": "https://github.com/nextcloud-releases/spreed/releases/download/v19.0.10/spreed-v19.0.10.tar.gz",
"version": "19.0.10",
"description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* 👥 **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* 💻 **Screen sharing!** Share your screen with the participants of your call.\n* 🚀 **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* 🌉 **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.",
"homepage": "https://github.com/nextcloud/spreed",
"licenses": [
@ -311,7 +311,7 @@
},
"unsplash": {
"hash": "sha256-kNDQk4HYkrBA+o+5/bNYj65ZJbViBjhnbSA87tsu6YE=",
"url": "https://github.com/nextcloud/unsplash/releases/download/v3.0.1/unsplash.tar.gz",
"url": "https://github.com/nextcloud/unsplash/releases/download/v3.0.2/unsplash.tar.gz",
"version": "3.0.1",
"description": "Show a new random featured nature photo in your nextcloud. Now with choosable motives!",
"homepage": "https://github.com/nextcloud/unsplash/",
@ -330,9 +330,9 @@
]
},
"user_saml": {
"hash": "sha256-+oeTDRomjmfSLIM6eyP6MHg+qtOs8IPqIWUzBofahYQ=",
"url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.2.0/user_saml-v6.2.0.tar.gz",
"version": "6.2.0",
"hash": "sha256-xxabQU8kZhgI7Q9D0n7hrFygvfZWZDnAQWnB8+A1xwE=",
"url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.3.0/user_saml-v6.3.0.tar.gz",
"version": "6.3.0",
"description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.",
"homepage": "https://github.com/nextcloud/user_saml",
"licenses": [

View File

@ -69,6 +69,16 @@
"agpl"
]
},
"forms": {
"hash": "sha256-JhLaTXll2kh/TaWXR1DfUCHuxaJlUMU1oY9ry9yoTTg=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.1/forms-v4.3.1.tar.gz",
"version": "4.3.1",
"description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑‍💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
"homepage": "https://github.com/nextcloud/forms",
"licenses": [
"agpl"
]
},
"gpoddersync": {
"hash": "sha256-OMH/pnDS/icDVUb56mzxowAhBCaVY60bMGJmwsjEc0k=",
"url": "https://github.com/thrillfall/nextcloud-gpodder/releases/download/3.10.0/gpoddersync.tar.gz",
@ -120,9 +130,9 @@
]
},
"mail": {
"hash": "sha256-ldrGgqgeRLjYmtWiSAcllaIkTeeUmhjQiXrcpwgb/wk=",
"url": "https://github.com/nextcloud-releases/mail/releases/download/v4.0.0/mail-v4.0.0.tar.gz",
"version": "4.0.0",
"hash": "sha256-u0h9zCT/l9cUUFppKazx4oLkHYzlgGcb0OBOy1CXOG8=",
"url": "https://github.com/nextcloud-releases/mail/releases/download/v4.0.1/mail-v4.0.1.tar.gz",
"version": "4.0.1",
"description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 Were not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
"homepage": "https://github.com/nextcloud/mail#readme",
"licenses": [
@ -240,9 +250,9 @@
]
},
"spreed": {
"hash": "sha256-p0m4s4ZbWEyiPPBRKvEGFk/0xN+IiYPETDegm/8QDWY=",
"url": "https://github.com/nextcloud-releases/spreed/releases/download/v20.0.0/spreed-v20.0.0.tar.gz",
"version": "20.0.0",
"hash": "sha256-mUJmbOMMIkm/83a+7xcW59TTar58D4l0Ek+kZoRdxG8=",
"url": "https://github.com/nextcloud-releases/spreed/releases/download/v20.0.1/spreed-v20.0.1.tar.gz",
"version": "20.0.1",
"description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* 👥 **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* 💻 **Screen sharing!** Share your screen with the participants of your call.\n* 🚀 **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* 🌉 **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.",
"homepage": "https://github.com/nextcloud/spreed",
"licenses": [
@ -290,9 +300,9 @@
]
},
"user_saml": {
"hash": "sha256-+oeTDRomjmfSLIM6eyP6MHg+qtOs8IPqIWUzBofahYQ=",
"url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.2.0/user_saml-v6.2.0.tar.gz",
"version": "6.2.0",
"hash": "sha256-xxabQU8kZhgI7Q9D0n7hrFygvfZWZDnAQWnB8+A1xwE=",
"url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.3.0/user_saml-v6.3.0.tar.gz",
"version": "6.3.0",
"description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.",
"homepage": "https://github.com/nextcloud/user_saml",
"licenses": [

View File

@ -2,14 +2,14 @@
stdenv.mkDerivation rec {
pname = "zimfw";
version = "1.14.0";
version = "1.15.0";
src = fetchFromGitHub {
owner = "zimfw";
repo = "zimfw";
rev = "v${version}";
## zim only needs this one file to be installed.
sparseCheckout = [ "zimfw.zsh" ];
hash = "sha256-JBMrgUMGsvjYasEHJsZ0jZAHmrN3Z0d8T8agI9FiEPs=";
hash = "sha256-8GnxUhBvMy7fhDILDKYEf/9Mhgzz7suaiZ5elRZmT0o=";
};
strictDeps = true;
dontConfigure = true;
@ -24,17 +24,6 @@ stdenv.mkDerivation rec {
runHook postInstall
'';
## zim automates the downloading of any plugins you specify in the `.zimrc`
## file. To do that with Nix, you'll need $ZIM_HOME to be writable.
## `~/.cache/zim` is a good place for that. The problem is that zim also
## looks for `zimfw.zsh` there, so we're going to tell it here to look for
## the `zimfw.zsh` where we currently are.
postFixup = ''
substituteInPlace $out/zimfw.zsh \
--replace "\''${ZIM_HOME}/zimfw.zsh" "$out/zimfw.zsh" \
--replace "\''${(q-)ZIM_HOME}/zimfw.zsh" "$out/zimfw.zsh"
'';
meta = with lib; {
description =
"The Zsh configuration framework with blazing speed and modular extensions";

View File

@ -2,7 +2,7 @@
buildGoModule rec {
pname = "smug";
version = "0.3.3";
version = "0.3.5";
subPackages = [ "." ];
@ -10,7 +10,7 @@ buildGoModule rec {
owner = "ivaaaan";
repo = "smug";
rev = "v${version}";
sha256 = "sha256-dQp9Ov8Si9DfziVtX3dXsJg+BNKYOoL9/WwdalQ5TVw=";
sha256 = "sha256-5n4EmkcHv6pw1gd9VUtJRR3QdRJsu5DYYsozJ25uggs=";
};
vendorHash = "sha256-vaDUzVRmpmNn8/vUPeR1U5N6T4llFRIk9A1lum8uauU=";

View File

@ -4,21 +4,21 @@
fetchFromGitHub,
buildGoModule,
nixosTests,
gitUpdater,
nix-update-script,
}:
buildGoModule rec {
pname = "dae";
version = "0.7.4";
version = "0.8.0";
src = fetchFromGitHub {
owner = "daeuniverse";
repo = "dae";
rev = "v${version}";
hash = "sha256-bJ/a/SCNCutQDbmxPp36SYY7qhji2XRv6awp7buZVc0=";
hash = "sha256-Vdh5acE5i/bJ8VXOm+9OqZQbxvqv4TS/t0DDfBs/K5g=";
fetchSubmodules = true;
};
vendorHash = "sha256-CVQTBJDwu7AYz6q0MnFPMINRShcnS1JOGqH+Ro4lIRo=";
vendorHash = "sha256-0Q+1cXUu4EH4qkGlK6BIpv4dCdtSKjb1RbLi5Xfjcew=";
proxyVendor = true;
@ -52,9 +52,7 @@ buildGoModule rec {
inherit (nixosTests) dae;
};
passthru.updateScript = gitUpdater {
rev-prefix = "v";
};
passthru.updateScript = nix-update-script { };
meta = with lib; {
description = "Linux high-performance transparent proxy solution based on eBPF";

View File

@ -1,29 +1,29 @@
{ lib
, fetchFromGitHub
, python3
{
lib,
fetchFromGitHub,
python3,
}:
python3.pkgs.buildPythonApplication rec {
pname = "mitmproxy2swagger";
version = "0.13.0";
format = "pyproject";
pyproject = true;
src = fetchFromGitHub {
owner = "alufers";
repo = pname;
repo = "mitmproxy2swagger";
rev = "refs/tags/${version}";
hash = "sha256-VHxqxee5sQWRS13V4SfY4LWaN0oxxWsNVDOEqUyKHfg=";
};
nativeBuildInputs = with python3.pkgs; [
poetry-core
];
pythonRelaxDeps = [
"mitmproxy"
"ruamel.yaml"
];
propagatedBuildInputs = with python3.pkgs; [
build-system = with python3.pkgs; [ poetry-core ];
dependencies = with python3.pkgs; [
json-stream
mitmproxy
ruamel-yaml
@ -32,16 +32,14 @@ python3.pkgs.buildPythonApplication rec {
# No tests available
doCheck = false;
pythonImportsCheck = [
"mitmproxy2swagger"
];
pythonImportsCheck = [ "mitmproxy2swagger" ];
meta = with lib; {
description = "Tool to automagically reverse-engineer REST APIs";
mainProgram = "mitmproxy2swagger";
homepage = "https://github.com/alufers/mitmproxy2swagger";
changelog = "https://github.com/alufers/mitmproxy2swagger/releases/tag/${version}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
mainProgram = "mitmproxy2swagger";
};
}

View File

@ -720,6 +720,7 @@ mapAliases {
hip-common = throw "'hip-common' has been replaced with 'rocmPackages.hip-common'"; # Added 2023-10-08
hip-nvidia = throw "'hip-nvidia' has been removed in favor of 'rocmPackages.clr'"; # Added 2023-10-08
hll2390dw-cups = throw "The hll2390dw-cups package was dropped since it was unmaintained."; # Added 2024-06-21
hop-cli = throw "hop-cli has been removed as the service has been shut-down"; # Added 2024-08-13
ht-rust = xh; # Added 2021-02-13
hydra_unstable = hydra; # Added 2024-08-22
hydron = throw "hydron has been removed as the project has been archived upstream since 2022 and is affected by a severe remote code execution vulnerability";

View File

@ -14978,8 +14978,6 @@ with pkgs;
hop = callPackage ../development/compilers/hop { };
hop-cli = throw "hop-cli has been removed as the service has been shut-down"; #Added 2024-08-13
falcon = callPackage ../development/interpreters/falcon {
stdenv = gcc10Stdenv;
};
@ -19061,7 +19059,7 @@ with pkgs;
captive-browser = callPackage ../applications/networking/browsers/captive-browser { };
catboost = callPackage ../development/libraries/catboost {
catboost = callPackage ../by-name/ca/catboost/package.nix {
# https://github.com/catboost/catboost/issues/2540
cudaPackages = cudaPackages_11;
};
@ -24550,8 +24548,10 @@ with pkgs;
maker-panel = callPackage ../tools/misc/maker-panel { };
mastodon = callPackage ../servers/mastodon {
nodejs-slim = nodejs-slim_20;
ruby = ruby_3_2;
nodejs-slim = nodejs-slim_22;
python3 = python311;
ruby = ruby_3_3;
yarn-berry = yarn-berry.override { nodejs = nodejs-slim_22; };
};
gotosocial = callPackage ../servers/gotosocial { };
@ -26603,6 +26603,7 @@ with pkgs;
ubootBananaPim64
ubootAmx335xEVM
ubootClearfog
ubootCM3588NAS
ubootCubieboard2
ubootGuruplug
ubootJetsonTK1
@ -26615,6 +26616,7 @@ with pkgs;
ubootOlimexA64Olinuxino
ubootOlimexA64Teres1
ubootOrangePi3
ubootOrangePi3B
ubootOrangePi5
ubootOrangePi5Plus
ubootOrangePiPc

View File

@ -367,10 +367,7 @@ in {
intel-speed-select = if lib.versionAtLeast kernel.version "5.3" then callPackage ../os-specific/linux/intel-speed-select { } else null;
ipu6-drivers =
if kernelOlder "6.10"
then callPackage ../os-specific/linux/ipu6-drivers {}
else null;
ipu6-drivers = callPackage ../os-specific/linux/ipu6-drivers {};
ivsc-driver = callPackage ../os-specific/linux/ivsc-driver {};

View File

@ -6333,6 +6333,8 @@ self: super: with self; {
jaeger-client = callPackage ../development/python-modules/jaeger-client { };
jalali-core = callPackage ../development/python-modules/jalali-core { };
jamo = callPackage ../development/python-modules/jamo { };
janus = callPackage ../development/python-modules/janus { };
@ -9399,6 +9401,8 @@ self: super: with self; {
opentelemetry-instrumentation-celery = callPackage ../development/python-modules/opentelemetry-instrumentation-celery { };
opentelemetry-instrumentation-botocore = callPackage ../development/python-modules/opentelemetry-instrumentation-botocore { };
opentelemetry-instrumentation-dbapi = callPackage ../development/python-modules/opentelemetry-instrumentation-dbapi { };
opentelemetry-instrumentation-django = callPackage ../development/python-modules/opentelemetry-instrumentation-django { };
@ -9417,6 +9421,8 @@ self: super: with self; {
opentelemetry-instrumentation-wsgi = callPackage ../development/python-modules/opentelemetry-instrumentation-wsgi { };
opentelemetry-propagator-aws-xray = callPackage ../development/python-modules/opentelemetry-propagator-aws-xray { };
opentelemetry-proto = callPackage ../development/python-modules/opentelemetry-proto { };
opentelemetry-semantic-conventions = callPackage ../development/python-modules/opentelemetry-semantic-conventions { };

View File

@ -31,6 +31,11 @@
, nixpkgsArgs ? { config = {
allowUnfree = false;
inHydra = true;
# Exceptional unsafe packages that we still build and distribute,
# so users choosing to allow don't have to rebuild them every time.
permittedInsecurePackages = [
"olm-3.2.16" # see PR #347899
];
}; }
# This flag, if set to true, will inhibit the use of `mapTestOn`