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: steps:
- uses: cachix/install-nix-action@08dcb3a5e62fa31e2da3d490afc4176ef55ecd72 # v30 - 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. # 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, # We later build and run code from the base branch with access to secrets,
# so it's important this is not the PRs code. # 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. # This should take 1 minute at most, but let's be generous. The default of 6 hours is definitely too long.
timeout-minutes: 10 timeout-minutes: 10
steps: 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 - name: Resolving the merge commit
env: env:
GH_TOKEN: ${{ github.token }} GH_TOKEN: ${{ github.token }}
run: | run: |
# This checks for mergeability of a pull request as recommended in if mergedSha=$(base/ci/get-merge-commit.sh ${{ github.repository }} ${{ github.event.number }}); then
# 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 echo "Checking the merge commit $mergedSha"
# 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"
echo "mergedSha=$mergedSha" >> "$GITHUB_ENV" echo "mergedSha=$mergedSha" >> "$GITHUB_ENV"
else else
echo "The PR cannot be merged, it has a merge conflict, skipping the rest.." echo "Skipping the rest..."
fi fi
rm -rf base
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0 - uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
if: env.mergedSha if: env.mergedSha
with: 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. - 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). 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; githubId = 1217934;
name = "José Romildo Malaquias"; 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 = { ronanmacf = {
email = "macfhlar@tcd.ie"; email = "macfhlar@tcd.ie";
github = "RonanMacF"; github = "RonanMacF";

View File

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

View File

@ -16,7 +16,6 @@ in {
libayatana-common libayatana-common
ubports-click ubports-click
]) ++ (with pkgs.lomiri; [ ]) ++ (with pkgs.lomiri; [
content-hub
hfd-service hfd-service
history-service history-service
libusermetrics libusermetrics
@ -24,6 +23,7 @@ in {
lomiri-calculator-app lomiri-calculator-app
lomiri-camera-app lomiri-camera-app
lomiri-clock-app lomiri-clock-app
lomiri-content-hub
lomiri-docviewer-app lomiri-docviewer-app
lomiri-download-manager lomiri-download-manager
lomiri-filemanager-app lomiri-filemanager-app
@ -129,7 +129,7 @@ in {
environment.pathsToLink = [ environment.pathsToLink = [
# Configs for inter-app data exchange system # Configs for inter-app data exchange system
"/share/content-hub/peers" "/share/lomiri-content-hub/peers"
# Configs for inter-app URL requests # Configs for inter-app URL requests
"/share/lomiri-url-dispatcher/urls" "/share/lomiri-url-dispatcher/urls"
# Splash screens & other images for desktop apps launched via lomiri-app-launch # Splash screens & other images for desktop apps launched via lomiri-app-launch
@ -194,10 +194,6 @@ in {
}; };
users.groups.usermetrics = { }; 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; meta.maintainers = lib.teams.lomiri.members;

View File

@ -12,9 +12,12 @@ let
RAILS_ENV = "production"; RAILS_ENV = "production";
NODE_ENV = "production"; NODE_ENV = "production";
BOOTSNAP_CACHE_DIR="/var/cache/mastodon/precompile";
LD_PRELOAD = "${pkgs.jemalloc}/lib/libjemalloc.so"; LD_PRELOAD = "${pkgs.jemalloc}/lib/libjemalloc.so";
# mastodon-web concurrency. MASTODON_USE_LIBVIPS = "true";
# Concurrency mastodon-web
WEB_CONCURRENCY = toString cfg.webProcesses; WEB_CONCURRENCY = toString cfg.webProcesses;
MAX_THREADS = toString cfg.webThreads; MAX_THREADS = toString cfg.webThreads;
@ -24,7 +27,7 @@ let
DB_NAME = cfg.database.name; DB_NAME = cfg.database.name;
LOCAL_DOMAIN = cfg.localDomain; LOCAL_DOMAIN = cfg.localDomain;
SMTP_SERVER = cfg.smtp.host; SMTP_SERVER = cfg.smtp.host;
SMTP_PORT = toString(cfg.smtp.port); SMTP_PORT = toString cfg.smtp.port;
SMTP_FROM_ADDRESS = cfg.smtp.fromAddress; SMTP_FROM_ADDRESS = cfg.smtp.fromAddress;
PAPERCLIP_ROOT_PATH = "/var/lib/mastodon/public-system"; PAPERCLIP_ROOT_PATH = "/var/lib/mastodon/public-system";
PAPERCLIP_ROOT_URL = "/system"; PAPERCLIP_ROOT_URL = "/system";
@ -33,12 +36,12 @@ let
TRUSTED_PROXY_IP = cfg.trustedProxy; TRUSTED_PROXY_IP = cfg.trustedProxy;
} }
// lib.optionalAttrs (cfg.redis.host != null) { REDIS_HOST = cfg.redis.host; } // 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.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.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.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_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.host != null) { ES_PRESET = cfg.elasticsearch.preset; }
// lib.optionalAttrs (cfg.elasticsearch.user != null) { ES_USER = cfg.elasticsearch.user; } // lib.optionalAttrs (cfg.elasticsearch.user != null) { ES_USER = cfg.elasticsearch.user; }
// cfg.extraConfig; // cfg.extraConfig;
@ -51,6 +54,9 @@ let
Group = cfg.group; Group = cfg.group;
# Working directory # Working directory
WorkingDirectory = cfg.package; WorkingDirectory = cfg.package;
# Cache directory and mode
CacheDirectory = "mastodon";
CacheDirectoryMode = "0750";
# State directory and mode # State directory and mode
StateDirectory = "mastodon"; StateDirectory = "mastodon";
StateDirectoryMode = "0750"; StateDirectoryMode = "0750";
@ -127,7 +133,7 @@ let
description = "Mastodon sidekiq${jobClassLabel}"; description = "Mastodon sidekiq${jobClassLabel}";
wantedBy = [ "mastodon.target" ]; wantedBy = [ "mastodon.target" ];
environment = env // { environment = env // {
PORT = toString(cfg.sidekiqPort); PORT = toString cfg.sidekiqPort;
DB_POOL = threads; DB_POOL = threads;
}; };
serviceConfig = { serviceConfig = {
@ -309,7 +315,7 @@ in {
Voluntary Application Server Identification. A new keypair can Voluntary Application Server Identification. A new keypair can
be generated by running: 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 If {option}`mastodon.vapidPrivateKeyFile`does not
exist, it and this file will be created with a new keypair. exist, it and this file will be created with a new keypair.
@ -324,12 +330,57 @@ in {
type = lib.types.str; 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 { secretKeyBaseFile = lib.mkOption {
description = '' description = ''
Path to file containing the secret key base. Path to file containing the secret key base.
A new secret key base can be generated by running: 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. 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. Path to file containing the OTP secret.
A new OTP secret can be generated by running: 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. If this file does not exist, it will be created with a new OTP secret.
''; '';
@ -708,13 +759,28 @@ in {
script = '' script = ''
umask 077 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 if ! test -f ${cfg.secretKeyBaseFile}; then
mkdir -p $(dirname ${cfg.secretKeyBaseFile}) mkdir -p $(dirname ${cfg.secretKeyBaseFile})
bin/rake secret > ${cfg.secretKeyBaseFile} bin/bundle exec rails secret > ${cfg.secretKeyBaseFile}
fi fi
if ! test -f ${cfg.otpSecretFile}; then if ! test -f ${cfg.otpSecretFile}; then
mkdir -p $(dirname ${cfg.otpSecretFile}) mkdir -p $(dirname ${cfg.otpSecretFile})
bin/rake secret > ${cfg.otpSecretFile} bin/bundle exec rails secret > ${cfg.otpSecretFile}
fi fi
if ! test -f ${cfg.vapidPrivateKeyFile}; then if ! test -f ${cfg.vapidPrivateKeyFile}; then
mkdir -p $(dirname ${cfg.vapidPrivateKeyFile}) $(dirname ${cfg.vapidPublicKeyFile}) mkdir -p $(dirname ${cfg.vapidPrivateKeyFile}) $(dirname ${cfg.vapidPublicKeyFile})
@ -724,6 +790,9 @@ in {
fi fi
cat > /var/lib/mastodon/.secrets_env <<EOF 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})" SECRET_KEY_BASE="$(cat ${cfg.secretKeyBaseFile})"
OTP_SECRET="$(cat ${cfg.otpSecretFile})" OTP_SECRET="$(cat ${cfg.otpSecretFile})"
VAPID_PRIVATE_KEY="$(cat ${cfg.vapidPrivateKeyFile})" VAPID_PRIVATE_KEY="$(cat ${cfg.vapidPrivateKeyFile})"
@ -802,7 +871,7 @@ in {
description = "Mastodon web"; description = "Mastodon web";
environment = env // (if cfg.enableUnixSocket environment = env // (if cfg.enableUnixSocket
then { SOCKET = "/run/mastodon-web/web.socket"; } then { SOCKET = "/run/mastodon-web/web.socket"; }
else { PORT = toString(cfg.webPort); } else { PORT = toString cfg.webPort; }
); );
serviceConfig = { serviceConfig = {
ExecStart = "${cfg.package}/bin/puma -C config/puma.rb"; ExecStart = "${cfg.package}/bin/puma -C config/puma.rb";
@ -816,7 +885,7 @@ in {
# System Call Filtering # System Call Filtering
SystemCallFilter = [ ("~" + lib.concatStringsSep " " systemCallsList) "@chown" "pipe" "pipe2" ]; SystemCallFilter = [ ("~" + lib.concatStringsSep " " systemCallsList) "@chown" "pipe" "pipe2" ];
} // cfgService; } // 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 { systemd.services.mastodon-media-auto-remove = lib.mkIf cfg.mediaAutoRemove.enable {
@ -851,7 +920,7 @@ in {
}; };
locations."@proxy" = { 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; proxyWebsockets = true;
}; };
@ -903,7 +972,7 @@ in {
inherit (cfg) group; 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" ];}) (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; type = types.bool;
default = false; default = false;
description = '' description = ''
Resolves domains of proxyPass targets at runtime Resolves domains of proxyPass targets at runtime and not only at startup.
and not only at start, you have to set This can be used as a workaround if nginx fails to start because of not-yet-working DNS.
services.nginx.resolver, too.
:::{.warn}
`services.nginx.resolver` must be set for this option to work.
:::
''; '';
}; };

View File

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

View File

@ -4,6 +4,52 @@ let
user = "alice"; user = "alice";
description = "Alice Foobar"; description = "Alice Foobar";
password = "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 in
{ {
greeter = makeTest ( greeter = makeTest (
@ -154,46 +200,8 @@ in
}; };
# Help with OCR # Help with OCR
systemd.tmpfiles.settings = systemd.tmpfiles.settings = {
let "10-lomiri-test-setup" = terminalOcrTmpfilesSetup { inherit pkgs lib config; };
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}";
};
}; };
}; };
@ -360,57 +368,19 @@ in
}; };
variables = { variables = {
# So we can test what content-hub is working behind the scenes # So we can test what lomiri-content-hub is working behind the scenes
CONTENT_HUB_LOGGING_LEVEL = "2"; LOMIRI_CONTENT_HUB_LOGGING_LEVEL = "2";
}; };
systemPackages = with pkgs; [ systemPackages = with pkgs; [
# For a convenient way of kicking off content-hub peer collection # For a convenient way of kicking off lomiri-content-hub peer collection
lomiri.content-hub.examples lomiri.lomiri-content-hub.examples
]; ];
}; };
# Help with OCR # Help with OCR
systemd.tmpfiles.settings = systemd.tmpfiles.settings = {
let "10-lomiri-test-setup" = terminalOcrTmpfilesSetup { inherit pkgs lib config; };
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}";
};
}; };
}; };
@ -484,9 +454,9 @@ in
# lomiri-terminal-app has a separate VM test to test its basic functionality # 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 # for the LSS lomiri-content-hub test to work reliably, we need to kick off peer collecting
machine.send_chars("content-hub-test-importer\n") 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 content-hub 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") machine.send_key("ctrl-c")
# Doing this here, since we need an in-session shell & separately starting a terminal again wastes time # 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") wait_for_text("Rotation Lock")
machine.screenshot("settings_open") 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 # Make fullscreen, can't navigate to Background plugin via keyboard unless window has non-phone-like aspect ratio
toggle_maximise() toggle_maximise()
@ -536,7 +506,7 @@ in
# Peers should be loaded # Peers should be loaded
wait_for_text("Morph") # or Gallery, but Morph is already packaged 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 # Select Morph as content source
mouse_click(370, 100) mouse_click(370, 100)
@ -544,11 +514,11 @@ in
# Expect Morph to be brought into the foreground, with its Downloads page open # Expect Morph to be brought into the foreground, with its Downloads page open
wait_for_text("No downloads") 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 # Check that it's still alive
machine.succeed("pgrep -u ${user} -f lomiri-system-settings") 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 # Testing any more would require more applications & setup, the fact that it's already being attempted is a good sign
machine.send_key("esc") machine.send_key("esc")
@ -732,8 +702,17 @@ in
# Help with OCR # Help with OCR
fonts.packages = [ pkgs.inconsolata ]; fonts.packages = [ pkgs.inconsolata ];
# Non-QWERTY keymap to test keymap patch services.xserver.xkb.layout = lib.strings.concatStringsSep "," [
services.xserver.xkb.layout = "de"; # 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; enableOCR = true;
@ -784,6 +763,30 @@ in
machine.send_chars("touch ${pwInput}\n") machine.send_chars("touch ${pwInput}\n")
machine.wait_for_file("/home/alice/${pwOutput}", 10) 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") machine.send_key("alt-f4")
''; '';
} }

