mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-21 22:43:01 +00:00
Merge staging-next into staging
This commit is contained in:
commit
bf97df9c1c
7
.github/workflows/codeowners.yml
vendored
7
.github/workflows/codeowners.yml
vendored
@ -25,6 +25,13 @@ jobs:
|
||||
steps:
|
||||
- uses: cachix/install-nix-action@08dcb3a5e62fa31e2da3d490afc4176ef55ecd72 # v30
|
||||
|
||||
- uses: cachix/cachix-action@ad2ddac53f961de1989924296a1f236fcfbaa4fc # v15
|
||||
if: github.repository_owner == 'NixOS'
|
||||
with:
|
||||
# This cache is for the nixpkgs repo checks and should not be trusted or used elsewhere.
|
||||
name: nixpkgs-ci
|
||||
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
||||
|
||||
# Important: Because we use pull_request_target, this checks out the base branch of the PR, not the PR itself.
|
||||
# We later build and run code from the base branch with access to secrets,
|
||||
# so it's important this is not the PRs code.
|
||||
|
48
.github/workflows/nixpkgs-vet.yml
vendored
48
.github/workflows/nixpkgs-vet.yml
vendored
@ -26,52 +26,22 @@ jobs:
|
||||
# This should take 1 minute at most, but let's be generous. The default of 6 hours is definitely too long.
|
||||
timeout-minutes: 10
|
||||
steps:
|
||||
# This step has to be in this file, because it's needed to determine which revision of the repository to fetch, and we can only use other files from the repository once it's fetched.
|
||||
# This checks out the base branch because of pull_request_target
|
||||
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||
with:
|
||||
path: base
|
||||
sparse-checkout: ci
|
||||
- name: Resolving the merge commit
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
# This checks for mergeability of a pull request as recommended in
|
||||
# https://docs.github.com/en/rest/guides/using-the-rest-api-to-interact-with-your-git-database?apiVersion=2022-11-28#checking-mergeability-of-pull-requests
|
||||
|
||||
# Retry the API query this many times
|
||||
retryCount=5
|
||||
# Start with 5 seconds, but double every retry
|
||||
retryInterval=5
|
||||
while true; do
|
||||
echo "Checking whether the pull request can be merged"
|
||||
prInfo=$(gh api \
|
||||
-H "Accept: application/vnd.github+json" \
|
||||
-H "X-GitHub-Api-Version: 2022-11-28" \
|
||||
/repos/"$GITHUB_REPOSITORY"/pulls/${{ github.event.pull_request.number }})
|
||||
mergeable=$(jq -r .mergeable <<< "$prInfo")
|
||||
mergedSha=$(jq -r .merge_commit_sha <<< "$prInfo")
|
||||
|
||||
if [[ "$mergeable" == "null" ]]; then
|
||||
if (( retryCount == 0 )); then
|
||||
echo "Not retrying anymore. It's likely that GitHub is having internal issues: check https://www.githubstatus.com/"
|
||||
exit 1
|
||||
else
|
||||
(( retryCount -= 1 )) || true
|
||||
|
||||
# null indicates that GitHub is still computing whether it's mergeable
|
||||
# Wait a couple seconds before trying again
|
||||
echo "GitHub is still computing whether this PR can be merged, waiting $retryInterval seconds before trying again ($retryCount retries left)"
|
||||
sleep "$retryInterval"
|
||||
|
||||
(( retryInterval *= 2 )) || true
|
||||
fi
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ "$mergeable" == "true" ]]; then
|
||||
echo "The PR can be merged, checking the merge commit $mergedSha"
|
||||
if mergedSha=$(base/ci/get-merge-commit.sh ${{ github.repository }} ${{ github.event.number }}); then
|
||||
echo "Checking the merge commit $mergedSha"
|
||||
echo "mergedSha=$mergedSha" >> "$GITHUB_ENV"
|
||||
else
|
||||
echo "The PR cannot be merged, it has a merge conflict, skipping the rest.."
|
||||
echo "Skipping the rest..."
|
||||
fi
|
||||
rm -rf base
|
||||
- uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
|
||||
if: env.mergedSha
|
||||
with:
|
||||
|
55
ci/README.md
55
ci/README.md
@ -41,3 +41,58 @@ Why not just build the tooling right from the PRs Nixpkgs version?
|
||||
- Because it improves security, since we don't have to build potentially untrusted code from PRs.
|
||||
The tool only needs a very minimal Nix evaluation at runtime, which can work with [readonly-mode](https://nixos.org/manual/nix/stable/command-ref/opt-common.html#opt-readonly-mode) and [restrict-eval](https://nixos.org/manual/nix/stable/command-ref/conf-file.html#conf-restrict-eval).
|
||||
|
||||
## `get-merge-commit.sh GITHUB_REPO PR_NUMBER`
|
||||
|
||||
Check whether a PR is mergeable and return the test merge commit as
|
||||
[computed by GitHub](https://docs.github.com/en/rest/guides/using-the-rest-api-to-interact-with-your-git-database?apiVersion=2022-11-28#checking-mergeability-of-pull-requests).
|
||||
|
||||
Arguments:
|
||||
- `GITHUB_REPO`: The repository of the PR, e.g. `NixOS/nixpkgs`
|
||||
- `PR_NUMBER`: The PR number, e.g. `1234`
|
||||
|
||||
Exit codes:
|
||||
- 0: The PR can be merged, the test merge commit hash is returned on stdout
|
||||
- 1: The PR cannot be merged because it's not open anymore
|
||||
- 2: The PR cannot be merged because it has a merge conflict
|
||||
- 3: The merge commit isn't being computed, GitHub is likely having internal issues, unknown if the PR is mergeable
|
||||
|
||||
### Usage
|
||||
|
||||
This script can be used in GitHub Actions workflows as follows:
|
||||
|
||||
```yaml
|
||||
on: pull_request_target
|
||||
|
||||
# We need a token to query the API, but it doesn't need any special permissions
|
||||
permissions: {}
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# Important: Because of `pull_request_target`, this doesn't check out the PR,
|
||||
# but rather the base branch of the PR, which is needed so we don't run untrusted code
|
||||
- uses: actions/checkout@<VERSION>
|
||||
with:
|
||||
path: base
|
||||
sparse-checkout: ci
|
||||
- name: Resolving the merge commit
|
||||
env:
|
||||
GH_TOKEN: ${{ github.token }}
|
||||
run: |
|
||||
if mergedSha=$(base/ci/get-merge-commit.sh ${{ github.repository }} ${{ github.event.number }}); then
|
||||
echo "Checking the merge commit $mergedSha"
|
||||
echo "mergedSha=$mergedSha" >> "$GITHUB_ENV"
|
||||
else
|
||||
# Skipping so that no notifications are sent
|
||||
echo "Skipping the rest..."
|
||||
fi
|
||||
rm -rf base
|
||||
- uses: actions/checkout@<VERSION>
|
||||
# Add this to _all_ subsequent steps to skip them
|
||||
if: env.mergedSha
|
||||
with:
|
||||
ref: ${{ env.mergedSha }}
|
||||
- ...
|
||||
```
|
||||
|
62
ci/get-merge-commit.sh
Executable file
62
ci/get-merge-commit.sh
Executable 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
|
@ -18403,6 +18403,18 @@
|
||||
githubId = 1217934;
|
||||
name = "José Romildo Malaquias";
|
||||
};
|
||||
romner-set = {
|
||||
email = "admin@cynosure.red";
|
||||
github = "romner-set";
|
||||
githubId = 41077433;
|
||||
name = "romner-set";
|
||||
keys = [
|
||||
{
|
||||
# uploaded to https://keys.openpgp.org
|
||||
fingerprint = "4B75 244B 0279 9598 FF3B C21F 95FC 58F1 8CFD FAB0";
|
||||
}
|
||||
];
|
||||
};
|
||||
ronanmacf = {
|
||||
email = "macfhlar@tcd.ie";
|
||||
github = "RonanMacF";
|
||||
|
@ -26,9 +26,9 @@ in
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
# Module is upstream as of 6.10
|
||||
boot.extraModulePackages = with config.boot.kernelPackages;
|
||||
optional (kernelOlder "6.10") ipu6-drivers;
|
||||
# Module is upstream as of 6.10,
|
||||
# but still needs various out-of-tree i2c and the `intel-ipu6-psys` kernel driver
|
||||
boot.extraModulePackages = with config.boot.kernelPackages; [ ipu6-drivers ];
|
||||
|
||||
hardware.firmware = with pkgs; [
|
||||
ipu6-camera-bins
|
||||
|
@ -16,7 +16,6 @@ in {
|
||||
libayatana-common
|
||||
ubports-click
|
||||
]) ++ (with pkgs.lomiri; [
|
||||
content-hub
|
||||
hfd-service
|
||||
history-service
|
||||
libusermetrics
|
||||
@ -24,6 +23,7 @@ in {
|
||||
lomiri-calculator-app
|
||||
lomiri-camera-app
|
||||
lomiri-clock-app
|
||||
lomiri-content-hub
|
||||
lomiri-docviewer-app
|
||||
lomiri-download-manager
|
||||
lomiri-filemanager-app
|
||||
@ -129,7 +129,7 @@ in {
|
||||
|
||||
environment.pathsToLink = [
|
||||
# Configs for inter-app data exchange system
|
||||
"/share/content-hub/peers"
|
||||
"/share/lomiri-content-hub/peers"
|
||||
# Configs for inter-app URL requests
|
||||
"/share/lomiri-url-dispatcher/urls"
|
||||
# Splash screens & other images for desktop apps launched via lomiri-app-launch
|
||||
@ -194,10 +194,6 @@ in {
|
||||
};
|
||||
|
||||
users.groups.usermetrics = { };
|
||||
|
||||
# TODO content-hub cannot pass files between applications without asking AA for permissions. And alot of the Lomiri stack is designed with AA availability in mind. This might be a requirement to be closer to upstream?
|
||||
# But content-hub currently fails to pass files between applications even with AA enabled, and we can get away without AA in many places. Let's see how this develops before requiring this for good.
|
||||
# security.apparmor.enable = true;
|
||||
};
|
||||
|
||||
meta.maintainers = lib.teams.lomiri.members;
|
||||
|
@ -12,9 +12,12 @@ let
|
||||
RAILS_ENV = "production";
|
||||
NODE_ENV = "production";
|
||||
|
||||
BOOTSNAP_CACHE_DIR="/var/cache/mastodon/precompile";
|
||||
LD_PRELOAD = "${pkgs.jemalloc}/lib/libjemalloc.so";
|
||||
|
||||
# mastodon-web concurrency.
|
||||
MASTODON_USE_LIBVIPS = "true";
|
||||
|
||||
# Concurrency mastodon-web
|
||||
WEB_CONCURRENCY = toString cfg.webProcesses;
|
||||
MAX_THREADS = toString cfg.webThreads;
|
||||
|
||||
@ -24,7 +27,7 @@ let
|
||||
DB_NAME = cfg.database.name;
|
||||
LOCAL_DOMAIN = cfg.localDomain;
|
||||
SMTP_SERVER = cfg.smtp.host;
|
||||
SMTP_PORT = toString(cfg.smtp.port);
|
||||
SMTP_PORT = toString cfg.smtp.port;
|
||||
SMTP_FROM_ADDRESS = cfg.smtp.fromAddress;
|
||||
PAPERCLIP_ROOT_PATH = "/var/lib/mastodon/public-system";
|
||||
PAPERCLIP_ROOT_URL = "/system";
|
||||
@ -33,12 +36,12 @@ let
|
||||
TRUSTED_PROXY_IP = cfg.trustedProxy;
|
||||
}
|
||||
// lib.optionalAttrs (cfg.redis.host != null) { REDIS_HOST = cfg.redis.host; }
|
||||
// lib.optionalAttrs (cfg.redis.port != null) { REDIS_PORT = toString(cfg.redis.port); }
|
||||
// lib.optionalAttrs (cfg.redis.port != null) { REDIS_PORT = toString cfg.redis.port; }
|
||||
// lib.optionalAttrs (cfg.redis.createLocally && cfg.redis.enableUnixSocket) { REDIS_URL = "unix://${config.services.redis.servers.mastodon.unixSocket}"; }
|
||||
// lib.optionalAttrs (cfg.database.host != "/run/postgresql" && cfg.database.port != null) { DB_PORT = toString cfg.database.port; }
|
||||
// lib.optionalAttrs cfg.smtp.authenticate { SMTP_LOGIN = cfg.smtp.user; }
|
||||
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_HOST = cfg.elasticsearch.host; }
|
||||
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_PORT = toString(cfg.elasticsearch.port); }
|
||||
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_PORT = toString cfg.elasticsearch.port; }
|
||||
// lib.optionalAttrs (cfg.elasticsearch.host != null) { ES_PRESET = cfg.elasticsearch.preset; }
|
||||
// lib.optionalAttrs (cfg.elasticsearch.user != null) { ES_USER = cfg.elasticsearch.user; }
|
||||
// cfg.extraConfig;
|
||||
@ -51,6 +54,9 @@ let
|
||||
Group = cfg.group;
|
||||
# Working directory
|
||||
WorkingDirectory = cfg.package;
|
||||
# Cache directory and mode
|
||||
CacheDirectory = "mastodon";
|
||||
CacheDirectoryMode = "0750";
|
||||
# State directory and mode
|
||||
StateDirectory = "mastodon";
|
||||
StateDirectoryMode = "0750";
|
||||
@ -127,7 +133,7 @@ let
|
||||
description = "Mastodon sidekiq${jobClassLabel}";
|
||||
wantedBy = [ "mastodon.target" ];
|
||||
environment = env // {
|
||||
PORT = toString(cfg.sidekiqPort);
|
||||
PORT = toString cfg.sidekiqPort;
|
||||
DB_POOL = threads;
|
||||
};
|
||||
serviceConfig = {
|
||||
@ -309,7 +315,7 @@ in {
|
||||
Voluntary Application Server Identification. A new keypair can
|
||||
be generated by running:
|
||||
|
||||
`nix build -f '<nixpkgs>' mastodon; cd result; bin/rake webpush:generate_keys`
|
||||
`nix build -f '<nixpkgs>' mastodon; cd result; RAILS_ENV=production bin/rake webpush:generate_keys`
|
||||
|
||||
If {option}`mastodon.vapidPrivateKeyFile`does not
|
||||
exist, it and this file will be created with a new keypair.
|
||||
@ -324,12 +330,57 @@ in {
|
||||
type = lib.types.str;
|
||||
};
|
||||
|
||||
activeRecordEncryptionDeterministicKeyFile = lib.mkOption {
|
||||
description = ''
|
||||
This key must be set to enable the Active Record Encryption feature within
|
||||
Rails that Mastodon uses to encrypt and decrypt some database attributes.
|
||||
A new Active Record keys can be generated by running:
|
||||
|
||||
`nix build -f '<nixpkgs>' mastodon; cd result; RAILS_ENV=production ./bin/rails db:encryption:init`
|
||||
|
||||
If this file does not exist, it will be created with a new Active Record
|
||||
keys.
|
||||
'';
|
||||
default = "/var/lib/mastodon/secrets/active-record-encryption-deterministic-key";
|
||||
type = lib.types.str;
|
||||
};
|
||||
|
||||
activeRecordEncryptionKeyDerivationSaltFile = lib.mkOption {
|
||||
description = ''
|
||||
This key must be set to enable the Active Record Encryption feature within
|
||||
Rails that Mastodon uses to encrypt and decrypt some database attributes.
|
||||
A new Active Record keys can be generated by running:
|
||||
|
||||
`nix build -f '<nixpkgs>' mastodon; cd result; RAILS_ENV=production ./bin/rails db:encryption:init`
|
||||
|
||||
If this file does not exist, it will be created with a new Active Record
|
||||
keys.
|
||||
'';
|
||||
default = "/var/lib/mastodon/secrets/active-record-encryption-key-derivation-salt";
|
||||
type = lib.types.str;
|
||||
};
|
||||
|
||||
activeRecordEncryptionPrimaryKeyFile = lib.mkOption {
|
||||
description = ''
|
||||
This key must be set to enable the Active Record Encryption feature within
|
||||
Rails that Mastodon uses to encrypt and decrypt some database attributes.
|
||||
A new Active Record keys can be generated by running:
|
||||
|
||||
`nix build -f '<nixpkgs>' mastodon; cd result; RAILS_ENV=production ./bin/rails db:encryption:init`
|
||||
|
||||
If this file does not exist, it will be created with a new Active Record
|
||||
keys.
|
||||
'';
|
||||
default = "/var/lib/mastodon/secrets/active-record-encryption-primary-key";
|
||||
type = lib.types.str;
|
||||
};
|
||||
|
||||
secretKeyBaseFile = lib.mkOption {
|
||||
description = ''
|
||||
Path to file containing the secret key base.
|
||||
A new secret key base can be generated by running:
|
||||
|
||||
`nix build -f '<nixpkgs>' mastodon; cd result; bin/rake secret`
|
||||
`nix build -f '<nixpkgs>' mastodon; cd result; bin/bundle exec rails secret`
|
||||
|
||||
If this file does not exist, it will be created with a new secret key base.
|
||||
'';
|
||||
@ -342,7 +393,7 @@ in {
|
||||
Path to file containing the OTP secret.
|
||||
A new OTP secret can be generated by running:
|
||||
|
||||
`nix build -f '<nixpkgs>' mastodon; cd result; bin/rake secret`
|
||||
`nix build -f '<nixpkgs>' mastodon; cd result; bin/bundle exec rails secret`
|
||||
|
||||
If this file does not exist, it will be created with a new OTP secret.
|
||||
'';
|
||||
@ -708,13 +759,28 @@ in {
|
||||
script = ''
|
||||
umask 077
|
||||
|
||||
if ! test -d /var/cache/mastodon/precompile; then
|
||||
${cfg.package}/bin/bundle exec bootsnap precompile --gemfile ${cfg.package}/app ${cfg.package}/lib
|
||||
fi
|
||||
if ! test -f ${cfg.activeRecordEncryptionDeterministicKeyFile}; then
|
||||
mkdir -p $(dirname ${cfg.activeRecordEncryptionDeterministicKeyFile})
|
||||
bin/rails db:encryption:init | grep --only-matching "ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=[^ ]\+" | sed 's/^ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=//' > ${cfg.activeRecordEncryptionDeterministicKeyFile}
|
||||
fi
|
||||
if ! test -f ${cfg.activeRecordEncryptionKeyDerivationSaltFile}; then
|
||||
mkdir -p $(dirname ${cfg.activeRecordEncryptionKeyDerivationSaltFile})
|
||||
bin/rails db:encryption:init | grep --only-matching "ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=[^ ]\+" | sed 's/^ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=//' > ${cfg.activeRecordEncryptionKeyDerivationSaltFile}
|
||||
fi
|
||||
if ! test -f ${cfg.activeRecordEncryptionPrimaryKeyFile}; then
|
||||
mkdir -p $(dirname ${cfg.activeRecordEncryptionPrimaryKeyFile})
|
||||
bin/rails db:encryption:init | grep --only-matching "ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=[^ ]\+" | sed 's/^ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=//' > ${cfg.activeRecordEncryptionPrimaryKeyFile}
|
||||
fi
|
||||
if ! test -f ${cfg.secretKeyBaseFile}; then
|
||||
mkdir -p $(dirname ${cfg.secretKeyBaseFile})
|
||||
bin/rake secret > ${cfg.secretKeyBaseFile}
|
||||
bin/bundle exec rails secret > ${cfg.secretKeyBaseFile}
|
||||
fi
|
||||
if ! test -f ${cfg.otpSecretFile}; then
|
||||
mkdir -p $(dirname ${cfg.otpSecretFile})
|
||||
bin/rake secret > ${cfg.otpSecretFile}
|
||||
bin/bundle exec rails secret > ${cfg.otpSecretFile}
|
||||
fi
|
||||
if ! test -f ${cfg.vapidPrivateKeyFile}; then
|
||||
mkdir -p $(dirname ${cfg.vapidPrivateKeyFile}) $(dirname ${cfg.vapidPublicKeyFile})
|
||||
@ -724,6 +790,9 @@ in {
|
||||
fi
|
||||
|
||||
cat > /var/lib/mastodon/.secrets_env <<EOF
|
||||
ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY="$(cat ${cfg.activeRecordEncryptionDeterministicKeyFile})"
|
||||
ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT="$(cat ${cfg.activeRecordEncryptionKeyDerivationSaltFile})"
|
||||
ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY="$(cat ${cfg.activeRecordEncryptionPrimaryKeyFile})"
|
||||
SECRET_KEY_BASE="$(cat ${cfg.secretKeyBaseFile})"
|
||||
OTP_SECRET="$(cat ${cfg.otpSecretFile})"
|
||||
VAPID_PRIVATE_KEY="$(cat ${cfg.vapidPrivateKeyFile})"
|
||||
@ -802,7 +871,7 @@ in {
|
||||
description = "Mastodon web";
|
||||
environment = env // (if cfg.enableUnixSocket
|
||||
then { SOCKET = "/run/mastodon-web/web.socket"; }
|
||||
else { PORT = toString(cfg.webPort); }
|
||||
else { PORT = toString cfg.webPort; }
|
||||
);
|
||||
serviceConfig = {
|
||||
ExecStart = "${cfg.package}/bin/puma -C config/puma.rb";
|
||||
@ -816,7 +885,7 @@ in {
|
||||
# System Call Filtering
|
||||
SystemCallFilter = [ ("~" + lib.concatStringsSep " " systemCallsList) "@chown" "pipe" "pipe2" ];
|
||||
} // cfgService;
|
||||
path = with pkgs; [ ffmpeg-headless file imagemagick ];
|
||||
path = with pkgs; [ ffmpeg-headless file ];
|
||||
};
|
||||
|
||||
systemd.services.mastodon-media-auto-remove = lib.mkIf cfg.mediaAutoRemove.enable {
|
||||
@ -851,7 +920,7 @@ in {
|
||||
};
|
||||
|
||||
locations."@proxy" = {
|
||||
proxyPass = (if cfg.enableUnixSocket then "http://unix:/run/mastodon-web/web.socket" else "http://127.0.0.1:${toString(cfg.webPort)}");
|
||||
proxyPass = (if cfg.enableUnixSocket then "http://unix:/run/mastodon-web/web.socket" else "http://127.0.0.1:${toString cfg.webPort}");
|
||||
proxyWebsockets = true;
|
||||
};
|
||||
|
||||
@ -903,7 +972,7 @@ in {
|
||||
inherit (cfg) group;
|
||||
};
|
||||
})
|
||||
(lib.attrsets.setAttrByPath [ cfg.user "packages" ] [ cfg.package pkgs.imagemagick ])
|
||||
(lib.attrsets.setAttrByPath [ cfg.user "packages" ] [ cfg.package ])
|
||||
(lib.mkIf (cfg.redis.createLocally && cfg.redis.enableUnixSocket) {${config.services.mastodon.user}.extraGroups = [ "redis-mastodon" ];})
|
||||
];
|
||||
|
||||
|
@ -853,9 +853,12 @@ in
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Resolves domains of proxyPass targets at runtime
|
||||
and not only at start, you have to set
|
||||
services.nginx.resolver, too.
|
||||
Resolves domains of proxyPass targets at runtime and not only at startup.
|
||||
This can be used as a workaround if nginx fails to start because of not-yet-working DNS.
|
||||
|
||||
:::{.warn}
|
||||
`services.nginx.resolver` must be set for this option to work.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -141,6 +141,7 @@ let
|
||||
--absolute-names \
|
||||
--verbatim-files-from \
|
||||
--transform 'flags=rSh;s|/nix/store/||' \
|
||||
--transform 'flags=rSh;s|~nix~case~hack~[[:digit:]]\+||g' \
|
||||
--files-from ${hostPkgs.closureInfo { rootPaths = [ config.system.build.toplevel regInfo ]; }}/store-paths \
|
||||
| ${hostPkgs.erofs-utils}/bin/mkfs.erofs \
|
||||
--quiet \
|
||||
|
@ -4,6 +4,52 @@ let
|
||||
user = "alice";
|
||||
description = "Alice Foobar";
|
||||
password = "foobar";
|
||||
|
||||
# tmpfiles setup to make OCRing on terminal output more reliable
|
||||
terminalOcrTmpfilesSetup =
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
}:
|
||||
let
|
||||
white = "255, 255, 255";
|
||||
black = "0, 0, 0";
|
||||
colorSection = color: {
|
||||
Color = color;
|
||||
Bold = true;
|
||||
Transparency = false;
|
||||
};
|
||||
terminalColors = pkgs.writeText "customized.colorscheme" (
|
||||
lib.generators.toINI { } {
|
||||
Background = colorSection white;
|
||||
Foreground = colorSection black;
|
||||
Color2 = colorSection black;
|
||||
Color2Intense = colorSection black;
|
||||
}
|
||||
);
|
||||
terminalConfig = pkgs.writeText "terminal.ubports.conf" (
|
||||
lib.generators.toINI { } {
|
||||
General = {
|
||||
colorScheme = "customized";
|
||||
fontSize = "16";
|
||||
fontStyle = "Inconsolata";
|
||||
};
|
||||
}
|
||||
);
|
||||
confBase = "${config.users.users.${user}.home}/.config";
|
||||
userDirArgs = {
|
||||
mode = "0700";
|
||||
user = user;
|
||||
group = "users";
|
||||
};
|
||||
in
|
||||
{
|
||||
"${confBase}".d = userDirArgs;
|
||||
"${confBase}/terminal.ubports".d = userDirArgs;
|
||||
"${confBase}/terminal.ubports/customized.colorscheme".L.argument = "${terminalColors}";
|
||||
"${confBase}/terminal.ubports/terminal.ubports.conf".L.argument = "${terminalConfig}";
|
||||
};
|
||||
in
|
||||
{
|
||||
greeter = makeTest (
|
||||
@ -154,47 +200,9 @@ in
|
||||
};
|
||||
|
||||
# Help with OCR
|
||||
systemd.tmpfiles.settings =
|
||||
let
|
||||
white = "255, 255, 255";
|
||||
black = "0, 0, 0";
|
||||
colorSection = color: {
|
||||
Color = color;
|
||||
Bold = true;
|
||||
Transparency = false;
|
||||
};
|
||||
terminalColors = pkgs.writeText "customized.colorscheme" (
|
||||
lib.generators.toINI { } {
|
||||
Background = colorSection white;
|
||||
Foreground = colorSection black;
|
||||
Color2 = colorSection black;
|
||||
Color2Intense = colorSection black;
|
||||
}
|
||||
);
|
||||
terminalConfig = pkgs.writeText "terminal.ubports.conf" (
|
||||
lib.generators.toINI { } {
|
||||
General = {
|
||||
colorScheme = "customized";
|
||||
fontSize = "16";
|
||||
fontStyle = "Inconsolata";
|
||||
};
|
||||
}
|
||||
);
|
||||
confBase = "${config.users.users.${user}.home}/.config";
|
||||
userDirArgs = {
|
||||
mode = "0700";
|
||||
user = user;
|
||||
group = "users";
|
||||
};
|
||||
in
|
||||
{
|
||||
"10-lomiri-test-setup" = {
|
||||
"${confBase}".d = userDirArgs;
|
||||
"${confBase}/terminal.ubports".d = userDirArgs;
|
||||
"${confBase}/terminal.ubports/customized.colorscheme".L.argument = "${terminalColors}";
|
||||
"${confBase}/terminal.ubports/terminal.ubports.conf".L.argument = "${terminalConfig}";
|
||||
};
|
||||
};
|
||||
systemd.tmpfiles.settings = {
|
||||
"10-lomiri-test-setup" = terminalOcrTmpfilesSetup { inherit pkgs lib config; };
|
||||
};
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
@ -360,58 +368,20 @@ in
|
||||
};
|
||||
|
||||
variables = {
|
||||
# So we can test what content-hub is working behind the scenes
|
||||
CONTENT_HUB_LOGGING_LEVEL = "2";
|
||||
# So we can test what lomiri-content-hub is working behind the scenes
|
||||
LOMIRI_CONTENT_HUB_LOGGING_LEVEL = "2";
|
||||
};
|
||||
|
||||
systemPackages = with pkgs; [
|
||||
# For a convenient way of kicking off content-hub peer collection
|
||||
lomiri.content-hub.examples
|
||||
# For a convenient way of kicking off lomiri-content-hub peer collection
|
||||
lomiri.lomiri-content-hub.examples
|
||||
];
|
||||
};
|
||||
|
||||
# Help with OCR
|
||||
systemd.tmpfiles.settings =
|
||||
let
|
||||
white = "255, 255, 255";
|
||||
black = "0, 0, 0";
|
||||
colorSection = color: {
|
||||
Color = color;
|
||||
Bold = true;
|
||||
Transparency = false;
|
||||
};
|
||||
terminalColors = pkgs.writeText "customized.colorscheme" (
|
||||
lib.generators.toINI { } {
|
||||
Background = colorSection white;
|
||||
Foreground = colorSection black;
|
||||
Color2 = colorSection black;
|
||||
Color2Intense = colorSection black;
|
||||
}
|
||||
);
|
||||
terminalConfig = pkgs.writeText "terminal.ubports.conf" (
|
||||
lib.generators.toINI { } {
|
||||
General = {
|
||||
colorScheme = "customized";
|
||||
fontSize = "16";
|
||||
fontStyle = "Inconsolata";
|
||||
};
|
||||
}
|
||||
);
|
||||
confBase = "${config.users.users.${user}.home}/.config";
|
||||
userDirArgs = {
|
||||
mode = "0700";
|
||||
user = user;
|
||||
group = "users";
|
||||
};
|
||||
in
|
||||
{
|
||||
"10-lomiri-test-setup" = {
|
||||
"${confBase}".d = userDirArgs;
|
||||
"${confBase}/terminal.ubports".d = userDirArgs;
|
||||
"${confBase}/terminal.ubports/customized.colorscheme".L.argument = "${terminalColors}";
|
||||
"${confBase}/terminal.ubports/terminal.ubports.conf".L.argument = "${terminalConfig}";
|
||||
};
|
||||
};
|
||||
systemd.tmpfiles.settings = {
|
||||
"10-lomiri-test-setup" = terminalOcrTmpfilesSetup { inherit pkgs lib config; };
|
||||
};
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
@ -484,9 +454,9 @@ in
|
||||
|
||||
# lomiri-terminal-app has a separate VM test to test its basic functionality
|
||||
|
||||
# for the LSS content-hub test to work reliably, we need to kick off peer collecting
|
||||
machine.send_chars("content-hub-test-importer\n")
|
||||
wait_for_text(r"(/build/source|hub.cpp|handler.cpp|void|virtual|const)") # awaiting log messages from content-hub
|
||||
# for the LSS lomiri-content-hub test to work reliably, we need to kick off peer collecting
|
||||
machine.send_chars("lomiri-content-hub-test-importer\n")
|
||||
wait_for_text(r"(/build/source|hub.cpp|handler.cpp|void|virtual|const)") # awaiting log messages from lomiri-content-hub
|
||||
machine.send_key("ctrl-c")
|
||||
|
||||
# Doing this here, since we need an in-session shell & separately starting a terminal again wastes time
|
||||
@ -510,7 +480,7 @@ in
|
||||
wait_for_text("Rotation Lock")
|
||||
machine.screenshot("settings_open")
|
||||
|
||||
# lomiri-system-settings has a separate VM test, only test Lomiri-specific content-hub functionalities here
|
||||
# lomiri-system-settings has a separate VM test, only test Lomiri-specific lomiri-content-hub functionalities here
|
||||
|
||||
# Make fullscreen, can't navigate to Background plugin via keyboard unless window has non-phone-like aspect ratio
|
||||
toggle_maximise()
|
||||
@ -536,7 +506,7 @@ in
|
||||
|
||||
# Peers should be loaded
|
||||
wait_for_text("Morph") # or Gallery, but Morph is already packaged
|
||||
machine.screenshot("settings_content-hub_peers")
|
||||
machine.screenshot("settings_lomiri-content-hub_peers")
|
||||
|
||||
# Select Morph as content source
|
||||
mouse_click(370, 100)
|
||||
@ -544,11 +514,11 @@ in
|
||||
# Expect Morph to be brought into the foreground, with its Downloads page open
|
||||
wait_for_text("No downloads")
|
||||
|
||||
# If content-hub encounters a problem, it may have crashed the original application issuing the request.
|
||||
# If lomiri-content-hub encounters a problem, it may have crashed the original application issuing the request.
|
||||
# Check that it's still alive
|
||||
machine.succeed("pgrep -u ${user} -f lomiri-system-settings")
|
||||
|
||||
machine.screenshot("content-hub_exchange")
|
||||
machine.screenshot("lomiri-content-hub_exchange")
|
||||
|
||||
# Testing any more would require more applications & setup, the fact that it's already being attempted is a good sign
|
||||
machine.send_key("esc")
|
||||
@ -732,8 +702,17 @@ in
|
||||
# Help with OCR
|
||||
fonts.packages = [ pkgs.inconsolata ];
|
||||
|
||||
# Non-QWERTY keymap to test keymap patch
|
||||
services.xserver.xkb.layout = "de";
|
||||
services.xserver.xkb.layout = lib.strings.concatStringsSep "," [
|
||||
# Start with a non-QWERTY keymap to test keymap patch
|
||||
"de"
|
||||
# Then a QWERTY one to test switching
|
||||
"us"
|
||||
];
|
||||
|
||||
# Help with OCR
|
||||
systemd.tmpfiles.settings = {
|
||||
"10-lomiri-test-setup" = terminalOcrTmpfilesSetup { inherit pkgs lib config; };
|
||||
};
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
@ -784,6 +763,30 @@ in
|
||||
machine.send_chars("touch ${pwInput}\n")
|
||||
machine.wait_for_file("/home/alice/${pwOutput}", 10)
|
||||
|
||||
# Issues with this keybind: input leaks to focused surface, may open launcher
|
||||
# Don't have the keyboard indicator to handle this better
|
||||
machine.send_key("meta_l-spc")
|
||||
machine.wait_for_console_text('SET KEYMAP "us"')
|
||||
|
||||
# Handle keybind fallout
|
||||
machine.sleep(10) # wait for everything to settle
|
||||
machine.send_key("esc") # close launcher in case it was opened
|
||||
machine.sleep(2) # wait for animation to finish
|
||||
# Make sure input leaks are gone
|
||||
machine.send_key("backspace")
|
||||
machine.send_key("backspace")
|
||||
machine.send_key("backspace")
|
||||
machine.send_key("backspace")
|
||||
machine.send_key("backspace")
|
||||
machine.send_key("backspace")
|
||||
machine.send_key("backspace")
|
||||
machine.send_key("backspace")
|
||||
machine.send_key("backspace")
|
||||
machine.send_key("backspace")
|
||||
|
||||
machine.send_chars("touch ${pwInput}\n")
|
||||
machine.wait_for_file("/home/alice/${pwInput}", 10)
|
||||
|
||||
machine.send_key("alt-f4")
|
||||
'';
|
||||
}
|
||||
|
@ -24,6 +24,8 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
|
||||
system.build.privateKey = snakeOilPrivateKey;
|
||||
system.build.publicKey = snakeOilPublicKey;
|
||||
# needed to provide STC implementation for target
|
||||
system.switch.enable = true;
|
||||
};
|
||||
|
||||
target = { nodes, lib, ... }: let
|
||||
|
@ -5534,6 +5534,18 @@ final: prev:
|
||||
meta.homepage = "https://github.com/qnighy/lalrpop.vim/";
|
||||
};
|
||||
|
||||
langmapper-nvim = buildVimPlugin {
|
||||
pname = "langmapper.nvim";
|
||||
version = "2024-09-19";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Wansmer";
|
||||
repo = "langmapper.nvim";
|
||||
rev = "ac74a80cb86e8b51e4a13ccb2ee540d544fe1c62";
|
||||
sha256 = "1b2sjsi81r7m1pxxkisl4b2w2cag3v2i4andhn89gv6afzakvzka";
|
||||
};
|
||||
meta.homepage = "https://github.com/Wansmer/langmapper.nvim/";
|
||||
};
|
||||
|
||||
last256 = buildVimPlugin {
|
||||
pname = "last256";
|
||||
version = "2020-12-09";
|
||||
@ -12954,6 +12966,18 @@ final: prev:
|
||||
meta.homepage = "https://github.com/junegunn/vim-after-object/";
|
||||
};
|
||||
|
||||
vim-afterglow = buildVimPlugin {
|
||||
pname = "vim-afterglow";
|
||||
version = "2024-03-31";
|
||||
src = fetchFromGitHub {
|
||||
owner = "danilo-augusto";
|
||||
repo = "vim-afterglow";
|
||||
rev = "fe3a0c4d2acf13ed6f7f0f1fede0a2570f13b06e";
|
||||
sha256 = "0z61jfdhhajw5k7y8msk8nj5nljwygmw3s6vsqq9qgczaixqh968";
|
||||
};
|
||||
meta.homepage = "https://github.com/danilo-augusto/vim-afterglow/";
|
||||
};
|
||||
|
||||
vim-agda = buildVimPlugin {
|
||||
pname = "vim-agda";
|
||||
version = "2024-05-17";
|
||||
|
@ -463,6 +463,7 @@ https://github.com/b3nj5m1n/kommentary/,,
|
||||
https://github.com/udalov/kotlin-vim/,,
|
||||
https://github.com/mistweaverco/kulala.nvim/,HEAD,
|
||||
https://github.com/qnighy/lalrpop.vim/,,
|
||||
https://github.com/Wansmer/langmapper.nvim/,HEAD,
|
||||
https://github.com/sk1418/last256/,,
|
||||
https://github.com/latex-box-team/latex-box/,,
|
||||
https://github.com/dundalek/lazy-lsp.nvim/,HEAD,
|
||||
@ -1092,6 +1093,7 @@ https://github.com/MarcWeber/vim-addon-syntax-checker/,,
|
||||
https://github.com/MarcWeber/vim-addon-toggle-buffer/,,
|
||||
https://github.com/MarcWeber/vim-addon-xdebug/,,
|
||||
https://github.com/junegunn/vim-after-object/,,
|
||||
https://github.com/danilo-augusto/vim-afterglow/,HEAD,
|
||||
https://github.com/msuperdock/vim-agda/,HEAD,
|
||||
https://github.com/vim-airline/vim-airline/,,
|
||||
https://github.com/enricobacis/vim-airline-clock/,,
|
||||
|
@ -35,9 +35,12 @@ python3Packages.buildPythonApplication rec {
|
||||
pygobject3
|
||||
pycairo
|
||||
pyxdg
|
||||
setuptools
|
||||
dbus-python
|
||||
];
|
||||
|
||||
PYTHONDIR = "${placeholder "out"}/${python3Packages.python.sitePackages}";
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
||||
# Arguments to be passed to `makeWrapper`, only used by buildPython*
|
||||
|
@ -54,11 +54,8 @@ stdenv.mkDerivation {
|
||||
#!nix-shell -i bash -p curl gnugrep common-updater-scripts
|
||||
set -x
|
||||
set -eou pipefail;
|
||||
url=$(curl -sI "https://discordapp.com/api/download/${
|
||||
builtins.replaceStrings [ "discord-" "discord" ] [ "" "stable" ] pname
|
||||
}?platform=osx&format=dmg" | grep -oP 'location: \K\S+')
|
||||
version=''${url##https://dl*.discordapp.net/apps/osx/}
|
||||
version=''${version%%/*.dmg}
|
||||
url=$(curl -sI -o /dev/null -w '%header{location}' "https://discord.com/api/download/${branch}?platform=osx&format=dmg")
|
||||
version=$(echo $url | grep -oP '/\K(\d+\.){2}\d+')
|
||||
update-source-version ${lib.optionalString (!stdenv.buildPlatform.isDarwin) "pkgsCross.aarch64-darwin."}${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix --version-key=${branch}
|
||||
'';
|
||||
};
|
||||
|
@ -2,52 +2,52 @@
|
||||
let
|
||||
versions =
|
||||
if stdenv.hostPlatform.isLinux then {
|
||||
stable = "0.0.70";
|
||||
ptb = "0.0.105";
|
||||
canary = "0.0.492";
|
||||
development = "0.0.28";
|
||||
stable = "0.0.71";
|
||||
ptb = "0.0.110";
|
||||
canary = "0.0.502";
|
||||
development = "0.0.30";
|
||||
} else {
|
||||
stable = "0.0.318";
|
||||
ptb = "0.0.133";
|
||||
canary = "0.0.591";
|
||||
development = "0.0.49";
|
||||
stable = "0.0.322";
|
||||
ptb = "0.0.140";
|
||||
canary = "0.0.611";
|
||||
development = "0.0.53";
|
||||
};
|
||||
version = versions.${branch};
|
||||
srcs = rec {
|
||||
x86_64-linux = {
|
||||
stable = fetchurl {
|
||||
url = "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
|
||||
hash = "sha256-Ujlewrhbqal97hCG6+Iu+OqntWZJ/oY6ZHeL+HmoU38=";
|
||||
url = "https://stable.dl2.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
|
||||
hash = "sha256-PMcavgUhL8c1YFaWsooZObDa7APMqCD1IaysED5fWac=";
|
||||
};
|
||||
ptb = fetchurl {
|
||||
url = "https://dl-ptb.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
|
||||
hash = "sha256-u/4wWssZxKlHrRW/Vd9pqUfqN2VQGYv1SDktpRsOayM=";
|
||||
url = "https://ptb.dl2.discordapp.net/apps/linux/${version}/discord-ptb-${version}.tar.gz";
|
||||
hash = "sha256-NV/0YKn1rG54Zkc9qAmpeb+4YbKjxhjTCdPOd84Lcc8=";
|
||||
};
|
||||
canary = fetchurl {
|
||||
url = "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
|
||||
hash = "sha256-NjcNgKYm1Twm8nN3sFlZCG/3x5fcSmX7X2On7CeZm0M=";
|
||||
url = "https://canary.dl2.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
|
||||
hash = "sha256-2DE7p3eT/mVGC+ejnTcTEhF7sEWyhfUfzj0gYTh+6Dw=";
|
||||
};
|
||||
development = fetchurl {
|
||||
url = "https://dl-development.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
|
||||
hash = "sha256-326KAuqt3VQSgyJAdsdc7YgrdF3vCVoJoKUCVC2UdaU=";
|
||||
url = "https://development.dl2.discordapp.net/apps/linux/${version}/discord-development-${version}.tar.gz";
|
||||
hash = "sha256-HxMJQd5fM1VNfrBey4SbnnBkFQYZgbxg4YTy6FIC9Ps=";
|
||||
};
|
||||
};
|
||||
x86_64-darwin = {
|
||||
stable = fetchurl {
|
||||
url = "https://dl.discordapp.net/apps/osx/${version}/Discord.dmg";
|
||||
hash = "sha256-Ot6IM6EAg4MQPp0JqvUOZNAor6Nr6luc6pGY+722GMo=";
|
||||
url = "https://stable.dl2.discordapp.net/apps/osx/${version}/Discord.dmg";
|
||||
hash = "sha256-RLAdcCcRrUtDSdaj/RdVLJGvufpIjZoMAKxp0Jyu17A=";
|
||||
};
|
||||
ptb = fetchurl {
|
||||
url = "https://dl-ptb.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
|
||||
hash = "sha256-FFp6CRgD/kpCVxJ4+es0DaOGaW5v2Aa+lzJdG2Zu8eY=";
|
||||
url = "https://ptb.dl2.discordapp.net/apps/osx/${version}/DiscordPTB.dmg";
|
||||
hash = "sha256-VGhvykujfzI7jwXE+lHTzqT0t08GaON6gCuf13po7wY=";
|
||||
};
|
||||
canary = fetchurl {
|
||||
url = "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
|
||||
hash = "sha256-TIXe8cy6feME0900R5aWyItZfUrUA8zXo0pqwQ79yAM=";
|
||||
url = "https://canary.dl2.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
|
||||
hash = "sha256-QC8RANqoyMAGKjTF0NNhz7wMt65D5LI1xYtd++dHXC4=";
|
||||
};
|
||||
development = fetchurl {
|
||||
url = "https://dl-development.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
|
||||
hash = "sha256-kfHnS1NHuPD7UR7XvMdtY2LPsDRJVQHk7/Nm+cR/KGc=";
|
||||
url = "https://development.dl2.discordapp.net/apps/osx/${version}/DiscordDevelopment.dmg";
|
||||
hash = "sha256-DhY8s7Mhzos0ygB/WuoE07WK6hoIh/FcETeIsffw+e0=";
|
||||
};
|
||||
};
|
||||
aarch64-darwin = x86_64-darwin;
|
||||
@ -78,7 +78,7 @@ let
|
||||
meta = meta // { mainProgram = value.binaryName; };
|
||||
}))
|
||||
{
|
||||
stable = rec {
|
||||
stable = {
|
||||
pname = "discord";
|
||||
binaryName = "Discord";
|
||||
desktopName = "Discord";
|
||||
|
@ -151,11 +151,8 @@ stdenv.mkDerivation rec {
|
||||
#!/usr/bin/env nix-shell
|
||||
#!nix-shell -i bash -p curl gnugrep common-updater-scripts
|
||||
set -eou pipefail;
|
||||
url=$(curl -sI "https://discordapp.com/api/download/${
|
||||
builtins.replaceStrings [ "discord-" "discord" ] [ "" "stable" ] pname
|
||||
}?platform=linux&format=tar.gz" | grep -oP 'location: \K\S+')
|
||||
version=''${url##https://dl*.discordapp.net/apps/linux/}
|
||||
version=''${version%%/*.tar.gz}
|
||||
url=$(curl -sI -o /dev/null -w '%header{location}' "https://discord.com/api/download/${branch}?platform=linux&format=tar.gz")
|
||||
version=$(echo $url | grep -oP '/\K(\d+\.){2}\d+')
|
||||
update-source-version ${pname} "$version" --file=./pkgs/applications/networking/instant-messengers/discord/default.nix --version-key=${branch}
|
||||
'';
|
||||
};
|
||||
|
@ -13,18 +13,19 @@
|
||||
gtksourceview5,
|
||||
xdg-utils,
|
||||
ollama,
|
||||
vte-gtk4,
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "alpaca";
|
||||
version = "2.0.6";
|
||||
version = "2.6.0";
|
||||
pyproject = false; # Built with meson
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Jeffser";
|
||||
repo = "Alpaca";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-4c6pisd3o7mycivHd1QZ2N7s8pYzrQXiZMbVvl5ciPA=";
|
||||
hash = "sha256-XXxfbchQ1l6L8KflqjlGIiyRbG/dI5ok0ExlROavXYg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -40,6 +41,7 @@ python3Packages.buildPythonApplication rec {
|
||||
buildInputs = [
|
||||
libadwaita
|
||||
gtksourceview5
|
||||
vte-gtk4
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
"owner": "advplyr",
|
||||
"repo": "audiobookshelf",
|
||||
"rev": "ce213c3d89458baeb77324ce59a5f2137740564e",
|
||||
"hash": "sha256-7vPhvsjGJQvus5Mmx8543OuBeuPWC/4cLfHHYmN2lnk=",
|
||||
"version": "2.13.4",
|
||||
"depsHash": "sha256-1CmtuzE8R6zkb0DT7gt9MrxErAw0mqY2AkJZh3PjuBQ=",
|
||||
"clientDepsHash": "sha256-BfrVN70i1e4JWELxLS0jliHLfG4/kN8tj8aQOjsnZ/M="
|
||||
"rev": "cf5598aeb9b086a28e853d6a89b82a7467fd6969",
|
||||
"hash": "sha256-tObC7QbdwpAlt97eXB9QzZEaQcquuST+8nC6lYEXTUM=",
|
||||
"version": "2.14.0",
|
||||
"depsHash": "sha256-nVsmV3Vms2S9oM7duFfgt+go1+wM2JniI8B3UFmv/TE=",
|
||||
"clientDepsHash": "sha256-oaoGxcMs8XQVaRx8UO9NSThqbHuZsA4fm8OGlSiaKO0="
|
||||
}
|
||||
|
@ -119,6 +119,17 @@ let
|
||||
overrideAzureMgmtPackage super.azure-mgmt-batchai "7.0.0b1" "zip"
|
||||
"sha256-mT6vvjWbq0RWQidugR229E8JeVEiobPD3XA/nDM3I6Y=";
|
||||
|
||||
azure-mgmt-billing =
|
||||
(overrideAzureMgmtPackage super.azure-mgmt-billing "6.0.0" "zip"
|
||||
"sha256-1PXFpBiKRW/h6zK2xF9VyiBpx0vkHrdpIYQLOfL1wH8="
|
||||
).overridePythonAttrs
|
||||
(attrs: {
|
||||
propagatedBuildInputs = attrs.propagatedBuildInputs or [ ] ++ [
|
||||
self.msrest
|
||||
self.msrestazure
|
||||
];
|
||||
});
|
||||
|
||||
# AttributeError: type object 'CustomDomainsOperations' has no attribute 'disable_custom_https'
|
||||
azure-mgmt-cdn =
|
||||
overrideAzureMgmtPackage super.azure-mgmt-cdn "12.0.0" "zip"
|
||||
|
@ -9,16 +9,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "boxbuddy";
|
||||
version = "2.2.12";
|
||||
version = "2.2.13";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Dvlv";
|
||||
repo = "BoxBuddyRS";
|
||||
rev = version;
|
||||
hash = "sha256-PoPIIwe2SlK/iQTyqIhMG0dRobU98L5hnOciMmi9coo=";
|
||||
hash = "sha256-47LOwBm7ql3Nvx6PZ2+x5aR9LSpzc8xuixdvKGdNS94=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-En5TVCW/URJEry4sTd+vdi8K1YO2L0X5pYu/TGsrx6U=";
|
||||
cargoHash = "sha256-W4W2tnnNgBcGD0/t5pobj4ca/YrRkHE1l5dIVe21KPU=";
|
||||
|
||||
# The software assumes it is installed either in flatpak or in the home directory
|
||||
# so the xdg data path needs to be patched here
|
||||
|
@ -1,20 +1,21 @@
|
||||
{ lib
|
||||
, config
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, cctools
|
||||
, libiconv
|
||||
, llvmPackages
|
||||
, ninja
|
||||
, openssl
|
||||
, python3Packages
|
||||
, ragel
|
||||
, yasm
|
||||
, zlib
|
||||
, cudaSupport ? config.cudaSupport
|
||||
, cudaPackages ? {}
|
||||
, llvmPackages_12
|
||||
, pythonSupport ? false
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
fetchFromGitHub,
|
||||
cmake,
|
||||
cctools,
|
||||
libiconv,
|
||||
llvmPackages,
|
||||
ninja,
|
||||
openssl,
|
||||
python3Packages,
|
||||
ragel,
|
||||
yasm,
|
||||
zlib,
|
||||
cudaSupport ? config.cudaSupport,
|
||||
cudaPackages ? { },
|
||||
llvmPackages_12,
|
||||
pythonSupport ? false,
|
||||
}:
|
||||
let
|
||||
inherit (llvmPackages) stdenv;
|
||||
@ -22,13 +23,13 @@ in
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "catboost";
|
||||
version = "1.2.5";
|
||||
version = "1.2.7";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "catboost";
|
||||
repo = "catboost";
|
||||
rev = "refs/tags/v${finalAttrs.version}";
|
||||
hash = "sha256-2dfCCCa0LheytkLRbYuBd25M320f1kbhBWKIVjslor0=";
|
||||
hash = "sha256-I3geFdVQ1Pm61eRXi+ueaxel3QRb8EJV9f4zV2Q7kk4=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -50,33 +51,50 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
done
|
||||
'';
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
outputs = [
|
||||
"out"
|
||||
"dev"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
llvmPackages.bintools
|
||||
ninja
|
||||
(python3Packages.python.withPackages (ps: with ps; [ six ]))
|
||||
ragel
|
||||
yasm
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
cctools
|
||||
] ++ lib.optionals cudaSupport (with cudaPackages; [
|
||||
cuda_nvcc
|
||||
]);
|
||||
nativeBuildInputs =
|
||||
[
|
||||
cmake
|
||||
llvmPackages.bintools
|
||||
ninja
|
||||
(python3Packages.python.withPackages (ps: with ps; [ six ]))
|
||||
ragel
|
||||
yasm
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
cctools
|
||||
]
|
||||
++ lib.optionals cudaSupport (
|
||||
with cudaPackages;
|
||||
[
|
||||
cuda_nvcc
|
||||
]
|
||||
);
|
||||
|
||||
buildInputs = [
|
||||
openssl
|
||||
zlib
|
||||
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
libiconv
|
||||
] ++ lib.optionals cudaSupport (with cudaPackages; [
|
||||
cuda_cudart
|
||||
cuda_cccl
|
||||
libcublas
|
||||
]);
|
||||
buildInputs =
|
||||
[
|
||||
openssl
|
||||
zlib
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
libiconv
|
||||
]
|
||||
++ lib.optionals cudaSupport (
|
||||
with cudaPackages;
|
||||
[
|
||||
cuda_cudart
|
||||
cuda_cccl
|
||||
libcublas
|
||||
]
|
||||
);
|
||||
|
||||
env = {
|
||||
PROGRAM_VERSION = finalAttrs.version;
|
||||
|
||||
# catboost requires clang 14+ for build, but does clang 12 for cuda build.
|
||||
# after bumping the default version of llvm, check for compatibility with the cuda backend and pin it.
|
||||
# see https://catboost.ai/en/docs/installation/build-environment-setup-for-cmake#compilers,-linkers-and-related-tools
|
||||
@ -112,10 +130,16 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
library, used for ranking, classification, regression and other machine
|
||||
learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.
|
||||
'';
|
||||
changelog = "https://github.com/catboost/catboost/releases/tag/v${finalAttrs.version}";
|
||||
license = licenses.asl20;
|
||||
platforms = platforms.unix;
|
||||
homepage = "https://catboost.ai";
|
||||
maintainers = with maintainers; [ PlushBeaver natsukium ];
|
||||
maintainers = with maintainers; [
|
||||
PlushBeaver
|
||||
natsukium
|
||||
];
|
||||
mainProgram = "catboost";
|
||||
# /nix/store/hzxiynjmmj35fpy3jla7vcqwmzj9i449-Libsystem-1238.60.2/include/sys/_types/_mbstate_t.h:31:9: error: unknown type name '__darwin_mbstate_t'
|
||||
broken = stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isx86_64;
|
||||
};
|
||||
})
|
@ -1,16 +1,16 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index ed6c53b220..5c6fb8f157 100644
|
||||
index 24ffd1225a..700adcc246 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -29,7 +29,6 @@ include(cmake/global_flags.cmake)
|
||||
@@ -39,7 +39,6 @@ include(cmake/global_flags.cmake)
|
||||
include(cmake/global_vars.cmake)
|
||||
include(cmake/archive.cmake)
|
||||
include(cmake/common.cmake)
|
||||
-include(cmake/conan.cmake)
|
||||
-include(cmake/conan1_deprecated.cmake)
|
||||
include(cmake/cuda.cmake)
|
||||
include(cmake/cython.cmake)
|
||||
include(cmake/fbs.cmake)
|
||||
@@ -38,21 +37,6 @@ include(cmake/recursive_library.cmake)
|
||||
@@ -48,21 +47,6 @@ include(cmake/recursive_library.cmake)
|
||||
include(cmake/shared_libs.cmake)
|
||||
include(cmake/swig.cmake)
|
||||
|
||||
@ -24,11 +24,16 @@ index ed6c53b220..5c6fb8f157 100644
|
||||
- BUILD missing
|
||||
- REMOTE conancenter
|
||||
- SETTINGS ${settings}
|
||||
- ENV "CONAN_CMAKE_GENERATOR=${CMAKE_GENERATOR}"
|
||||
- CONF "tools.cmake.cmaketoolchain:generator=${CMAKE_GENERATOR}"
|
||||
- ENV "CONAN_CMAKE_GENERATOR=${CMAKE_GENERATOR}"
|
||||
- CONF "tools.cmake.cmaketoolchain:generator=${CMAKE_GENERATOR}"
|
||||
- )
|
||||
-endif()
|
||||
-
|
||||
|
||||
if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA)
|
||||
include(CMakeLists.linux-x86_64.txt)
|
||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND HAVE_CUDA)
|
||||
@@ -93,4 +77,3 @@ elseif (ANDROID AND CMAKE_ANDROID_ARCH STREQUAL "x86")
|
||||
elseif (ANDROID AND CMAKE_ANDROID_ARCH STREQUAL "x86_64")
|
||||
include(CMakeLists.android-x86_64.txt)
|
||||
endif()
|
||||
-
|
@ -17,6 +17,7 @@
|
||||
testers,
|
||||
wrapGAppsHook4,
|
||||
xvfb-run,
|
||||
versionCheckHook,
|
||||
}:
|
||||
|
||||
let
|
||||
@ -26,21 +27,16 @@ let
|
||||
|
||||
self = buildRustPackage' {
|
||||
pname = "czkawka";
|
||||
version = "7.0.0";
|
||||
version = "8.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qarmin";
|
||||
repo = "czkawka";
|
||||
rev = self.version;
|
||||
hash = "sha256-SOWtLmehh1F8SoDQ+9d7Fyosgzya5ZztCv8IcJZ4J94=";
|
||||
rev = "refs/tags/${self.version}";
|
||||
hash = "sha256-Uxko2TRIjqQvd7n9C+P7oMUrm3YY5j7TVzvijEjDwOM=";
|
||||
};
|
||||
|
||||
cargoPatches = [
|
||||
# Updates time and time-macros from Cargo.lock
|
||||
./0000-time.diff
|
||||
];
|
||||
|
||||
cargoHash = "sha256-cQv8C0P3xizsvnJODkTMJQA98P4nYSCHFT75isJE6es=";
|
||||
cargoHash = "sha256-DR2JU+QcGWliNoRMjSjJns7FsicpNAX5gTariFuQ/dw=";
|
||||
|
||||
nativeBuildInputs = [
|
||||
gobject-introspection
|
||||
@ -85,6 +81,13 @@ let
|
||||
install -Dm444 -t $out/share/metainfo data/com.github.qarmin.czkawka.metainfo.xml
|
||||
'';
|
||||
|
||||
nativeInstallCheckInputs = [
|
||||
versionCheckHook
|
||||
];
|
||||
versionCheckProgram = "${placeholder "out"}/bin/czkawka_cli";
|
||||
versionCheckProgramArg = [ "--version" ];
|
||||
doInstallCheck = true;
|
||||
|
||||
passthru = {
|
||||
tests.version = testers.testVersion {
|
||||
package = self;
|
||||
|
@ -6,16 +6,17 @@
|
||||
, nix
|
||||
, nixos-install
|
||||
, coreutils
|
||||
, testers
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "disko";
|
||||
version = "1.8.0";
|
||||
version = "1.8.2";
|
||||
src = fetchFromGitHub {
|
||||
owner = "nix-community";
|
||||
repo = "disko";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-5zShvCy9S4tuISFjNSjb+TWpPtORqPbRZ0XwbLbPLho=";
|
||||
hash = "sha256-O0QVhsj9I/hmcIqJ4qCqFyzvjYL+dtzJP0C5MFd8O/Y=";
|
||||
};
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildInputs = [ bash ];
|
||||
@ -27,7 +28,9 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
for i in disko disko-install; do
|
||||
sed -e "s|libexec_dir=\".*\"|libexec_dir=\"$out/share/disko\"|" "$i" > "$out/bin/$i"
|
||||
chmod 755 "$out/bin/$i"
|
||||
wrapProgram "$out/bin/$i" --prefix PATH : ${lib.makeBinPath [ nix coreutils nixos-install ]}
|
||||
wrapProgram "$out/bin/$i" \
|
||||
--set DISKO_VERSION "${finalAttrs.version}" \
|
||||
--prefix PATH : ${lib.makeBinPath [ nix coreutils nixos-install ]}
|
||||
done
|
||||
runHook postInstall
|
||||
'';
|
||||
@ -38,12 +41,15 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
$out/bin/disko-install --help
|
||||
runHook postInstallCheck
|
||||
'';
|
||||
|
||||
passthru.tests.version = testers.testVersion { package = finalAttrs.finalPackage; };
|
||||
|
||||
meta = {
|
||||
homepage = "https://github.com/nix-community/disko";
|
||||
description = "Declarative disk partitioning and formatting using nix";
|
||||
license = lib.licenses.mit;
|
||||
mainProgram = "disko";
|
||||
maintainers = with lib.maintainers; [ mic92 lassulus ];
|
||||
maintainers = with lib.maintainers; [ mic92 lassulus iFreilicht ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
})
|
||||
|
52
pkgs/by-name/ha/harbor-cli/package.nix
Normal file
52
pkgs/by-name/ha/harbor-cli/package.nix
Normal 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";
|
||||
};
|
||||
}
|
31
pkgs/by-name/li/libphidget22/package.nix
Normal file
31
pkgs/by-name/li/libphidget22/package.nix
Normal 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;
|
||||
};
|
||||
}
|
35
pkgs/by-name/li/libphidget22extra/package.nix
Normal file
35
pkgs/by-name/li/libphidget22extra/package.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -15,13 +15,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "memorado";
|
||||
version = "0.3";
|
||||
version = "0.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "wbernard";
|
||||
repo = "Memorado";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-bArcYUHSfpjYsySGZco4fmb6bKRFtG6efhzNSqUROX0=";
|
||||
hash = "sha256-yWu2+VAa5FkpLs/KLI0lcNzFLGN/kiq6frtW8SHN+W4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -8,16 +8,16 @@
|
||||
|
||||
buildNpmPackage rec {
|
||||
pname = "redocly";
|
||||
version = "1.18.1";
|
||||
version = "1.25.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Redocly";
|
||||
repo = "redocly-cli";
|
||||
rev = "@redocly/cli@${version}";
|
||||
hash = "sha256-Y09tGm3Sje8gd+6tUyBTCt7HjL2CQ/vo/ExLDnywvcQ=";
|
||||
hash = "sha256-pVSmrORa6KcAwllYepwra8QpnlfFoB9+noevLSmoWzY=";
|
||||
};
|
||||
|
||||
npmDepsHash = "sha256-WzMFKMW/YyAH3ZoOeIcXIum15cJmPGp96xSYb9QCaWI=";
|
||||
npmDepsHash = "sha256-nFRKC3xM+vq9SDeIelUqE/ZSSCSke0G0Qm629/s6WO8=";
|
||||
|
||||
npmBuildScript = "prepare";
|
||||
|
||||
|
126
pkgs/by-name/vp/vpp/package.nix
Normal file
126
pkgs/by-name/vp/vpp/package.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -6,12 +6,12 @@
|
||||
gitUpdater,
|
||||
nixosTests,
|
||||
cmake,
|
||||
content-hub,
|
||||
exiv2,
|
||||
gettext,
|
||||
gst_all_1,
|
||||
libusermetrics,
|
||||
lomiri-action-api,
|
||||
lomiri-content-hub,
|
||||
lomiri-ui-toolkit,
|
||||
lomiri-thumbnailer,
|
||||
pkg-config,
|
||||
@ -145,9 +145,9 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
qzxing
|
||||
|
||||
# QML
|
||||
content-hub
|
||||
libusermetrics
|
||||
lomiri-action-api
|
||||
lomiri-content-hub
|
||||
lomiri-ui-toolkit
|
||||
lomiri-thumbnailer
|
||||
qtpositioning
|
||||
@ -192,7 +192,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
export QML2_IMPORT_PATH=${
|
||||
listToQtVar qtbase.qtQmlPrefix [
|
||||
lomiri-ui-toolkit
|
||||
content-hub
|
||||
lomiri-content-hub
|
||||
lomiri-thumbnailer
|
||||
]
|
||||
}
|
||||
@ -203,7 +203,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
ln -s $out/share/lomiri-camera-app/assets/lomiri-camera-app-splash.svg $out/share/lomiri-app-launch/splash/lomiri-camera-app.svg
|
||||
ln -s $out/share/lomiri-camera-app/assets/lomiri-barcode-reader-app-splash.svg $out/share/lomiri-app-launch/splash/lomiri-barcode-reader-app.svg
|
||||
|
||||
install -Dm644 ../camera-contenthub.json $out/share/content-hub/peers/lomiri-camera-app
|
||||
install -Dm644 ../camera-contenthub.json $out/share/lomiri-content-hub/peers/lomiri-camera-app
|
||||
'';
|
||||
|
||||
dontWrapGApps = true;
|
||||
|
@ -6,10 +6,10 @@
|
||||
gitUpdater,
|
||||
nixosTests,
|
||||
cmake,
|
||||
content-hub,
|
||||
geonames,
|
||||
gettext,
|
||||
libusermetrics,
|
||||
lomiri-content-hub,
|
||||
lomiri-sounds,
|
||||
lomiri-ui-toolkit,
|
||||
makeWrapper,
|
||||
@ -124,8 +124,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
qtbase
|
||||
|
||||
# QML
|
||||
content-hub
|
||||
libusermetrics
|
||||
lomiri-content-hub
|
||||
lomiri-ui-toolkit
|
||||
qtdeclarative
|
||||
qtmultimedia
|
||||
@ -172,7 +172,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
export QML2_IMPORT_PATH=${
|
||||
listToQtVar qtbase.qtQmlPrefix (
|
||||
[
|
||||
content-hub
|
||||
lomiri-content-hub
|
||||
lomiri-ui-toolkit
|
||||
qtmultimedia
|
||||
u1db-qt
|
||||
|
@ -7,9 +7,9 @@
|
||||
gitUpdater,
|
||||
nixosTests,
|
||||
cmake,
|
||||
content-hub,
|
||||
gettext,
|
||||
libreoffice-unwrapped,
|
||||
lomiri-content-hub,
|
||||
lomiri-ui-toolkit,
|
||||
pkg-config,
|
||||
poppler,
|
||||
@ -21,61 +21,16 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lomiri-docviewer-app";
|
||||
version = "3.0.4";
|
||||
version = "3.1.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/apps/lomiri-docviewer-app";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-xUBE+eSAfG2yMlE/DI+6JHQx+3HiNwtSTv/P4YOAE7Y=";
|
||||
hash = "sha256-zesBZmaMiMJwHtj3SoaNeHPiM9VNGEa4nTIiG8nskqI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove when version > 3.0.4
|
||||
(fetchpatch {
|
||||
name = "0001-lomiri-docviewer-app-Set-gettext-domain.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/8dc2c911817c45451ff341e4ae4b841bcc134945.patch";
|
||||
hash = "sha256-vP6MYl7qhJzkgtnVelMMIbc0ZkHxC1s3abUXJ2zVi4w=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0002-lomiri-docviewer-app-Install-splash-file.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/ef20bbdd5e80040bf11273a5fc2964400086fdc9.patch";
|
||||
hash = "sha256-ylPFn53PJRyyzhN1SxtmNFMFeDsV9UxyQhAqULA5PJM=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/72 merged & in release
|
||||
(fetchpatch {
|
||||
name = "1001-lomiri-docviewer-app-Stop-using-qt5_use_modules.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/120c81dd71356f2e06ef5c44d114b665236a7382.patch";
|
||||
hash = "sha256-4VCw90qYnQ/o67ndp9o8h+wUl2IUpmVGb9xyY55AMIQ=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "1002-lomiri-docviewer-app-Move-Qt-find_package-to-top-level.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/43ee96a3a33b7a8f04e95f434982bcc60ba4b257.patch";
|
||||
hash = "sha256-3LggdNo4Yak4SVAD/4/mMCl8PjZy1dIx9i5hKHM5fJU=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/73 merged & in release
|
||||
(fetchpatch {
|
||||
name = "1011-lomiri-docviewer-app-Call-i18n-bindtextdomain.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/67599a841917304f76ffa1167a217718542a8b46.patch";
|
||||
hash = "sha256-nbi3qX14kWtFcXrxAD41IeybDIRTNfUdRgSP1vDI/Hs=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/74 merged & in release
|
||||
(fetchpatch {
|
||||
name = "1021-lomiri-docviewer-app-Use-GNUInstallDirs-more-better.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/40a860a118077c05692002db694be77ea62dc5b3.patch";
|
||||
hash = "sha256-/zhpIdqZ7WsU4tx4/AZs5w8kEopjH2boiHdHaJk5RXk=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/75 merged & in release
|
||||
(fetchpatch {
|
||||
name = "1031-lomiri-docviewer-app-Use-BUILD_TESTING.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/6f1eb739a3e0bf0ba847f94f8ea8411e0a385c2d.patch";
|
||||
hash = "sha256-yVuYG+1JGo/I4TVRZ3UQeO/TJ8GiFO5BJ9Bs7glK7hg=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/76 merged & in release
|
||||
# fetchpatch2 because there's a file rename
|
||||
(fetchpatch2 {
|
||||
@ -84,11 +39,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
hash = "sha256-KdHyKXM0hMMIFkuDn5JZJOEuitWAXT2QQOuR+1AolP0=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/77 merged & in release
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/merge_requests/81 merged & in release
|
||||
(fetchpatch {
|
||||
name = "1051-lomiri-docviewer-app-Install-content-hub-lomiri-url-dispatcher-files.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/98f5ab9d51ba05e8c3ed1991c0b67d3922b5ba90.patch";
|
||||
hash = "sha256-JA26ga1CNOdbis87lSzqbUbs94Oc1vlxraXZxx3dsu8=";
|
||||
name = "1051-lomiri-docviewer-app-XDGify-icon.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-docviewer-app/-/commit/a319e648ba15a7868d9ceb3a77ea15ad196e515b.patch";
|
||||
hash = "sha256-JMSnN8EyWPHhqHzaJxy3JIhNaOvPLYkVDnNCrPGbO4E=";
|
||||
})
|
||||
];
|
||||
|
||||
@ -98,7 +53,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
# We don't want absolute paths in desktop files
|
||||
substituteInPlace data/CMakeLists.txt \
|
||||
--replace-fail 'ICON "''${DATA_DIR}/''${ICON_FILE}"' 'ICON lomiri-docviewer-app' \
|
||||
--replace-fail 'SPLASH "''${DATA_DIR}/''${SPLASH_FILE}"' 'SPLASH "lomiri-app-launch/splash/lomiri-docviewer-app.svg"'
|
||||
'';
|
||||
|
||||
@ -118,7 +72,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
qtdeclarative
|
||||
|
||||
# QML
|
||||
content-hub
|
||||
lomiri-content-hub
|
||||
lomiri-ui-toolkit
|
||||
qtsystems
|
||||
];
|
||||
@ -133,9 +87,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
doCheck = false;
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/{icons/hicolor/scalable/apps,lomiri-app-launch/splash}
|
||||
mkdir -p $out/share/lomiri-app-launch/splash
|
||||
|
||||
ln -s $out/share/{lomiri-docviewer-app/docviewer-app.svg,icons/hicolor/scalable/apps/lomiri-docviewer-app.svg}
|
||||
ln -s $out/share/{lomiri-docviewer-app/docviewer-app-splash.svg,lomiri-app-launch/splash/lomiri-docviewer-app.svg}
|
||||
'';
|
||||
|
||||
|
@ -2,13 +2,12 @@
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitLab,
|
||||
fetchpatch,
|
||||
gitUpdater,
|
||||
nixosTests,
|
||||
biometryd,
|
||||
cmake,
|
||||
content-hub,
|
||||
gettext,
|
||||
lomiri-content-hub,
|
||||
lomiri-thumbnailer,
|
||||
lomiri-ui-extras,
|
||||
lomiri-ui-toolkit,
|
||||
@ -22,65 +21,22 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lomiri-filemanager-app";
|
||||
version = "1.0.4";
|
||||
version = "1.1.2";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/apps/lomiri-filemanager-app";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-vjGCTfXoqul1S7KUJXG6JwgZOc2etXWsdKbyQ/V3abA=";
|
||||
hash = "sha256-XA1Gdb0Kpc3BEifmgHhQ38moKkCkYbhpr8wptnddZlk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# This sets the *wrong* domain, but at least it sets *some* domain.
|
||||
# Remove when version > 1.0.4
|
||||
(fetchpatch {
|
||||
name = "0001-lomiri-filemanager-app-Set-a-gettext-domain.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/b310434d2c25a3b446d3d975f3755eb473a833e8.patch";
|
||||
hash = "sha256-gzFFzZCIxedMGW4fp6sonnHj/HmwqdqU5fvGhXUsSOI=";
|
||||
})
|
||||
|
||||
# Set the *correct* domain.
|
||||
# Remove when version > 1.0.4
|
||||
(fetchpatch {
|
||||
name = "0002-lomiri-filemanager-app-Fix-gettext-domain.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/2bb19aeef2baba8d12df1e4976becc08d7cf341d.patch";
|
||||
hash = "sha256-wreOMMvBjf316N/XJv3VfI5f5N/VFiEraeadtgRStjA=";
|
||||
})
|
||||
|
||||
# Bind domain to locale dir
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/merge_requests/112 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0003-lomiri-filemanager-app-Call-i18n.bindtextdomain.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/ac0ab681c52c691d464cf94707b013b39675ad2d.patch";
|
||||
hash = "sha256-mwpcHwMT2FcNC6KIZNuSWU/bA8XP8rEQKHn7t5m6npM=";
|
||||
})
|
||||
|
||||
# Stop using deprecated qt5_use_modules
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/merge_requests/113 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0004-lomiri-filemanager-app-Stop-using-qt5_use_modules.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/c2bfe927b16e660bf4730371b1e61e442e034780.patch";
|
||||
hash = "sha256-wPOZP2FOaacEGj4SMS5Q/TO+/L11Qz7NTux4kA86Bcs=";
|
||||
})
|
||||
|
||||
# Use pkg-config for smbclient flags
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/merge_requests/115 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0005-lomiri-filemanager-app-Get-smbclient-flags-via-pkg-config.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-filemanager-app/-/commit/aa791da5999719724e0b0592765e8fa2962305c6.patch";
|
||||
hash = "sha256-fFAYKBR28ym/n7fhP9O6VE2owarLxK8cN9QeExHFbtU=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# Use correct QML install path, don't pull in autopilot test code (we can't run that system)
|
||||
# Remove absolute paths from desktop file, https://github.com/NixOS/nixpkgs/issues/308324
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace-fail 'qmake -query QT_INSTALL_QML' 'echo ${placeholder "out"}/${qtbase.qtQmlPrefix}' \
|
||||
--replace-fail 'add_subdirectory(tests)' '#add_subdirectory(tests)' \
|
||||
--replace-fail 'ICON ''${CMAKE_INSTALL_PREFIX}/''${DATA_DIR}/''${ICON_FILE}' 'ICON lomiri-filemanager-app' \
|
||||
--replace-fail 'SPLASH ''${CMAKE_INSTALL_PREFIX}/''${DATA_DIR}/''${SPLASH_FILE}' 'SPLASH lomiri-app-launch/splash/lomiri-filemanager-app.svg'
|
||||
--replace-fail 'SPLASH ''${DATA_DIR}/''${SPLASH_FILE}' 'SPLASH lomiri-app-launch/splash/lomiri-filemanager-app.svg'
|
||||
|
||||
# In case this ever gets run, at least point it to a correct-ish path
|
||||
substituteInPlace tests/autopilot/CMakeLists.txt \
|
||||
@ -103,7 +59,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
# QML
|
||||
biometryd
|
||||
content-hub
|
||||
lomiri-content-hub
|
||||
lomiri-thumbnailer
|
||||
lomiri-ui-extras
|
||||
lomiri-ui-toolkit
|
||||
@ -117,14 +73,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# No tests we can actually run (just autopilot)
|
||||
doCheck = false;
|
||||
|
||||
postInstall = ''
|
||||
# Some misc files don't get installed to the correct paths for us
|
||||
mkdir -p $out/share/{content-hub/peers,icons/hicolor/scalable/apps,lomiri-app-launch/splash}
|
||||
ln -s $out/share/lomiri-filemanager-app/content-hub.json $out/share/content-hub/peers/lomiri-filemanager-app
|
||||
ln -s $out/share/lomiri-filemanager-app/filemanager.svg $out/share/icons/hicolor/scalable/apps/lomiri-filemanager-app.svg
|
||||
ln -s $out/share/lomiri-filemanager-app/splash.svg $out/share/lomiri-app-launch/splash/lomiri-filemanager-app.svg
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests.vm = nixosTests.lomiri-filemanager-app;
|
||||
updateScript = gitUpdater { rev-prefix = "v"; };
|
||||
|
@ -6,11 +6,11 @@
|
||||
gitUpdater,
|
||||
nixosTests,
|
||||
cmake,
|
||||
content-hub,
|
||||
exiv2,
|
||||
imagemagick,
|
||||
libglvnd,
|
||||
libmediainfo,
|
||||
lomiri-content-hub,
|
||||
lomiri-thumbnailer,
|
||||
lomiri-ui-extras,
|
||||
lomiri-ui-toolkit,
|
||||
@ -25,79 +25,30 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lomiri-gallery-app";
|
||||
version = "3.0.2";
|
||||
version = "3.1.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/apps/lomiri-gallery-app";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-nX9dTL4W0WxrwvszGd4AUIx4yUrghMM7ZMtGZLhZE/8=";
|
||||
hash = "sha256-uKGPic9XYUj0rLA05i6GjLM+n17MYgiFJMWnLXHKmIU=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove when version > 3.0.2
|
||||
(fetchpatch {
|
||||
name = "0001-lomiri-gallery-app-Newer-Evix2-compat.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/afa019b5e9071fbafaa9afb3b4effdae6e0774c5.patch";
|
||||
hash = "sha256-gBc++6EQ7t3VcBZTknkIpC0bJ/P15oI+G0YoQWtjnSY=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/147 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0002-lomiri-gallery-app-Stop-using-qt5_use_modules.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/0149c8d422c3e0889d7d523789dc65776a52c4f9.patch";
|
||||
hash = "sha256-jS81F7KNbAn5J8sDDXzhXARNYAu6dEKcbNHpHp/3MaI=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/148 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0003-lomiri-gallery-app-Fix-GNUInstallDirs.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/805121b362a9b486094e570053884b9ffa92b152.patch";
|
||||
hash = "sha256-fyAqKjZ0g7Sw7fWP1IW4SpZ+g0xi/pH6RJie1K3doP0=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/149 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0004-lomiri-gallery-app-Fix-icons.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/906966536363e80fe9906dee935d991955e8f842.patch";
|
||||
hash = "sha256-LJ+ILhokceXFUvP/G1BEBE/J1/XUAmNBxu551x0Q6nk=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/150 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0005-lomiri-gallery-app-Add-ENABLE_WERROR.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/fe32a3453b88cc3563e53ab124f669ce307e9688.patch";
|
||||
hash = "sha256-nFCtY3857D5e66rIME+lj6x4exEfx9D2XGEgyWhemgI=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/151 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0006-lomiri-gallery-app-BUILD_TESTING.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/51f3d5e643db5576b051da63c58ba3492c851e44.patch";
|
||||
hash = "sha256-5aGx2xfCDgq/khgkzGsvUOmTIYALjyfn6W7IR5dldr8=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0007-lomiri-gallery-app-Top-level-Qt5Test.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/c308c689c2841d71554ff6397a110d1a12016b70.patch";
|
||||
hash = "sha256-fXVOKjnj4EPeby9iEp3mZRqx9MLqdF8SUVEouCkyDRc=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/152 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0008-lomiri-gallery-app-bindtextdomain.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/90a79972741ee0c5dc734dba6c42afeb3ee6a699.patch";
|
||||
hash = "sha256-YAmH0he5/rZYKWFyPzUFAKJuHhUTxB3q8zbLL7Spz/c=";
|
||||
name = "0001-lomiri-gallery-app-bindtextdomain.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/592eff118cb5056886b73e6698f8941c7a16f2e0.patch";
|
||||
hash = "sha256-aR/Lnzvq4RuRLI75mMd4xTGMAcijm1adSAGVFZZ++No=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0002-lomiri-gallery-app-C++ify-i18n.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/commit/a7582abbe0acef4d49c77a4395bc22dbd1707ef3.patch";
|
||||
hash = "sha256-qzqTXqIYX+enoOwwV9d9fxe7tVYLuh1WkL8Ij/Qx0H0=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
# 0003-lomiri-gallery-app-Fix-icons.patch cannot be fully applied via patches due to binary diffs
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-gallery-app/-/merge_requests/149 merged & in release
|
||||
for size in 64x64 128x128 256x256; do
|
||||
rm desktop/icons/hicolor/"$size"/apps/gallery-app.png
|
||||
magick desktop/lomiri-gallery-app.svg -resize "$size" desktop/icons/hicolor/"$size"/apps/lomiri-gallery-app.png
|
||||
done
|
||||
|
||||
# Make splash path in desktop file relative
|
||||
substituteInPlace desktop/lomiri-gallery-app.desktop.in.in \
|
||||
--replace-fail 'X-Lomiri-Splash-Image=@SPLASH@' 'X-Lomiri-Splash-Image=lomiri-app-launch/splash/lomiri-gallery-app.svg'
|
||||
@ -130,7 +81,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
qtsvg
|
||||
|
||||
# QML
|
||||
content-hub
|
||||
lomiri-content-hub
|
||||
lomiri-thumbnailer
|
||||
lomiri-ui-extras
|
||||
lomiri-ui-toolkit
|
||||
@ -164,9 +115,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# Link splash to splash dir
|
||||
mkdir -p $out/share/lomiri-app-launch/splash
|
||||
ln -s $out/share/{lomiri-gallery-app/lomiri-gallery-app-splash.svg,lomiri-app-launch/splash/lomiri-gallery-app.svg}
|
||||
|
||||
# Old name
|
||||
mv $out/share/content-hub/peers/{,lomiri-}gallery-app
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
|
@ -9,7 +9,6 @@
|
||||
biometryd,
|
||||
cmake,
|
||||
cmake-extras,
|
||||
content-hub,
|
||||
dbus,
|
||||
deviceinfo,
|
||||
geonames,
|
||||
@ -24,6 +23,7 @@
|
||||
libqofono,
|
||||
libqtdbustest,
|
||||
libqtdbusmock,
|
||||
lomiri-content-hub,
|
||||
lomiri-indicator-network,
|
||||
lomiri-schemas,
|
||||
lomiri-settings-components,
|
||||
@ -122,8 +122,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
propagatedBuildInputs = [
|
||||
ayatana-indicator-datetime
|
||||
biometryd
|
||||
content-hub
|
||||
libqofono
|
||||
lomiri-content-hub
|
||||
lomiri-indicator-network
|
||||
lomiri-schemas
|
||||
lomiri-settings-components
|
||||
|
@ -1,7 +1,6 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, fetchpatch
|
||||
, gitUpdater
|
||||
, nixosTests
|
||||
, cmake
|
||||
@ -18,41 +17,15 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lomiri-terminal-app";
|
||||
version = "2.0.2";
|
||||
version = "2.0.3";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/apps/lomiri-terminal-app";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-mXbPmVcl5dL78QUp+w3o4im5ohUQCPTKWLSVqlNO0yo=";
|
||||
hash = "sha256-374ATxF+XhoALzYv6DEyj6IYgb82Ch4zcmqK0RXmlzI=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Stop usage of private qt5_use_modules function, seemingly unavailable in this package
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/merge_requests/103 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0001-lomiri-terminal-app-Stop-using-qt5_use_modules.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/commit/db210c74e771a427066aebdc3a99cab6e782d326.patch";
|
||||
hash = "sha256-op4+/eo8rBRMcW6MZ0rOEFReM7JBCck1B+AsgAPyqAI=";
|
||||
})
|
||||
|
||||
# Explicitly bind textdomain, don't rely on hacky workaround in LUITK
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/merge_requests/104 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0002-lomiri-terminal-app-Call-i18n.bindtextdomain.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/commit/7f9d419e29043f0d0922d2ac1dce5673e2723a01.patch";
|
||||
hash = "sha256-HfIvGVbIdTasoHAfHysnzFLufQQ4lskym5HTekH+mjk=";
|
||||
})
|
||||
|
||||
# Add more & correct existing usage of GNUInstallDirs variables
|
||||
# Remove when https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/merge_requests/105 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0003-lomiri-terminal-app-GNUInstallDirs-usage.patch";
|
||||
url = "https://gitlab.com/ubports/development/apps/lomiri-terminal-app/-/commit/fcde1f05bb442c74b1dff95917fd7594f26e97a7.patch";
|
||||
hash = "sha256-umxCMGNjyz0TVmwH0Gl0MpgjLQtkW9cHkUfpNJcoasE=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
|
||||
|
@ -5,10 +5,10 @@
|
||||
, gitUpdater
|
||||
, nixosTests
|
||||
, cmake
|
||||
, content-hub
|
||||
, gettext
|
||||
, libapparmor
|
||||
, lomiri-action-api
|
||||
, lomiri-content-hub
|
||||
, lomiri-ui-extras
|
||||
, lomiri-ui-toolkit
|
||||
, pkg-config
|
||||
@ -27,23 +27,16 @@ let
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "morph-browser";
|
||||
version = "1.1.0";
|
||||
version = "1.1.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/morph-browser";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-C5iXv8VS8Mm1ryxK7Vi5tVmiM01OSIFiTyH0vP9B/xA=";
|
||||
hash = "sha256-VxSADFTlaxQUDc81TzGkx54mjAUgY2L+suQC9zYGKo0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Remove when https://gitlab.com/ubports/development/core/morph-browser/-/merge_requests/575 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0001-morph-browser-tst_SessionUtilsTests-Set-permissions-on-temporary-xdg-runtime-directory.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/morph-browser/-/commit/e90206105b8b287fbd6e45ac37ca1cd259981928.patch";
|
||||
hash = "sha256-5htFn+OGVVBn3mJQaZcF5yt0mT+2QRlKyKFesEhklfA=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/core/morph-browser/-/merge_requests/576 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0002-morph-browser-Call-i18n-bindtextdomain-with-buildtime-determined-locale-path.patch";
|
||||
@ -84,8 +77,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
qtwebengine
|
||||
|
||||
# QML
|
||||
content-hub
|
||||
lomiri-action-api
|
||||
lomiri-content-hub
|
||||
lomiri-ui-extras
|
||||
lomiri-ui-toolkit
|
||||
qqc2-suru-style
|
||||
@ -132,7 +125,8 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
standalone = nixosTests.morph-browser;
|
||||
|
||||
# Lomiri-specific issues with the desktop file may break the entire session, make sure it still works
|
||||
lomiri = nixosTests.lomiri;
|
||||
lomiri-basics = nixosTests.lomiri.desktop-basics;
|
||||
lomiri-appinteractions = nixosTests.lomiri.desktop-appinteractions;
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -7,8 +7,8 @@
|
||||
gitUpdater,
|
||||
nixosTests,
|
||||
cmake,
|
||||
content-hub,
|
||||
intltool,
|
||||
lomiri-content-hub,
|
||||
lomiri-indicator-network,
|
||||
lomiri-push-qml,
|
||||
lomiri-thumbnailer,
|
||||
@ -84,7 +84,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
content-hub
|
||||
lomiri-content-hub
|
||||
lomiri-indicator-network
|
||||
lomiri-push-qml
|
||||
lomiri-thumbnailer
|
||||
@ -102,10 +102,10 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/{applications,content-hub/peers,icons/hicolor/scalable/apps,lomiri-app-launch/splash,lomiri-url-dispatcher/urls}
|
||||
mkdir -p $out/share/{applications,lomiri-content-hub/peers,icons/hicolor/scalable/apps,lomiri-app-launch/splash,lomiri-url-dispatcher/urls}
|
||||
|
||||
ln -s $out/share/teleports/teleports.desktop $out/share/applications/teleports.desktop
|
||||
ln -s $out/share/teleports/teleports.content-hub $out/share/content-hub/peers/teleports
|
||||
ln -s $out/share/teleports/teleports.content-hub $out/share/lomiri-content-hub/peers/teleports
|
||||
ln -s $out/share/teleports/assets/icon.svg $out/share/icons/hicolor/scalable/apps/teleports.svg
|
||||
ln -s $out/share/teleports/assets/splash.svg $out/share/lomiri-app-launch/splash/teleports.svg
|
||||
ln -s $out/share/teleports/teleports.url-dispatcher $out/share/lomiri-url-dispatcher/urls/teleports.url-dispatcher
|
||||
|
@ -56,7 +56,7 @@ let
|
||||
|
||||
#### Services
|
||||
biometryd = callPackage ./services/biometryd { };
|
||||
content-hub = callPackage ./services/content-hub { };
|
||||
lomiri-content-hub = callPackage ./services/lomiri-content-hub { };
|
||||
hfd-service = callPackage ./services/hfd-service { };
|
||||
history-service = callPackage ./services/history-service { };
|
||||
lomiri-download-manager = callPackage ./services/lomiri-download-manager { };
|
||||
@ -70,5 +70,6 @@ let
|
||||
in
|
||||
lib.makeScope libsForQt5.newScope packages
|
||||
// lib.optionalAttrs config.allowAliases {
|
||||
content-hub = lib.warn "`content-hub` was renamed to `lomiri-content-hub`." pkgs.lomiri.lomiri-content-hub; # Added on 2024-09-11
|
||||
lomiri-system-settings-security-privacy = lib.warn "`lomiri-system-settings-security-privacy` upstream was merged into `lomiri-system-settings`. Please use `pkgs.lomiri.lomiri-system-settings-unwrapped` if you need to directly access the plugins that belonged to this project." pkgs.lomiri.lomiri-system-settings-unwrapped; # Added on 2024-08-08
|
||||
}
|
||||
|
@ -1,25 +1,26 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, fetchpatch
|
||||
, gitUpdater
|
||||
, testers
|
||||
, cmake
|
||||
, dbus-test-runner
|
||||
, pkg-config
|
||||
, qtbase
|
||||
, qtdeclarative
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitLab,
|
||||
fetchpatch,
|
||||
gitUpdater,
|
||||
testers,
|
||||
cmake,
|
||||
dbus-test-runner,
|
||||
pkg-config,
|
||||
qtbase,
|
||||
qtdeclarative,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "u1db-qt";
|
||||
version = "0.1.7";
|
||||
version = "0.1.8";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/u1db-qt";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-qlWkxpiVEUbpsKhzR0s7SKaEFCLM2RH+v9XmJ3qLoGY=";
|
||||
hash = "sha256-KmAEgnWHY0cDKJqRhZpY0fzVjNlEU67e559XEbAPpJI=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
@ -29,12 +30,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Fixes some issues with the pkg-config file
|
||||
# Remove when https://gitlab.com/ubports/development/core/u1db-qt/-/merge_requests/7 merged & in release
|
||||
# Remove when https://gitlab.com/ubports/development/core/u1db-qt/-/merge_requests/8 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0001-u1db-qt-Fix-pkg-config-files-includedir-variable.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/u1db-qt/-/commit/ddafbfadfad6dfc508a866835354a4701dda1fe1.patch";
|
||||
hash = "sha256-entwjU9TiHuSuht7Cdl0k1v0cP7350a04/FXgTVhGmk=";
|
||||
name = "0001-u1db-qt-Use-BUILD_TESTING.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/u1db-qt/-/commit/df5d526df26c056d54bfa532a3a3fa025d655690.patch";
|
||||
hash = "sha256-CILMcvqXrTbEL/N2Tic4IsKLnTtmFJ2QbV3r4PsQ5t0=";
|
||||
})
|
||||
];
|
||||
|
||||
@ -48,10 +48,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
# For our automatic pkg-config output patcher to work, prefix must be used here
|
||||
substituteInPlace libu1db-qt.pc.in \
|
||||
--replace-fail 'libdir=''${exec_prefix}/lib' 'libdir=''${prefix}/lib'
|
||||
'' + lib.optionalString (!finalAttrs.finalPackage.doCheck) ''
|
||||
# Other locations add dependencies to custom check target from tests
|
||||
substituteInPlace CMakeLists.txt \
|
||||
--replace-fail 'add_subdirectory(tests)' 'add_custom_target(check COMMAND "echo check dummy")'
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
@ -67,9 +63,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
qtdeclarative
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
dbus-test-runner
|
||||
];
|
||||
nativeCheckInputs = [ dbus-test-runner ];
|
||||
|
||||
cmakeFlags = [
|
||||
# Needs qdoc, see https://github.com/NixOS/nixpkgs/pull/245379
|
||||
@ -104,14 +98,12 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
updateScript = gitUpdater { };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Qt5 binding and QtQuick2 plugin for U1DB";
|
||||
homepage = "https://gitlab.com/ubports/development/core/u1db-qt";
|
||||
license = licenses.lgpl3Only;
|
||||
maintainers = teams.lomiri.members;
|
||||
platforms = platforms.linux;
|
||||
pkgConfigModules = [
|
||||
"libu1db-qt5"
|
||||
];
|
||||
license = lib.licenses.lgpl3Only;
|
||||
maintainers = lib.teams.lomiri.members;
|
||||
platforms = lib.platforms.linux;
|
||||
pkgConfigModules = [ "libu1db-qt5" ];
|
||||
};
|
||||
})
|
||||
|
@ -1,29 +1,28 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, gitUpdater
|
||||
, qmake
|
||||
, qtdeclarative
|
||||
, qtquickcontrols2
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitLab,
|
||||
gitUpdater,
|
||||
qmake,
|
||||
qtdeclarative,
|
||||
qtquickcontrols2,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "qqc2-suru-style";
|
||||
version = "0.20230206";
|
||||
version = "0.20230630";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/qqc2-suru-style";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-ZLPuXnhlR1IDhGnprcdWHLnOeS6ZzVkFhQML0iKMjO8=";
|
||||
rev = "refs/tags/${finalAttrs.version}";
|
||||
hash = "sha256-kAgHsNWwUWxHg26bTMmlq8m9DR4+ob4pl/oUX7516hM=";
|
||||
};
|
||||
|
||||
# QMake can't find Qt modules from buildInputs
|
||||
strictDeps = false;
|
||||
|
||||
nativeBuildInputs = [
|
||||
qmake
|
||||
];
|
||||
nativeBuildInputs = [ qmake ];
|
||||
|
||||
buildInputs = [
|
||||
qtdeclarative
|
||||
@ -34,12 +33,16 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
passthru.updateScript = gitUpdater { };
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Suru Style for QtQuick Controls 2";
|
||||
homepage = "https://gitlab.com/ubports/development/core/qqc2-suru-style";
|
||||
changelog = "https://gitlab.com/ubports/development/core/qqc2-suru-style/-/blob/${finalAttrs.version}/ChangeLog";
|
||||
license = with licenses; [ gpl2Plus lgpl3Only cc-by-sa-30 ];
|
||||
maintainers = teams.lomiri.members;
|
||||
platforms = platforms.unix;
|
||||
license = with lib.licenses; [
|
||||
gpl2Plus
|
||||
lgpl3Only
|
||||
cc-by-sa-30
|
||||
];
|
||||
maintainers = lib.teams.lomiri.members;
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
})
|
||||
|
@ -1,8 +1,6 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, fetchpatch
|
||||
, fetchpatch2
|
||||
, gitUpdater
|
||||
, testers
|
||||
, cmake
|
||||
@ -30,14 +28,14 @@
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "content-hub";
|
||||
version = "1.1.1";
|
||||
pname = "lomiri-content-hub";
|
||||
version = "2.0.0";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/content-hub";
|
||||
repo = "development/core/lomiri-content-hub";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-sQeyJV+Wc6PHKGIefl/dfU06XqTdICsn+Xamjx3puiI=";
|
||||
hash = "sha256-eA5oCoAZB7fWyWm0Sy6wXh0EW+h76bdfJ2dotr7gUC0=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
@ -46,44 +44,6 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
"examples"
|
||||
];
|
||||
|
||||
patches = [
|
||||
# Remove when version > 1.1.1
|
||||
(fetchpatch {
|
||||
name = "0001-content-hub-Migrate-to-GetConnectionCredentials.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/9ec9df32f77383eec7994d8e3e6961531bc8464d.patch";
|
||||
hash = "sha256-14dZosMTMa1FDGEMuil0r1Hz6vn+L9XC83NMAqC7Ol8=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/core/content-hub/-/merge_requests/34 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0002-content-hub-import-Lomiri-Content-CMakeLists-Drop-qt-argument-to-qmlplugindump.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/63a4baf1469de31c4fd50c69ed85d061f5e8e80a.patch";
|
||||
hash = "sha256-T+6T9lXne6AhDFv9d7L8JNwdl8f0wjDmvSoNVPkHza4=";
|
||||
})
|
||||
|
||||
# Remove when version > 1.1.1
|
||||
# fetchpatch2 due to renames, https://github.com/NixOS/nixpkgs/issues/32084
|
||||
(fetchpatch2 {
|
||||
name = "0003-content-hub-Add-more-better-GNUInstallDirs-variables-usage.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/3c5ca4a8ec125e003aca78c14521b70140856c25.patch";
|
||||
hash = "sha256-kYN0eLwMyM/9yK+zboyEsoPKZMZ4SCXodVYsvkQr2F8=";
|
||||
})
|
||||
|
||||
# Remove when version > 1.1.1
|
||||
(fetchpatch {
|
||||
name = "0004-content-hub-Fix-generation-of-transfer_files-and-moc_test_harness.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/68899c75e77e1f34176b8a550d52794413e5070f.patch";
|
||||
hash = "sha256-HAxePnzY/cL2c+o+Aw2N1pdr8rsbHGmRsH2EQkrBcHg=";
|
||||
})
|
||||
|
||||
# Remove when https://gitlab.com/ubports/development/core/lomiri-content-hub/-/merge_requests/40 merged & in release
|
||||
(fetchpatch {
|
||||
name = "0006-content-hub-Fix-AppArmor-less-transfer.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/content-hub/-/commit/b58e5c8babf00ad7c402555c96254ce0165adb9e.patch";
|
||||
hash = "sha256-a7x/0NiUBmmFlq96jkHyLCL0f5NIFh5JR/H+FQ/2GqI=";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace import/*/Content/CMakeLists.txt \
|
||||
--replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
|
||||
@ -163,7 +123,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
moveToOutput share/applications/$exampleExe.desktop $examples
|
||||
done
|
||||
moveToOutput share/icons $examples
|
||||
moveToOutput share/content-hub/peers $examples
|
||||
moveToOutput share/lomiri-content-hub/peers $examples
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
@ -178,20 +138,20 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Content sharing/picking service";
|
||||
description = "Content sharing/picking service for the Lomiri desktop";
|
||||
longDescription = ''
|
||||
content-hub is a mediation service to let applications share content between them,
|
||||
lomiri-content-hub is a mediation service to let applications share content between them,
|
||||
even if they are not running at the same time.
|
||||
'';
|
||||
homepage = "https://gitlab.com/ubports/development/core/content-hub";
|
||||
changelog = "https://gitlab.com/ubports/development/core/content-hub/-/blob/${finalAttrs.version}/ChangeLog";
|
||||
homepage = "https://gitlab.com/ubports/development/core/lomiri-content-hub";
|
||||
changelog = "https://gitlab.com/ubports/development/core/lomiri-content-hub/-/blob/${finalAttrs.version}/ChangeLog";
|
||||
license = with lib.licenses; [ gpl3Only lgpl3Only ];
|
||||
mainProgram = "content-hub-service";
|
||||
mainProgram = "lomiri-content-hub-service";
|
||||
maintainers = lib.teams.lomiri.members;
|
||||
platforms = lib.platforms.linux;
|
||||
pkgConfigModules = [
|
||||
"libcontent-hub"
|
||||
"libcontent-hub-glib"
|
||||
"liblomiri-content-hub"
|
||||
"liblomiri-content-hub-glib"
|
||||
];
|
||||
};
|
||||
})
|
@ -1,39 +1,40 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, gitUpdater
|
||||
, testers
|
||||
, boost
|
||||
, cmake
|
||||
, cmake-extras
|
||||
, dbus
|
||||
, dbus-cpp
|
||||
, gdk-pixbuf
|
||||
, glib
|
||||
, gst_all_1
|
||||
, gtest
|
||||
, libapparmor
|
||||
, libexif
|
||||
, pkg-config
|
||||
, properties-cpp
|
||||
, qtbase
|
||||
, qtdeclarative
|
||||
, shared-mime-info
|
||||
, sqlite
|
||||
, taglib
|
||||
, udisks
|
||||
, wrapQtAppsHook
|
||||
{
|
||||
stdenv,
|
||||
lib,
|
||||
fetchFromGitLab,
|
||||
gitUpdater,
|
||||
testers,
|
||||
boost,
|
||||
cmake,
|
||||
cmake-extras,
|
||||
dbus,
|
||||
dbus-cpp,
|
||||
gdk-pixbuf,
|
||||
glib,
|
||||
gst_all_1,
|
||||
gtest,
|
||||
libapparmor,
|
||||
libexif,
|
||||
pkg-config,
|
||||
properties-cpp,
|
||||
qtbase,
|
||||
qtdeclarative,
|
||||
shared-mime-info,
|
||||
sqlite,
|
||||
taglib,
|
||||
udisks,
|
||||
wrapQtAppsHook,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mediascanner2";
|
||||
version = "0.116";
|
||||
version = "0.117";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/mediascanner2";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-aRNT3DSPxz/vf6gqipf5Qc5zyDGFMHWONevAslwOrCY=";
|
||||
hash = "sha256-e1vDPnIIfevXj9ODEEKJ2y4TiU0H+08aTf2vU+emdQk=";
|
||||
};
|
||||
|
||||
outputs = [
|
||||
@ -43,11 +44,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/qml/MediaScanner.*/CMakeLists.txt \
|
||||
--replace "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
|
||||
|
||||
# Lomiri desktop doesn't identify itself under Canonical's name anymore
|
||||
substituteInPlace src/daemon/scannerdaemon.cc \
|
||||
--replace 'Unity8' 'Lomiri'
|
||||
--replace-fail "\''${CMAKE_INSTALL_LIBDIR}/qt5/qml" "\''${CMAKE_INSTALL_PREFIX}/${qtbase.qtQmlPrefix}"
|
||||
'';
|
||||
|
||||
strictDeps = true;
|
||||
@ -59,35 +56,33 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
boost
|
||||
cmake-extras
|
||||
dbus
|
||||
dbus-cpp
|
||||
gdk-pixbuf
|
||||
glib
|
||||
libapparmor
|
||||
libexif
|
||||
properties-cpp
|
||||
qtbase
|
||||
qtdeclarative
|
||||
shared-mime-info
|
||||
sqlite
|
||||
taglib
|
||||
udisks
|
||||
] ++ (with gst_all_1; [
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
gst-plugins-good
|
||||
]);
|
||||
buildInputs =
|
||||
[
|
||||
boost
|
||||
cmake-extras
|
||||
dbus
|
||||
dbus-cpp
|
||||
gdk-pixbuf
|
||||
glib
|
||||
libapparmor
|
||||
libexif
|
||||
properties-cpp
|
||||
qtbase
|
||||
qtdeclarative
|
||||
shared-mime-info
|
||||
sqlite
|
||||
taglib
|
||||
udisks
|
||||
]
|
||||
++ (with gst_all_1; [
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
gst-plugins-good
|
||||
]);
|
||||
|
||||
checkInputs = [
|
||||
gtest
|
||||
];
|
||||
checkInputs = [ gtest ];
|
||||
|
||||
cmakeFlags = [
|
||||
"-DENABLE_TESTS=${lib.boolToString finalAttrs.finalPackage.doCheck}"
|
||||
];
|
||||
cmakeFlags = [ (lib.cmakeBool "ENABLE_TESTS" finalAttrs.finalPackage.doCheck) ];
|
||||
|
||||
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||
|
||||
@ -108,15 +103,13 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
updateScript = gitUpdater { };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
meta = {
|
||||
description = "Media scanner service & access library";
|
||||
homepage = "https://gitlab.com/ubports/development/core/mediascanner2";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = teams.lomiri.members;
|
||||
license = lib.licenses.gpl3Only;
|
||||
maintainers = lib.teams.lomiri.members;
|
||||
mainProgram = "mediascanner-service-2.0";
|
||||
platforms = platforms.linux;
|
||||
pkgConfigModules = [
|
||||
"mediascanner-2.0"
|
||||
];
|
||||
platforms = lib.platforms.linux;
|
||||
pkgConfigModules = [ "mediascanner-2.0" ];
|
||||
};
|
||||
})
|
||||
|
@ -1,7 +1,7 @@
|
||||
{ lib, stdenv, fetchFromGitHub, glfw, freetype, openssl, makeWrapper, upx, boehmgc, xorg, binaryen, darwin }:
|
||||
|
||||
let
|
||||
version = "0.4.4";
|
||||
version = "0.4.8";
|
||||
ptraceSubstitution = ''
|
||||
#include <sys/types.h>
|
||||
#include <sys/ptrace.h>
|
||||
@ -10,12 +10,12 @@ let
|
||||
# So we fix its rev to correspond to the V version.
|
||||
vc = stdenv.mkDerivation {
|
||||
pname = "v.c";
|
||||
version = "0.4.4";
|
||||
version = "0.4.8";
|
||||
src = fetchFromGitHub {
|
||||
owner = "vlang";
|
||||
repo = "vc";
|
||||
rev = "66eb8eae253d31fa5622e35a69580d9ad8efcccb";
|
||||
hash = "sha256-YGlzr0Qq7+NtrnbaFPBuclzjOZBOnTe3BOhsuwdsQ5c=";
|
||||
rev = "54beb1f416b404a06b894e6883a0e2368d80bc3e";
|
||||
hash = "sha256-hofganRnWPRCjjsItwF2BKam4dCqzMCrjgWSjZLSrlo=";
|
||||
};
|
||||
|
||||
# patch the ptrace reference for darwin
|
||||
@ -46,7 +46,7 @@ stdenv.mkDerivation {
|
||||
owner = "vlang";
|
||||
repo = "v";
|
||||
rev = version;
|
||||
hash = "sha256-Aqecw8K+igHx5R34lQiWtdNfeGn+umcjcS4w0vXgpLM=";
|
||||
hash = "sha256-V4f14TcuKW8unzlo6i/tE6MzSb3HAll478OU2LxiTPQ=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ glfw freetype openssl ]
|
||||
|
@ -6,17 +6,18 @@
|
||||
, gst_all_1
|
||||
, ipu6-camera-hal
|
||||
, libdrm
|
||||
, libva
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "icamerasrc-${ipu6-camera-hal.ipuVersion}";
|
||||
version = "unstable-2023-10-23";
|
||||
version = "unstable-2024-09-29";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "intel";
|
||||
repo = "icamerasrc";
|
||||
rev = "528a6f177732def4d5ebc17927220d8823bc8fdc";
|
||||
hash = "sha256-Ezcm5OpF/NKvJf5sFeJyvNc2Uq0166GukC9MuNUV2Fs=";
|
||||
rev = "refs/tags/20240926_1446";
|
||||
hash = "sha256-BpIZxkPmSVKqPntwBJjGmCaMSYFCEZHJa4soaMAJRWE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -34,8 +35,10 @@ stdenv.mkDerivation {
|
||||
buildInputs = [
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-bad
|
||||
ipu6-camera-hal
|
||||
libdrm
|
||||
libva
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
|
@ -11,6 +11,7 @@
|
||||
, ipu6-camera-bins
|
||||
, libtool
|
||||
, gst_all_1
|
||||
, libdrm
|
||||
|
||||
# Pick one of
|
||||
# - ipu6 (Tiger Lake)
|
||||
@ -27,13 +28,13 @@ let
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
pname = "${ipuVersion}-camera-hal";
|
||||
version = "unstable-2023-09-25";
|
||||
version = "unstable-2024-09-29";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "intel";
|
||||
repo = "ipu6-camera-hal";
|
||||
rev = "9fa05a90886d399ad3dda4c2ddc990642b3d20c9";
|
||||
hash = "sha256-yS1D7o6dsQ4FQkjfwcisOxcP7Majb+4uQ/iW5anMb5c=";
|
||||
rev = "f98f72b156563fe8373e4f8d017a9f609676bb33";
|
||||
hash = "sha256-zVcgKW7/GHYd1oMvsaI77cPyj3G68dL+OXBJDz5+Td4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -41,12 +42,16 @@ stdenv.mkDerivation {
|
||||
pkg-config
|
||||
];
|
||||
|
||||
PKG_CONFIG_PATH = "${lib.makeLibraryPath [ ipu6-camera-bins ]}/${ipuTarget}/pkgconfig";
|
||||
|
||||
cmakeFlags = [
|
||||
"-DIPU_VER=${ipuVersion}"
|
||||
"-DTARGET_SUFFIX=-${ipuVersion}"
|
||||
# missing libiacss
|
||||
"-DUSE_PG_LITE_PIPE=ON"
|
||||
"-DCMAKE_BUILD_TYPE=Release"
|
||||
"-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
|
||||
"-DCMAKE_INSTALL_SUB_PATH=${ipuTarget}"
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib"
|
||||
];
|
||||
|
||||
NIX_CFLAGS_COMPILE = [
|
||||
@ -61,21 +66,28 @@ stdenv.mkDerivation {
|
||||
libtool
|
||||
gst_all_1.gstreamer
|
||||
gst_all_1.gst-plugins-base
|
||||
libdrm
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace src/platformdata/PlatformData.h \
|
||||
--replace '/usr/share/' "${placeholder "out"}/share/"
|
||||
--replace '/usr/share/' "${placeholder "out"}/share/" \
|
||||
--replace '#define CAMERA_DEFAULT_CFG_PATH "/etc/camera/"' '#define CAMERA_DEFAULT_CFG_PATH "${placeholder "out"}/etc/camera/"'
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/include/${ipuTarget}/
|
||||
cp -r $src/include $out/include/${ipuTarget}/libcamhal
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
for lib in $out/lib/*.so; do
|
||||
patchelf --add-rpath "${lib.makeLibraryPath [ ipu6-camera-bins ]}/${ipuTarget}" $lib
|
||||
patchelf --add-rpath "${ipu6-camera-bins}/lib" $lib
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit ipuVersion;
|
||||
inherit ipuVersion ipuTarget;
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
|
@ -105,6 +105,10 @@ stdenv.mkDerivation {
|
||||
cp faiss/python/dist/*.whl "$dist/"
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
inherit cudaSupport cudaPackages pythonSupport;
|
||||
};
|
||||
|
||||
meta = {
|
||||
description = "Library for efficient similarity search and clustering of dense vectors by Facebook Research";
|
||||
mainProgram = "demo_ivfpq_indexing";
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "aiortm";
|
||||
version = "0.9.11";
|
||||
version = "0.9.12";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.12";
|
||||
@ -28,7 +28,7 @@ buildPythonPackage rec {
|
||||
owner = "MartinHjelmare";
|
||||
repo = "aiortm";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-uP+nQZA6ZdCAy3E4a1jcm+3X1Fe6n+7v/6unX423jfw=";
|
||||
hash = "sha256-PTg+/Iqjj5V5XJNDAJva/BvaOl6qyjeqrjxy0RLAvEc=";
|
||||
};
|
||||
|
||||
pythonRelaxDeps = [ "typer" ];
|
||||
|
@ -1,45 +1,46 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
msrestazure,
|
||||
azure-common,
|
||||
azure-mgmt-core,
|
||||
azure-mgmt-nspkg,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
isodate,
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
typing-extensions,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "azure-mgmt-billing";
|
||||
version = "6.0.0"; # pypi's 0.2.0 doesn't build ootb
|
||||
format = "setuptools";
|
||||
version = "7.0.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "d4f5c5a4188a456fe1eb32b6c45f55ca2069c74be41eb76921840b39f2f5c07f";
|
||||
extension = "zip";
|
||||
pname = "azure_mgmt_billing";
|
||||
inherit version;
|
||||
hash = "sha256-jgplxlEQtTpCk35b7WrgDvydYgaXLZa/1KdOgMhcLXs=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
msrestazure
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
azure-common
|
||||
azure-mgmt-core
|
||||
azure-mgmt-nspkg
|
||||
isodate
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
rm -rf azure_bdist_wheel.py
|
||||
substituteInPlace setup.cfg \
|
||||
--replace "azure-namespace-package = azure-mgmt-nspkg" ""
|
||||
'';
|
||||
|
||||
pythonNamespaces = [ "azure.mgmt" ];
|
||||
|
||||
# has no tests
|
||||
# Module has no tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "This is the Microsoft Azure Billing Client Library";
|
||||
homepage = "https://github.com/Azure/azure-sdk-for-python";
|
||||
homepage = "https://github.com/Azure/azure-sdk-for-python/tree/main/sdk/billing/azure-mgmt-billing";
|
||||
changelog = "https://github.com/Azure/azure-sdk-for-python/blob/azure-mgmt-billing_${version}/sdk/billing/azure-mgmt-billing/CHANGELOG.md";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ maxwilson ];
|
||||
};
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "azure-storage-file-share";
|
||||
version = "12.18.0";
|
||||
version = "12.19.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -20,7 +20,7 @@ buildPythonPackage rec {
|
||||
src = fetchPypi {
|
||||
pname = "azure_storage_file_share";
|
||||
inherit version;
|
||||
hash = "sha256-CoHa7l4TWYrM3jxzsa7Mxu39zsXpV79AFQwGIvuV3HY=";
|
||||
hash = "sha256-6npBdNxsUvUKyMMPIoFZ/MNnXR+Lp3G40O/LwxB0Ang=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
|
@ -3,15 +3,18 @@
|
||||
buildPythonPackage,
|
||||
catboost,
|
||||
python,
|
||||
|
||||
# build-system
|
||||
setuptools,
|
||||
|
||||
# dependencies
|
||||
graphviz,
|
||||
matplotlib,
|
||||
numpy,
|
||||
pandas,
|
||||
plotly,
|
||||
scipy,
|
||||
setuptools,
|
||||
six,
|
||||
wheel,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@ -21,16 +24,15 @@ buildPythonPackage rec {
|
||||
src
|
||||
meta
|
||||
;
|
||||
format = "pyproject";
|
||||
pyproject = true;
|
||||
|
||||
sourceRoot = "${src.name}/catboost/python-package";
|
||||
|
||||
nativeBuildInputs = [
|
||||
build-system = [
|
||||
setuptools
|
||||
wheel
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
graphviz
|
||||
matplotlib
|
||||
numpy
|
||||
|
@ -37,18 +37,18 @@ buildPythonPackage rec {
|
||||
version = "3.1.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "spec-first";
|
||||
repo = pname;
|
||||
repo = "connexion";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-rngQDU9kXw/Z+Al0SCVnWN8xnphueTtZ0+xPBR5MbEM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
asgiref
|
||||
httpx
|
||||
inflection
|
||||
@ -80,6 +80,10 @@ buildPythonPackage rec {
|
||||
pythonImportsCheck = [ "connexion" ];
|
||||
|
||||
disabledTests = [
|
||||
"test_build_example"
|
||||
"test_mock_resolver_no_example"
|
||||
# Tests require network access
|
||||
"test_remote_api"
|
||||
# AssertionError
|
||||
"test_headers"
|
||||
# waiter.acquire() deadlock
|
||||
@ -91,9 +95,10 @@ buildPythonPackage rec {
|
||||
|
||||
meta = with lib; {
|
||||
description = "Swagger/OpenAPI First framework on top of Flask";
|
||||
mainProgram = "connexion";
|
||||
homepage = "https://github.com/spec-first/connexion";
|
||||
changelog = "https://github.com/spec-first/connexion/releases/tag/${version}";
|
||||
license = licenses.asl20;
|
||||
maintainers = [ ];
|
||||
mainProgram = "connexion";
|
||||
};
|
||||
}
|
||||
|
@ -22,7 +22,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "debugpy";
|
||||
version = "1.8.6";
|
||||
version = "1.8.7";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -31,7 +31,7 @@ buildPythonPackage rec {
|
||||
owner = "microsoft";
|
||||
repo = "debugpy";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-kkFNIJ3QwojwgiRAOmBiWIg5desxOKTmo9YH1Qup6fI=";
|
||||
hash = "sha256-JFVhEAfdSfl2ACfXLMdoO/1otdif9bHialdQXucTM5A=";
|
||||
};
|
||||
|
||||
patches =
|
||||
|
@ -44,7 +44,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "dissect-target";
|
||||
version = "3.18";
|
||||
version = "3.19";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
@ -53,7 +53,7 @@ buildPythonPackage rec {
|
||||
owner = "fox-it";
|
||||
repo = "dissect.target";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-jR+f4t0QXmm007lrGdMyF9vFa3NW35gZxs7pe9sdjfg=";
|
||||
hash = "sha256-D5YgCAKcnPyBrZTpcSuvKfWfIIcCxKGxn+mj8Jqzmws=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -138,6 +138,8 @@ buildPythonPackage rec {
|
||||
"test_systemd_basic_syntax"
|
||||
"test_target_cli_unicode_argparse"
|
||||
"test_target_query"
|
||||
"test_target_info"
|
||||
"test_yara"
|
||||
]
|
||||
++
|
||||
# test is broken on Darwin
|
||||
|
@ -12,24 +12,24 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "dissect-volume";
|
||||
version = "3.11";
|
||||
version = "3.12";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.11";
|
||||
disabled = pythonOlder "3.12";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fox-it";
|
||||
repo = "dissect.volume";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-eHIInoquuyukKuPVvVB6qtovx1NloHHVGKfFBHxVd+o=";
|
||||
hash = "sha256-IhG2FZdCmYrGxHc2i+ERhphxP/uGgOY67epHEWnQXb0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
build-system = [
|
||||
setuptools
|
||||
setuptools-scm
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
dependencies = [
|
||||
dissect-cstruct
|
||||
dissect-util
|
||||
];
|
||||
@ -44,6 +44,7 @@ buildPythonPackage rec {
|
||||
"test_dm_thin"
|
||||
"test_lvm_mirro"
|
||||
"test_lvm_thin"
|
||||
"test_lvm"
|
||||
"test_md_raid0_zones"
|
||||
"test_md_read"
|
||||
];
|
||||
|
@ -12,14 +12,14 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "ffmpeg-progress-yield";
|
||||
version = "0.7.8";
|
||||
version = "0.9.1";
|
||||
format = "setuptools";
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-muauX4Mq58ew9lGPE0H+bu4bqPydNADLocujjy6qRh4=";
|
||||
hash = "sha256-n6zHi6M9SyrNm8MhQ9xvBo2OIzoQYJ4yhgujW5C6QWY=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -1,30 +1,35 @@
|
||||
{
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
duckdb,
|
||||
elastic-transport,
|
||||
elasticsearch,
|
||||
fastavro,
|
||||
fetchFromGitHub,
|
||||
httpx,
|
||||
lz4,
|
||||
maxminddb,
|
||||
msgpack,
|
||||
pytest7CheckHook,
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
pytz,
|
||||
setuptools-scm,
|
||||
setuptools,
|
||||
zstandard,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "flow-record";
|
||||
version = "3.15";
|
||||
version = "3.17";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "fox-it";
|
||||
repo = "flow.record";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-j5N66p7feB9Ae+Fu5RhVzh8XCHiq55jJMg0Fe+C6Jvg=";
|
||||
hash = "sha256-fFP2bdO4wTR9Y+9no3FabtVmLicTD76Jw5aWDMPOB0w=";
|
||||
};
|
||||
|
||||
build-system = [
|
||||
@ -39,11 +44,18 @@ buildPythonPackage rec {
|
||||
lz4
|
||||
zstandard
|
||||
];
|
||||
duckdb = [
|
||||
duckdb
|
||||
pytz
|
||||
];
|
||||
elastic = [ elasticsearch ];
|
||||
geoip = [ maxminddb ];
|
||||
avro = [ fastavro ] ++ fastavro.optional-dependencies.snappy;
|
||||
splunk = [ httpx ];
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
elastic-transport
|
||||
pytest7CheckHook
|
||||
] ++ lib.flatten (builtins.attrValues optional-dependencies);
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "greatfet";
|
||||
version = "2024.0.2";
|
||||
version = "2024.0.3";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
@ -26,7 +26,7 @@ buildPythonPackage rec {
|
||||
owner = "greatscottgadgets";
|
||||
repo = "greatfet";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-1GfyhxwA6Nhf/umvllR/hkh5hyn42141QOT7+6IGAis=";
|
||||
hash = "sha256-jdOTEOotLiIxA9TxmFGOjP8IZ/8xo7mzXSJRg3A5Ri4=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/host";
|
||||
|
@ -13,7 +13,7 @@
|
||||
buildPythonPackage rec {
|
||||
pname = "hypothesis-auto";
|
||||
version = "1.1.5";
|
||||
format = "pyproject";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
@ -23,14 +23,22 @@ buildPythonPackage rec {
|
||||
hash = "sha256-U0vcOB9jXmUV5v2IwybVu2arY1FpPnKkP7m2kbD1kRw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
pydantic
|
||||
hypothesis
|
||||
pytest
|
||||
pythonRelaxDeps = [
|
||||
"hypothesis"
|
||||
"pydantic"
|
||||
];
|
||||
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
dependencies = [
|
||||
hypothesis
|
||||
pydantic
|
||||
];
|
||||
|
||||
optional-dependencies = {
|
||||
pytest = [ pytest ];
|
||||
};
|
||||
|
||||
pythonImportsCheck = [ "hypothesis_auto" ];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
@ -38,6 +46,7 @@ buildPythonPackage rec {
|
||||
meta = with lib; {
|
||||
description = "Enables fully automatic tests for type annotated functions";
|
||||
homepage = "https://github.com/timothycrosley/hypothesis-auto/";
|
||||
changelog = "https://github.com/timothycrosley/hypothesis-auto/blob/master/CHANGELOG.md";
|
||||
license = licenses.mit;
|
||||
maintainers = [ ];
|
||||
};
|
||||
|
@ -3,38 +3,43 @@
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
pytestCheckHook,
|
||||
astunparse,
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
typing-extensions,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "import-expression";
|
||||
version = "2.0.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "import_expression";
|
||||
inherit version;
|
||||
hash = "sha256-Biw7dIOPKbDcqYJSCyeqC/seREcVihSZuaKNFfgjTew=";
|
||||
};
|
||||
|
||||
build-system = [ setuptools ];
|
||||
dependencies = [ astunparse ];
|
||||
|
||||
dependencies = [ typing-extensions ];
|
||||
|
||||
nativeCheckInputs = [ pytestCheckHook ];
|
||||
|
||||
pytestFlagsArray = [ "tests.py" ];
|
||||
|
||||
pythonImportsCheck = [
|
||||
"import_expression"
|
||||
"import_expression._codec"
|
||||
];
|
||||
pythonImportsCheck = [ "import_expression" ];
|
||||
|
||||
meta = {
|
||||
description = "Transpiles a superset of python to allow easy inline imports";
|
||||
homepage = "https://github.com/ioistired/import-expression-parser";
|
||||
changelog = "https://github.com/ioistired/import-expression/releases/tag/v${version}";
|
||||
license = with lib.licenses; [
|
||||
mit
|
||||
psfl
|
||||
];
|
||||
mainProgram = "import-expression";
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
mainProgram = "import-expression";
|
||||
};
|
||||
}
|
||||
|
35
pkgs/development/python-modules/jalali-core/default.nix
Normal file
35
pkgs/development/python-modules/jalali-core/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -2,29 +2,33 @@
|
||||
lib,
|
||||
buildPythonPackage,
|
||||
fetchPypi,
|
||||
six,
|
||||
jalali-core,
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "jdatetime";
|
||||
version = "5.0.0";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-LMYD2RPA2OMokoRU09KVJhywN+mVAif2fJYpq0cQ/fk=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ six ];
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [ jalali-core ];
|
||||
|
||||
pythonImportsCheck = [ "jdatetime" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Jalali datetime binding";
|
||||
homepage = "https://github.com/slashmili/python-jalali";
|
||||
changelog = "https://github.com/slashmili/python-jalali/blob/v${version}/CHANGELOG.md";
|
||||
license = licenses.psfl;
|
||||
maintainers = [ ];
|
||||
};
|
||||
|
@ -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";
|
||||
};
|
||||
}
|
@ -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";
|
||||
};
|
||||
}
|
@ -14,14 +14,14 @@
|
||||
xarray,
|
||||
pillow,
|
||||
scipy,
|
||||
psutil,
|
||||
statsmodels,
|
||||
ipython,
|
||||
ipywidgets,
|
||||
which,
|
||||
orca,
|
||||
nbformat,
|
||||
scikit-image,
|
||||
orca,
|
||||
psutil,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
@ -53,6 +53,15 @@ buildPythonPackage rec {
|
||||
kaleido
|
||||
];
|
||||
|
||||
# packages/python/plotly/optional-requirements.txt
|
||||
optional-dependencies = {
|
||||
orca = [
|
||||
orca
|
||||
requests
|
||||
psutil
|
||||
];
|
||||
};
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
pandas
|
||||
@ -61,69 +70,39 @@ buildPythonPackage rec {
|
||||
xarray
|
||||
pillow
|
||||
scipy
|
||||
psutil
|
||||
statsmodels
|
||||
ipython
|
||||
ipywidgets
|
||||
which
|
||||
orca
|
||||
nbformat
|
||||
scikit-image
|
||||
];
|
||||
|
||||
# the check inputs are broken on darwin
|
||||
doCheck = !stdenv.hostPlatform.isDarwin;
|
||||
|
||||
disabledTests = [
|
||||
# FAILED plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots - AssertionError: assert '3' == '2'
|
||||
# failed pinning test, sensitive to dep versions
|
||||
"test_legend_dots"
|
||||
# FAILED plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle - AssertionError:
|
||||
"test_linestyle"
|
||||
# FAILED plotly/tests/test_io/test_to_from_plotly_json.py::test_sanitize_json[auto] - KeyError: 'template'
|
||||
# FAILED plotly/tests/test_io/test_to_from_plotly_json.py::test_sanitize_json[json] - KeyError: 'template'
|
||||
# test bug, i assume sensitive to dep versions
|
||||
"test_sanitize_json"
|
||||
# FAILED plotly/tests/test_orca/test_orca_server.py::test_validate_orca - ValueError:
|
||||
"test_validate_orca"
|
||||
# FAILED plotly/tests/test_orca/test_orca_server.py::test_orca_executable_path - ValueError:
|
||||
"test_orca_executable_path"
|
||||
# FAILED plotly/tests/test_orca/test_orca_server.py::test_orca_version_number - ValueError:
|
||||
"test_orca_version_number"
|
||||
# FAILED plotly/tests/test_orca/test_orca_server.py::test_ensure_orca_ping_and_proc - ValueError:
|
||||
"test_ensure_orca_ping_and_proc"
|
||||
# FAILED plotly/tests/test_orca/test_orca_server.py::test_server_timeout_shutdown - ValueError:
|
||||
"test_server_timeout_shutdown"
|
||||
# FAILED plotly/tests/test_orca/test_orca_server.py::test_external_server_url - ValueError:
|
||||
"test_external_server_url"
|
||||
# FAILED plotly/tests/test_orca/test_to_image.py::test_simple_to_image[eps] - ValueError:
|
||||
"test_simple_to_image"
|
||||
# FAILED plotly/tests/test_orca/test_to_image.py::test_to_image_default[eps] - ValueError:
|
||||
"test_to_image_default"
|
||||
# FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_string[eps] - ValueError:
|
||||
"test_write_image_string"
|
||||
# FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_writeable[eps] - ValueError:
|
||||
"test_write_image_writeable"
|
||||
# FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_string_format_inference[eps] - ValueError:
|
||||
"test_write_image_string_format_inference"
|
||||
# FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_string_bad_extension_failure - assert 'must be specified as one of the followi...
|
||||
"test_write_image_string_bad_extension_failure"
|
||||
# FAILED plotly/tests/test_orca/test_to_image.py::test_write_image_string_bad_extension_override - ValueError:
|
||||
"test_write_image_string_bad_extension_override"
|
||||
# FAILED plotly/tests/test_orca/test_to_image.py::test_topojson_fig_to_image[eps] - ValueError:
|
||||
"test_topojson_fig_to_image"
|
||||
# FAILED plotly/tests/test_orca/test_to_image.py::test_latex_fig_to_image[eps] - ValueError:
|
||||
"test_latex_fig_to_image"
|
||||
# FAILED plotly/tests/test_orca/test_to_image.py::test_problematic_environment_variables[eps] - ValueError:
|
||||
"test_problematic_environment_variables"
|
||||
# FAILED plotly/tests/test_orca/test_to_image.py::test_invalid_figure_json - assert 'Invalid' in "\nThe orca executable is required in order to e...
|
||||
"test_invalid_figure_json"
|
||||
# FAILED test_init/test_dependencies_not_imported.py::test_dependencies_not_imported - AssertionError: assert 'plotly' not in {'IPython': <module>
|
||||
"test_dependencies_not_imported"
|
||||
# FAILED test_init/test_lazy_imports.py::test_lazy_imports - AssertionError: assert 'plotly' not in {'IPython': <module 'IPython' from '...
|
||||
"test_lazy_imports"
|
||||
# requires vaex and polars, vaex is not packaged
|
||||
"test_build_df_from_vaex_and_polars"
|
||||
"test_build_df_with_hover_data_from_vaex_and_polars"
|
||||
# lazy loading error, could it be the sandbox PYTHONPATH?
|
||||
# AssertionError: assert "plotly" not in sys.modules
|
||||
"test_dependencies_not_imported"
|
||||
"test_lazy_imports"
|
||||
];
|
||||
disabledTestPaths =
|
||||
[
|
||||
# unable to locate orca binary, adding the package does not fix it
|
||||
"plotly/tests/test_orca/"
|
||||
]
|
||||
++ lib.optionals stdenv.hostPlatform.isDarwin [
|
||||
# requires local networking
|
||||
"plotly/tests/test_io/test_renderers.py"
|
||||
# fails to launch kaleido subprocess
|
||||
"plotly/tests/test_optional/test_kaleido"
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "plotly" ];
|
||||
|
||||
|
@ -4,14 +4,16 @@
|
||||
fetchPypi,
|
||||
mypy-extensions,
|
||||
pytestCheckHook,
|
||||
pythonAtLeast,
|
||||
pythonOlder,
|
||||
setuptools,
|
||||
six,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pyannotate";
|
||||
version = "1.2.0";
|
||||
format = "setuptools";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
@ -20,7 +22,9 @@ buildPythonPackage rec {
|
||||
hash = "sha256-BO1YBLqzgVPVmB/JLYPc9qIog0U3aFYfBX53flwFdZk=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
build-system = [ setuptools ];
|
||||
|
||||
dependencies = [
|
||||
six
|
||||
mypy-extensions
|
||||
];
|
||||
@ -32,11 +36,20 @@ buildPythonPackage rec {
|
||||
"pyannotate_tools"
|
||||
];
|
||||
|
||||
disabledTestPaths =
|
||||
[
|
||||
"pyannotate_runtime/tests/test_collect_types.py"
|
||||
]
|
||||
++ lib.optionals (pythonAtLeast "3.11") [
|
||||
# Tests are using lib2to3
|
||||
"pyannotate_tools/fixes/tests/test_annotate*.py"
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Auto-generate PEP-484 annotations";
|
||||
mainProgram = "pyannotate";
|
||||
homepage = "https://github.com/dropbox/pyannotate";
|
||||
license = licenses.mit;
|
||||
maintainers = [ ];
|
||||
mainProgram = "pyannotate";
|
||||
};
|
||||
}
|
||||
|
@ -14,21 +14,21 @@
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "pylint-django";
|
||||
version = "2.5.4";
|
||||
version = "2.6.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
disabled = pythonOlder "3.9";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PyCQA";
|
||||
repo = "pylint-django";
|
||||
rev = "refs/tags/v${version}";
|
||||
hash = "sha256-MNgu3LvFoohXA+JzUiHIaYFw0ssEe+H5T8Ea56LcGuI=";
|
||||
hash = "sha256-Rnty8ryKd5PxFFVYcvB8p9VS3qlHCprxR8+/ySY5qC8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ poetry-core ];
|
||||
build-system = [ poetry-core ];
|
||||
|
||||
propagatedBuildInputs = [ pylint-plugin-utils ];
|
||||
dependencies = [ pylint-plugin-utils ];
|
||||
|
||||
optional-dependencies = {
|
||||
with_django = [ django ];
|
||||
|
@ -9,19 +9,20 @@
|
||||
requests,
|
||||
requests-mock,
|
||||
setuptools,
|
||||
typing-extensions,
|
||||
versioneer,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "tableauserverclient";
|
||||
version = "0.31";
|
||||
version = "0.33";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.7";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-e00/+yVKg7dGGq3Os+oWu/F93j5e9dnwWZxKwm+soqM=";
|
||||
hash = "sha256-7yj/Ey3mIR2GZ0gtNkrrtoKEmuA5LihZlM9qPhbROQw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
@ -29,7 +30,10 @@ buildPythonPackage rec {
|
||||
rm versioneer.py
|
||||
'';
|
||||
|
||||
pythonRelaxDeps = [ "urllib3" ];
|
||||
pythonRelaxDeps = [
|
||||
"defusedxml"
|
||||
"urllib3"
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
setuptools
|
||||
@ -40,6 +44,7 @@ buildPythonPackage rec {
|
||||
defusedxml
|
||||
requests
|
||||
packaging
|
||||
typing-extensions
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
|
@ -6,10 +6,11 @@
|
||||
hatchling,
|
||||
httpx,
|
||||
}:
|
||||
|
||||
buildPythonPackage rec {
|
||||
pname = "tika-client";
|
||||
version = "0.6.0";
|
||||
format = "pyproject";
|
||||
version = "0.7.0";
|
||||
pyproject = true;
|
||||
|
||||
disabled = pythonOlder "3.8";
|
||||
|
||||
@ -17,14 +18,15 @@ buildPythonPackage rec {
|
||||
owner = "stumpylog";
|
||||
repo = "tika-client";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-1Gc/WF8eEGT17z2CiuSLUIngDZVoHdBhfsUddNUBwWo=";
|
||||
hash = "sha256-0cv2HaquIUQOb5CPkCxSYvXDzu3OV7WKIT80jI+pjpY=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
hatchling
|
||||
httpx
|
||||
];
|
||||
build-system = [ hatchling ];
|
||||
|
||||
dependencies = [ httpx ];
|
||||
|
||||
pythonImportsCheck = [ "tika_client" ];
|
||||
|
||||
# Almost all of the tests (all except one in 0.1.0) fail since there
|
||||
# is no tika http API endpoint reachable. Since tika is not yet
|
||||
# packaged for nixpkgs, it seems like an unreasonable amount of effort
|
||||
|
60
pkgs/development/tools/gptcommit/0001-update-time.patch
Normal file
60
pkgs/development/tools/gptcommit/0001-update-time.patch
Normal 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
|
||||
|
@ -23,7 +23,13 @@ rustPlatform.buildRustPackage {
|
||||
hash = "sha256-JhMkK2zw3VL9o7j8DJmjY/im+GyCjfV2TJI3GDo8T8c=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-ye9MAfG3m24ofV95Kr+KTP4FEqfrsm3aTQ464hG9q08=";
|
||||
cargoPatches = [
|
||||
# Bump `time` and friends to fix compilation with rust 1.80.
|
||||
# See https://github.com/NixOS/nixpkgs/issues/332957
|
||||
./0001-update-time.patch
|
||||
];
|
||||
|
||||
cargoHash = "sha256-0UAttCCbSH91Dn7IvEX+Klp/bSYZM4rml7/dD3a208A=";
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
|
@ -28,10 +28,10 @@
|
||||
}:
|
||||
|
||||
let
|
||||
defaultVersion = "2024.07";
|
||||
defaultVersion = "2024.10";
|
||||
defaultSrc = fetchurl {
|
||||
url = "https://ftp.denx.de/pub/u-boot/u-boot-${defaultVersion}.tar.bz2";
|
||||
hash = "sha256-9ZHamrkO89az0XN2bQ3f+QxO1zMGgIl0hhF985DYPI8=";
|
||||
hash = "sha256-so2vSsF+QxVjYweL9RApdYQTf231D87ZsS3zT2GpL7A=";
|
||||
};
|
||||
|
||||
# Dependencies for the tools need to be included as either native or cross,
|
||||
@ -212,6 +212,14 @@ in {
|
||||
filesToInstall = ["u-boot-with-spl.kwb"];
|
||||
};
|
||||
|
||||
ubootCM3588NAS = buildUBoot {
|
||||
defconfig = "cm3588-nas-rk3588_defconfig";
|
||||
extraMeta.platforms = [ "aarch64-linux" ];
|
||||
BL31 = "${armTrustedFirmwareRK3588}/bl31.elf";
|
||||
ROCKCHIP_TPL = rkbin.TPL_RK3588;
|
||||
filesToInstall = [ "u-boot.itb" "idbloader.img" "u-boot-rockchip.bin" ];
|
||||
};
|
||||
|
||||
ubootCubieboard2 = buildUBoot {
|
||||
defconfig = "Cubieboard2_defconfig";
|
||||
extraMeta.platforms = ["armv7l-linux"];
|
||||
@ -442,6 +450,14 @@ in {
|
||||
filesToInstall = ["u-boot-sunxi-with-spl.bin"];
|
||||
};
|
||||
|
||||
ubootOrangePi3B = buildUBoot {
|
||||
defconfig = "orangepi-3b-rk3566_defconfig";
|
||||
extraMeta.platforms = ["aarch64-linux"];
|
||||
ROCKCHIP_TPL = rkbin.TPL_RK3568;
|
||||
BL31 = rkbin.BL31_RK3568;
|
||||
filesToInstall = [ "u-boot.itb" "idbloader.img" "u-boot-rockchip.bin" "u-boot-rockchip-spi.bin" ];
|
||||
};
|
||||
|
||||
ubootPcduino3Nano = buildUBoot {
|
||||
defconfig = "Linksprite_pcDuino3_Nano_defconfig";
|
||||
extraMeta.platforms = ["armv7l-linux"];
|
||||
|
@ -6,15 +6,15 @@
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
stdenv.mkDerivation (finalAttrs: rec {
|
||||
pname = "ipu6-camera-bins";
|
||||
version = "unstable-2023-10-26";
|
||||
version = "unstable-2024-09-27";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "intel";
|
||||
repo = "ipu6-camera-bins";
|
||||
rev = "af5ba0cb4a763569ac7514635013e9d870040bcf";
|
||||
hash = "sha256-y0pT5M7AKACbquQWLZPYpTPXRC5hipLNL61nhs+cst4=";
|
||||
owner = "intel";
|
||||
rev = "98ca6f2a54d20f171628055938619972514f7a07";
|
||||
hash = "sha256-DAjAzHMqX41mrfQVpDUJLw4Zjb9pz6Uy3TJjTGIkd6o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -33,13 +33,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
include \
|
||||
$out/
|
||||
|
||||
install -m 0644 -D LICENSE $out/share/doc/LICENSE
|
||||
# There is no LICENSE file in the src
|
||||
# install -m 0644 -D LICENSE $out/share/doc/LICENSE
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
for pcfile in $out/lib/*/pkgconfig/*.pc; do
|
||||
for pcfile in $out/lib/pkgconfig/*.pc; do
|
||||
substituteInPlace $pcfile \
|
||||
--replace 'prefix=/usr' "prefix=$out"
|
||||
done
|
||||
|
@ -5,13 +5,13 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "ivsc-firmware";
|
||||
version = "unstable-2023-08-11";
|
||||
version = "unstable-2024-06-14";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "intel";
|
||||
repo = "ivsc-firmware";
|
||||
rev = "10c214fea5560060d387fbd2fb8a1af329cb6232";
|
||||
hash = "sha256-kEoA0yeGXuuB+jlMIhNm+SBljH+Ru7zt3PzGb+EPBPw=";
|
||||
rev = "74a01d1208a352ed85d76f959c68200af4ead918";
|
||||
hash = "sha256-kHYfeftMtoOsOtVN6+XoDMDHP7uTEztbvjQLpCnKCh0=";
|
||||
};
|
||||
|
||||
dontBuild = true;
|
||||
|
@ -5,17 +5,19 @@
|
||||
, kernel
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "ipu6-drivers";
|
||||
version = "unstable-2023-11-24";
|
||||
version = "unstable-2024-10-10";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "intel";
|
||||
repo = "ipu6-drivers";
|
||||
rev = "07f0612eabfdc31df36f5e316a9eae115807804f";
|
||||
hash = "sha256-8JRZG6IKJT0qtoqJHm8641kSQMLc4Z+DRzK6FpL9Euk=";
|
||||
rev = "118952d49ec598f56add50d93fa7bc3ac4a05643";
|
||||
hash = "sha256-xdMwINoKrdRHCPMpdZQn86ATi1dAXncMU39LLXS16mc=";
|
||||
};
|
||||
|
||||
patches = [ "${src}/patches/0001-v6.10-IPU6-headers-used-by-PSYS.patch" ];
|
||||
|
||||
postPatch = ''
|
||||
cp --no-preserve=mode --recursive --verbose \
|
||||
${ivsc-driver.src}/backport-include \
|
||||
@ -47,7 +49,7 @@ stdenv.mkDerivation {
|
||||
license = lib.licenses.gpl2Only;
|
||||
maintainers = [ ];
|
||||
platforms = [ "x86_64-linux" ];
|
||||
# requires 6.1.7 https://github.com/intel/ipu6-drivers/pull/84
|
||||
broken = kernel.kernelOlder "6.1.7";
|
||||
# requires 6.10
|
||||
broken = kernel.kernelOlder "6.10";
|
||||
};
|
||||
}
|
||||
|
@ -6,13 +6,13 @@
|
||||
|
||||
stdenv.mkDerivation {
|
||||
pname = "ivsc-driver";
|
||||
version = "unstable-2023-11-09";
|
||||
version = "unstable-2024-09-18";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "intel";
|
||||
repo = "ivsc-driver";
|
||||
rev = "73a044d9633212fac54ea96cdd882ff5ab40573e";
|
||||
hash = "sha256-vE5pOtVqjiWovlUMSEoBKTk/qvs8K8T5oY2r7njh0wQ=";
|
||||
rev = "10f440febe87419d5c82d8fe48580319ea135b54";
|
||||
hash = "sha256-jc+8geVquRtaZeIOtadCjY9F162Rb05ptE7dk8kuof0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = kernel.moduleBuildDependencies;
|
||||
|
@ -36,7 +36,11 @@ let
|
||||
# Currently only enabling Rust by default on kernel 6.12+,
|
||||
# which actually has features that use Rust that we want.
|
||||
defaultRust = lib.versionAtLeast version "6.12" && rustAvailable;
|
||||
withRust = (forceRust || defaultRust) && kernelSupportsRust;
|
||||
withRust =
|
||||
assert lib.assertMsg (!(forceRust && !kernelSupportsRust)) ''
|
||||
Kernels below 6.7 (the kernel being built is ${version}) don't support Rust.
|
||||
'';
|
||||
(forceRust || defaultRust) && kernelSupportsRust;
|
||||
|
||||
options = {
|
||||
|
||||
|
@ -396,6 +396,9 @@ let
|
||||
requiredSystemFeatures = [ "big-parallel" ];
|
||||
|
||||
meta = {
|
||||
# https://github.com/NixOS/nixpkgs/pull/345534#issuecomment-2391238381
|
||||
broken = withRust && lib.versionOlder version "6.12";
|
||||
|
||||
description =
|
||||
"The Linux kernel" +
|
||||
(if kernelPatches == [] then "" else
|
||||
|
@ -18,9 +18,9 @@ stdenv.mkDerivation rec {
|
||||
makeFlags = [ "PREFIX=${placeholder "out"}" ];
|
||||
|
||||
meta = with lib; {
|
||||
inherit (src.meta) homepage;
|
||||
description = "Monitoring software for AMD Zen-based CPUs";
|
||||
mainProgram = "zenmonitor";
|
||||
homepage = "https://github.com/Ta180m/zenmonitor3";
|
||||
license = licenses.mit;
|
||||
platforms = [ "i686-linux" "x86_64-linux" ];
|
||||
maintainers = with maintainers; [ alexbakker artturin ];
|
||||
|
@ -1,7 +1,6 @@
|
||||
{ lib, stdenv, nodejs-slim, bundlerEnv, nixosTests
|
||||
, yarn, callPackage, ruby, writeShellScript
|
||||
, fetchYarnDeps, fixup-yarn-lock
|
||||
, brotli
|
||||
, yarn-berry, callPackage, ruby, writeShellScript
|
||||
, brotli, python3
|
||||
|
||||
# Allow building a fork or custom version of Mastodon:
|
||||
, pname ? "mastodon"
|
||||
@ -28,12 +27,12 @@ stdenv.mkDerivation rec {
|
||||
pname = "${pname}-modules";
|
||||
inherit src version;
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = "${src}/yarn.lock";
|
||||
yarnOfflineCache = callPackage ./yarn.nix {
|
||||
inherit version src;
|
||||
hash = yarnHash;
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ fixup-yarn-lock nodejs-slim yarn mastodonGems mastodonGems.wrappedRuby brotli ];
|
||||
nativeBuildInputs = [ nodejs-slim yarn-berry mastodonGems mastodonGems.wrappedRuby brotli python3 ];
|
||||
|
||||
RAILS_ENV = "production";
|
||||
NODE_ENV = "production";
|
||||
@ -42,29 +41,33 @@ stdenv.mkDerivation rec {
|
||||
runHook preBuild
|
||||
|
||||
export HOME=$PWD
|
||||
fixup-yarn-lock ~/yarn.lock
|
||||
yarn config --offline set yarn-offline-mirror $yarnOfflineCache
|
||||
yarn install --offline --frozen-lockfile --ignore-engines --ignore-scripts --no-progress
|
||||
export YARN_ENABLE_TELEMETRY=0
|
||||
export npm_config_nodedir=${nodejs-slim}
|
||||
export SECRET_KEY_BASE_DUMMY=1
|
||||
|
||||
mkdir -p ~/.yarn/berry
|
||||
ln -s $yarnOfflineCache ~/.yarn/berry/cache
|
||||
|
||||
yarn install --immutable --immutable-cache
|
||||
|
||||
patchShebangs ~/bin
|
||||
patchShebangs ~/node_modules
|
||||
|
||||
# skip running yarn install
|
||||
rm -rf ~/bin/yarn
|
||||
bundle exec rails assets:precompile
|
||||
|
||||
OTP_SECRET=precompile_placeholder SECRET_KEY_BASE=precompile_placeholder \
|
||||
rails assets:precompile
|
||||
yarn cache clean --offline
|
||||
yarn cache clean --all
|
||||
rm -rf ~/node_modules/.cache
|
||||
|
||||
# Remove execute permissions
|
||||
find ~/public/assets -type f ! -perm 0555 \
|
||||
-exec chmod 0444 {} ';'
|
||||
|
||||
# Create missing static gzip and brotli files
|
||||
gzip --best --keep ~/public/assets/500.html
|
||||
gzip --best --keep ~/public/packs/report.html
|
||||
find ~/public/assets -maxdepth 1 -type f -name '.*.json' \
|
||||
-exec gzip --best --keep --force {} ';'
|
||||
brotli --best --keep ~/public/packs/report.html
|
||||
find ~/public/assets -type f -regextype posix-extended -iregex '.*\.(css|js|json|html)' \
|
||||
find ~/public/assets -type f -regextype posix-extended -iregex '.*\.(css|html|js|json|svg)' \
|
||||
-exec gzip --best --keep --force {} ';' \
|
||||
-exec brotli --best --keep {} ';'
|
||||
gzip --best --keep ~/public/packs/report.html
|
||||
brotli --best --keep ~/public/packs/report.html
|
||||
|
||||
runHook postBuild
|
||||
'';
|
||||
@ -101,13 +104,14 @@ stdenv.mkDerivation rec {
|
||||
done
|
||||
|
||||
# Remove execute permissions
|
||||
chmod 0444 public/emoji/*.svg
|
||||
find public/emoji -type f ! -perm 0555 \
|
||||
-exec chmod 0444 {} ';'
|
||||
|
||||
# Create missing static gzip and brotli files
|
||||
find public -maxdepth 1 -type f -regextype posix-extended -iregex '.*\.(css|js|svg|txt|xml)' \
|
||||
find public -maxdepth 1 -type f -regextype posix-extended -iregex '.*\.(js|txt)' \
|
||||
-exec gzip --best --keep --force {} ';' \
|
||||
-exec brotli --best --keep {} ';'
|
||||
find public/emoji -type f -name '.*.svg' \
|
||||
find public/emoji -type f -name '*.svg' \
|
||||
-exec gzip --best --keep --force {} ';' \
|
||||
-exec brotli --best --keep {} ';'
|
||||
ln -s assets/500.html.gz public/500.html.gz
|
||||
@ -133,7 +137,8 @@ stdenv.mkDerivation rec {
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out
|
||||
cp -r * $out/
|
||||
mv .{env*,ruby*} $out/
|
||||
mv * $out/
|
||||
ln -s ${run-streaming} $out/run-streaming.sh
|
||||
|
||||
runHook postInstall
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,7 @@
|
||||
# This file was generated by pkgs.mastodon.updateScript.
|
||||
{ fetchFromGitHub, applyPatches, patches ? [] }:
|
||||
let
|
||||
version = "4.2.13";
|
||||
version = "4.3.0";
|
||||
in
|
||||
(
|
||||
applyPatches {
|
||||
@ -9,10 +9,10 @@ in
|
||||
owner = "mastodon";
|
||||
repo = "mastodon";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-+HGu02fjYJ1x6Tk9AdqmFN7JHk3UnlvCdiQ/5yMu69M=";
|
||||
hash = "sha256-nZtxildQmT/7JMCTx89ZSWxb9I7xMLGHTJv7v4gfdd4=";
|
||||
};
|
||||
patches = patches ++ [];
|
||||
}) // {
|
||||
inherit version;
|
||||
yarnHash = "sha256-qoLesubmSvRsXhKwMEWHHXcpcqRszqcdZgHQqnTpNPE=";
|
||||
yarnHash = "sha256-V/kBkxv6akTyzlFzdR1F53b7RD0NYtap58Xt5yOAbYA=";
|
||||
}
|
||||
|
@ -106,7 +106,5 @@ echo "Creating gemset.nix"
|
||||
bundix --lockfile="$SOURCE_DIR/Gemfile.lock" --gemfile="$SOURCE_DIR/Gemfile"
|
||||
echo "" >> gemset.nix # Create trailing newline to please EditorConfig checks
|
||||
|
||||
echo "Creating yarn-hash.nix"
|
||||
YARN_HASH="$(prefetch-yarn-deps "$SOURCE_DIR/yarn.lock")"
|
||||
YARN_HASH="$(nix hash to-sri --type sha256 "$YARN_HASH")"
|
||||
sed -i "s/sha256-AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=/$YARN_HASH/g" source.nix
|
||||
echo "Required manual update of yarn-hash"
|
||||
exit 1
|
||||
|
34
pkgs/servers/mastodon/yarn.nix
Normal file
34
pkgs/servers/mastodon/yarn.nix
Normal 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";
|
||||
}
|
@ -59,14 +59,14 @@ let
|
||||
in
|
||||
{
|
||||
nextcloud28 = generic {
|
||||
version = "28.0.10";
|
||||
hash = "sha256-LoAVJtKJHBhf6sWYXL084pLOcKQl9Tb5GfkBuftMwhA=";
|
||||
version = "28.0.11";
|
||||
hash = "sha256-S6rs7GpvFFgy28PGNdcuIM1IBKytmmZOanS5CnmB40g=";
|
||||
packages = nextcloud28Packages;
|
||||
};
|
||||
|
||||
nextcloud29 = generic {
|
||||
version = "29.0.7";
|
||||
hash = "sha256-9TL/wxvlqDdLXgcrhv/4dl7Bn9oMhQnO45hzCB2yxUQ=";
|
||||
version = "29.0.8";
|
||||
hash = "sha256-CrVLUX92zSbyvTi2/hhLn7rtMvc0JGxYwaz4NHPApLk=";
|
||||
packages = nextcloud29Packages;
|
||||
};
|
||||
|
||||
|
@ -70,9 +70,9 @@
|
||||
]
|
||||
},
|
||||
"forms": {
|
||||
"hash": "sha256-OqqorHVWCDicQKnTxEJjeXzDrsj98vWvtWYyaRmDsUs=",
|
||||
"url": "https://github.com/nextcloud-releases/forms/releases/download/v4.2.4/forms-v4.2.4.tar.gz",
|
||||
"version": "4.2.4",
|
||||
"hash": "sha256-JhLaTXll2kh/TaWXR1DfUCHuxaJlUMU1oY9ry9yoTTg=",
|
||||
"url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.1/forms-v4.3.1.tar.gz",
|
||||
"version": "4.3.1",
|
||||
"description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
|
||||
"homepage": "https://github.com/nextcloud/forms",
|
||||
"licenses": [
|
||||
@ -260,9 +260,9 @@
|
||||
]
|
||||
},
|
||||
"spreed": {
|
||||
"hash": "sha256-eMdFS5yQWJNsTVuHBZX4v0PSocP/nT+JaS7RSTYF8p0=",
|
||||
"url": "https://github.com/nextcloud-releases/spreed/releases/download/v18.0.11/spreed-v18.0.11.tar.gz",
|
||||
"version": "18.0.11",
|
||||
"hash": "sha256-pOnL5uz8FcuHUFn7otp9NQinOqm+oCmXRHx4TM2NukI=",
|
||||
"url": "https://github.com/nextcloud-releases/spreed/releases/download/v18.0.12/spreed-v18.0.12.tar.gz",
|
||||
"version": "18.0.12",
|
||||
"description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* 👥 **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* 💻 **Screen sharing!** Share your screen with the participants of your call.\n* 🚀 **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* 🌉 **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.",
|
||||
"homepage": "https://github.com/nextcloud/spreed",
|
||||
"licenses": [
|
||||
@ -311,7 +311,7 @@
|
||||
},
|
||||
"unsplash": {
|
||||
"hash": "sha256-kNDQk4HYkrBA+o+5/bNYj65ZJbViBjhnbSA87tsu6YE=",
|
||||
"url": "https://github.com/nextcloud/unsplash/releases/download/v3.0.1/unsplash.tar.gz",
|
||||
"url": "https://github.com/nextcloud/unsplash/releases/download/v3.0.2/unsplash.tar.gz",
|
||||
"version": "3.0.1",
|
||||
"description": "Show a new random featured nature photo in your nextcloud. Now with choosable motives!",
|
||||
"homepage": "https://github.com/nextcloud/unsplash/",
|
||||
@ -330,9 +330,9 @@
|
||||
]
|
||||
},
|
||||
"user_saml": {
|
||||
"hash": "sha256-+oeTDRomjmfSLIM6eyP6MHg+qtOs8IPqIWUzBofahYQ=",
|
||||
"url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.2.0/user_saml-v6.2.0.tar.gz",
|
||||
"version": "6.2.0",
|
||||
"hash": "sha256-xxabQU8kZhgI7Q9D0n7hrFygvfZWZDnAQWnB8+A1xwE=",
|
||||
"url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.3.0/user_saml-v6.3.0.tar.gz",
|
||||
"version": "6.3.0",
|
||||
"description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.",
|
||||
"homepage": "https://github.com/nextcloud/user_saml",
|
||||
"licenses": [
|
||||
|
@ -70,9 +70,9 @@
|
||||
]
|
||||
},
|
||||
"forms": {
|
||||
"hash": "sha256-OqqorHVWCDicQKnTxEJjeXzDrsj98vWvtWYyaRmDsUs=",
|
||||
"url": "https://github.com/nextcloud-releases/forms/releases/download/v4.2.4/forms-v4.2.4.tar.gz",
|
||||
"version": "4.2.4",
|
||||
"hash": "sha256-JhLaTXll2kh/TaWXR1DfUCHuxaJlUMU1oY9ry9yoTTg=",
|
||||
"url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.1/forms-v4.3.1.tar.gz",
|
||||
"version": "4.3.1",
|
||||
"description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
|
||||
"homepage": "https://github.com/nextcloud/forms",
|
||||
"licenses": [
|
||||
@ -140,8 +140,8 @@
|
||||
]
|
||||
},
|
||||
"maps": {
|
||||
"hash": "sha256-FmRhpPRpMnCHkJFaVvQuR6Y7Pd7vpP+tUVih919g/fQ=",
|
||||
"url": "https://github.com/nextcloud/maps/releases/download/v1.4.0-1-nightly/maps-1.4.0-1-nightly.tar.gz",
|
||||
"hash": "sha256-BmXs6Oepwnm+Cviy4awm3S8P9AiJTt1BnAQNb4TxVYE=",
|
||||
"url": "https://github.com/nextcloud/maps/releases/download/v1.4.0/maps-1.4.0.tar.gz",
|
||||
"version": "1.4.0",
|
||||
"description": "**The whole world fits inside your cloud!**\n\n- **🗺 Beautiful map:** Using [OpenStreetMap](https://www.openstreetmap.org) and [Leaflet](https://leafletjs.com), you can choose between standard map, satellite, topographical, dark mode or even watercolor! 🎨\n- **⭐ Favorites:** Save your favorite places, privately! Sync with [GNOME Maps](https://github.com/nextcloud/maps/issues/30) and mobile apps is planned.\n- **🧭 Routing:** Possible using either [OSRM](http://project-osrm.org), [GraphHopper](https://www.graphhopper.com) or [Mapbox](https://www.mapbox.com).\n- **🖼 Photos on the map:** No more boring slideshows, just show directly where you were!\n- **🙋 Contacts on the map:** See where your friends live and plan your next visit.\n- **📱 Devices:** Lost your phone? Check the map!\n- **〰 Tracks:** Load GPS tracks or past trips. Recording with [PhoneTrack](https://f-droid.org/en/packages/net.eneiluj.nextcloud.phonetrack/) or [OwnTracks](https://owntracks.org) is planned.",
|
||||
"homepage": "https://github.com/nextcloud/maps",
|
||||
@ -260,9 +260,9 @@
|
||||
]
|
||||
},
|
||||
"spreed": {
|
||||
"hash": "sha256-cZYE528jSNnPFgJSnqosoPyo/7V3zdUAIxnFpcOuvh4=",
|
||||
"url": "https://github.com/nextcloud-releases/spreed/releases/download/v19.0.9/spreed-v19.0.9.tar.gz",
|
||||
"version": "19.0.9",
|
||||
"hash": "sha256-CWmVARbiZAjgMpZKofWU9FTy/LCz8zXuQdGM6UMHjZ4=",
|
||||
"url": "https://github.com/nextcloud-releases/spreed/releases/download/v19.0.10/spreed-v19.0.10.tar.gz",
|
||||
"version": "19.0.10",
|
||||
"description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* 👥 **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* 💻 **Screen sharing!** Share your screen with the participants of your call.\n* 🚀 **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* 🌉 **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.",
|
||||
"homepage": "https://github.com/nextcloud/spreed",
|
||||
"licenses": [
|
||||
@ -311,7 +311,7 @@
|
||||
},
|
||||
"unsplash": {
|
||||
"hash": "sha256-kNDQk4HYkrBA+o+5/bNYj65ZJbViBjhnbSA87tsu6YE=",
|
||||
"url": "https://github.com/nextcloud/unsplash/releases/download/v3.0.1/unsplash.tar.gz",
|
||||
"url": "https://github.com/nextcloud/unsplash/releases/download/v3.0.2/unsplash.tar.gz",
|
||||
"version": "3.0.1",
|
||||
"description": "Show a new random featured nature photo in your nextcloud. Now with choosable motives!",
|
||||
"homepage": "https://github.com/nextcloud/unsplash/",
|
||||
@ -330,9 +330,9 @@
|
||||
]
|
||||
},
|
||||
"user_saml": {
|
||||
"hash": "sha256-+oeTDRomjmfSLIM6eyP6MHg+qtOs8IPqIWUzBofahYQ=",
|
||||
"url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.2.0/user_saml-v6.2.0.tar.gz",
|
||||
"version": "6.2.0",
|
||||
"hash": "sha256-xxabQU8kZhgI7Q9D0n7hrFygvfZWZDnAQWnB8+A1xwE=",
|
||||
"url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.3.0/user_saml-v6.3.0.tar.gz",
|
||||
"version": "6.3.0",
|
||||
"description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.",
|
||||
"homepage": "https://github.com/nextcloud/user_saml",
|
||||
"licenses": [
|
||||
|
@ -69,6 +69,16 @@
|
||||
"agpl"
|
||||
]
|
||||
},
|
||||
"forms": {
|
||||
"hash": "sha256-JhLaTXll2kh/TaWXR1DfUCHuxaJlUMU1oY9ry9yoTTg=",
|
||||
"url": "https://github.com/nextcloud-releases/forms/releases/download/v4.3.1/forms-v4.3.1.tar.gz",
|
||||
"version": "4.3.1",
|
||||
"description": "**Simple surveys and questionnaires, self-hosted!**\n\n- **📝 Simple design:** No mass of options, only the essentials. Works well on mobile of course.\n- **📊 View & export results:** Results are visualized and can also be exported as CSV in the same format used by Google Forms.\n- **🔒 Data under your control!** Unlike in Google Forms, Typeform, Doodle and others, the survey info and responses are kept private on your instance.\n- **🧑💻 Connect to your software:** Easily integrate Forms into your service with our full-fledged [REST-API](https://github.com/nextcloud/forms/blob/main/docs/API.md).\n- **🙋 Get involved!** We have lots of stuff planned like more question types, collaboration on forms, [and much more](https://github.com/nextcloud/forms/milestones)!",
|
||||
"homepage": "https://github.com/nextcloud/forms",
|
||||
"licenses": [
|
||||
"agpl"
|
||||
]
|
||||
},
|
||||
"gpoddersync": {
|
||||
"hash": "sha256-OMH/pnDS/icDVUb56mzxowAhBCaVY60bMGJmwsjEc0k=",
|
||||
"url": "https://github.com/thrillfall/nextcloud-gpodder/releases/download/3.10.0/gpoddersync.tar.gz",
|
||||
@ -120,9 +130,9 @@
|
||||
]
|
||||
},
|
||||
"mail": {
|
||||
"hash": "sha256-ldrGgqgeRLjYmtWiSAcllaIkTeeUmhjQiXrcpwgb/wk=",
|
||||
"url": "https://github.com/nextcloud-releases/mail/releases/download/v4.0.0/mail-v4.0.0.tar.gz",
|
||||
"version": "4.0.0",
|
||||
"hash": "sha256-u0h9zCT/l9cUUFppKazx4oLkHYzlgGcb0OBOy1CXOG8=",
|
||||
"url": "https://github.com/nextcloud-releases/mail/releases/download/v4.0.1/mail-v4.0.1.tar.gz",
|
||||
"version": "4.0.1",
|
||||
"description": "**💌 A mail app for Nextcloud**\n\n- **🚀 Integration with other Nextcloud apps!** Currently Contacts, Calendar & Files – more to come.\n- **📥 Multiple mail accounts!** Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.\n- **🔒 Send & receive encrypted mails!** Using the great [Mailvelope](https://mailvelope.com) browser extension.\n- **🙈 We’re not reinventing the wheel!** Based on the great [Horde](https://horde.org) libraries.\n- **📬 Want to host your own mail server?** We do not have to reimplement this as you could set up [Mail-in-a-Box](https://mailinabox.email)!\n\n## Ethical AI Rating\n\n### Priority Inbox\n\nPositive:\n* The software for training and inferencing of this model is open source.\n* The model is created and trained on-premises based on the user's own data.\n* The training data is accessible to the user, making it possible to check or correct for bias or optimise the performance and CO2 usage.\n\n### Thread Summaries (opt-in)\n\n**Rating:** 🟢/🟡/🟠/🔴\n\nThe rating depends on the installed text processing backend. See [the rating overview](https://docs.nextcloud.com/server/latest/admin_manual/ai/index.html) for details.\n\nLearn more about the Nextcloud Ethical AI Rating [in our blog](https://nextcloud.com/blog/nextcloud-ethical-ai-rating/).",
|
||||
"homepage": "https://github.com/nextcloud/mail#readme",
|
||||
"licenses": [
|
||||
@ -240,9 +250,9 @@
|
||||
]
|
||||
},
|
||||
"spreed": {
|
||||
"hash": "sha256-p0m4s4ZbWEyiPPBRKvEGFk/0xN+IiYPETDegm/8QDWY=",
|
||||
"url": "https://github.com/nextcloud-releases/spreed/releases/download/v20.0.0/spreed-v20.0.0.tar.gz",
|
||||
"version": "20.0.0",
|
||||
"hash": "sha256-mUJmbOMMIkm/83a+7xcW59TTar58D4l0Ek+kZoRdxG8=",
|
||||
"url": "https://github.com/nextcloud-releases/spreed/releases/download/v20.0.1/spreed-v20.0.1.tar.gz",
|
||||
"version": "20.0.1",
|
||||
"description": "Chat, video & audio-conferencing using WebRTC\n\n* 💬 **Chat** Nextcloud Talk comes with a simple text chat, allowing you to share or upload files from your Nextcloud Files app or local device and mention other participants.\n* 👥 **Private, group, public and password protected calls!** Invite someone, a whole group or send a public link to invite to a call.\n* 🌐 **Federated chats** Chat with other Nextcloud users on their servers\n* 💻 **Screen sharing!** Share your screen with the participants of your call.\n* 🚀 **Integration with other Nextcloud apps** like Files, Calendar, User status, Dashboard, Flow, Maps, Smart picker, Contacts, Deck, and many more.\n* 🌉 **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa.",
|
||||
"homepage": "https://github.com/nextcloud/spreed",
|
||||
"licenses": [
|
||||
@ -290,9 +300,9 @@
|
||||
]
|
||||
},
|
||||
"user_saml": {
|
||||
"hash": "sha256-+oeTDRomjmfSLIM6eyP6MHg+qtOs8IPqIWUzBofahYQ=",
|
||||
"url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.2.0/user_saml-v6.2.0.tar.gz",
|
||||
"version": "6.2.0",
|
||||
"hash": "sha256-xxabQU8kZhgI7Q9D0n7hrFygvfZWZDnAQWnB8+A1xwE=",
|
||||
"url": "https://github.com/nextcloud-releases/user_saml/releases/download/v6.3.0/user_saml-v6.3.0.tar.gz",
|
||||
"version": "6.3.0",
|
||||
"description": "Using the SSO & SAML app of your Nextcloud you can make it easily possible to integrate your existing Single-Sign-On solution with Nextcloud. In addition, you can use the Nextcloud LDAP user provider to keep the convenience for users. (e.g. when sharing)\nThe following providers are supported and tested at the moment:\n\n* **SAML 2.0**\n\t* OneLogin\n\t* Shibboleth\n\t* Active Directory Federation Services (ADFS)\n\n* **Authentication via Environment Variable**\n\t* Kerberos (mod_auth_kerb)\n\t* Any other provider that authenticates using the environment variable\n\nWhile theoretically any other authentication provider implementing either one of those standards is compatible, we like to note that they are not part of any internal test matrix.",
|
||||
"homepage": "https://github.com/nextcloud/user_saml",
|
||||
"licenses": [
|
||||
|
@ -2,14 +2,14 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "zimfw";
|
||||
version = "1.14.0";
|
||||
version = "1.15.0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "zimfw";
|
||||
repo = "zimfw";
|
||||
rev = "v${version}";
|
||||
## zim only needs this one file to be installed.
|
||||
sparseCheckout = [ "zimfw.zsh" ];
|
||||
hash = "sha256-JBMrgUMGsvjYasEHJsZ0jZAHmrN3Z0d8T8agI9FiEPs=";
|
||||
hash = "sha256-8GnxUhBvMy7fhDILDKYEf/9Mhgzz7suaiZ5elRZmT0o=";
|
||||
};
|
||||
strictDeps = true;
|
||||
dontConfigure = true;
|
||||
@ -24,17 +24,6 @@ stdenv.mkDerivation rec {
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
## zim automates the downloading of any plugins you specify in the `.zimrc`
|
||||
## file. To do that with Nix, you'll need $ZIM_HOME to be writable.
|
||||
## `~/.cache/zim` is a good place for that. The problem is that zim also
|
||||
## looks for `zimfw.zsh` there, so we're going to tell it here to look for
|
||||
## the `zimfw.zsh` where we currently are.
|
||||
postFixup = ''
|
||||
substituteInPlace $out/zimfw.zsh \
|
||||
--replace "\''${ZIM_HOME}/zimfw.zsh" "$out/zimfw.zsh" \
|
||||
--replace "\''${(q-)ZIM_HOME}/zimfw.zsh" "$out/zimfw.zsh"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description =
|
||||
"The Zsh configuration framework with blazing speed and modular extensions";
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "smug";
|
||||
version = "0.3.3";
|
||||
version = "0.3.5";
|
||||
|
||||
subPackages = [ "." ];
|
||||
|
||||
@ -10,7 +10,7 @@ buildGoModule rec {
|
||||
owner = "ivaaaan";
|
||||
repo = "smug";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-dQp9Ov8Si9DfziVtX3dXsJg+BNKYOoL9/WwdalQ5TVw=";
|
||||
sha256 = "sha256-5n4EmkcHv6pw1gd9VUtJRR3QdRJsu5DYYsozJ25uggs=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-vaDUzVRmpmNn8/vUPeR1U5N6T4llFRIk9A1lum8uauU=";
|
||||
|
@ -4,21 +4,21 @@
|
||||
fetchFromGitHub,
|
||||
buildGoModule,
|
||||
nixosTests,
|
||||
gitUpdater,
|
||||
nix-update-script,
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "dae";
|
||||
version = "0.7.4";
|
||||
version = "0.8.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "daeuniverse";
|
||||
repo = "dae";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-bJ/a/SCNCutQDbmxPp36SYY7qhji2XRv6awp7buZVc0=";
|
||||
hash = "sha256-Vdh5acE5i/bJ8VXOm+9OqZQbxvqv4TS/t0DDfBs/K5g=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
vendorHash = "sha256-CVQTBJDwu7AYz6q0MnFPMINRShcnS1JOGqH+Ro4lIRo=";
|
||||
vendorHash = "sha256-0Q+1cXUu4EH4qkGlK6BIpv4dCdtSKjb1RbLi5Xfjcew=";
|
||||
|
||||
proxyVendor = true;
|
||||
|
||||
@ -52,9 +52,7 @@ buildGoModule rec {
|
||||
inherit (nixosTests) dae;
|
||||
};
|
||||
|
||||
passthru.updateScript = gitUpdater {
|
||||
rev-prefix = "v";
|
||||
};
|
||||
passthru.updateScript = nix-update-script { };
|
||||
|
||||
meta = with lib; {
|
||||
description = "Linux high-performance transparent proxy solution based on eBPF";
|
||||
|
@ -1,29 +1,29 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, python3
|
||||
{
|
||||
lib,
|
||||
fetchFromGitHub,
|
||||
python3,
|
||||
}:
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "mitmproxy2swagger";
|
||||
version = "0.13.0";
|
||||
format = "pyproject";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "alufers";
|
||||
repo = pname;
|
||||
repo = "mitmproxy2swagger";
|
||||
rev = "refs/tags/${version}";
|
||||
hash = "sha256-VHxqxee5sQWRS13V4SfY4LWaN0oxxWsNVDOEqUyKHfg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = with python3.pkgs; [
|
||||
poetry-core
|
||||
];
|
||||
|
||||
pythonRelaxDeps = [
|
||||
"mitmproxy"
|
||||
"ruamel.yaml"
|
||||
];
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
build-system = with python3.pkgs; [ poetry-core ];
|
||||
|
||||
dependencies = with python3.pkgs; [
|
||||
json-stream
|
||||
mitmproxy
|
||||
ruamel-yaml
|
||||
@ -32,16 +32,14 @@ python3.pkgs.buildPythonApplication rec {
|
||||
# No tests available
|
||||
doCheck = false;
|
||||
|
||||
pythonImportsCheck = [
|
||||
"mitmproxy2swagger"
|
||||
];
|
||||
pythonImportsCheck = [ "mitmproxy2swagger" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Tool to automagically reverse-engineer REST APIs";
|
||||
mainProgram = "mitmproxy2swagger";
|
||||
homepage = "https://github.com/alufers/mitmproxy2swagger";
|
||||
changelog = "https://github.com/alufers/mitmproxy2swagger/releases/tag/${version}";
|
||||
license = licenses.mit;
|
||||
maintainers = with maintainers; [ fab ];
|
||||
mainProgram = "mitmproxy2swagger";
|
||||
};
|
||||
}
|
||||
|
@ -720,6 +720,7 @@ mapAliases {
|
||||
hip-common = throw "'hip-common' has been replaced with 'rocmPackages.hip-common'"; # Added 2023-10-08
|
||||
hip-nvidia = throw "'hip-nvidia' has been removed in favor of 'rocmPackages.clr'"; # Added 2023-10-08
|
||||
hll2390dw-cups = throw "The hll2390dw-cups package was dropped since it was unmaintained."; # Added 2024-06-21
|
||||
hop-cli = throw "hop-cli has been removed as the service has been shut-down"; # Added 2024-08-13
|
||||
ht-rust = xh; # Added 2021-02-13
|
||||
hydra_unstable = hydra; # Added 2024-08-22
|
||||
hydron = throw "hydron has been removed as the project has been archived upstream since 2022 and is affected by a severe remote code execution vulnerability";
|
||||
|
@ -14978,8 +14978,6 @@ with pkgs;
|
||||
|
||||
hop = callPackage ../development/compilers/hop { };
|
||||
|
||||
hop-cli = throw "hop-cli has been removed as the service has been shut-down"; #Added 2024-08-13
|
||||
|
||||
falcon = callPackage ../development/interpreters/falcon {
|
||||
stdenv = gcc10Stdenv;
|
||||
};
|
||||
@ -19061,7 +19059,7 @@ with pkgs;
|
||||
|
||||
captive-browser = callPackage ../applications/networking/browsers/captive-browser { };
|
||||
|
||||
catboost = callPackage ../development/libraries/catboost {
|
||||
catboost = callPackage ../by-name/ca/catboost/package.nix {
|
||||
# https://github.com/catboost/catboost/issues/2540
|
||||
cudaPackages = cudaPackages_11;
|
||||
};
|
||||
@ -24550,8 +24548,10 @@ with pkgs;
|
||||
maker-panel = callPackage ../tools/misc/maker-panel { };
|
||||
|
||||
mastodon = callPackage ../servers/mastodon {
|
||||
nodejs-slim = nodejs-slim_20;
|
||||
ruby = ruby_3_2;
|
||||
nodejs-slim = nodejs-slim_22;
|
||||
python3 = python311;
|
||||
ruby = ruby_3_3;
|
||||
yarn-berry = yarn-berry.override { nodejs = nodejs-slim_22; };
|
||||
};
|
||||
|
||||
gotosocial = callPackage ../servers/gotosocial { };
|
||||
@ -26603,6 +26603,7 @@ with pkgs;
|
||||
ubootBananaPim64
|
||||
ubootAmx335xEVM
|
||||
ubootClearfog
|
||||
ubootCM3588NAS
|
||||
ubootCubieboard2
|
||||
ubootGuruplug
|
||||
ubootJetsonTK1
|
||||
@ -26615,6 +26616,7 @@ with pkgs;
|
||||
ubootOlimexA64Olinuxino
|
||||
ubootOlimexA64Teres1
|
||||
ubootOrangePi3
|
||||
ubootOrangePi3B
|
||||
ubootOrangePi5
|
||||
ubootOrangePi5Plus
|
||||
ubootOrangePiPc
|
||||
|
@ -367,10 +367,7 @@ in {
|
||||
|
||||
intel-speed-select = if lib.versionAtLeast kernel.version "5.3" then callPackage ../os-specific/linux/intel-speed-select { } else null;
|
||||
|
||||
ipu6-drivers =
|
||||
if kernelOlder "6.10"
|
||||
then callPackage ../os-specific/linux/ipu6-drivers {}
|
||||
else null;
|
||||
ipu6-drivers = callPackage ../os-specific/linux/ipu6-drivers {};
|
||||
|
||||
ivsc-driver = callPackage ../os-specific/linux/ivsc-driver {};
|
||||
|
||||
|
@ -6333,6 +6333,8 @@ self: super: with self; {
|
||||
|
||||
jaeger-client = callPackage ../development/python-modules/jaeger-client { };
|
||||
|
||||
jalali-core = callPackage ../development/python-modules/jalali-core { };
|
||||
|
||||
jamo = callPackage ../development/python-modules/jamo { };
|
||||
|
||||
janus = callPackage ../development/python-modules/janus { };
|
||||
@ -9399,6 +9401,8 @@ self: super: with self; {
|
||||
|
||||
opentelemetry-instrumentation-celery = callPackage ../development/python-modules/opentelemetry-instrumentation-celery { };
|
||||
|
||||
opentelemetry-instrumentation-botocore = callPackage ../development/python-modules/opentelemetry-instrumentation-botocore { };
|
||||
|
||||
opentelemetry-instrumentation-dbapi = callPackage ../development/python-modules/opentelemetry-instrumentation-dbapi { };
|
||||
|
||||
opentelemetry-instrumentation-django = callPackage ../development/python-modules/opentelemetry-instrumentation-django { };
|
||||
@ -9417,6 +9421,8 @@ self: super: with self; {
|
||||
|
||||
opentelemetry-instrumentation-wsgi = callPackage ../development/python-modules/opentelemetry-instrumentation-wsgi { };
|
||||
|
||||
opentelemetry-propagator-aws-xray = callPackage ../development/python-modules/opentelemetry-propagator-aws-xray { };
|
||||
|
||||
opentelemetry-proto = callPackage ../development/python-modules/opentelemetry-proto { };
|
||||
|
||||
opentelemetry-semantic-conventions = callPackage ../development/python-modules/opentelemetry-semantic-conventions { };
|
||||
|
@ -31,6 +31,11 @@
|
||||
, nixpkgsArgs ? { config = {
|
||||
allowUnfree = false;
|
||||
inHydra = true;
|
||||
# Exceptional unsafe packages that we still build and distribute,
|
||||
# so users choosing to allow don't have to rebuild them every time.
|
||||
permittedInsecurePackages = [
|
||||
"olm-3.2.16" # see PR #347899
|
||||
];
|
||||
}; }
|
||||
|
||||
# This flag, if set to true, will inhibit the use of `mapTestOn`
|
||||
|
Loading…
Reference in New Issue
Block a user