mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-10-06 04:27:27 +03:00
Merge branch 'master' into haskell-updates
This commit is contained in:
commit
8c5b90372b
189
doc/languages-frameworks/gradle.section.md
Normal file
189
doc/languages-frameworks/gradle.section.md
Normal file
@ -0,0 +1,189 @@
|
||||
# Gradle {#gradle}
|
||||
|
||||
Gradle is a popular build tool for Java/Kotlin. Gradle itself doesn't
|
||||
currently provide tools to make dependency resolution reproducible, so
|
||||
nixpkgs has a proxy designed for intercepting Gradle web requests to
|
||||
record dependencies so they can be restored in a reproducible fashion.
|
||||
|
||||
## Building a Gradle package {#building-a-gradle-package}
|
||||
|
||||
Here's how a typical derivation will look like:
|
||||
|
||||
```nix
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "pdftk";
|
||||
version = "3.3.3";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "pdftk-java";
|
||||
repo = "pdftk";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-ciKotTHSEcITfQYKFZ6sY2LZnXGChBJy0+eno8B3YHY=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ gradle ];
|
||||
|
||||
# if the package has dependencies, mitmCache must be set
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit (finalAttrs) pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
# this is required for using mitm-cache on Darwin
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
gradleFlags = [ "-Dfile.encoding=utf-8" ];
|
||||
|
||||
# defaults to "assemble"
|
||||
gradleBuildTask = "shadowJar";
|
||||
|
||||
# will run the gradleCheckTask (defaults to "test")
|
||||
doCheck = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/{bin,share/pdftk}
|
||||
cp build/libs/pdftk-all.jar $out/share/pdftk
|
||||
|
||||
makeWrapper ${jre}/bin/java $out/bin/pdftk \
|
||||
--add-flags "-jar $out/share/pdftk/pdftk-all.jar"
|
||||
|
||||
cp ${finalAttrs.src}/pdftk.1 $out/share/man/man1
|
||||
'';
|
||||
|
||||
meta.sourceProvenance = with lib.sourceTypes; [
|
||||
fromSource
|
||||
binaryBytecode # mitm cache
|
||||
];
|
||||
})
|
||||
```
|
||||
|
||||
To update (or initialize) dependencies, run the update script via
|
||||
something like `$(nix-build -A <pname>.mitmCache.updateScript)`
|
||||
(`nix-build` builds the `updateScript`, `$(...)` runs the script at the
|
||||
path printed by `nix-build`).
|
||||
|
||||
If your package can't be evaluated using a simple `pkgs.<pname>`
|
||||
expression (for example, if your package isn't located in nixpkgs, or if
|
||||
you want to override some of its attributes), you will usually have to
|
||||
pass `pkg` instead of `pname` to `gradle.fetchDeps`. There are two ways
|
||||
of doing it.
|
||||
|
||||
The first is to add the derivation arguments required for getting the
|
||||
package. Using the pdftk example above:
|
||||
|
||||
```nix
|
||||
{ lib
|
||||
, stdenv
|
||||
# ...
|
||||
, pdftk
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
# ...
|
||||
mitmCache = gradle.fetchDeps {
|
||||
pkg = pdftk;
|
||||
data = ./deps.json;
|
||||
};
|
||||
})
|
||||
```
|
||||
|
||||
This allows you to `override` any arguments of the `pkg` used for
|
||||
the update script (for example, `pkg = pdftk.override { enableSomeFlag =
|
||||
true };`), so this is the preferred way.
|
||||
|
||||
The second is to create a `let` binding for the package, like this:
|
||||
|
||||
```nix
|
||||
let self = stdenv.mkDerivation {
|
||||
# ...
|
||||
mitmCache = gradle.fetchDeps {
|
||||
pkg = self;
|
||||
data = ./deps.json;
|
||||
};
|
||||
}; in self
|
||||
```
|
||||
|
||||
This is useful if you can't easily pass the derivation as its own
|
||||
argument, or if your `mkDerivation` call is responsible for building
|
||||
multiple packages.
|
||||
|
||||
In the former case, the update script will stay the same even if the
|
||||
derivation is called with different arguments. In the latter case, the
|
||||
update script will change depending on the derivation arguments. It's up
|
||||
to you to decide which one would work best for your derivation.
|
||||
|
||||
## Update Script {#gradle-update-script}
|
||||
|
||||
The update script does the following:
|
||||
|
||||
- Build the derivation's source via `pkgs.srcOnly`
|
||||
- Enter a `nix-shell` for the derivation in a `bwrap` sandbox (the
|
||||
sandbox is only used on Linux)
|
||||
- Set the `IN_GRADLE_UPDATE_DEPS` environment variable to `1`
|
||||
- Run the derivation's `unpackPhase`, `patchPhase`, `configurePhase`
|
||||
- Run the derivation's `gradleUpdateScript` (the Gradle setup hook sets
|
||||
a default value for it, which runs `preBuild`, `preGradleUpdate`
|
||||
hooks, fetches the dependencies using `gradleUpdateTask`, and finally
|
||||
runs the `postGradleUpdate` hook)
|
||||
- Finally, store all of the fetched files' hashes in the lockfile. They
|
||||
may be `.jar`/`.pom` files from Maven repositories, or they may be
|
||||
files otherwise used for building the package.
|
||||
|
||||
`fetchDeps` takes the following arguments:
|
||||
|
||||
- `attrPath` - the path to the package in nixpkgs (for example,
|
||||
`"javaPackages.openjfx22"`). Used for update script metadata.
|
||||
- `pname` - an alias for `attrPath` for convenience. This is what you
|
||||
will generally use instead of `pkg` or `attrPath`.
|
||||
- `pkg` - the package to be used for fetching the dependencies. Defaults
|
||||
to `getAttrFromPath (splitString "." attrPath) pkgs`.
|
||||
- `bwrapFlags` - allows you to override bwrap flags (only relevant for
|
||||
downstream, non-nixpkgs projects)
|
||||
- `data` - path to the dependencies lockfile (can be relative to the
|
||||
package, can be absolute). In nixpkgs, it's discouraged to have the
|
||||
lockfiles be named anything other `deps.json`, consider creating
|
||||
subdirectories if your package requires multiple `deps.json` files.
|
||||
|
||||
## Environment {#gradle-environment}
|
||||
|
||||
The Gradle setup hook accepts the following environment variables:
|
||||
|
||||
- `mitmCache` - the MITM proxy cache imported using `gradle.fetchDeps`
|
||||
- `gradleFlags` - command-line flags to be used for every Gradle
|
||||
invocation (this simply registers a function that uses the necessary
|
||||
flags).
|
||||
- You can't use `gradleFlags` for flags that contain spaces, in that
|
||||
case you must add `gradleFlagsArray+=("-flag with spaces")` to the
|
||||
derivation's bash code instead.
|
||||
- If you want to build the package using a specific Java version, you
|
||||
can pass `"-Dorg.gradle.java.home=${jdk}"` as one of the flags.
|
||||
- `gradleBuildTask` - the Gradle task (or tasks) to be used for building
|
||||
the package. Defaults to `assemble`.
|
||||
- `gradleCheckTask` - the Gradle task (or tasks) to be used for checking
|
||||
the package if `doCheck` is set to `true`. Defaults to `test`.
|
||||
- `gradleUpdateTask` - the Gradle task (or tasks) to be used for
|
||||
fetching all of the package's dependencies in
|
||||
`mitmCache.updateScript`. Defaults to `nixDownloadDeps`.
|
||||
- `gradleUpdateScript` - the code to run for fetching all of the
|
||||
package's dependencies in `mitmCache.updateScript`. Defaults to
|
||||
running the `preBuild` and `preGradleUpdate` hooks, running the
|
||||
`gradleUpdateTask`, and finally running the `postGradleUpdate` hook.
|
||||
- `gradleInitScript` - path to the `--init-script` to pass to Gradle. By
|
||||
default, a simple init script that enables reproducible archive
|
||||
creation is used.
|
||||
- Note that reproducible archives might break some builds. One example
|
||||
of an error caused by it is `Could not create task ':jar'. Replacing
|
||||
an existing task that may have already been used by other plugins is
|
||||
not supported`. If you get such an error, the easiest "fix" is
|
||||
disabling reproducible archives altogether by setting
|
||||
`gradleInitScript` to something like `writeText
|
||||
"empty-init-script.gradle" ""`
|
||||
- `enableParallelBuilding` / `enableParallelChecking` /
|
||||
`enableParallelUpdating` - pass `--parallel` to Gradle in the
|
||||
build/check phase or in the update script. Defaults to true. If the
|
||||
build fails for mysterious reasons, consider setting this to false.
|
||||
- `dontUseGradleConfigure` / `dontUseGradleBuild` / `dontUseGradleCheck`
|
||||
\- force disable the Gradle setup hook for certain phases.
|
||||
- Note that if you disable the configure hook, you may face issues
|
||||
such as `Failed to load native library 'libnative-platform.so'`,
|
||||
because the configure hook is responsible for initializing Gradle.
|
@ -283,7 +283,10 @@ in {
|
||||
];
|
||||
|
||||
composerRepository = php.mkComposerRepository {
|
||||
inherit (finalAttrs) src;
|
||||
inherit (finalAttrs) pname version src;
|
||||
composerNoDev = true;
|
||||
composerNoPlugins = true;
|
||||
composerNoScripts = true;
|
||||
# Specifying a custom composer.lock since it is not present in the sources.
|
||||
composerLock = ./composer.lock;
|
||||
# The composer vendor hash
|
||||
|
@ -17398,6 +17398,12 @@
|
||||
githubId = 55679162;
|
||||
keys = [ { fingerprint = "1401 1B63 393D 16C1 AA9C C521 8526 B757 4A53 6236"; } ];
|
||||
};
|
||||
rorosen = {
|
||||
email = "robert.rose@mailbox.org";
|
||||
github = "rorosen";
|
||||
githubId = 76747196;
|
||||
name = "Robert Rose";
|
||||
};
|
||||
rosehobgoblin = {
|
||||
name = "J. L. Bowden";
|
||||
github = "rosehobgoblin";
|
||||
|
@ -502,6 +502,7 @@ with lib.maintainers;
|
||||
euank
|
||||
marcusramberg
|
||||
mic92
|
||||
rorosen
|
||||
superherointj
|
||||
wrmilling
|
||||
yajo
|
||||
|
@ -695,9 +695,7 @@ Use `services.pipewire.extraConfig` or `services.pipewire.configPackages` for Pi
|
||||
The previous native backends remain available but are now minimally maintained. Refer to [upstream documentation](https://doc.qt.io/qt-6/qtmultimedia-index.html#ffmpeg-as-the-default-backend) for further details about each platform.
|
||||
|
||||
- `services.btrbk` now automatically selects and provides required compression
|
||||
program depending on the configured `stream_compress` option. Since this
|
||||
replaces the need for the `extraPackages` option, this option will be
|
||||
deprecated in future releases.
|
||||
program depending on the configured `stream_compress` option.
|
||||
|
||||
- `services.github-runner` module has been removed. To configure a single GitHub Actions Runner refer to `services.github-runners.*`. Note that this will trigger a new runner registration.
|
||||
|
||||
|
@ -30,12 +30,16 @@
|
||||
|
||||
- [Envision](https://gitlab.com/gabmus/envision), a UI for building, configuring and running Monado, the open source OpenXR runtime. Available as [programs.envision](#opt-programs.envision.enable).
|
||||
|
||||
- [Localsend](https://localsend.org/), an open source cross-platform alternative to AirDrop. Available as [programs.localsend](#opt-programs.localsend.enable).
|
||||
|
||||
- [realm](https://github.com/zhboner/realm), a simple, high performance relay server written in rust. Available as [services.realm.enable](#opt-services.realm.enable).
|
||||
|
||||
- [Playerctld](https://github.com/altdesktop/playerctl), a daemon to track media player activity. Available as [services.playerctld](option.html#opt-services.playerctld).
|
||||
|
||||
- [Glance](https://github.com/glanceapp/glance), a self-hosted dashboard that puts all your feeds in one place. Available as [services.glance](option.html#opt-services.glance).
|
||||
|
||||
- [Apache Tika](https://github.com/apache/tika), a toolkit that detects and extracts metadata and text from over a thousand different file types. Available as [services.tika](option.html#opt-services.tika).
|
||||
|
||||
## Backward Incompatibilities {#sec-release-24.11-incompatibilities}
|
||||
|
||||
- `transmission` package has been aliased with a `trace` warning to `transmission_3`. Since [Transmission 4 has been released last year](https://github.com/transmission/transmission/releases/tag/4.0.0), and Transmission 3 will eventually go away, it was decided perform this warning alias to make people aware of the new version. The `services.transmission.package` defaults to `transmission_3` as well because the upgrade can cause data loss in certain specific usage patterns (examples: [#5153](https://github.com/transmission/transmission/issues/5153), [#6796](https://github.com/transmission/transmission/issues/6796)). Please make sure to back up to your data directory per your usage:
|
||||
|
@ -14,6 +14,8 @@
|
||||
.Op Fl -root Ar root
|
||||
.Op Fl -system Ar path
|
||||
.Op Fl -flake Ar flake-uri
|
||||
.Op Fl -file | f Ar path
|
||||
.Op Fl -attr | A Ar attrPath
|
||||
.Op Fl -impure
|
||||
.Op Fl -channel Ar channel
|
||||
.Op Fl -no-channel-copy
|
||||
@ -111,6 +113,32 @@ output named
|
||||
.Ql nixosConfigurations. Ns Ar name Ns
|
||||
\&.
|
||||
.
|
||||
.It Fl -file Ar path , Fl f Ar path
|
||||
Enable and build the NixOS system from the specified file. The file must
|
||||
evaluate to an attribute set, and it must contain a valid NixOS configuration
|
||||
at attribute
|
||||
.Va attrPath Ns
|
||||
\&. This is useful for building a NixOS system from a nix file that is not
|
||||
a flake or a NixOS configuration module. Attribute set a with valid NixOS
|
||||
configuration can be made using
|
||||
.Va nixos
|
||||
function in nixpkgs or importing and calling
|
||||
.Pa nixos/lib/eval-config.nix
|
||||
from nixpkgs. If specified without
|
||||
.Fl -attr
|
||||
option, builds the configuration from the top-level
|
||||
attribute of the file.
|
||||
.
|
||||
.It Fl -attr Ar attrPath , Fl A Ar attrPath
|
||||
Enable and build the NixOS system from nix file and use the specified attribute
|
||||
path from file specified by the
|
||||
.Fl -file
|
||||
option. If specified without
|
||||
.Fl -file
|
||||
option, uses
|
||||
.Va [root] Ns Pa /etc/nixos/default.nix Ns
|
||||
\&.
|
||||
.
|
||||
.It Fl -channel Ar channel
|
||||
If this option is provided, do not copy the current
|
||||
.Dq nixos
|
||||
|
@ -17,6 +17,9 @@ mountPoint=/mnt
|
||||
channelPath=
|
||||
system=
|
||||
verbosity=()
|
||||
attr=
|
||||
buildFile=
|
||||
buildingAttribute=1
|
||||
|
||||
while [ "$#" -gt 0 ]; do
|
||||
i="$1"; shift 1
|
||||
@ -41,6 +44,24 @@ while [ "$#" -gt 0 ]; do
|
||||
flakeFlags=(--experimental-features 'nix-command flakes')
|
||||
shift 1
|
||||
;;
|
||||
--file|-f)
|
||||
if [ -z "$1" ]; then
|
||||
log "$0: '$i' requires an argument"
|
||||
exit 1
|
||||
fi
|
||||
buildFile="$1"
|
||||
buildingAttribute=
|
||||
shift 1
|
||||
;;
|
||||
--attr|-A)
|
||||
if [ -z "$1" ]; then
|
||||
log "$0: '$i' requires an argument"
|
||||
exit 1
|
||||
fi
|
||||
attr="$1"
|
||||
buildingAttribute=
|
||||
shift 1
|
||||
;;
|
||||
--recreate-lock-file|--no-update-lock-file|--no-write-lock-file|--no-registries|--commit-lock-file)
|
||||
lockFlags+=("$i")
|
||||
;;
|
||||
@ -101,17 +122,30 @@ while [[ "$checkPath" != "/" ]]; do
|
||||
checkPath="$(dirname "$checkPath")"
|
||||
done
|
||||
|
||||
# Get the path of the NixOS configuration file.
|
||||
if [[ -z $NIXOS_CONFIG ]]; then
|
||||
NIXOS_CONFIG=$mountPoint/etc/nixos/configuration.nix
|
||||
fi
|
||||
|
||||
if [[ ${NIXOS_CONFIG:0:1} != / ]]; then
|
||||
echo "$0: \$NIXOS_CONFIG is not an absolute path"
|
||||
# Verify that user is not trying to use attribute building and flake
|
||||
# at the same time
|
||||
if [[ -z $buildingAttribute && -n $flake ]]; then
|
||||
echo "$0: '--flake' cannot be used with '--file' or '--attr'"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -n $flake ]]; then
|
||||
# Get the path of the NixOS configuration file.
|
||||
if [[ -z $flake && -n $buildingAttribute ]]; then
|
||||
if [[ -z $NIXOS_CONFIG ]]; then
|
||||
NIXOS_CONFIG=$mountPoint/etc/nixos/configuration.nix
|
||||
fi
|
||||
|
||||
if [[ ${NIXOS_CONFIG:0:1} != / ]]; then
|
||||
echo "$0: \$NIXOS_CONFIG is not an absolute path"
|
||||
exit 1
|
||||
fi
|
||||
elif [[ -z $buildingAttribute ]]; then
|
||||
if [[ -z $buildFile ]]; then
|
||||
buildFile="$mountPoint/etc/nixos/default.nix"
|
||||
elif [[ -d $buildFile ]]; then
|
||||
buildFile="$buildFile/default.nix"
|
||||
fi
|
||||
elif [[ -n $flake ]]; then
|
||||
if [[ $flake =~ ^(.*)\#([^\#\"]*)$ ]]; then
|
||||
flake="${BASH_REMATCH[1]}"
|
||||
flakeAttr="${BASH_REMATCH[2]}"
|
||||
@ -129,11 +163,16 @@ if [[ -n $flake ]]; then
|
||||
flake=$(nix "${flakeFlags[@]}" flake metadata --json "${extraBuildFlags[@]}" "${lockFlags[@]}" -- "$flake" | jq -r .url)
|
||||
fi
|
||||
|
||||
if [[ ! -e $NIXOS_CONFIG && -z $system && -z $flake ]]; then
|
||||
if [[ ! -e $NIXOS_CONFIG && -z $system && -z $flake && -n $buildingAttribute ]]; then
|
||||
echo "configuration file $NIXOS_CONFIG doesn't exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -z $buildingAttribute && -e $buildFile && -z $system ]]; then
|
||||
echo "configuration file $buildFile doesn't exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# A place to drop temporary stuff.
|
||||
tmpdir="$(mktemp -d -p "$mountPoint")"
|
||||
trap 'rm -rf $tmpdir' EXIT
|
||||
@ -163,11 +202,20 @@ fi
|
||||
# Build the system configuration in the target filesystem.
|
||||
if [[ -z $system ]]; then
|
||||
outLink="$tmpdir/system"
|
||||
if [[ -z $flake ]]; then
|
||||
if [[ -z $flake && -n $buildingAttribute ]]; then
|
||||
echo "building the configuration in $NIXOS_CONFIG..."
|
||||
nix-build --out-link "$outLink" --store "$mountPoint" "${extraBuildFlags[@]}" \
|
||||
--extra-substituters "$sub" \
|
||||
'<nixpkgs/nixos>' -A system -I "nixos-config=$NIXOS_CONFIG" "${verbosity[@]}"
|
||||
elif [[ -z $buildingAttribute ]]; then
|
||||
if [[ -n $attr ]]; then
|
||||
echo "building the configuration in $buildFile and attribute $attr..."
|
||||
else
|
||||
echo "building the configuration in $buildFile..."
|
||||
fi
|
||||
nix-build --out-link "$outLink" --store "$mountPoint" "${extraBuildFlags[@]}" \
|
||||
--extra-substituters "$sub" \
|
||||
"$buildFile" -A "${attr:+$attr.}config.system.build.toplevel" "${verbosity[@]}"
|
||||
else
|
||||
echo "building the flake in $flake..."
|
||||
nix "${flakeFlags[@]}" build "$flake#$flakeAttr.config.system.build.toplevel" \
|
||||
|
@ -226,6 +226,7 @@
|
||||
./programs/less.nix
|
||||
./programs/liboping.nix
|
||||
./programs/light.nix
|
||||
./programs/localsend.nix
|
||||
./programs/mdevctl.nix
|
||||
./programs/mepo.nix
|
||||
./programs/mininet.nix
|
||||
@ -1264,6 +1265,7 @@
|
||||
./services/search/qdrant.nix
|
||||
./services/search/quickwit.nix
|
||||
./services/search/sonic-server.nix
|
||||
./services/search/tika.nix
|
||||
./services/search/typesense.nix
|
||||
./services/security/aesmd.nix
|
||||
./services/security/authelia.nix
|
||||
|
26
nixos/modules/programs/localsend.nix
Normal file
26
nixos/modules/programs/localsend.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.programs.localsend;
|
||||
firewallPort = 53317;
|
||||
in
|
||||
{
|
||||
options.programs.localsend = {
|
||||
enable = lib.mkEnableOption "localsend, an open source cross-platform alternative to AirDrop";
|
||||
|
||||
openFirewall = lib.mkEnableOption "opening the firewall port ${toString firewallPort} for receiving files" // {
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [ pkgs.localsend ];
|
||||
networking.firewall.allowedTCPPorts = lib.optionals cfg.openFirewall [ firewallPort ];
|
||||
};
|
||||
|
||||
meta.maintainers = with lib.maintainers; [ pandapip1 ];
|
||||
}
|
@ -204,10 +204,6 @@ in
|
||||
};
|
||||
config = mkIf (sshEnabled || serviceEnabled) {
|
||||
|
||||
warnings = optional (cfg.extraPackages != []) ''
|
||||
extraPackages option will be deprecated in future releases. Programs required for compression are now automatically selected depending on services.btrbk.instances.<name>.settings.stream_compress option.
|
||||
'';
|
||||
|
||||
environment.systemPackages = [ pkgs.btrbk ] ++ cfg.extraPackages;
|
||||
|
||||
security.sudo.extraRules = mkIf (sudo_doas == "sudo") [ sudoRule ];
|
||||
|
@ -39,6 +39,7 @@ in {
|
||||
qtmir # not having its desktop file for Xwayland available causes any X11 application to crash the session
|
||||
suru-icon-theme
|
||||
telephony-service
|
||||
teleports
|
||||
]);
|
||||
variables = {
|
||||
# To override the keyboard layouts in Lomiri
|
||||
|
@ -81,6 +81,33 @@ in
|
||||
Only log messages with the given severity or above.
|
||||
'';
|
||||
};
|
||||
|
||||
environmentFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
example = "/root/prometheus-snmp-exporter.env";
|
||||
description = ''
|
||||
EnvironmentFile as defined in {manpage}`systemd.exec(5)`.
|
||||
|
||||
Secrets may be passed to the service without adding them to the
|
||||
world-readable Nix store, by specifying placeholder variables as
|
||||
the option value in Nix and setting these variables accordingly in the
|
||||
environment file.
|
||||
|
||||
Environment variables from this file will be interpolated into the
|
||||
config file using envsubst with this syntax:
|
||||
`$ENVIRONMENT ''${VARIABLE}`
|
||||
|
||||
For variables to use see [Prometheus Configuration](https://github.com/prometheus/snmp_exporter#prometheus-configuration).
|
||||
|
||||
If the file path is set to this option, the parameter
|
||||
`--config.expand-environment-variables` is implicitly added to
|
||||
`ExecStart`.
|
||||
|
||||
Note that this file needs to be available on the host on which
|
||||
this exporter is running.
|
||||
'';
|
||||
};
|
||||
};
|
||||
serviceOpts = let
|
||||
uncheckedConfigFile = if cfg.configurationPath != null
|
||||
@ -92,9 +119,12 @@ in
|
||||
uncheckedConfigFile;
|
||||
in {
|
||||
serviceConfig = {
|
||||
EnvironmentFile = lib.mkIf (cfg.environmentFile != null) [ cfg.environmentFile ];
|
||||
ExecStart = ''
|
||||
${pkgs.prometheus-snmp-exporter}/bin/snmp_exporter \
|
||||
--config.file=${escapeShellArg configFile} \
|
||||
${lib.optionalString (cfg.environmentFile != null)
|
||||
"--config.expand-environment-variables"} \
|
||||
--log.format=${escapeShellArg cfg.logFormat} \
|
||||
--log.level=${cfg.logLevel} \
|
||||
--web.listen-address=${cfg.listenAddress}:${toString cfg.port} \
|
||||
|
@ -62,11 +62,11 @@ in
|
||||
keyfile = mkOption {
|
||||
type = types.path;
|
||||
description = ''
|
||||
Name of a file containing the spiped key. As the
|
||||
daemon runs as the `spiped` user, the
|
||||
key file must be somewhere owned by that user. By
|
||||
default, we recommend putting the keys for any spipe
|
||||
services in `/var/lib/spiped`.
|
||||
Name of a file containing the spiped key.
|
||||
As the daemon runs as the `spiped` user,
|
||||
the key file must be readable by that user.
|
||||
To securely manage the file within your configuration
|
||||
consider a tool such as agenix or sops-nix.
|
||||
'';
|
||||
};
|
||||
|
||||
@ -185,22 +185,12 @@ in
|
||||
serviceConfig = {
|
||||
Restart = "always";
|
||||
User = "spiped";
|
||||
PermissionsStartOnly = true;
|
||||
};
|
||||
|
||||
preStart = ''
|
||||
cd /var/lib/spiped
|
||||
chmod -R 0660 *
|
||||
chown -R spiped:spiped *
|
||||
'';
|
||||
scriptArgs = "%i";
|
||||
script = "exec ${pkgs.spiped}/bin/spiped -F `cat /etc/spiped/$1.spec`";
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules = lib.mkIf (cfg.config != { }) [
|
||||
"d /var/lib/spiped -"
|
||||
];
|
||||
|
||||
# Setup spiped config files
|
||||
environment.etc = mapAttrs' (name: cfg: nameValuePair "spiped/${name}.spec"
|
||||
{ text = concatStringsSep " "
|
||||
|
84
nixos/modules/services/search/tika.nix
Normal file
84
nixos/modules/services/search/tika.nix
Normal file
@ -0,0 +1,84 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
let
|
||||
cfg = config.services.tika;
|
||||
inherit (lib)
|
||||
literalExpression
|
||||
mkIf
|
||||
mkEnableOption
|
||||
mkOption
|
||||
mkPackageOption
|
||||
getExe
|
||||
types
|
||||
;
|
||||
in
|
||||
{
|
||||
meta.maintainers = [ lib.maintainers.drupol ];
|
||||
|
||||
options = {
|
||||
services.tika = {
|
||||
enable = mkEnableOption "Apache Tika server";
|
||||
package = mkPackageOption pkgs "tika" { };
|
||||
|
||||
listenAddress = mkOption {
|
||||
type = types.str;
|
||||
default = "127.0.0.1";
|
||||
example = "0.0.0.0";
|
||||
description = ''
|
||||
The Apache Tika bind address.
|
||||
'';
|
||||
};
|
||||
|
||||
port = mkOption {
|
||||
type = types.port;
|
||||
default = 9998;
|
||||
description = ''
|
||||
The Apache Tike port to listen on
|
||||
'';
|
||||
};
|
||||
|
||||
configFile = mkOption {
|
||||
type = types.nullOr types.path;
|
||||
default = null;
|
||||
description = ''
|
||||
The Apache Tika configuration (XML) file to use.
|
||||
'';
|
||||
example = literalExpression "./tika/tika-config.xml";
|
||||
};
|
||||
|
||||
openFirewall = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = ''
|
||||
Whether to open the firewall for Apache Tika.
|
||||
This adds `services.tika.port` to `networking.firewall.allowedTCPPorts`.
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.tika = {
|
||||
description = "Apache Tika Server";
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
after = [ "network.target" ];
|
||||
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
|
||||
ExecStart = "${getExe cfg.package} --host ${cfg.listenAddress} --port ${toString cfg.port} ${lib.optionalString (cfg.configFile != null) "--config ${cfg.configFile}"}";
|
||||
DynamicUser = true;
|
||||
StateDirectory = "tika";
|
||||
CacheDirectory = "tika";
|
||||
};
|
||||
};
|
||||
|
||||
networking.firewall = mkIf cfg.openFirewall { allowedTCPPorts = [ cfg.port ]; };
|
||||
};
|
||||
}
|
@ -516,6 +516,7 @@ in {
|
||||
listmonk = handleTestOn [ "x86_64-linux" "aarch64-linux" ] ./listmonk.nix {};
|
||||
litestream = handleTest ./litestream.nix {};
|
||||
lldap = handleTest ./lldap.nix {};
|
||||
localsend = handleTest ./localsend.nix {};
|
||||
locate = handleTest ./locate.nix {};
|
||||
login = handleTest ./login.nix {};
|
||||
logrotate = handleTest ./logrotate.nix {};
|
||||
@ -975,11 +976,13 @@ in {
|
||||
teeworlds = handleTest ./teeworlds.nix {};
|
||||
telegraf = handleTest ./telegraf.nix {};
|
||||
teleport = handleTest ./teleport.nix {};
|
||||
teleports = runTest ./teleports.nix;
|
||||
thelounge = handleTest ./thelounge.nix {};
|
||||
terminal-emulators = handleTest ./terminal-emulators.nix {};
|
||||
thanos = handleTest ./thanos.nix {};
|
||||
tiddlywiki = handleTest ./tiddlywiki.nix {};
|
||||
tigervnc = handleTest ./tigervnc.nix {};
|
||||
tika = runTest ./tika.nix;
|
||||
timescaledb = handleTest ./timescaledb.nix {};
|
||||
timezone = handleTest ./timezone.nix {};
|
||||
tinc = handleTest ./tinc {};
|
||||
|
@ -16,14 +16,14 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
# list probes
|
||||
machine.succeed("bpftrace -l")
|
||||
# simple BEGIN probe (user probe on bpftrace itself)
|
||||
print(machine.succeed("bpftrace -e 'BEGIN { print(\"ok\"); exit(); }'"))
|
||||
print(machine.succeed("bpftrace -e 'BEGIN { print(\"ok\\n\"); exit(); }'"))
|
||||
# tracepoint
|
||||
print(machine.succeed("bpftrace -e 'tracepoint:syscalls:sys_enter_* { print(probe); exit() }'"))
|
||||
# kprobe
|
||||
print(machine.succeed("bpftrace -e 'kprobe:schedule { print(probe); exit() }'"))
|
||||
# BTF
|
||||
print(machine.succeed("bpftrace -e 'kprobe:schedule { "
|
||||
" printf(\"tgid: %d\", ((struct task_struct*) curtask)->tgid); exit() "
|
||||
" printf(\"tgid: %d\\n\", ((struct task_struct*) curtask)->tgid); exit() "
|
||||
"}'"))
|
||||
# module BTF (bpftrace >= 0.17)
|
||||
# test is currently disabled on aarch64 as kfunc does not work there yet
|
||||
@ -32,5 +32,8 @@ import ./make-test-python.nix ({ pkgs, ... }: {
|
||||
"bpftrace -e 'kfunc:nft_trans_alloc_gfp { "
|
||||
" printf(\"portid: %d\\n\", args->ctx->portid); "
|
||||
"} BEGIN { exit() }'"))
|
||||
# glibc includes
|
||||
print(machine.succeed("bpftrace -e '#include <errno.h>\n"
|
||||
"BEGIN { printf(\"ok %d\\n\", EINVAL); exit(); }'"))
|
||||
'';
|
||||
})
|
||||
|
@ -11,7 +11,7 @@ let
|
||||
|
||||
# The configuration to install.
|
||||
makeConfig = { bootLoader, grubDevice, grubIdentifier, grubUseEfi
|
||||
, extraConfig, forceGrubReinstallCount ? 0, flake ? false
|
||||
, extraConfig, forceGrubReinstallCount ? 0, withTestInstrumentation ? true
|
||||
, clevisTest
|
||||
}:
|
||||
pkgs.writeText "configuration.nix" ''
|
||||
@ -19,7 +19,7 @@ let
|
||||
|
||||
{ imports =
|
||||
[ ./hardware-configuration.nix
|
||||
${if flake
|
||||
${if !withTestInstrumentation
|
||||
then "" # Still included, but via installer/flake.nix
|
||||
else "<nixpkgs/nixos/modules/testing/test-instrumentation.nix>"}
|
||||
];
|
||||
@ -81,7 +81,7 @@ let
|
||||
# partitions and filesystems.
|
||||
testScriptFun = { bootLoader, createPartitions, grubDevice, grubUseEfi, grubIdentifier
|
||||
, postInstallCommands, postBootCommands, extraConfig
|
||||
, testSpecialisationConfig, testFlakeSwitch, clevisTest, clevisFallbackTest
|
||||
, testSpecialisationConfig, testFlakeSwitch, testByAttrSwitch, clevisTest, clevisFallbackTest
|
||||
, disableFileSystems
|
||||
}:
|
||||
let
|
||||
@ -316,6 +316,119 @@ let
|
||||
|
||||
target.shutdown()
|
||||
''
|
||||
+ optionalString testByAttrSwitch ''
|
||||
with subtest("Configure system with attribute set"):
|
||||
target.succeed("""
|
||||
mkdir /root/my-config
|
||||
mv /etc/nixos/hardware-configuration.nix /root/my-config/
|
||||
rm /etc/nixos/configuration.nix
|
||||
""")
|
||||
target.copy_from_host_via_shell(
|
||||
"${makeConfig {
|
||||
inherit bootLoader grubDevice grubIdentifier grubUseEfi extraConfig clevisTest;
|
||||
forceGrubReinstallCount = 1;
|
||||
withTestInstrumentation = false;
|
||||
}}",
|
||||
"/root/my-config/configuration.nix",
|
||||
)
|
||||
target.copy_from_host_via_shell(
|
||||
"${./installer/byAttrWithChannel.nix}",
|
||||
"/root/my-config/default.nix",
|
||||
)
|
||||
with subtest("Switch to attribute set based config with channels"):
|
||||
target.succeed("nixos-rebuild switch --file /root/my-config/default.nix")
|
||||
|
||||
target.shutdown()
|
||||
|
||||
${startTarget}
|
||||
|
||||
target.succeed("""
|
||||
rm /root/my-config/default.nix
|
||||
""")
|
||||
target.copy_from_host_via_shell(
|
||||
"${./installer/byAttrNoChannel.nix}",
|
||||
"/root/my-config/default.nix",
|
||||
)
|
||||
|
||||
target.succeed("""
|
||||
pkgs=$(readlink -f /nix/var/nix/profiles/per-user/root/channels)/nixos
|
||||
if ! [[ -e $pkgs/pkgs/top-level/default.nix ]]; then
|
||||
echo 1>&2 "$pkgs does not seem to be a nixpkgs source. Please fix the test so that pkgs points to a nixpkgs source.";
|
||||
exit 1;
|
||||
fi
|
||||
sed -e s^@nixpkgs@^$pkgs^ -i /root/my-config/default.nix
|
||||
|
||||
""")
|
||||
|
||||
with subtest("Switch to attribute set based config without channels"):
|
||||
target.succeed("nixos-rebuild switch --file /root/my-config/default.nix")
|
||||
|
||||
target.shutdown()
|
||||
|
||||
${startTarget}
|
||||
|
||||
with subtest("nix-channel command is not available anymore"):
|
||||
target.succeed("! which nix-channel")
|
||||
|
||||
with subtest("builtins.nixPath is now empty"):
|
||||
target.succeed("""
|
||||
[[ "[ ]" == "$(nix-instantiate builtins.nixPath --eval --expr)" ]]
|
||||
""")
|
||||
|
||||
with subtest("<nixpkgs> does not resolve"):
|
||||
target.succeed("""
|
||||
! nix-instantiate '<nixpkgs>' --eval --expr
|
||||
""")
|
||||
|
||||
with subtest("Evaluate attribute set based config in fresh env without nix-channel"):
|
||||
target.succeed("nixos-rebuild switch --file /root/my-config/default.nix")
|
||||
|
||||
with subtest("Evaluate attribute set based config in fresh env without channel profiles"):
|
||||
target.succeed("""
|
||||
(
|
||||
exec 1>&2
|
||||
mkdir -p /root/restore
|
||||
mv -v /root/.nix-channels /root/restore/
|
||||
mv -v ~/.nix-defexpr /root/restore/
|
||||
mkdir -p /root/restore/channels
|
||||
mv -v /nix/var/nix/profiles/per-user/root/channels* /root/restore/channels/
|
||||
)
|
||||
""")
|
||||
target.succeed("nixos-rebuild switch --file /root/my-config/default.nix")
|
||||
''
|
||||
+ optionalString (testByAttrSwitch && testFlakeSwitch) ''
|
||||
with subtest("Restore channel profiles"):
|
||||
target.succeed("""
|
||||
(
|
||||
exec 1>&2
|
||||
mv -v /root/restore/.nix-channels /root/
|
||||
mv -v /root/restore/.nix-defexpr ~/.nix-defexpr
|
||||
mv -v /root/restore/channels/* /nix/var/nix/profiles/per-user/root/
|
||||
rm -vrf /root/restore
|
||||
)
|
||||
""")
|
||||
|
||||
with subtest("Restore /etc/nixos"):
|
||||
target.succeed("""
|
||||
mv -v /root/my-config/hardware-configuration.nix /etc/nixos/
|
||||
""")
|
||||
target.copy_from_host_via_shell(
|
||||
"${makeConfig {
|
||||
inherit bootLoader grubDevice grubIdentifier grubUseEfi extraConfig clevisTest;
|
||||
forceGrubReinstallCount = 1;
|
||||
}}",
|
||||
"/etc/nixos/configuration.nix",
|
||||
)
|
||||
|
||||
with subtest("Restore /root/my-config"):
|
||||
target.succeed("""
|
||||
rm -vrf /root/my-config
|
||||
""")
|
||||
|
||||
''
|
||||
+ optionalString (testByAttrSwitch && !testFlakeSwitch) ''
|
||||
target.shutdown()
|
||||
''
|
||||
+ optionalString testFlakeSwitch ''
|
||||
${startTarget}
|
||||
|
||||
@ -330,7 +443,7 @@ let
|
||||
"${makeConfig {
|
||||
inherit bootLoader grubDevice grubIdentifier grubUseEfi extraConfig clevisTest;
|
||||
forceGrubReinstallCount = 1;
|
||||
flake = true;
|
||||
withTestInstrumentation = false;
|
||||
}}",
|
||||
"/root/my-config/configuration.nix",
|
||||
)
|
||||
@ -399,6 +512,7 @@ let
|
||||
, enableOCR ? false, meta ? {}
|
||||
, testSpecialisationConfig ? false
|
||||
, testFlakeSwitch ? false
|
||||
, testByAttrSwitch ? false
|
||||
, clevisTest ? false
|
||||
, clevisFallbackTest ? false
|
||||
, disableFileSystems ? false
|
||||
@ -533,7 +647,7 @@ let
|
||||
testScript = testScriptFun {
|
||||
inherit bootLoader createPartitions postInstallCommands postBootCommands
|
||||
grubDevice grubIdentifier grubUseEfi extraConfig
|
||||
testSpecialisationConfig testFlakeSwitch clevisTest clevisFallbackTest
|
||||
testSpecialisationConfig testFlakeSwitch testByAttrSwitch clevisTest clevisFallbackTest
|
||||
disableFileSystems;
|
||||
};
|
||||
};
|
||||
@ -589,6 +703,15 @@ let
|
||||
testFlakeSwitch = true;
|
||||
};
|
||||
|
||||
simple-test-config-by-attr = simple-test-config // {
|
||||
testByAttrSwitch = true;
|
||||
};
|
||||
|
||||
simple-test-config-from-by-attr-to-flake = simple-test-config // {
|
||||
testByAttrSwitch = true;
|
||||
testFlakeSwitch = true;
|
||||
};
|
||||
|
||||
simple-uefi-grub-config = {
|
||||
createPartitions = ''
|
||||
installer.succeed(
|
||||
@ -782,6 +905,10 @@ in {
|
||||
|
||||
switchToFlake = makeInstallerTest "switch-to-flake" simple-test-config-flake;
|
||||
|
||||
switchToByAttr = makeInstallerTest "switch-to-by-attr" simple-test-config-by-attr;
|
||||
|
||||
switchFromByAttrToFlake = makeInstallerTest "switch-from-by-attr-to-flake" simple-test-config-from-by-attr-to-flake;
|
||||
|
||||
# Test cloned configurations with the simple grub configuration
|
||||
simpleSpecialised = makeInstallerTest "simpleSpecialised" (simple-test-config // specialisation-test-extraconfig);
|
||||
|
||||
|
18
nixos/tests/installer/byAttrNoChannel.nix
Normal file
18
nixos/tests/installer/byAttrNoChannel.nix
Normal file
@ -0,0 +1,18 @@
|
||||
# This file gets copied into the installation
|
||||
|
||||
let
|
||||
nixpkgs = "@nixpkgs@";
|
||||
in
|
||||
|
||||
{ evalConfig ? import "${nixpkgs}/nixos/lib/eval-config.nix" }:
|
||||
|
||||
evalConfig {
|
||||
modules = [
|
||||
./configuration.nix
|
||||
( import "${nixpkgs}/nixos/modules/testing/test-instrumentation.nix" )
|
||||
{
|
||||
# Disable nix channels
|
||||
nix.channel.enable = false;
|
||||
}
|
||||
];
|
||||
}
|
10
nixos/tests/installer/byAttrWithChannel.nix
Normal file
10
nixos/tests/installer/byAttrWithChannel.nix
Normal file
@ -0,0 +1,10 @@
|
||||
# This file gets copied into the installation
|
||||
|
||||
{ evalConfig ? import <nixpkgs/nixos/lib/eval-config.nix> }:
|
||||
|
||||
evalConfig {
|
||||
modules = [
|
||||
./configuration.nix
|
||||
( import <nixpkgs/nixos/modules/testing/test-instrumentation.nix> )
|
||||
];
|
||||
}
|
21
nixos/tests/localsend.nix
Normal file
21
nixos/tests/localsend.nix
Normal file
@ -0,0 +1,21 @@
|
||||
import ./make-test-python.nix (
|
||||
{ ... }:
|
||||
{
|
||||
name = "localsend";
|
||||
|
||||
nodes.machine =
|
||||
{ ... }:
|
||||
{
|
||||
imports = [ ./common/x11.nix ];
|
||||
programs.localsend.enable = true;
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_x()
|
||||
machine.succeed("localsend_app >&2 &")
|
||||
machine.wait_for_open_port(53317)
|
||||
machine.wait_for_window("LocalSend", 10)
|
||||
machine.succeed("netstat --listening --program --tcp | grep -P 'tcp.*53317.*localsend'")
|
||||
'';
|
||||
}
|
||||
)
|
48
nixos/tests/teleports.nix
Normal file
48
nixos/tests/teleports.nix
Normal file
@ -0,0 +1,48 @@
|
||||
{ pkgs, lib, ... }:
|
||||
{
|
||||
name = "teleports-standalone";
|
||||
meta.maintainers = lib.teams.lomiri.members;
|
||||
|
||||
nodes.machine =
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
imports = [ ./common/x11.nix ];
|
||||
|
||||
services.xserver.enable = true;
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs.lomiri; [
|
||||
suru-icon-theme
|
||||
teleports
|
||||
];
|
||||
variables = {
|
||||
UITK_ICON_THEME = "suru";
|
||||
};
|
||||
};
|
||||
|
||||
i18n.supportedLocales = [ "all" ];
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
# Intended font & helps with OCR
|
||||
ubuntu_font_family
|
||||
];
|
||||
};
|
||||
|
||||
enableOCR = true;
|
||||
|
||||
testScript = ''
|
||||
machine.wait_for_x()
|
||||
|
||||
with subtest("teleports launches"):
|
||||
machine.execute("teleports >&2 &")
|
||||
machine.wait_for_text(r"(TELEports|Phone Number)")
|
||||
machine.screenshot("teleports_open")
|
||||
|
||||
machine.succeed("pkill -f teleports")
|
||||
|
||||
with subtest("teleports localisation works"):
|
||||
machine.execute("env LANG=de_DE.UTF-8 teleports >&2 &")
|
||||
machine.wait_for_text("Telefonnummer")
|
||||
machine.screenshot("teleports_localised")
|
||||
'';
|
||||
}
|
21
nixos/tests/tika.nix
Normal file
21
nixos/tests/tika.nix
Normal file
@ -0,0 +1,21 @@
|
||||
{ lib, ... }:
|
||||
|
||||
{
|
||||
name = "tika-server";
|
||||
|
||||
nodes = {
|
||||
machine = { pkgs, ... }: {
|
||||
services.tika = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
testScript = ''
|
||||
machine.start()
|
||||
machine.wait_for_unit("tika.service")
|
||||
machine.wait_for_open_port(9998)
|
||||
'';
|
||||
|
||||
meta.maintainers = [ lib.maintainers.drupol ];
|
||||
}
|
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "sjaehn";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-/aLoLUpWu66VKd9lwjli+FZZctblrZUPSEsdYH85HwQ=";
|
||||
hash = "sha256-/aLoLUpWu66VKd9lwjli+FZZctblrZUPSEsdYH85HwQ=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "mobian1";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-gc66XrrFyhF1TvrDECBfGQc+MiDtqZPxdCn0S/43XQU=";
|
||||
hash = "sha256-gc66XrrFyhF1TvrDECBfGQc+MiDtqZPxdCn0S/43XQU=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "jpcima";
|
||||
repo = "DelayArchitect";
|
||||
rev = "5abf4dfb7f92ba604d591a2c388d2d69a9055fe3";
|
||||
sha256 = "sha256-LoK2pYPLzyJF7tDJPRYer6gKHNYzvFvX/d99TuOPECo=";
|
||||
hash = "sha256-LoK2pYPLzyJF7tDJPRYer6gKHNYzvFvX/d99TuOPECo=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
|
||||
repo = "dexed";
|
||||
rev = "2c036316bcd512818aa9cc8129767ad9e0ec7132";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-6buvA72YRlGjHWLPEZMr45lYYG6ZY+IWmylcHruX27g=";
|
||||
hash = "sha256-6buvA72YRlGjHWLPEZMr45lYYG6ZY+IWmylcHruX27g=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "michaelwillis";
|
||||
repo = "dragonfly-reverb";
|
||||
rev = version;
|
||||
sha256 = "sha256-YXJ4U5J8Za+DlXvp6QduvCHIVC2eRJ3+I/KPihCaIoY=";
|
||||
hash = "sha256-YXJ4U5J8Za+DlXvp6QduvCHIVC2eRJ3+I/KPihCaIoY=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -29,7 +29,7 @@ let
|
||||
owner = "grame-cncm";
|
||||
repo = "faust";
|
||||
rev = version;
|
||||
sha256 = "sha256-0r7DjTrsNKZ5ZmWoA+Y9OXyJFUiUFZiPQb1skXXWYTw=";
|
||||
hash = "sha256-0r7DjTrsNKZ5ZmWoA+Y9OXyJFUiUFZiPQb1skXXWYTw=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
|
||||
repo = "Fire";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-X3pzTrNd0G6BouCDkr3dukQTFDzZ7qblIYxFQActKGE=";
|
||||
hash = "sha256-X3pzTrNd0G6BouCDkr3dukQTFDzZ7qblIYxFQActKGE=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "Geonkick-Synthesizer";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-zoEC85QYcQMF92KvLBikYw1nDoSHaedpTDDqvoAtte0=";
|
||||
hash = "sha256-zoEC85QYcQMF92KvLBikYw1nDoSHaedpTDDqvoAtte0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "brummer10";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-NvmFoOAQtAnKrZgzG1Shy1HuJEWgjJloQEx6jw59hag=";
|
||||
hash = "sha256-NvmFoOAQtAnKrZgzG1Shy1HuJEWgjJloQEx6jw59hag=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
repo = pname;
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-esCulHphPD0gr0dsVBnRTvsGp56vHZmzdbz99mWq9R4=";
|
||||
hash = "sha256-esCulHphPD0gr0dsVBnRTvsGp56vHZmzdbz99mWq9R4=";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
|
||||
repo = "jacktrip";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-MUP+8Hjrj95D5SONIEsweB5j+kgEhLEWTKWBlEWLt94=";
|
||||
hash = "sha256-MUP+8Hjrj95D5SONIEsweB5j+kgEhLEWTKWBlEWLt94=";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -36,7 +36,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
repo = pname;
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-VPHQwy2+XR9R7toIN5sNFB91ddROlL7Scr8AKLgUzuo=";
|
||||
hash = "sha256-VPHQwy2+XR9R7toIN5sNFB91ddROlL7Scr8AKLgUzuo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
|
||||
repo = "master_me";
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-FG3X1dOF9KRHHSnd5/zP+GrYCB2O0y+tnI5/l9tNhyE=";
|
||||
hash = "sha256-FG3X1dOF9KRHHSnd5/zP+GrYCB2O0y+tnI5/l9tNhyE=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
@ -21,7 +21,7 @@ mkDerivation rec {
|
||||
owner = "ColinDuquesnoy";
|
||||
repo = "MellowPlayer";
|
||||
rev = version;
|
||||
sha256 = "sha256-rsF2xQet7U8d4oGU/HgghvE3vvmkxjlGXPBlLD9mWTk=";
|
||||
hash = "sha256-rsF2xQet7U8d4oGU/HgghvE3vvmkxjlGXPBlLD9mWTk=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config ];
|
||||
|
@ -5,7 +5,7 @@ python3Packages.buildPythonApplication rec {
|
||||
version = "1.1.5";
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-wg9zcOKfZQRhpyA1Cu5wvdwKpmrlcr2m9mrqBHgUXAQ=";
|
||||
hash = "sha256-wg9zcOKfZQRhpyA1Cu5wvdwKpmrlcr2m9mrqBHgUXAQ=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [ mopidy pykka ];
|
||||
|
@ -6,7 +6,7 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-PEAXnapiyxozijR053I7zQYRYLeDOV719L0QbO2r4r4=";
|
||||
hash = "sha256-PEAXnapiyxozijR053I7zQYRYLeDOV719L0QbO2r4r4=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -7,7 +7,7 @@ python3Packages.buildPythonApplication rec {
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "Mopidy-Jellyfin";
|
||||
sha256 = "sha256-cZliraTxTAJ2dXaxttWI3x4wCkmEhEo33GTNtAYwgTc=";
|
||||
hash = "sha256-cZliraTxTAJ2dXaxttWI3x4wCkmEhEo33GTNtAYwgTc=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ mopidy python3Packages.unidecode python3Packages.websocket-client ];
|
||||
|
@ -6,7 +6,7 @@ pythonPackages.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-RlCC+39zC+LeA/QDWPHYx5TrEwOgVrnvcH1Xg12qSLE=";
|
||||
hash = "sha256-RlCC+39zC+LeA/QDWPHYx5TrEwOgVrnvcH1Xg12qSLE=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with pythonPackages; [ mopidy configobj ];
|
||||
|
@ -6,7 +6,7 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-CeLMRqj9cwBvQrOx7XHVV8MjDjwOosONVlsN2o+vTVM=";
|
||||
hash = "sha256-CeLMRqj9cwBvQrOx7XHVV8MjDjwOosONVlsN2o+vTVM=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ mopidy ];
|
||||
|
@ -7,7 +7,7 @@ python3Packages.buildPythonApplication rec {
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "Mopidy-MPRIS";
|
||||
sha256 = "sha256-rHQgNIyludTEL7RDC8dIpyGTMOt1Tazn6i/orKlSP4U=";
|
||||
hash = "sha256-rHQgNIyludTEL7RDC8dIpyGTMOt1Tazn6i/orKlSP4U=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -7,7 +7,7 @@ pythonPackages.buildPythonApplication rec {
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "Mopidy-Muse";
|
||||
sha256 = "sha256-CEPAPWtMrD+HljyqBB6EAyGVeOjzkvVoEywlE4XEJGs=";
|
||||
hash = "sha256-CEPAPWtMrD+HljyqBB6EAyGVeOjzkvVoEywlE4XEJGs=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -6,7 +6,7 @@ pythonPackages.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-8FT4O4k0wEsdHA1vJaOW9UamJ3QLyO47HwL5XcSU3Pc=";
|
||||
hash = "sha256-8FT4O4k0wEsdHA1vJaOW9UamJ3QLyO47HwL5XcSU3Pc=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -7,7 +7,7 @@ python3Packages.buildPythonApplication rec {
|
||||
src = fetchPypi {
|
||||
inherit version;
|
||||
pname = "Mopidy-Podcast";
|
||||
sha256 = "sha256-grNPVEVM2PlpYhBXe6sabFjWVB9+q+apIRjcHUxH52A=";
|
||||
hash = "sha256-grNPVEVM2PlpYhBXe6sabFjWVB9+q+apIRjcHUxH52A=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
@ -9,7 +9,7 @@ buildGoModule rec {
|
||||
repo = "NoiseTorch";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-gOPSMPH99Upi/30OnAdwSb7SaMV0i/uHB051cclfz6A=";
|
||||
hash = "sha256-gOPSMPH99Upi/30OnAdwSb7SaMV0i/uHB051cclfz6A=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
|
||||
repo = "odin2";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-N96Nb7G6hqfh8DyMtHbttl/fRZUkS8f2KfPSqeMAhHY=";
|
||||
hash = "sha256-N96Nb7G6hqfh8DyMtHbttl/fRZUkS8f2KfPSqeMAhHY=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -28,7 +28,7 @@ mkDerivation rec {
|
||||
owner = "luciocarreras";
|
||||
repo = "sayonara-player";
|
||||
rev = version;
|
||||
sha256 = "sha256-tJ/8tGNkmTwWRCpPy/h85SP/6QDAgcaKWJdM5MSAXJw=";
|
||||
hash = "sha256-tJ/8tGNkmTwWRCpPy/h85SP/6QDAgcaKWJdM5MSAXJw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake ninja pkg-config qttools ];
|
||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "sfztools";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-/G9tvJ4AcBSTmo44xDDKf6et1nSn/FV5m27ztDu10kI=";
|
||||
hash = "sha256-/G9tvJ4AcBSTmo44xDDKf6et1nSn/FV5m27ztDu10kI=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -20,7 +20,7 @@ mkDerivation rec {
|
||||
owner = "agateau";
|
||||
repo = "sfxr-qt";
|
||||
rev = version;
|
||||
sha256 = "sha256-JAWDk7mGkPtQ5yaA6UT9hlAy770MHrTBhBP9G8UqFKg=";
|
||||
hash = "sha256-JAWDk7mGkPtQ5yaA6UT9hlAy770MHrTBhBP9G8UqFKg=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -5,7 +5,7 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-XJMkiQR1FoeIPfAuJT22kfYJdc/ABuxExELh0EEev8k=";
|
||||
hash = "sha256-XJMkiQR1FoeIPfAuJT22kfYJdc/ABuxExELh0EEev8k=";
|
||||
};
|
||||
|
||||
preBuild = ''
|
||||
|
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "surge-synthesizer";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-L7dzUUQNCwcuQavUx9hBH0FX5KSocfeYUv5qBcPD2Vg=";
|
||||
hash = "sha256-L7dzUUQNCwcuQavUx9hBH0FX5KSocfeYUv5qBcPD2Vg=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||
repo = "surge";
|
||||
rev = "release_xt_${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-r8CZxjmH9lfCizc95jRB4je+R/74zMqRMlGIZxxxriw=";
|
||||
hash = "sha256-r8CZxjmH9lfCizc95jRB4je+R/74zMqRMlGIZxxxriw=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "uade-music-player";
|
||||
repo = "uade";
|
||||
rev = "uade-${version}";
|
||||
sha256 = "sha256-skPEXBQwyr326zCmZ2jwGxcBoTt3Y/h2hagDeeqbMpw=";
|
||||
hash = "sha256-skPEXBQwyr326zCmZ2jwGxcBoTt3Y/h2hagDeeqbMpw=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
|
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "zamaudio";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-wT1BXQrcD+TI+trqx0ZVUmVLZMTDQgJI3dAvN54wy6Y=";
|
||||
hash = "sha256-wT1BXQrcD+TI+trqx0ZVUmVLZMTDQgJI3dAvN54wy6Y=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -64,7 +64,7 @@ in stdenv.mkDerivation rec {
|
||||
repo = pname;
|
||||
rev = "refs/tags/${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-0siAx141DZx39facXWmKbsi0rHBNpobApTdey07EcXg=";
|
||||
hash = "sha256-0siAx141DZx39facXWmKbsi0rHBNpobApTdey07EcXg=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "doc" ];
|
||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation {
|
||||
repo = "aeon";
|
||||
rev = "v${version}-aeon";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-2MptLS12CUm9eUKm+V+yYpbLVwNyZeZ5HvAFyjEc4R4=";
|
||||
hash = "sha256-2MptLS12CUm9eUKm+V+yYpbLVwNyZeZ5HvAFyjEc4R4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake pkg-config git doxygen graphviz ];
|
||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "bitcoinunlimited";
|
||||
repo = "BCHUnlimited";
|
||||
rev = "BCHunlimited${version}";
|
||||
sha256 = "sha256-d+giTXq/6HpysRAPT7yOl/B1x4zie9irs4O7cJsBqHg=";
|
||||
hash = "sha256-d+giTXq/6HpysRAPT7yOl/B1x4zie9irs4O7cJsBqHg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config autoreconfHook python3 ]
|
||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "haven-protocol-org";
|
||||
repo = "haven-main";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-craPgQtavSatoVzduIQCWuakIBeXWFWa9E0ALau4AcI=";
|
||||
hash = "sha256-craPgQtavSatoVzduIQCWuakIBeXWFWa9E0ALau4AcI=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -36,7 +36,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
repo = "LibreSprite";
|
||||
rev = "v${finalAttrs.version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-d8GmVHYomDb74iSeEhJEVTHvbiVXggXg7xSqIKCUSzY=";
|
||||
hash = "sha256-d8GmVHYomDb74iSeEhJEVTHvbiVXggXg7xSqIKCUSzY=";
|
||||
};
|
||||
|
||||
# Backport GCC 13 build fix
|
||||
|
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
|
||||
repo = "Marker";
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-HhDhigQ6Aqo8R57Yrf1i69sM0feABB9El5R5OpzOyB0=";
|
||||
hash = "sha256-HhDhigQ6Aqo8R57Yrf1i69sM0feABB9El5R5OpzOyB0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -8,7 +8,7 @@ mkDerivation rec {
|
||||
owner = "dail8859";
|
||||
repo = "NotepadNext";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-fwHTsTKcVaeIv0NQQBjzfXscGDfXr3X/yH07YnYh3fU=";
|
||||
hash = "sha256-fwHTsTKcVaeIv0NQQBjzfXscGDfXr3X/yH07YnYh3fU=";
|
||||
# External dependencies - https://github.com/dail8859/NotepadNext/issues/135
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
@ -30,21 +30,21 @@ let
|
||||
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "0bzf0mx1rgndpdd4a97kr01xsgsgp86gyscg8js2cvaad4265bmv";
|
||||
x86_64-darwin = "1m7f91cqbbv00difvfqld8fqkj9kvyddihmzi3zyzn4gfkv8gvf0";
|
||||
aarch64-linux = "09mxsk4qkq34yg1sd67cdasfxwdhdzcfij50fv1nl3kdjzp2i0iz";
|
||||
aarch64-darwin = "1jxjzfz6gr0pcp2anwjqwm38ma2i8fnzf5zpscfdklrlbhf438k2";
|
||||
armv7l-linux = "1yp4npgw4dkx8halsr1vm5ll1w4phx67dwd4krz1914mddx7x2kr";
|
||||
x86_64-linux = "0ighhwwmc8cxdabq2wkzzr21sv6zaj90pnqi2cy8krfwm88w6jc0";
|
||||
x86_64-darwin = "1fbpw0xib9vm47ab028frg789vgmkpwcdxs8m2in7ywrckl6xycy";
|
||||
aarch64-linux = "0n0f518xl1fh17llsd159ldi50z2vihkghfq7plfnbnngpf0swy9";
|
||||
aarch64-darwin = "03v3869yblx03j0c3njlvg7qgdmqrg8jvj9s1iyhqw1xpb2lc41c";
|
||||
armv7l-linux = "12dv0vqqzriqr8ysjjx62hy2b41dky2p0rcr11wznqi259bryckr";
|
||||
}.${system} or throwSystem;
|
||||
in
|
||||
callPackage ./generic.nix rec {
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.91.0";
|
||||
version = "1.91.1";
|
||||
pname = "vscode" + lib.optionalString isInsiders "-insiders";
|
||||
|
||||
# This is used for VS Code - Remote SSH test
|
||||
rev = "ea1445cc7016315d0f5728f8e8b12a45dc0a7286";
|
||||
rev = "f1e16e1e6214d7c44d078b1f0607b2388f29d729";
|
||||
|
||||
executableName = "code" + lib.optionalString isInsiders "-insiders";
|
||||
longName = "Visual Studio Code" + lib.optionalString isInsiders " - Insiders";
|
||||
@ -68,7 +68,7 @@ in
|
||||
src = fetchurl {
|
||||
name = "vscode-server-${rev}.tar.gz";
|
||||
url = "https://update.code.visualstudio.com/commit:${rev}/server-linux-x64/stable";
|
||||
sha256 = "08mgfrwiji16q8x8kwmw3pdmb0325hfr9pd2fa5g5kmy9gnfw38v";
|
||||
sha256 = "0k38pkfz9kpbpx0n50iq531mrm7qxqggks092cs4zicv815jk8wg";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -54,7 +54,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "shiiion";
|
||||
repo = "dolphin";
|
||||
rev = version;
|
||||
sha256 = "sha256-gc4+ofoLKR+cvm+SaWEnGaKrSjWMKq7pF6pEIi75Rtk=";
|
||||
hash = "sha256-gc4+ofoLKR+cvm+SaWEnGaKrSjWMKq7pF6pEIi75Rtk=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "flyinghead";
|
||||
repo = "flycast";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-YFLSUaEikwLPglHh3t8sHiKHRn5cchKzzkJlZDdgVsU=";
|
||||
hash = "sha256-YFLSUaEikwLPglHh3t8sHiKHRn5cchKzzkJlZDdgVsU=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "mr_goldberg";
|
||||
repo = "goldberg_emulator";
|
||||
rev = version;
|
||||
sha256 = "sha256-goOgMNjtDmIKOAv9sZwnPOY0WqTN90LFJ5iEp3Vkzog=";
|
||||
hash = "sha256-goOgMNjtDmIKOAv9sZwnPOY0WqTN90LFJ5iEp3Vkzog=";
|
||||
};
|
||||
|
||||
# It attempts to install windows-only libraries which we never build
|
||||
|
@ -26,7 +26,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
owner = "openMSX";
|
||||
repo = "openMSX";
|
||||
rev = "RELEASE_${builtins.replaceStrings ["."] ["_"] finalAttrs.version}";
|
||||
sha256 = "sha256-5ULljLmEDGFp32rnrXKLfL6P3ad2STJUNngBuWlRCbc=";
|
||||
hash = "sha256-5ULljLmEDGFp32rnrXKLfL6P3ad2STJUNngBuWlRCbc=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -2,20 +2,22 @@
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, gradle_7
|
||||
, perl
|
||||
, makeWrapper
|
||||
, writeText
|
||||
, jdk
|
||||
, gsettings-desktop-schemas
|
||||
}:
|
||||
|
||||
let
|
||||
gradle = gradle_7;
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mucommander";
|
||||
version = "1.3.0-1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "mucommander";
|
||||
repo = "mucommander";
|
||||
rev = version;
|
||||
rev = finalAttrs.version;
|
||||
sha256 = "sha256-rSHHv96L2EHQuKBSAdpfi1XGP2u9o2y4g1+65FHWFMw=";
|
||||
};
|
||||
|
||||
@ -23,72 +25,19 @@ let
|
||||
# there is no .git anyway
|
||||
substituteInPlace build.gradle \
|
||||
--replace "git = grgit.open(dir: project.rootDir)" "" \
|
||||
--replace "id 'org.ajoberstar.grgit' version '3.1.1'" "" \
|
||||
--replace "revision = git.head().id" "revision = '${version}'"
|
||||
--replace "revision = git.head().id" "revision = '${finalAttrs.version}'"
|
||||
'';
|
||||
|
||||
# fake build to pre-download deps into fixed-output derivation
|
||||
deps = stdenv.mkDerivation {
|
||||
pname = "mucommander-deps";
|
||||
inherit version src postPatch;
|
||||
nativeBuildInputs = [ gradle_7 perl ];
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
gradle --no-daemon tgz
|
||||
'';
|
||||
# perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
|
||||
# reproducible by sorting
|
||||
installPhase = ''
|
||||
find $GRADLE_USER_HOME/caches/modules-2 -type f -regex '.*\.\(jar\|pom\)' \
|
||||
| LC_ALL=C sort \
|
||||
| perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
|
||||
| sh
|
||||
# copy maven-metadata.xml for commons-codec
|
||||
# thankfully there is only one xml
|
||||
cp $GRADLE_USER_HOME/caches/modules-2/resources-2.1/*/*/maven-metadata.xml $out/commons-codec/commons-codec/maven-metadata.xml
|
||||
'';
|
||||
outputHashAlgo = "sha256";
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-9tCcUg7hDNbkZiQEWtVRsUUfms73aU+vt5tQsfknM+E=";
|
||||
nativeBuildInputs = [ gradle makeWrapper ];
|
||||
|
||||
mitmCache = gradle.fetchDeps {
|
||||
inherit (finalAttrs) pname;
|
||||
data = ./deps.json;
|
||||
};
|
||||
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mucommander";
|
||||
inherit version src postPatch;
|
||||
nativeBuildInputs = [ gradle_7 perl makeWrapper ];
|
||||
__darwinAllowLocalNetworking = true;
|
||||
|
||||
# Point to our local deps repo
|
||||
gradleInit = writeText "init.gradle" ''
|
||||
logger.lifecycle 'Replacing Maven repositories with ${deps}...'
|
||||
gradle.projectsLoaded {
|
||||
rootProject.allprojects {
|
||||
buildscript {
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
repositories {
|
||||
clear()
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
settingsEvaluated { settings ->
|
||||
settings.pluginManagement {
|
||||
repositories {
|
||||
maven { url '${deps}' }
|
||||
}
|
||||
}
|
||||
}
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
export GRADLE_USER_HOME=$(mktemp -d)
|
||||
|
||||
gradle --offline --init-script ${gradleInit} --no-daemon tgz
|
||||
'';
|
||||
gradleBuildTask = "tgz";
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/share/mucommander
|
||||
@ -107,4 +56,4 @@ stdenv.mkDerivation rec {
|
||||
platforms = platforms.all;
|
||||
mainProgram = "mucommander";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
1064
pkgs/applications/file-managers/mucommander/deps.json
generated
Normal file
1064
pkgs/applications/file-managers/mucommander/deps.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@ -18,7 +18,7 @@ mkDerivation rec {
|
||||
# latest revision is not tagged upstream, use commit sha in the meantime
|
||||
#rev = "v_${version}";
|
||||
rev = "cc75d5744965cc6973323f5bb77f00b0b0153dce";
|
||||
sha256 = "sha256-z/LFNRFdQQFxEWyAjcuGezRbTsv8z6Q6fK8NLjP4HNM=";
|
||||
hash = "sha256-z/LFNRFdQQFxEWyAjcuGezRbTsv8z6Q6fK8NLjP4HNM=";
|
||||
};
|
||||
|
||||
buildInputs =
|
||||
|
@ -1,5 +1,4 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, mkDerivation
|
||||
, fetchFromGitHub
|
||||
, makeDesktopItem
|
||||
@ -31,7 +30,7 @@ mkDerivation rec {
|
||||
owner = "CloudCompare";
|
||||
repo = "CloudCompare";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-KVbFGim2Nqhs5PAQiBNTmJStmnEINTeopiqqEBBniHc=";
|
||||
hash = "sha256-a/0lf3Mt5ZpLFRM8jAoqZer8pY1ROgPRY4dPt34Bk3E=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
|
||||
repo = "Foxotron";
|
||||
rev = version;
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-s1eWZMVitVSP7nJJ5wXvnV8uI6yto7LmvlvocOwVAxw=";
|
||||
hash = "sha256-s1eWZMVitVSP7nJJ5wXvnV8uI6yto7LmvlvocOwVAxw=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "komikku";
|
||||
version = "1.50.0";
|
||||
version = "1.51.1";
|
||||
|
||||
format = "other";
|
||||
|
||||
@ -28,7 +28,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
owner = "valos";
|
||||
repo = "Komikku";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-lyBXMctEL8Z6rscsSDHh7xLhjvnpN2q4qMVV2ek9Cyk=";
|
||||
hash = "sha256-b4RyAA32qQHbnX7AC0w64BM+y5uZCeZgd9SKQdJaJWc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -27,7 +27,7 @@ mkDerivation rec {
|
||||
owner = "stuko";
|
||||
repo = "ovito";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-Z3uwjOYJ7di/LLllbzdKjzUE7m119i03bA8dJPqhxWA=";
|
||||
hash = "sha256-Z3uwjOYJ7di/LLllbzdKjzUE7m119i03bA8dJPqhxWA=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -21,7 +21,7 @@ rustPlatform.buildRustPackage rec {
|
||||
repo = "pizarra-gtk";
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-vnjhveX3EVIfJLiHWhlvhoPcRx1a8Nnjj7hIaPgU3Zw=";
|
||||
hash = "sha256-vnjhveX3EVIfJLiHWhlvhoPcRx1a8Nnjj7hIaPgU3Zw=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-btvMUKADGHlXLmeKF1K9Js44SljZ0MejGId8aDwPhVU=";
|
||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-+qCRHP0AbYOQBAE4zK2cmWPHZGWjjxC3DZPNm8sgBzs=";
|
||||
hash = "sha256-+qCRHP0AbYOQBAE4zK2cmWPHZGWjjxC3DZPNm8sgBzs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake wrapGAppsHook3 ];
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, mkDerivation, lib
|
||||
{ mkDerivation, lib
|
||||
, extra-cmake-modules, kdoctools
|
||||
, breeze-icons, chmlib, discount, djvulibre, ebook_tools, kactivities
|
||||
, karchive, kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons
|
||||
|
@ -7,7 +7,7 @@ mkDerivation rec {
|
||||
owner = "pholy";
|
||||
repo = "OSCAR-code";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-FBHbPtMZeIgcR1pQflfEWK2FS8bquctXaeY/yaZofHg=";
|
||||
hash = "sha256-FBHbPtMZeIgcR1pQflfEWK2FS8bquctXaeY/yaZofHg=";
|
||||
};
|
||||
|
||||
buildInputs = [ qtbase qttools qtserialport libGLU ];
|
||||
|
@ -21,13 +21,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "albert";
|
||||
version = "0.24.2";
|
||||
version = "0.24.3";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "albertlauncher";
|
||||
repo = "albert";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-Z88amcPb2jCJduRu8CGQ20y2o5cXmL4rpRL0hGCEYgM=";
|
||||
hash = "sha256-9vR6G/9FSy1mqZCo19Mf0RuvW63DbnhEzp/h0p6eXqs=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -12,7 +12,7 @@ mkDerivation rec {
|
||||
owner = "debauchee";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-2tHqLF3zS3C4UnOVIZfpcuzaemC9++nC7lXgFnFSfKU=";
|
||||
hash = "sha256-2tHqLF3zS3C4UnOVIZfpcuzaemC9++nC7lXgFnFSfKU=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -26,7 +26,7 @@ buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-3fVo+B71SsJs+XF4+FWH2nz0ouTnpC/02fXYr1C9Jrk=";
|
||||
hash = "sha256-3fVo+B71SsJs+XF4+FWH2nz0ouTnpC/02fXYr1C9Jrk=";
|
||||
};
|
||||
|
||||
# Relax requirements from "==" to ">="
|
||||
|
@ -7,7 +7,7 @@ python3Packages.buildPythonApplication rec {
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-AjE+1MkSkZOtEUPKEPBKQ3n+aOB8cwsorBpL5skNskU=";
|
||||
hash = "sha256-AjE+1MkSkZOtEUPKEPBKQ3n+aOB8cwsorBpL5skNskU=";
|
||||
};
|
||||
|
||||
doCheck = false; # there are no tests
|
||||
|
@ -31,7 +31,7 @@ stdenv.mkDerivation rec{
|
||||
owner = "corectrl";
|
||||
repo = "corectrl";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-E2Dqe1IYXjFb/nShQX+ARZW/AWpNonRimb3yQ6/2CFw=";
|
||||
hash = "sha256-E2Dqe1IYXjFb/nShQX+ARZW/AWpNonRimb3yQ6/2CFw=";
|
||||
};
|
||||
patches = [
|
||||
./polkit-dir.patch
|
||||
|
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "Cubitect";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
sha256 = "sha256-UUvNSTM98r8D/Q+/pPTXwGzW4Sl1qhgem4WsFRfybuo=";
|
||||
hash = "sha256-UUvNSTM98r8D/Q+/pPTXwGzW4Sl1qhgem4WsFRfybuo=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
|
@ -13,7 +13,7 @@ buildGoModule rec {
|
||||
owner = "WhyNotHugo";
|
||||
repo = "darkman";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-FaEpVy/0PqY5Bmw00hMyFZb9wcwYwEuCKMatYN8Xk3o=";
|
||||
hash = "sha256-FaEpVy/0PqY5Bmw00hMyFZb9wcwYwEuCKMatYN8Xk3o=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
|
@ -1,5 +1,4 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, buildGoModule
|
||||
, fetchFromGitHub
|
||||
, makeWrapper
|
||||
|
@ -13,7 +13,7 @@ mkDerivation rec {
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-bKMAyONy1Udd+2nDVEMrtIsnfqrNuBVMWU7nCqvZ+3E=";
|
||||
hash = "sha256-bKMAyONy1Udd+2nDVEMrtIsnfqrNuBVMWU7nCqvZ+3E=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ cmake gcc-arm-embedded python3Packages.pillow qttools ];
|
||||
|
@ -88,7 +88,6 @@ python.pkgs.buildPythonApplication {
|
||||
pysocks
|
||||
qrcode
|
||||
requests
|
||||
tlslite-ng
|
||||
certifi
|
||||
jsonpatch
|
||||
# plugins
|
||||
|
@ -54,7 +54,6 @@ python3.pkgs.buildPythonApplication {
|
||||
pysocks
|
||||
qrcode
|
||||
requests
|
||||
tlslite-ng
|
||||
certifi
|
||||
jsonpatch
|
||||
# plugins
|
||||
|
@ -70,7 +70,6 @@ python3.pkgs.buildPythonApplication {
|
||||
pysocks
|
||||
qrcode
|
||||
requests
|
||||
tlslite-ng
|
||||
certifi
|
||||
# plugins
|
||||
btchip-python
|
||||
|
@ -8,7 +8,7 @@ stdenv.mkDerivation {
|
||||
owner = "fetchmail";
|
||||
repo = "fetchmail";
|
||||
rev = "30b368fb8660d8fec08be1cdf2606c160b4bcb80";
|
||||
sha256 = "sha256-83D2YlFCODK2YD+oLICdim2NtNkkJU67S3YLi8Q6ga8=";
|
||||
hash = "sha256-83D2YlFCODK2YD+oLICdim2NtNkkJU67S3YLi8Q6ga8=";
|
||||
};
|
||||
|
||||
buildInputs = with pkgs; [ openssl python3 ];
|
||||
|
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
|
||||
owner = "Kerenoc";
|
||||
repo = "GCstar";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-37yjKI4l/nUzDnra1AGxDQxNafMsLi1bSifG6pz33zg=";
|
||||
hash = "sha256-37yjKI4l/nUzDnra1AGxDQxNafMsLi1bSifG6pz33zg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ wrapGAppsHook3 ];
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ lib, stdenv, rustPlatform, fetchCrate }:
|
||||
{ lib, rustPlatform, fetchCrate }:
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "globe-cli";
|
||||
|
@ -1,9 +1,7 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, python3Packages
|
||||
, wrapGAppsHook4
|
||||
, gtk4
|
||||
, meson
|
||||
, ninja
|
||||
, pkg-config
|
||||
|
@ -1,5 +1,4 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, wrapGAppsHook4
|
||||
, meson
|
||||
|
@ -1,9 +1,5 @@
|
||||
{ lib, stdenv, requireFile, bc, version, src, eulaDate }:
|
||||
|
||||
let
|
||||
license_dir = "~/.config/houdini";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
{ stdenv, bc, version, src, eulaDate }:
|
||||
stdenv.mkDerivation {
|
||||
inherit version src;
|
||||
pname = "houdini-runtime";
|
||||
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ lib, stdenv, requireFile, callPackage}:
|
||||
{ requireFile, callPackage }:
|
||||
|
||||
callPackage ./runtime-build.nix rec {
|
||||
version = "20.0.688";
|
||||
version = "20.5.278";
|
||||
eulaDate = "2021-10-13";
|
||||
src = requireFile rec {
|
||||
src = requireFile {
|
||||
name = "houdini-${version}-linux_x86_64_gcc11.2.tar.gz";
|
||||
sha256 = "99f9088824c328de9d351f037f26ff1cba960fbd9b4e2ed1d52601680d3512a6";
|
||||
hash = "sha256-O5oAoiDiu+xrmDfTnilPqZue8+dXVTHnK0yrX6moTSc=";
|
||||
url = "https://www.sidefx.com/download/daily-builds/?production=true";
|
||||
};
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
{ lib
|
||||
, appstream-glib
|
||||
, blueprint-compiler
|
||||
, desktop-file-utils
|
||||
|
@ -1,5 +1,4 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
{ lib
|
||||
, buildGoModule
|
||||
, fetchFromGitea
|
||||
}:
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user