View File

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

View File

@ -5534,6 +5534,18 @@ final: prev:
meta.homepage = "https://github.com/qnighy/lalrpop.vim/"; 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 { last256 = buildVimPlugin {
pname = "last256"; pname = "last256";
version = "2020-12-09"; version = "2020-12-09";
@ -12954,6 +12966,18 @@ final: prev:
meta.homepage = "https://github.com/junegunn/vim-after-object/"; 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 { vim-agda = buildVimPlugin {
pname = "vim-agda"; pname = "vim-agda";
version = "2024-05-17"; version = "2024-05-17";

View File

@ -463,6 +463,7 @@ https://github.com/b3nj5m1n/kommentary/,,
https://github.com/udalov/kotlin-vim/,, https://github.com/udalov/kotlin-vim/,,
https://github.com/mistweaverco/kulala.nvim/,HEAD, https://github.com/mistweaverco/kulala.nvim/,HEAD,
https://github.com/qnighy/lalrpop.vim/,, https://github.com/qnighy/lalrpop.vim/,,
https://github.com/Wansmer/langmapper.nvim/,HEAD,
https://github.com/sk1418/last256/,, https://github.com/sk1418/last256/,,
https://github.com/latex-box-team/latex-box/,, https://github.com/latex-box-team/latex-box/,,
https://github.com/dundalek/lazy-lsp.nvim/,HEAD, 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-toggle-buffer/,,
https://github.com/MarcWeber/vim-addon-xdebug/,, https://github.com/MarcWeber/vim-addon-xdebug/,,
https://github.com/junegunn/vim-after-object/,, 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/msuperdock/vim-agda/,HEAD,
https://github.com/vim-airline/vim-airline/,, https://github.com/vim-airline/vim-airline/,,
https://github.com/enricobacis/vim-airline-clock/,, https://github.com/enricobacis/vim-airline-clock/,,

View File

@ -35,9 +35,12 @@ python3Packages.buildPythonApplication rec {
pygobject3 pygobject3
pycairo pycairo
pyxdg pyxdg
setuptools
dbus-python dbus-python
]; ];
PYTHONDIR = "${placeholder "out"}/${python3Packages.python.sitePackages}";
dontWrapGApps = true; dontWrapGApps = true;
# Arguments to be passed to `makeWrapper`, only used by buildPython* # 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 #!nix-shell -i bash -p curl gnugrep common-updater-scripts
set -x set -x
set -eou pipefail; set -eou pipefail;
url=$(curl -sI "https://discordapp.com/api/download/${ url=$(curl -sI -o /dev/null -w '%header{location}' "https://discord.com/api/download/${branch}?platform=osx&format=dmg")
builtins.replaceStrings [ "discord-" "discord" ] [ "" "stable" ] pname version=$(echo $url | grep -oP '/\K(\d+\.){2}\d+')
}?platform=osx&format=dmg" | grep -oP 'location: \K\S+')
version=''${url##https://dl*.discordapp.net/apps/osx/}
version=''${version%%/*.dmg}
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} 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 let
versions = versions =
if stdenv.hostPlatform.isLinux then { if stdenv.hostPlatform.isLinux then {
stable = "0.0.70"; stable = "0.0.71";
ptb = "0.0.105"; ptb = "0.0.110";
canary = "0.0.492"; canary = "0.0.502";
development = "0.0.28"; development = "0.0.30";
} else { } else {
stable = "0.0.318"; stable = "0.0.322";
ptb = "0.0.133"; ptb = "0.0.140";
canary = "0.0.591"; canary = "0.0.611";
development = "0.0.49"; development = "0.0.53";
}; };
version = versions.${branch}; version = versions.${branch};
srcs = rec { srcs = rec {
x86_64-linux = { x86_64-linux = {
stable = fetchurl { stable = fetchurl {
url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz"; url = "https://stable.dl2.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
hash = "sha256-Ujlewrhbqal97hCG6+Iu+OqntWZJ/oY6ZHeL+HmoU38="; hash = "sha256-PMcavgUhL8c1YFaWsooZObDa7APMqCD1IaysED5fWac=";
}; };
ptb = fetchurl { ptb = fetchurl {
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz"; url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
hash = "sha256-u/4wWssZxKlHrRW/Vd9pqUfqN2VQGYv1SDktpRsOayM="; hash = "sha256-NV/0YKn1rG54Zkc9qAmpeb+4YbKjxhjTCdPOd84Lcc8=";
}; };
canary = fetchurl { canary = fetchurl {
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz"; url = "https://canary.dl2.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
hash = "sha256-NjcNgKYm1Twm8nN3sFlZCG/3x5fcSmX7X2On7CeZm0M="; hash = "sha256-2DE7p3eT/mVGC+ejnTcTEhF7sEWyhfUfzj0gYTh+6Dw=";
}; };
development = fetchurl { development = fetchurl {
url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz"; url = "https://development.dl2.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
hash = "sha256-326KAuqt3VQSgyJAdsdc7YgrdF3vCVoJoKUCVC2UdaU="; hash = "sha256-HxMJQd5fM1VNfrBey4SbnnBkFQYZgbxg4YTy6FIC9Ps=";
}; };
}; };
x86_64-darwin = { x86_64-darwin = {
stable = fetchurl { stable = fetchurl {
url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg"; url = "https://stable.dl2.discordapp.net/apps/osx/${version}/Discord.dmg";
hash = "sha256-Ot6IM6EAg4MQPp0JqvUOZNAor6Nr6luc6pGY+722GMo="; hash = "sha256-RLAdcCcRrUtDSdaj/RdVLJGvufpIjZoMAKxp0Jyu17A=";
}; };
ptb = fetchurl { ptb = fetchurl {
url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg"; url = "https://ptb.dl2.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
hash = "sha256-FFp6CRgD/kpCVxJ4+es0DaOGaW5v2Aa+lzJdG2Zu8eY="; hash = "sha256-VGhvykujfzI7jwXE+lHTzqT0t08GaON6gCuf13po7wY=";
}; };
canary = fetchurl { canary = fetchurl {
url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg"; url = "https://canary.dl2.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
hash = "sha256-TIXe8cy6feME0900R5aWyItZfUrUA8zXo0pqwQ79yAM="; hash = "sha256-QC8RANqoyMAGKjTF0NNhz7wMt65D5LI1xYtd++dHXC4=";
}; };
development = fetchurl { development = fetchurl {
url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg"; url = "https://development.dl2.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
hash = "sha256-kfHnS1NHuPD7UR7XvMdtY2LPsDRJVQHk7/Nm+cR/KGc="; hash = "sha256-DhY8s7Mhzos0ygB/WuoE07WK6hoIh/FcETeIsffw+e0=";
}; };
}; };
aarch64-darwin = x86_64-darwin; aarch64-darwin = x86_64-darwin;
@ -78,7 +78,7 @@ let
meta = meta // { mainProgram = value.binaryName; }; meta = meta // { mainProgram = value.binaryName; };
})) }))
{ {
stable = rec { stable = {
pname = "discord"; pname = "discord";
binaryName = "Discord"; binaryName = "Discord";
desktopName = "Discord"; desktopName = "Discord";

View File

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

View File

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

View File

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

View File

@ -119,6 +119,17 @@ let
overrideAzureMgmtPackage super.azure-mgmt-batchai "7.0.0b1" "zip" overrideAzureMgmtPackage super.azure-mgmt-batchai "7.0.0b1" "zip"
"sha256-mT6vvjWbq0RWQidugR229E8JeVEiobPD3XA/nDM3I6Y="; "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' # AttributeError: type object 'CustomDomainsOperations' has no attribute 'disable_custom_https'
azure-mgmt-cdn = azure-mgmt-cdn =
overrideAzureMgmtPackage super.azure-mgmt-cdn "12.0.0" "zip" overrideAzureMgmtPackage super.azure-mgmt-cdn "12.0.0" "zip"

View File

@ -9,16 +9,16 @@
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "boxbuddy"; pname = "boxbuddy";
version = "2.2.12"; version = "2.2.13";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Dvlv"; owner = "Dvlv";
repo = "BoxBuddyRS"; repo = "BoxBuddyRS";
rev = version; 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 # The software assumes it is installed either in flatpak or in the home directory
# so the xdg data path needs to be patched here # so the xdg data path needs to be patched here

View File

@ -1,20 +1,21 @@
{ lib {
, config lib,
, fetchFromGitHub config,
, cmake fetchFromGitHub,
, cctools cmake,
, libiconv cctools,
, llvmPackages libiconv,
, ninja llvmPackages,
, openssl ninja,
, python3Packages openssl,
, ragel python3Packages,
, yasm ragel,
, zlib yasm,
, cudaSupport ? config.cudaSupport zlib,
, cudaPackages ? {} cudaSupport ? config.cudaSupport,
, llvmPackages_12 cudaPackages ? { },
, pythonSupport ? false llvmPackages_12,
pythonSupport ? false,
}: }:
let let
inherit (llvmPackages) stdenv; inherit (llvmPackages) stdenv;
@ -22,13 +23,13 @@ in
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "catboost"; pname = "catboost";
version = "1.2.5"; version = "1.2.7";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "catboost"; owner = "catboost";
repo = "catboost"; repo = "catboost";
rev = "refs/tags/v${finalAttrs.version}"; rev = "refs/tags/v${finalAttrs.version}";
hash = "sha256-2dfCCCa0LheytkLRbYuBd25M320f1kbhBWKIVjslor0="; hash = "sha256-I3geFdVQ1Pm61eRXi+ueaxel3QRb8EJV9f4zV2Q7kk4=";
}; };
patches = [ patches = [
@ -50,33 +51,50 @@ stdenv.mkDerivation (finalAttrs: {
done done
''; '';
outputs = [ "out" "dev" ]; outputs = [
"out"
"dev"
];
nativeBuildInputs = [ nativeBuildInputs =
[
cmake cmake
llvmPackages.bintools llvmPackages.bintools
ninja ninja
(python3Packages.python.withPackages (ps: with ps; [ six ])) (python3Packages.python.withPackages (ps: with ps; [ six ]))
ragel ragel
yasm yasm
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ ]
++ lib.optionals stdenv.hostPlatform.isDarwin [
cctools cctools
] ++ lib.optionals cudaSupport (with cudaPackages; [ ]
++ lib.optionals cudaSupport (
with cudaPackages;
[
cuda_nvcc cuda_nvcc
]); ]
);
buildInputs = [ buildInputs =
[
openssl openssl
zlib zlib
] ++ lib.optionals stdenv.hostPlatform.isDarwin [ ]
++ lib.optionals stdenv.hostPlatform.isDarwin [
libiconv libiconv
] ++ lib.optionals cudaSupport (with cudaPackages; [ ]
++ lib.optionals cudaSupport (
with cudaPackages;
[
cuda_cudart cuda_cudart
cuda_cccl cuda_cccl
libcublas libcublas
]); ]
);
env = { env = {
PROGRAM_VERSION = finalAttrs.version;
# catboost requires clang 14+ for build, but does clang 12 for cuda build. # 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. # 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 # 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 library, used for ranking, classification, regression and other machine
learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU. 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; license = licenses.asl20;
platforms = platforms.unix; platforms = platforms.unix;
homepage = "https://catboost.ai"; homepage = "https://catboost.ai";
maintainers = with maintainers; [ PlushBeaver natsukium ]; maintainers = with maintainers; [
PlushBeaver
natsukium
];
mainProgram = "catboost"; 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 diff --git a/CMakeLists.txt b/CMakeLists.txt
index ed6c53b220..5c6fb8f157 100644 index 24ffd1225a..700adcc246 100644
--- a/CMakeLists.txt --- a/CMakeLists.txt
+++ b/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/global_vars.cmake)
include(cmake/archive.cmake) include(cmake/archive.cmake)
include(cmake/common.cmake) include(cmake/common.cmake)
-include(cmake/conan.cmake) -include(cmake/conan1_deprecated.cmake)
include(cmake/cuda.cmake) include(cmake/cuda.cmake)
include(cmake/cython.cmake) include(cmake/cython.cmake)
include(cmake/fbs.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/shared_libs.cmake)
include(cmake/swig.cmake) include(cmake/swig.cmake)
@ -29,6 +29,11 @@ index ed6c53b220..5c6fb8f157 100644
- ) - )
-endif() -endif()
- -
if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA) if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA)
include(CMakeLists.linux-x86_64.txt) 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, testers,
wrapGAppsHook4, wrapGAppsHook4,
xvfb-run, xvfb-run,
versionCheckHook,
}: }:
let let
@ -26,21 +27,16 @@ let
self = buildRustPackage' { self = buildRustPackage' {
pname = "czkawka"; pname = "czkawka";
version = "7.0.0"; version = "8.0.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "qarmin"; owner = "qarmin";
repo = "czkawka"; repo = "czkawka";
rev = self.version; rev = "refs/tags/${self.version}";
hash = "sha256-SOWtLmehh1F8SoDQ+9d7Fyosgzya5ZztCv8IcJZ4J94="; hash = "sha256-Uxko2TRIjqQvd7n9C+P7oMUrm3YY5j7TVzvijEjDwOM=";
}; };
cargoPatches = [ cargoHash = "sha256-DR2JU+QcGWliNoRMjSjJns7FsicpNAX5gTariFuQ/dw=";
# Updates time and time-macros from Cargo.lock
./0000-time.diff
];
cargoHash = "sha256-cQv8C0P3xizsvnJODkTMJQA98P4nYSCHFT75isJE6es=";
nativeBuildInputs = [ nativeBuildInputs = [
gobject-introspection gobject-introspection
@ -85,6 +81,13 @@ let
install -Dm444 -t $out/share/metainfo data/com.github.qarmin.czkawka.metainfo.xml 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 = { passthru = {
tests.version = testers.testVersion { tests.version = testers.testVersion {
package = self; package = self;

View File

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

View File

@ -8,16 +8,16 @@
buildNpmPackage rec { buildNpmPackage rec {
pname = "redocly"; pname = "redocly";
version = "1.18.1"; version = "1.25.5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Redocly"; owner = "Redocly";
repo = "redocly-cli"; repo = "redocly-cli";
rev = "@redocly/cli@${version}"; 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"; 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, gitUpdater,
nixosTests, nixosTests,
cmake, cmake,
content-hub,
exiv2, exiv2,
gettext, gettext,
gst_all_1, gst_all_1,
libusermetrics, libusermetrics,
lomiri-action-api, lomiri-action-api,
lomiri-content-hub,
lomiri-ui-toolkit, lomiri-ui-toolkit,
lomiri-thumbnailer, lomiri-thumbnailer,
pkg-config, pkg-config,
@ -145,9 +145,9 @@ stdenv.mkDerivation (finalAttrs: {
qzxing qzxing
# QML # QML
content-hub
libusermetrics libusermetrics
lomiri-action-api lomiri-action-api
lomiri-content-hub
lomiri-ui-toolkit lomiri-ui-toolkit
lomiri-thumbnailer lomiri-thumbnailer
qtpositioning qtpositioning
@ -192,7 +192,7 @@ stdenv.mkDerivation (finalAttrs: {
export QML2_IMPORT_PATH=${ export QML2_IMPORT_PATH=${
listToQtVar qtbase.qtQmlPrefix [ listToQtVar qtbase.qtQmlPrefix [
lomiri-ui-toolkit lomiri-ui-toolkit
content-hub lomiri-content-hub
lomiri-thumbnailer 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-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 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; dontWrapGApps = true;

View File

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

View File

@ -7,9 +7,9 @@
gitUpdater, gitUpdater,
nixosTests, nixosTests,
cmake, cmake,
content-hub,
gettext, gettext,
libreoffice-unwrapped, libreoffice-unwrapped,
lomiri-content-hub,
lomiri-ui-toolkit, lomiri-ui-toolkit,
pkg-config, pkg-config,
poppler, poppler,
@ -21,61 +21,16 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-docviewer-app"; pname = "lomiri-docviewer-app";
version = "3.0.4"; version = "3.1.0";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "ubports"; owner = "ubports";
repo = "development/apps/lomiri-docviewer-app"; repo = "development/apps/lomiri-docviewer-app";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-xUBE+eSAfG2yMlE/DI+6JHQx+3HiNwtSTv/P4YOAE7Y="; hash = "sha256-zesBZmaMiMJwHtj3SoaNeHPiM9VNGEa4nTIiG8nskqI=";
}; };
patches = [ 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 # 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 because there's a file rename
(fetchpatch2 { (fetchpatch2 {
@ -84,11 +39,11 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-KdHyKXM0hMMIFkuDn5JZJOEuitWAXT2QQOuR+1AolP0="; 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 { (fetchpatch {
name = "1051-lomiri-docviewer-app-Install-content-hub-lomiri-url-dispatcher-files.patch"; name = "1051-lomiri-docviewer-app-XDGify-icon.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/98f5ab9d51ba05e8c3ed1991c0b67d3922b5ba90.patch"; url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/a319e648ba15a7868d9ceb3a77ea15ad196e515b.patch";
hash = "sha256-JA26ga1CNOdbis87lSzqbUbs94Oc1vlxraXZxx3dsu8="; hash = "sha256-JMSnN8EyWPHhqHzaJxy3JIhNaOvPLYkVDnNCrPGbO4E=";
}) })
]; ];
@ -98,7 +53,6 @@ stdenv.mkDerivation (finalAttrs: {
# We don't want absolute paths in desktop files # We don't want absolute paths in desktop files
substituteInPlace data/CMakeLists.txt \ 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"' --replace-fail 'SPLASH "''${DATA_DIR}/''${SPLASH_FILE}"' 'SPLASH "lomiri-app-launch/splash/lomiri-docviewer-app.svg"'
''; '';
@ -118,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: {
qtdeclarative qtdeclarative
# QML # QML
content-hub lomiri-content-hub
lomiri-ui-toolkit lomiri-ui-toolkit
qtsystems qtsystems
]; ];
@ -133,9 +87,8 @@ stdenv.mkDerivation (finalAttrs: {
doCheck = false; doCheck = false;
postInstall = '' 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} 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, stdenv,
lib, lib,
fetchFromGitLab, fetchFromGitLab,
fetchpatch,
gitUpdater, gitUpdater,
nixosTests, nixosTests,
biometryd, biometryd,
cmake, cmake,
content-hub,
gettext, gettext,
lomiri-content-hub,
lomiri-thumbnailer, lomiri-thumbnailer,
lomiri-ui-extras, lomiri-ui-extras,
lomiri-ui-toolkit, lomiri-ui-toolkit,
@ -22,65 +21,22 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-filemanager-app"; pname = "lomiri-filemanager-app";
version = "1.0.4"; version = "1.1.2";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "ubports"; owner = "ubports";
repo = "development/apps/lomiri-filemanager-app"; repo = "development/apps/lomiri-filemanager-app";
rev = "v${finalAttrs.version}"; 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 = '' postPatch = ''
# Use correct QML install path, don't pull in autopilot test code (we can't run that system) # 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 # Remove absolute paths from desktop file, https://github.com/NixOS/nixpkgs/issues/308324
substituteInPlace CMakeLists.txt \ substituteInPlace CMakeLists.txt \
--replace-fail 'qmake -query QT_INSTALL_QML' 'echo ${placeholder "out"}/${qtbase.qtQmlPrefix}' \ --replace-fail 'qmake -query QT_INSTALL_QML' 'echo ${placeholder "out"}/${qtbase.qtQmlPrefix}' \
--replace-fail 'add_subdirectory(tests)' '#add_subdirectory(tests)' \ --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 ''${DATA_DIR}/''${SPLASH_FILE}' 'SPLASH lomiri-app-launch/splash/lomiri-filemanager-app.svg'
--replace-fail 'SPLASH ''${CMAKE_INSTALL_PREFIX}/''${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 # In case this ever gets run, at least point it to a correct-ish path
substituteInPlace tests/autopilot/CMakeLists.txt \ substituteInPlace tests/autopilot/CMakeLists.txt \
@ -103,7 +59,7 @@ stdenv.mkDerivation (finalAttrs: {
# QML # QML
biometryd biometryd
content-hub lomiri-content-hub
lomiri-thumbnailer lomiri-thumbnailer
lomiri-ui-extras lomiri-ui-extras
lomiri-ui-toolkit lomiri-ui-toolkit
@ -117,14 +73,6 @@ stdenv.mkDerivation (finalAttrs: {
# No tests we can actually run (just autopilot) # No tests we can actually run (just autopilot)
doCheck = false; 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 = { passthru = {
tests.vm = nixosTests.lomiri-filemanager-app; tests.vm = nixosTests.lomiri-filemanager-app;
updateScript = gitUpdater { rev-prefix = "v"; }; updateScript = gitUpdater { rev-prefix = "v"; };

View File

@ -6,11 +6,11 @@
gitUpdater, gitUpdater,
nixosTests, nixosTests,
cmake, cmake,
content-hub,
exiv2, exiv2,
imagemagick, imagemagick,
libglvnd, libglvnd,
libmediainfo, libmediainfo,
lomiri-content-hub,
lomiri-thumbnailer, lomiri-thumbnailer,
lomiri-ui-extras, lomiri-ui-extras,
lomiri-ui-toolkit, lomiri-ui-toolkit,
@ -25,79 +25,30 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-gallery-app"; pname = "lomiri-gallery-app";
version = "3.0.2"; version = "3.1.0";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "ubports"; owner = "ubports";
repo = "development/apps/lomiri-gallery-app"; repo = "development/apps/lomiri-gallery-app";
rev = "v${finalAttrs.version}"; rev = "v${finalAttrs.version}";
hash = "sha256-nX9dTL4W0WxrwvszGd4AUIx4yUrghMM7ZMtGZLhZE/8="; hash = "sha256-uKGPic9XYUj0rLA05i6GjLM+n17MYgiFJMWnLXHKmIU=";
}; };
patches = [ 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 # Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/152 merged & in release
(fetchpatch { (fetchpatch {
name = "0008-lomiri-gallery-app-bindtextdomain.patch"; name = "0001-lomiri-gallery-app-bindtextdomain.patch";
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/90a79972741ee0c5dc734dba6c42afeb3ee6a699.patch"; url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/592eff118cb5056886b73e6698f8941c7a16f2e0.patch";
hash = "sha256-YAmH0he5/rZYKWFyPzUFAKJuHhUTxB3q8zbLL7Spz/c="; 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 = '' 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 # Make splash path in desktop file relative
substituteInPlace desktop/lomiri-gallery-app.desktop.in.in \ 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' --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 qtsvg
# QML # QML
content-hub lomiri-content-hub
lomiri-thumbnailer lomiri-thumbnailer
lomiri-ui-extras lomiri-ui-extras
lomiri-ui-toolkit lomiri-ui-toolkit
@ -164,9 +115,6 @@ stdenv.mkDerivation (finalAttrs: {
# Link splash to splash dir # Link splash to splash dir
mkdir -p $out/share/lomiri-app-launch/splash 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} 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 = { passthru = {

View File

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

View File

@ -1,7 +1,6 @@
{ stdenv { stdenv
, lib , lib
, fetchFromGitLab , fetchFromGitLab
, fetchpatch
, gitUpdater , gitUpdater
, nixosTests , nixosTests
, cmake , cmake
@ -18,41 +17,15 @@
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "lomiri-terminal-app"; pname = "lomiri-terminal-app";
version = "2.0.2"; version = "2.0.3";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "ubports"; owner = "ubports";
repo = "development/apps/lomiri-terminal-app"; repo = "development/apps/lomiri-terminal-app";
rev = "v${finalAttrs.version}"; 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 = '' postPatch = ''
substituteInPlace CMakeLists.txt \ substituteInPlace CMakeLists.txt \
--replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" --replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"

View File

@ -5,10 +5,10 @@
, gitUpdater , gitUpdater
, nixosTests , nixosTests
, cmake , cmake
, content-hub
, gettext , gettext
, libapparmor , libapparmor
, lomiri-action-api , lomiri-action-api
, lomiri-content-hub
, lomiri-ui-extras , lomiri-ui-extras
, lomiri-ui-toolkit , lomiri-ui-toolkit
, pkg-config , pkg-config
@ -27,23 +27,16 @@ let
in in
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "morph-browser"; pname = "morph-browser";
version = "1.1.0"; version = "1.1.1";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "ubports"; owner = "ubports";
repo = "development/core/morph-browser"; repo = "development/core/morph-browser";
rev = finalAttrs.version; rev = finalAttrs.version;
hash = "sha256-C5iXv8VS8Mm1ryxK7Vi5tVmiM01OSIFiTyH0vP9B/xA="; hash = "sha256-VxSADFTlaxQUDc81TzGkx54mjAUgY2L+suQC9zYGKo0=";
}; };
patches = [ 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 # Remove when https://gitlab.com/ubports/development/core/morph-browser/-/merge_requests/576 merged & in release
(fetchpatch { (fetchpatch {
name = "0002-morph-browser-Call-i18n-bindtextdomain-with-buildtime-determined-locale-path.patch"; name = "0002-morph-browser-Call-i18n-bindtextdomain-with-buildtime-determined-locale-path.patch";
@ -84,8 +77,8 @@ stdenv.mkDerivation (finalAttrs: {
qtwebengine qtwebengine
# QML # QML
content-hub
lomiri-action-api lomiri-action-api
lomiri-content-hub
lomiri-ui-extras lomiri-ui-extras
lomiri-ui-toolkit lomiri-ui-toolkit
qqc2-suru-style qqc2-suru-style
@ -132,7 +125,8 @@ stdenv.mkDerivation (finalAttrs: {
standalone = nixosTests.morph-browser; standalone = nixosTests.morph-browser;
# Lomiri-specific issues with the desktop file may break the entire session, make sure it still works # 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, gitUpdater,
nixosTests, nixosTests,
cmake, cmake,
content-hub,
intltool, intltool,
lomiri-content-hub,
lomiri-indicator-network, lomiri-indicator-network,
lomiri-push-qml, lomiri-push-qml,
lomiri-thumbnailer, lomiri-thumbnailer,
@ -84,7 +84,7 @@ stdenv.mkDerivation (finalAttrs: {
]; ];
buildInputs = [ buildInputs = [
content-hub lomiri-content-hub
lomiri-indicator-network lomiri-indicator-network
lomiri-push-qml lomiri-push-qml
lomiri-thumbnailer lomiri-thumbnailer
@ -102,10 +102,10 @@ stdenv.mkDerivation (finalAttrs: {
]; ];
postInstall = '' 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.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/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/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 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 #### Services
biometryd = callPackage ./services/biometryd { }; biometryd = callPackage ./services/biometryd { };
content-hub = callPackage ./services/content-hub { }; lomiri-content-hub = callPackage ./services/lomiri-content-hub { };
hfd-service = callPackage ./services/hfd-service { }; hfd-service = callPackage ./services/hfd-service { };
history-service = callPackage ./services/history-service { }; history-service = callPackage ./services/history-service { };
lomiri-download-manager = callPackage ./services/lomiri-download-manager { }; lomiri-download-manager = callPackage ./services/lomiri-download-manager { };
@ -70,5 +70,6 @@ let
in in
lib.makeScope libsForQt5.newScope packages lib.makeScope libsForQt5.newScope packages
// lib.optionalAttrs config.allowAliases { // 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 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 stdenv,
, fetchFromGitLab lib,
, fetchpatch fetchFromGitLab,
, gitUpdater fetchpatch,
, testers gitUpdater,
, cmake testers,
, dbus-test-runner cmake,
, pkg-config dbus-test-runner,
, qtbase pkg-config,
, qtdeclarative qtbase,
qtdeclarative,
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "u1db-qt"; pname = "u1db-qt";
version = "0.1.7"; version = "0.1.8";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "ubports"; owner = "ubports";
repo = "development/core/u1db-qt"; repo = "development/core/u1db-qt";
rev = finalAttrs.version; rev = finalAttrs.version;
hash = "sha256-qlWkxpiVEUbpsKhzR0s7SKaEFCLM2RH+v9XmJ3qLoGY="; hash = "sha256-KmAEgnWHY0cDKJqRhZpY0fzVjNlEU67e559XEbAPpJI=";
}; };
outputs = [ outputs = [
@ -29,12 +30,11 @@ stdenv.mkDerivation (finalAttrs: {
]; ];
patches = [ patches = [
# Fixes some issues with the pkg-config file # Remove when https://gitlab.com/ubports/development/core/u1db-qt/-/merge_requests/8 merged & in release
# Remove when https://gitlab.com/ubports/development/core/u1db-qt/-/merge_requests/7 merged & in release
(fetchpatch { (fetchpatch {
name = "0001-u1db-qt-Fix-pkg-config-files-includedir-variable.patch"; name = "0001-u1db-qt-Use-BUILD_TESTING.patch";
url = "https://gitlab.com/ubports/development/core/u1db-qt/-/commit/ddafbfadfad6dfc508a866835354a4701dda1fe1.patch"; url = "https://gitlab.com/ubports/development/core/u1db-qt/-/commit/df5d526df26c056d54bfa532a3a3fa025d655690.patch";
hash = "sha256-entwjU9TiHuSuht7Cdl0k1v0cP7350a04/FXgTVhGmk="; 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 # For our automatic pkg-config output patcher to work, prefix must be used here
substituteInPlace libu1db-qt.pc.in \ substituteInPlace libu1db-qt.pc.in \
--replace-fail 'libdir=''${exec_prefix}/lib' 'libdir=''${prefix}/lib' --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; strictDeps = true;
@ -67,9 +63,7 @@ stdenv.mkDerivation (finalAttrs: {
qtdeclarative qtdeclarative
]; ];
nativeCheckInputs = [ nativeCheckInputs = [ dbus-test-runner ];
dbus-test-runner
];
cmakeFlags = [ cmakeFlags = [
# Needs qdoc, see https://github.com/NixOS/nixpkgs/pull/245379 # Needs qdoc, see https://github.com/NixOS/nixpkgs/pull/245379
@ -104,14 +98,12 @@ stdenv.mkDerivation (finalAttrs: {
updateScript = gitUpdater { }; updateScript = gitUpdater { };
}; };
meta = with lib; { meta = {
description = "Qt5 binding and QtQuick2 plugin for U1DB"; description = "Qt5 binding and QtQuick2 plugin for U1DB";
homepage = "https://gitlab.com/ubports/development/core/u1db-qt"; homepage = "https://gitlab.com/ubports/development/core/u1db-qt";
license = licenses.lgpl3Only; license = lib.licenses.lgpl3Only;
maintainers = teams.lomiri.members; maintainers = lib.teams.lomiri.members;
platforms = platforms.linux; platforms = lib.platforms.linux;
pkgConfigModules = [ pkgConfigModules = [ "libu1db-qt5" ];
"libu1db-qt5"
];
}; };
}) })

View File

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

View File

@ -1,8 +1,6 @@
{ stdenv { stdenv
, lib , lib
, fetchFromGitLab , fetchFromGitLab
, fetchpatch
, fetchpatch2
, gitUpdater , gitUpdater
, testers , testers
, cmake , cmake
@ -30,14 +28,14 @@
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: {
pname = "content-hub"; pname = "lomiri-content-hub";
version = "1.1.1"; version = "2.0.0";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "ubports"; owner = "ubports";
repo = "development/core/content-hub"; repo = "development/core/lomiri-content-hub";
rev = finalAttrs.version; rev = finalAttrs.version;
hash = "sha256-sQeyJV+Wc6PHKGIefl/dfU06XqTdICsn+Xamjx3puiI="; hash = "sha256-eA5oCoAZB7fWyWm0Sy6wXh0EW+h76bdfJ2dotr7gUC0=";
}; };
outputs = [ outputs = [
@ -46,44 +44,6 @@ stdenv.mkDerivation (finalAttrs: {
"examples" "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 = '' postPatch = ''
substituteInPlace import/*/Content/CMakeLists.txt \ substituteInPlace import/*/Content/CMakeLists.txt \
--replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}" --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 moveToOutput share/applications/$exampleExe.desktop $examples
done done
moveToOutput share/icons $examples moveToOutput share/icons $examples
moveToOutput share/content-hub/peers $examples moveToOutput share/lomiri-content-hub/peers $examples
''; '';
postFixup = '' postFixup = ''
@ -178,20 +138,20 @@ stdenv.mkDerivation (finalAttrs: {
}; };
meta = { meta = {
description = "Content sharing/picking service"; description = "Content sharing/picking service for the Lomiri desktop";
longDescription = '' 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. even if they are not running at the same time.
''; '';
homepage = "https://gitlab.com/ubports/development/core/content-hub"; homepage = "https://gitlab.com/ubports/development/core/lomiri-content-hub";
changelog = "https://gitlab.com/ubports/development/core/content-hub/-/blob/${finalAttrs.version}/ChangeLog"; changelog = "https://gitlab.com/ubports/development/core/lomiri-content-hub/-/blob/${finalAttrs.version}/ChangeLog";
license = with lib.licenses; [ gpl3Only lgpl3Only ]; license = with lib.licenses; [ gpl3Only lgpl3Only ];
mainProgram = "content-hub-service"; mainProgram = "lomiri-content-hub-service";
maintainers = lib.teams.lomiri.members; maintainers = lib.teams.lomiri.members;
platforms = lib.platforms.linux; platforms = lib.platforms.linux;
pkgConfigModules = [ pkgConfigModules = [
"libcontent-hub" "liblomiri-content-hub"
"libcontent-hub-glib" "liblomiri-content-hub-glib"
]; ];
}; };
}) })

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,45 +1,46 @@
{ {
lib, lib,
buildPythonPackage,
fetchPypi,
msrestazure,
azure-common, azure-common,
azure-mgmt-core, azure-mgmt-core,
azure-mgmt-nspkg, buildPythonPackage,
fetchPypi,
isodate,
pythonOlder,
setuptools,
typing-extensions,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "azure-mgmt-billing"; pname = "azure-mgmt-billing";
version = "6.0.0"; # pypi's 0.2.0 doesn't build ootb version = "7.0.0";
format = "setuptools"; pyproject = true;
disabled = pythonOlder "3.8";
src = fetchPypi { src = fetchPypi {
inherit pname version; pname = "azure_mgmt_billing";
sha256 = "d4f5c5a4188a456fe1eb32b6c45f55ca2069c74be41eb76921840b39f2f5c07f"; inherit version;
extension = "zip"; hash = "sha256-jgplxlEQtTpCk35b7WrgDvydYgaXLZa/1KdOgMhcLXs=";
}; };
propagatedBuildInputs = [ build-system = [ setuptools ];
msrestazure
dependencies = [
azure-common azure-common
azure-mgmt-core 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" ]; pythonNamespaces = [ "azure.mgmt" ];
# has no tests # Module has no tests
doCheck = false; doCheck = false;
meta = with lib; { meta = with lib; {
description = "This is the Microsoft Azure Billing Client Library"; 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; license = licenses.mit;
maintainers = with maintainers; [ maxwilson ]; maintainers = with maintainers; [ maxwilson ];
}; };

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -3,38 +3,43 @@
buildPythonPackage, buildPythonPackage,
fetchPypi, fetchPypi,
pytestCheckHook, pytestCheckHook,
astunparse, pythonOlder,
setuptools, setuptools,
typing-extensions,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "import-expression"; pname = "import-expression";
version = "2.0.0"; version = "2.0.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.9";
src = fetchPypi { src = fetchPypi {
inherit version;
pname = "import_expression"; pname = "import_expression";
inherit version;
hash = "sha256-Biw7dIOPKbDcqYJSCyeqC/seREcVihSZuaKNFfgjTew="; hash = "sha256-Biw7dIOPKbDcqYJSCyeqC/seREcVihSZuaKNFfgjTew=";
}; };
build-system = [ setuptools ]; build-system = [ setuptools ];
dependencies = [ astunparse ];
dependencies = [ typing-extensions ];
nativeCheckInputs = [ pytestCheckHook ]; nativeCheckInputs = [ pytestCheckHook ];
pytestFlagsArray = [ "tests.py" ]; pytestFlagsArray = [ "tests.py" ];
pythonImportsCheck = [ pythonImportsCheck = [ "import_expression" ];
"import_expression"
"import_expression._codec"
];
meta = { meta = {
description = "Transpiles a superset of python to allow easy inline imports"; description = "Transpiles a superset of python to allow easy inline imports";
homepage = "https://github.com/ioistired/import-expression-parser"; homepage = "https://github.com/ioistired/import-expression-parser";
changelog = "https://github.com/ioistired/import-expression/releases/tag/v${version}";
license = with lib.licenses; [ license = with lib.licenses; [
mit mit
psfl psfl
]; ];
mainProgram = "import-expression";
maintainers = with lib.maintainers; [ ]; 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, lib,
buildPythonPackage, buildPythonPackage,
fetchPypi, fetchPypi,
six, jalali-core,
pythonOlder, pythonOlder,
setuptools,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "jdatetime"; pname = "jdatetime";
version = "5.0.0"; version = "5.0.0";
format = "setuptools"; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.8";
src = fetchPypi { src = fetchPypi {
inherit pname version; inherit pname version;
hash = "sha256-LMYD2RPA2OMokoRU09KVJhywN+mVAif2fJYpq0cQ/fk="; hash = "sha256-LMYD2RPA2OMokoRU09KVJhywN+mVAif2fJYpq0cQ/fk=";
}; };
propagatedBuildInputs = [ six ]; build-system = [ setuptools ];
dependencies = [ jalali-core ];
pythonImportsCheck = [ "jdatetime" ]; pythonImportsCheck = [ "jdatetime" ];
meta = with lib; { meta = with lib; {
description = "Jalali datetime binding"; description = "Jalali datetime binding";
homepage = "https://github.com/slashmili/python-jalali"; homepage = "https://github.com/slashmili/python-jalali";
changelog = "https://github.com/slashmili/python-jalali/blob/v${version}/CHANGELOG.md";
license = licenses.psfl; license = licenses.psfl;
maintainers = [ ]; 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, xarray,
pillow, pillow,
scipy, scipy,
psutil,
statsmodels, statsmodels,
ipython, ipython,
ipywidgets, ipywidgets,
which, which,
orca,
nbformat, nbformat,
scikit-image, scikit-image,
orca,
psutil,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
@ -53,6 +53,15 @@ buildPythonPackage rec {
kaleido kaleido
]; ];
# packages/python/plotly/optional-requirements.txt
optional-dependencies = {
orca = [
orca
requests
psutil
];
};
nativeCheckInputs = [ nativeCheckInputs = [
pytestCheckHook pytestCheckHook
pandas pandas
@ -61,68 +70,38 @@ buildPythonPackage rec {
xarray xarray
pillow pillow
scipy scipy
psutil
statsmodels statsmodels
ipython ipython
ipywidgets ipywidgets
which which
orca
nbformat nbformat
scikit-image scikit-image
]; ];
# the check inputs are broken on darwin
doCheck = !stdenv.hostPlatform.isDarwin;
disabledTests = [ 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" "test_legend_dots"
# FAILED plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle - AssertionError:
"test_linestyle" "test_linestyle"
# FAILED plotly/tests/test_io/test_to_from_plotly_json.py::test_sanitize_json[auto] - KeyError: 'template' # test bug, i assume sensitive to dep versions
# FAILED plotly/tests/test_io/test_to_from_plotly_json.py::test_sanitize_json[json] - KeyError: 'template'
"test_sanitize_json" "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 # requires vaex and polars, vaex is not packaged
"test_build_df_from_vaex_and_polars" "test_build_df_from_vaex_and_polars"
"test_build_df_with_hover_data_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" ]; pythonImportsCheck = [ "plotly" ];

View File

@ -4,14 +4,16 @@
fetchPypi, fetchPypi,
mypy-extensions, mypy-extensions,
pytestCheckHook, pytestCheckHook,
pythonAtLeast,
pythonOlder, pythonOlder,
setuptools,
six, six,
}: }:
buildPythonPackage rec { buildPythonPackage rec {
pname = "pyannotate"; pname = "pyannotate";
version = "1.2.0"; version = "1.2.0";
format = "setuptools"; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.7";
@ -20,7 +22,9 @@ buildPythonPackage rec {
hash = "sha256-BO1YBLqzgVPVmB/JLYPc9qIog0U3aFYfBX53flwFdZk="; hash = "sha256-BO1YBLqzgVPVmB/JLYPc9qIog0U3aFYfBX53flwFdZk=";
}; };
propagatedBuildInputs = [ build-system = [ setuptools ];
dependencies = [
six six
mypy-extensions mypy-extensions
]; ];
@ -32,11 +36,20 @@ buildPythonPackage rec {
"pyannotate_tools" "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; { meta = with lib; {
description = "Auto-generate PEP-484 annotations"; description = "Auto-generate PEP-484 annotations";
mainProgram = "pyannotate";
homepage = "https://github.com/dropbox/pyannotate"; homepage = "https://github.com/dropbox/pyannotate";
license = licenses.mit; license = licenses.mit;
maintainers = [ ]; maintainers = [ ];
mainProgram = "pyannotate";
}; };
} }

View File

@ -14,21 +14,21 @@
buildPythonPackage rec { buildPythonPackage rec {
pname = "pylint-django"; pname = "pylint-django";
version = "2.5.4"; version = "2.6.0";
pyproject = true; pyproject = true;
disabled = pythonOlder "3.7"; disabled = pythonOlder "3.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "PyCQA"; owner = "PyCQA";
repo = "pylint-django"; repo = "pylint-django";
rev = "refs/tags/v${version}"; 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 = { optional-dependencies = {
with_django = [ django ]; with_django = [ django ];

View File

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

View File

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

View File

@ -28,10 +28,10 @@
}: }:
let let
defaultVersion = "2024.07"; defaultVersion = "2024.10";
defaultSrc = fetchurl { defaultSrc = fetchurl {
url = "https://ftp.denx.de/pub/u-boot/u-boot-${defaultVersion}.tar.bz2"; 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, # Dependencies for the tools need to be included as either native or cross,
@ -212,6 +212,14 @@ in {
filesToInstall = ["u-boot-with-spl.kwb"]; 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 { ubootCubieboard2 = buildUBoot {
defconfig = "Cubieboard2_defconfig"; defconfig = "Cubieboard2_defconfig";
extraMeta.platforms = ["armv7l-linux"]; extraMeta.platforms = ["armv7l-linux"];
@ -442,6 +450,14 @@ in {
filesToInstall = ["u-boot-sunxi-with-spl.bin"]; 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 { ubootPcduino3Nano = buildUBoot {
defconfig = "Linksprite_pcDuino3_Nano_defconfig"; defconfig = "Linksprite_pcDuino3_Nano_defconfig";
extraMeta.platforms = ["armv7l-linux"]; extraMeta.platforms = ["armv7l-linux"];

View File

@ -6,15 +6,15 @@
, zlib , zlib
}: }:
stdenv.mkDerivation (finalAttrs: { stdenv.mkDerivation (finalAttrs: rec {
pname = "ipu6-camera-bins"; pname = "ipu6-camera-bins";
version = "unstable-2023-10-26"; version = "unstable-2024-09-27";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "intel";
repo = "ipu6-camera-bins"; repo = "ipu6-camera-bins";
rev = "af5ba0cb4a763569ac7514635013e9d870040bcf"; owner = "intel";
hash = "sha256-y0pT5M7AKACbquQWLZPYpTPXRC5hipLNL61nhs+cst4="; rev = "98ca6f2a54d20f171628055938619972514f7a07";
hash = "sha256-DAjAzHMqX41mrfQVpDUJLw4Zjb9pz6Uy3TJjTGIkd6o=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [
@ -33,13 +33,14 @@ stdenv.mkDerivation (finalAttrs: {
include \ include \
$out/ $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 runHook postInstall
''; '';
postFixup = '' postFixup = ''
for pcfile in $out/lib/*/pkgconfig/*.pc; do for pcfile in $out/lib/pkgconfig/*.pc; do
substituteInPlace $pcfile \ substituteInPlace $pcfile \
--replace 'prefix=/usr' "prefix=$out" --replace 'prefix=/usr' "prefix=$out"
done done

View File

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

View File

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

View File

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

View File

@ -36,7 +36,11 @@ let
# Currently only enabling Rust by default on kernel 6.12+, # Currently only enabling Rust by default on kernel 6.12+,
# which actually has features that use Rust that we want. # which actually has features that use Rust that we want.
defaultRust = lib.versionAtLeast version "6.12" && rustAvailable; 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 = { options = {

View File

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

View File

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

View File

@ -1,7 +1,6 @@
{ lib, stdenv, nodejs-slim, bundlerEnv, nixosTests { lib, stdenv, nodejs-slim, bundlerEnv, nixosTests
, yarn, callPackage, ruby, writeShellScript , yarn-berry, callPackage, ruby, writeShellScript
, fetchYarnDeps, fixup-yarn-lock , brotli, python3
, brotli
# Allow building a fork or custom version of Mastodon: # Allow building a fork or custom version of Mastodon:
, pname ? "mastodon" , pname ? "mastodon"
@ -28,12 +27,12 @@ stdenv.mkDerivation rec {
pname = "${pname}-modules"; pname = "${pname}-modules";
inherit src version; inherit src version;
yarnOfflineCache = fetchYarnDeps { yarnOfflineCache = callPackage ./yarn.nix {
yarnLock = "${src}/yarn.lock"; inherit version src;
hash = yarnHash; 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"; RAILS_ENV = "production";
NODE_ENV = "production"; NODE_ENV = "production";
@ -42,29 +41,33 @@ stdenv.mkDerivation rec {
runHook preBuild runHook preBuild
export HOME=$PWD export HOME=$PWD
fixup-yarn-lock ~/yarn.lock export YARN_ENABLE_TELEMETRY=0
yarn config --offline set yarn-offline-mirror $yarnOfflineCache export npm_config_nodedir=${nodejs-slim}
yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress export SECRET_KEY_BASE_DUMMY=1
mkdir -p ~/.yarn/berry
ln -s $yarnOfflineCache ~/.yarn/berry/cache
yarn install --immutable --immutable-cache
patchShebangs ~/bin patchShebangs ~/bin
patchShebangs ~/node_modules patchShebangs ~/node_modules
# skip running yarn install bundle exec rails assets:precompile
rm -rf ~/bin/yarn
OTP_SECRET=precompile_placeholder SECRET_KEY_BASE=precompile_placeholder \ yarn cache clean --all
rails assets:precompile
yarn cache clean --offline
rm -rf ~/node_modules/.cache 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 # Create missing static gzip and brotli files
gzip --best --keep ~/public/assets/500.html find ~/public/assets -type f -regextype posix-extended -iregex '.*\.(css|html|js|json|svg)' \
gzip --best --keep ~/public/packs/report.html -exec gzip --best --keep --force {} ';' \
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)' \
-exec brotli --best --keep {} ';' -exec brotli --best --keep {} ';'
gzip --best --keep ~/public/packs/report.html
brotli --best --keep ~/public/packs/report.html
runHook postBuild runHook postBuild
''; '';
@ -101,13 +104,14 @@ stdenv.mkDerivation rec {
done done
# Remove execute permissions # 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 # 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 gzip --best --keep --force {} ';' \
-exec brotli --best --keep {} ';' -exec brotli --best --keep {} ';'
find public/emoji -type f -name '.*.svg' \ find public/emoji -type f -name '*.svg' \
-exec gzip --best --keep --force {} ';' \ -exec gzip --best --keep --force {} ';' \
-exec brotli --best --keep {} ';' -exec brotli --best --keep {} ';'
ln -s assets/500.html.gz public/500.html.gz ln -s assets/500.html.gz public/500.html.gz
@ -133,7 +137,8 @@ stdenv.mkDerivation rec {
runHook preInstall runHook preInstall
mkdir -p $out mkdir -p $out
cp -r * $out/ mv .{env*,ruby*} $out/
mv * $out/
ln -s ${run-streaming} $out/run-streaming.sh ln -s ${run-streaming} $out/run-streaming.sh
runHook postInstall 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. # This file was generated by pkgs.mastodon.updateScript.
{ fetchFromGitHub, applyPatches, patches ? [] }: { fetchFromGitHub, applyPatches, patches ? [] }:
let let
version = "4.2.13"; version = "4.3.0";
in in
( (
applyPatches { applyPatches {
@ -9,10 +9,10 @@ in
owner = "mastodon"; owner = "mastodon";
repo = "mastodon"; repo = "mastodon";
rev = "v${version}"; rev = "v${version}";
hash = "sha256-+HGu02fjYJ1x6Tk9AdqmFN7JHk3UnlvCdiQ/5yMu69M="; hash = "sha256-nZtxildQmT/7JMCTx89ZSWxb9I7xMLGHTJv7v4gfdd4=";
}; };
patches = patches ++ []; patches = patches ++ [];
}) // { }) // {
inherit version; 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" bundix --lockfile="$SOURCE_DIR/Gemfile.lock" --gemfile="$SOURCE_DIR/Gemfile"
echo "" >> gemset.nix # Create trailing newline to please EditorConfig checks echo "" >> gemset.nix # Create trailing newline to please EditorConfig checks
echo "Creating yarn-hash.nix" echo "Required manual update of yarn-hash"
YARN_HASH="$(prefetch-yarn-deps "$SOURCE_DIR/yarn.lock")" exit 1
YARN_HASH="$(nix hash to-sri --type sha256 "$YARN_HASH")"
sed -i "s/sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=/$YARN_HASH/g" source.nix

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 in
{ {
nextcloud28 = generic { nextcloud28 = generic {
version = "28.0.10"; version = "28.0.11";
hash = "sha256-LoAVJtKJHBhf6sWYXL084pLOcKQl9Tb5GfkBuftMwhA="; hash = "sha256-S6rs7GpvFFgy28PGNdcuIM1IBKytmmZOanS5CnmB40g=";
packages = nextcloud28Packages; packages = nextcloud28Packages;
}; };
nextcloud29 = generic { nextcloud29 = generic {
version = "29.0.7"; version = "29.0.8";
hash = "sha256-9TL/wxvlqDdLXgcrhv/4dl7Bn9oMhQnO45hzCB2yxUQ="; hash = "sha256-CrVLUX92zSbyvTi2/hhLn7rtMvc0JGxYwaz4NHPApLk=";
packages = nextcloud29Packages; packages = nextcloud29Packages;
}; };

View File

@ -70,9 +70,9 @@
] ]
}, },
"forms": { "forms": {
"hash": "sha256-OqqorHVWCDicQKnTxEJjeXzDrsj98vWvtWYyaRmDsUs=", "hash": "sha256-JhLaTXll2kh/TaWXR1DfUCHuxaJlUMU1oY9ry9yoTTg=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v4.2.4/forms-v4.2.4.tar.gz", "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.1/forms-v4.3.1.tar.gz",
"version": "4.2.4", "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)!", "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", "homepage": "https://github.com/nextcloud/forms",
"licenses": [ "licenses": [
@ -260,9 +260,9 @@
] ]
}, },
"spreed": { "spreed": {
"hash": "sha256-eMdFS5yQWJNsTVuHBZX4v0PSocP/nT+JaS7RSTYF8p0=", "hash": "sha256-pOnL5uz8FcuHUFn7otp9NQinOqm+oCmXRHx4TM2NukI=",
"url": "https://github.com/nextcloud-releases/spreed/releases/download/v18.0.11/spreed-v18.0.11.tar.gz", "url": "https://github.com/nextcloud-releases/spreed/releases/download/v18.0.12/spreed-v18.0.12.tar.gz",
"version": "18.0.11", "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.", "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", "homepage": "https://github.com/nextcloud/spreed",
"licenses": [ "licenses": [
@ -311,7 +311,7 @@
}, },
"unsplash": { "unsplash": {
"hash": "sha256-kNDQk4HYkrBA+o+5/bNYj65ZJbViBjhnbSA87tsu6YE=", "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", "version": "3.0.1",
"description": "Show a new random featured nature photo in your nextcloud. Now with choosable motives!", "description": "Show a new random featured nature photo in your nextcloud. Now with choosable motives!",
"homepage": "https://github.com/nextcloud/unsplash/", "homepage": "https://github.com/nextcloud/unsplash/",
@ -330,9 +330,9 @@
] ]
}, },
"user_saml": { "user_saml": {
"hash": "sha256-+oeTDRomjmfSLIM6eyP6MHg+qtOs8IPqIWUzBofahYQ=", "hash": "sha256-xxabQU8kZhgI7Q9D0n7hrFygvfZWZDnAQWnB8+A1xwE=",
"url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.2.0/user_saml-v6.2.0.tar.gz", "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.3.0/user_saml-v6.3.0.tar.gz",
"version": "6.2.0", "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.", "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", "homepage": "https://github.com/nextcloud/user_saml",
"licenses": [ "licenses": [

View File

@ -70,9 +70,9 @@
] ]
}, },
"forms": { "forms": {
"hash": "sha256-OqqorHVWCDicQKnTxEJjeXzDrsj98vWvtWYyaRmDsUs=", "hash": "sha256-JhLaTXll2kh/TaWXR1DfUCHuxaJlUMU1oY9ry9yoTTg=",
"url": "https://github.com/nextcloud-releases/forms/releases/download/v4.2.4/forms-v4.2.4.tar.gz", "url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.1/forms-v4.3.1.tar.gz",
"version": "4.2.4", "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)!", "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", "homepage": "https://github.com/nextcloud/forms",
"licenses": [ "licenses": [
@ -140,8 +140,8 @@
] ]
}, },
"maps": { "maps": {
"hash": "sha256-FmRhpPRpMnCHkJFaVvQuR6Y7Pd7vpP+tUVih919g/fQ=", "hash": "sha256-BmXs6Oepwnm+Cviy4awm3S8P9AiJTt1BnAQNb4TxVYE=",
"url": "https://github.com/nextcloud/maps/releases/download/v1.4.0-1-nightly/maps-1.4.0-1-nightly.tar.gz", "url": "https://github.com/nextcloud/maps/releases/download/v1.4.0/maps-1.4.0.tar.gz",
"version": "1.4.0", "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.", "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", "homepage": "https://github.com/nextcloud/maps",
@ -260,9 +260,9 @@
] ]
}, },
"spreed": { "spreed": {
"hash": "sha256-cZYE528jSNnPFgJSnqosoPyo/7V3zdUAIxnFpcOuvh4=", "hash": "sha256-CWmVARbiZAjgMpZKofWU9FTy/LCz8zXuQdGM6UMHjZ4=",
"url": "https://github.com/nextcloud-releases/spreed/releases/download/v19.0.9/spreed-v19.0.9.tar.gz", "url": "https://github.com/nextcloud-releases/spreed/releases/download/v19.0.10/spreed-v19.0.10.tar.gz",
"version": "19.0.9", "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.", "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", "homepage": "https://github.com/nextcloud/spreed",
"licenses": [ "licenses": [
@ -311,7 +311,7 @@
}, },
"unsplash": { "unsplash": {
"hash": "sha256-kNDQk4HYkrBA+o+5/bNYj65ZJbViBjhnbSA87tsu6YE=", "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", "version": "3.0.1",
"description": "Show a new random featured nature photo in your nextcloud. Now with choosable motives!", "description": "Show a new random featured nature photo in your nextcloud. Now with choosable motives!",
"homepage": "https://github.com/nextcloud/unsplash/", "homepage": "https://github.com/nextcloud/unsplash/",
@ -330,9 +330,9 @@
] ]
}, },
"user_saml": { "user_saml": {
"hash": "sha256-+oeTDRomjmfSLIM6eyP6MHg+qtOs8IPqIWUzBofahYQ=", "hash": "sha256-xxabQU8kZhgI7Q9D0n7hrFygvfZWZDnAQWnB8+A1xwE=",
"url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.2.0/user_saml-v6.2.0.tar.gz", "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.3.0/user_saml-v6.3.0.tar.gz",
"version": "6.2.0", "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.", "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", "homepage": "https://github.com/nextcloud/user_saml",
"licenses": [ "licenses": [

View File

@ -69,6 +69,16 @@
"agpl" "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": { "gpoddersync": {
"hash": "sha256-OMH/pnDS/icDVUb56mzxowAhBCaVY60bMGJmwsjEc0k=", "hash": "sha256-OMH/pnDS/icDVUb56mzxowAhBCaVY60bMGJmwsjEc0k=",
"url": "https://github.com/thrillfall/nextcloud-gpodder/releases/download/3.10.0/gpoddersync.tar.gz", "url": "https://github.com/thrillfall/nextcloud-gpodder/releases/download/3.10.0/gpoddersync.tar.gz",
@ -120,9 +130,9 @@
] ]
}, },
"mail": { "mail": {
"hash": "sha256-ldrGgqgeRLjYmtWiSAcllaIkTeeUmhjQiXrcpwgb/wk=", "hash": "sha256-u0h9zCT/l9cUUFppKazx4oLkHYzlgGcb0OBOy1CXOG8=",
"url": "https://github.com/nextcloud-releases/mail/releases/download/v4.0.0/mail-v4.0.0.tar.gz", "url": "https://github.com/nextcloud-releases/mail/releases/download/v4.0.1/mail-v4.0.1.tar.gz",
"version": "4.0.0", "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/).", "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", "homepage": "https://github.com/nextcloud/mail#readme",
"licenses": [ "licenses": [
@ -240,9 +250,9 @@
] ]
}, },
"spreed": { "spreed": {
"hash": "sha256-p0m4s4ZbWEyiPPBRKvEGFk/0xN+IiYPETDegm/8QDWY=", "hash": "sha256-mUJmbOMMIkm/83a+7xcW59TTar58D4l0Ek+kZoRdxG8=",
"url": "https://github.com/nextcloud-releases/spreed/releases/download/v20.0.0/spreed-v20.0.0.tar.gz", "url": "https://github.com/nextcloud-releases/spreed/releases/download/v20.0.1/spreed-v20.0.1.tar.gz",
"version": "20.0.0", "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.", "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", "homepage": "https://github.com/nextcloud/spreed",
"licenses": [ "licenses": [
@ -290,9 +300,9 @@
] ]
}, },
"user_saml": { "user_saml": {
"hash": "sha256-+oeTDRomjmfSLIM6eyP6MHg+qtOs8IPqIWUzBofahYQ=", "hash": "sha256-xxabQU8kZhgI7Q9D0n7hrFygvfZWZDnAQWnB8+A1xwE=",
"url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.2.0/user_saml-v6.2.0.tar.gz", "url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.3.0/user_saml-v6.3.0.tar.gz",
"version": "6.2.0", "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.", "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", "homepage": "https://github.com/nextcloud/user_saml",
"licenses": [ "licenses": [

View File

@ -2,14 +2,14 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "zimfw"; pname = "zimfw";
version = "1.14.0"; version = "1.15.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zimfw"; owner = "zimfw";
repo = "zimfw"; repo = "zimfw";
rev = "v${version}"; rev = "v${version}";
## zim only needs this one file to be installed. ## zim only needs this one file to be installed.
sparseCheckout = [ "zimfw.zsh" ]; sparseCheckout = [ "zimfw.zsh" ];
hash = "sha256-JBMrgUMGsvjYasEHJsZ0jZAHmrN3Z0d8T8agI9FiEPs="; hash = "sha256-8GnxUhBvMy7fhDILDKYEf/9Mhgzz7suaiZ5elRZmT0o=";
}; };
strictDeps = true; strictDeps = true;
dontConfigure = true; dontConfigure = true;
@ -24,17 +24,6 @@ stdenv.mkDerivation rec {
runHook postInstall 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; { meta = with lib; {
description = description =
"The Zsh configuration framework with blazing speed and modular extensions"; "The Zsh configuration framework with blazing speed and modular extensions";

View File

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

View File

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

View File

@ -1,29 +1,29 @@
{ lib {
, fetchFromGitHub lib,
, python3 fetchFromGitHub,
python3,
}: }:
python3.pkgs.buildPythonApplication rec { python3.pkgs.buildPythonApplication rec {
pname = "mitmproxy2swagger"; pname = "mitmproxy2swagger";
version = "0.13.0"; version = "0.13.0";
format = "pyproject"; pyproject = true;
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "alufers"; owner = "alufers";
repo = pname; repo = "mitmproxy2swagger";
rev = "refs/tags/${version}"; rev = "refs/tags/${version}";
hash = "sha256-VHxqxee5sQWRS13V4SfY4LWaN0oxxWsNVDOEqUyKHfg="; hash = "sha256-VHxqxee5sQWRS13V4SfY4LWaN0oxxWsNVDOEqUyKHfg=";
}; };
nativeBuildInputs = with python3.pkgs; [
poetry-core
];
pythonRelaxDeps = [ pythonRelaxDeps = [
"mitmproxy"
"ruamel.yaml" "ruamel.yaml"
]; ];
propagatedBuildInputs = with python3.pkgs; [ build-system = with python3.pkgs; [ poetry-core ];
dependencies = with python3.pkgs; [
json-stream json-stream
mitmproxy mitmproxy
ruamel-yaml ruamel-yaml
@ -32,16 +32,14 @@ python3.pkgs.buildPythonApplication rec {
# No tests available # No tests available
doCheck = false; doCheck = false;
pythonImportsCheck = [ pythonImportsCheck = [ "mitmproxy2swagger" ];
"mitmproxy2swagger"
];
meta = with lib; { meta = with lib; {
description = "Tool to automagically reverse-engineer REST APIs"; description = "Tool to automagically reverse-engineer REST APIs";
mainProgram = "mitmproxy2swagger";
homepage = "https://github.com/alufers/mitmproxy2swagger"; homepage = "https://github.com/alufers/mitmproxy2swagger";
changelog = "https://github.com/alufers/mitmproxy2swagger/releases/tag/${version}"; changelog = "https://github.com/alufers/mitmproxy2swagger/releases/tag/${version}";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ fab ]; 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-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 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 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 ht-rust = xh; # Added 2021-02-13
hydra_unstable = hydra; # Added 2024-08-22 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"; 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 = 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 { falcon = callPackage ../development/interpreters/falcon {
stdenv = gcc10Stdenv; stdenv = gcc10Stdenv;
}; };
@ -19061,7 +19059,7 @@ with pkgs;
captive-browser = callPackage ../applications/networking/browsers/captive-browser { }; 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 # https://github.com/catboost/catboost/issues/2540
cudaPackages = cudaPackages_11; cudaPackages = cudaPackages_11;
}; };
@ -24550,8 +24548,10 @@ with pkgs;
maker-panel = callPackage ../tools/misc/maker-panel { }; maker-panel = callPackage ../tools/misc/maker-panel { };
mastodon = callPackage ../servers/mastodon { mastodon = callPackage ../servers/mastodon {
nodejs-slim = nodejs-slim_20; nodejs-slim = nodejs-slim_22;
ruby = ruby_3_2; python3 = python311;
ruby = ruby_3_3;
yarn-berry = yarn-berry.override { nodejs = nodejs-slim_22; };
}; };
gotosocial = callPackage ../servers/gotosocial { }; gotosocial = callPackage ../servers/gotosocial { };
@ -26603,6 +26603,7 @@ with pkgs;
ubootBananaPim64 ubootBananaPim64
ubootAmx335xEVM ubootAmx335xEVM
ubootClearfog ubootClearfog
ubootCM3588NAS
ubootCubieboard2 ubootCubieboard2
ubootGuruplug ubootGuruplug
ubootJetsonTK1 ubootJetsonTK1
@ -26615,6 +26616,7 @@ with pkgs;
ubootOlimexA64Olinuxino ubootOlimexA64Olinuxino
ubootOlimexA64Teres1 ubootOlimexA64Teres1
ubootOrangePi3 ubootOrangePi3
ubootOrangePi3B
ubootOrangePi5 ubootOrangePi5
ubootOrangePi5Plus ubootOrangePi5Plus
ubootOrangePiPc 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; intel-speed-select = if lib.versionAtLeast kernel.version "5.3" then callPackage ../os-specific/linux/intel-speed-select { } else null;
ipu6-drivers = ipu6-drivers = callPackage ../os-specific/linux/ipu6-drivers {};
if kernelOlder "6.10"
then callPackage ../os-specific/linux/ipu6-drivers {}
else null;
ivsc-driver = callPackage ../os-specific/linux/ivsc-driver {}; 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 { }; jaeger-client = callPackage ../development/python-modules/jaeger-client { };
jalali-core = callPackage ../development/python-modules/jalali-core { };
jamo = callPackage ../development/python-modules/jamo { }; jamo = callPackage ../development/python-modules/jamo { };
janus = callPackage ../development/python-modules/janus { }; 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-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-dbapi = callPackage ../development/python-modules/opentelemetry-instrumentation-dbapi { };
opentelemetry-instrumentation-django = callPackage ../development/python-modules/opentelemetry-instrumentation-django { }; 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-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-proto = callPackage ../development/python-modules/opentelemetry-proto { };
opentelemetry-semantic-conventions = callPackage ../development/python-modules/opentelemetry-semantic-conventions { }; opentelemetry-semantic-conventions = callPackage ../development/python-modules/opentelemetry-semantic-conventions { };

View File

@ -31,6 +31,11 @@
, nixpkgsArgs ? { config = { , nixpkgsArgs ? { config = {
allowUnfree = false; allowUnfree = false;
inHydra = true; 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` # This flag, if set to true, will inhibit the use of `mapTestOn`