mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-14 15:36:47 +03:00
Merge master into haskell-updates
This commit is contained in:
commit
9fb12e8a70
@ -1,14 +1,18 @@
|
||||
# Contributing to the Nixpkgs manual
|
||||
# Contributing to the Nixpkgs reference manual
|
||||
|
||||
This directory houses the sources files for the Nixpkgs manual.
|
||||
This directory houses the sources files for the Nixpkgs reference manual.
|
||||
|
||||
Going forward, it should only contain [reference](https://nix.dev/contributing/documentation/diataxis#reference) documentation.
|
||||
For tutorials, guides and explanations, contribute to <https://nix.dev/> instead.
|
||||
|
||||
For documentation only relevant for contributors, use Markdown files and code comments in the source code.
|
||||
|
||||
Rendered documentation:
|
||||
- [Unstable (from master)](https://nixos.org/manual/nixpkgs/unstable/)
|
||||
- [Stable (from latest release)](https://nixos.org/manual/nixpkgs/stable/)
|
||||
|
||||
You can find the [rendered documentation for Nixpkgs `unstable` on nixos.org](https://nixos.org/manual/nixpkgs/unstable/).
|
||||
The rendering tool is [nixos-render-docs](../pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs), sometimes abbreviated `nrd`.
|
||||
|
||||
[Docs for Nixpkgs stable](https://nixos.org/manual/nixpkgs/stable/) are also available.
|
||||
|
||||
If you're only getting started with Nix, go to [nixos.org/learn](https://nixos.org/learn).
|
||||
|
||||
## Contributing to this documentation
|
||||
|
||||
You can quickly check your edits with `nix-build`:
|
||||
|
@ -50,7 +50,20 @@ $ nix build -f . ttop.src
|
||||
$ nix run -f . nim_lk ./result | jq --sort-keys > pkgs/by-name/tt/ttop/lock.json
|
||||
```
|
||||
|
||||
## Lockfile dependency overrides {#nimoverrides}
|
||||
## Overriding Nim packages {#nim-overrides}
|
||||
|
||||
The `buildNimPackage` function generates flags and additional build dependencies from the `lockFile` parameter passed to `buildNimPackage`. Using [`overrideAttrs`](#sec-pkg-overrideAttrs) on the final package will apply after this has already been generated, so this can't be used to override the `lockFile` in a package built with `buildNimPackage`. To be able to override parameters before flags and build dependencies are generated from the `lockFile`, use `overrideNimAttrs` instead with the same syntax as `overrideAttrs`:
|
||||
|
||||
```nix
|
||||
pkgs.nitter.overrideNimAttrs {
|
||||
# using a different source which has different dependencies from the standard package
|
||||
src = pkgs.fetchFromGithub { /* … */ };
|
||||
# new lock file generated from the source
|
||||
lockFile = ./custom-lock.json;
|
||||
}
|
||||
```
|
||||
|
||||
## Lockfile dependency overrides {#nim-lock-overrides}
|
||||
|
||||
The `buildNimPackage` function matches the libraries specified by `lockFile` to attrset of override functions that are then applied to the package derivation.
|
||||
The default overrides are maintained as the top-level `nimOverrides` attrset at `pkgs/top-level/nim-overrides.nix`.
|
||||
@ -81,7 +94,7 @@ The annotations in the `nim-overrides.nix` set are functions that take three arg
|
||||
- finalAttrs: the final attrset passed by `buildNimPackage` to `stdenv.mkDerivation`.
|
||||
- prevAttrs: the attrset produced by initial arguments to `buildNimPackage` and any preceding lockfile overlays.
|
||||
|
||||
### Overriding an Nim library override {#nimoverrides-overrides}
|
||||
### Overriding an Nim library override {#nim-lock-overrides-overrides}
|
||||
|
||||
The `nimOverrides` attrset makes it possible to modify overrides in a few different ways.
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Nixpkgs Manual {#nixpkgs-manual}
|
||||
# Nixpkgs Reference Manual {#nixpkgs-manual}
|
||||
## Version @MANUAL_VERSION@
|
||||
|
||||
```{=include=} chapters
|
||||
|
@ -6,11 +6,15 @@ The Nix Packages collection (Nixpkgs) is a set of thousands of packages for the
|
||||
Packages are available for several platforms, and can be used with the Nix
|
||||
package manager on most GNU/Linux distributions as well as [NixOS](https://nixos.org/nixos).
|
||||
|
||||
This manual primarily describes how to write packages for the Nix Packages collection
|
||||
(Nixpkgs). Thus it’s mainly for packagers and developers who want to add packages to
|
||||
Nixpkgs. If you like to learn more about the Nix package manager and the Nix
|
||||
expression language, then you are kindly referred to the [Nix manual](https://nixos.org/nix/manual/).
|
||||
The NixOS distribution is documented in the [NixOS manual](https://nixos.org/nixos/manual/).
|
||||
This document is the user [_reference_](https://nix.dev/contributing/documentation/diataxis#reference) manual for Nixpkgs.
|
||||
It describes entire public interface of Nixpkgs in a concise and orderly manner, and all relevant behaviors, with examples and cross-references.
|
||||
|
||||
To discover other kinds of documentation:
|
||||
- [nix.dev](https://nix.dev/): Tutorials and guides for getting things done with Nix
|
||||
- [NixOS **Option Search**](https://search.nixos.org/options) and reference documentation
|
||||
- [Nixpkgs **Package Search**](https://search.nixos.org/packages)
|
||||
- [**NixOS** manual](https://nixos.org/manual/nixos/stable/): Reference documentation for the NixOS Linux distribution
|
||||
- [`CONTRIBUTING.md`](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md): Contributing to Nixpkgs, including this manual
|
||||
|
||||
## Overview of Nixpkgs {#overview-of-nixpkgs}
|
||||
|
||||
|
@ -42,7 +42,7 @@ Reference documentation for library functions is written above each function as
|
||||
These comments are processed using [nixdoc](https://github.com/nix-community/nixdoc) and [rendered in the Nixpkgs manual](https://nixos.org/manual/nixpkgs/stable/#chap-functions).
|
||||
The nixdoc README describes the [comment format](https://github.com/nix-community/nixdoc#comment-format).
|
||||
|
||||
See the [chapter on contributing to the Nixpkgs manual](https://nixos.org/manual/nixpkgs/#chap-contributing) for how to build the manual.
|
||||
See [doc/README.md](../doc/README.md) for how to build the manual.
|
||||
|
||||
## Running tests
|
||||
|
||||
|
@ -275,6 +275,8 @@ let
|
||||
"The option `${optText}' does not exist. Definition values:${defText}";
|
||||
in
|
||||
if attrNames options == [ "_module" ]
|
||||
# No options were declared at all (`_module` is built in)
|
||||
# but we do have unmatched definitions, and no freeformType (earlier conditions)
|
||||
then
|
||||
let
|
||||
optionName = showOption prefix;
|
||||
|
@ -94,6 +94,14 @@ checkConfigOutput '^true$' config.result ./module-argument-default.nix
|
||||
# gvariant
|
||||
checkConfigOutput '^true$' config.assertion ./gvariant.nix
|
||||
|
||||
# https://github.com/NixOS/nixpkgs/pull/131205
|
||||
# We currently throw this error already in `config`, but throwing in `config.wrong1` would be acceptable.
|
||||
checkConfigError 'It seems as if you.re trying to declare an option by placing it into .config. rather than .options.' config.wrong1 ./error-mkOption-in-config.nix
|
||||
# We currently throw this error already in `config`, but throwing in `config.nest.wrong2` would be acceptable.
|
||||
checkConfigError 'It seems as if you.re trying to declare an option by placing it into .config. rather than .options.' config.nest.wrong2 ./error-mkOption-in-config.nix
|
||||
checkConfigError 'The option .sub.wrong2. does not exist. Definition values:' config.sub ./error-mkOption-in-submodule-config.nix
|
||||
checkConfigError '.*This can happen if you e.g. declared your options in .types.submodule.' config.sub ./error-mkOption-in-submodule-config.nix
|
||||
|
||||
# types.pathInStore
|
||||
checkConfigOutput '".*/store/0lz9p8xhf89kb1c1kk6jxrzskaiygnlh-bash-5.2-p15.drv"' config.pathInStore.ok1 ./types.nix
|
||||
checkConfigOutput '".*/store/0fb3ykw9r5hpayd05sr0cizwadzq1d8q-bash-5.2-p15"' config.pathInStore.ok2 ./types.nix
|
||||
@ -111,6 +119,12 @@ checkConfigError 'The option .* does not exist. Definition values:\n\s*- In .*'
|
||||
checkConfigError 'while evaluating a definition from `.*/define-enable-abort.nix' config.enable ./define-enable-abort.nix
|
||||
checkConfigError 'while evaluating the error message for definitions for .enable., which is an option that does not exist' config.enable ./define-enable-abort.nix
|
||||
|
||||
# Check boolByOr type.
|
||||
checkConfigOutput '^false$' config.value.falseFalse ./boolByOr.nix
|
||||
checkConfigOutput '^true$' config.value.trueFalse ./boolByOr.nix
|
||||
checkConfigOutput '^true$' config.value.falseTrue ./boolByOr.nix
|
||||
checkConfigOutput '^true$' config.value.trueTrue ./boolByOr.nix
|
||||
|
||||
checkConfigOutput '^1$' config.bare-submodule.nested ./declare-bare-submodule.nix ./declare-bare-submodule-nested-option.nix
|
||||
checkConfigOutput '^2$' config.bare-submodule.deep ./declare-bare-submodule.nix ./declare-bare-submodule-deep-option.nix
|
||||
checkConfigOutput '^42$' config.bare-submodule.nested ./declare-bare-submodule.nix ./declare-bare-submodule-nested-option.nix ./declare-bare-submodule-deep-option.nix ./define-bare-submodule-values.nix
|
||||
|
14
lib/tests/modules/boolByOr.nix
Normal file
14
lib/tests/modules/boolByOr.nix
Normal file
@ -0,0 +1,14 @@
|
||||
{ lib, ... }: {
|
||||
|
||||
options.value = lib.mkOption {
|
||||
type = lib.types.lazyAttrsOf lib.types.boolByOr;
|
||||
};
|
||||
|
||||
config.value = {
|
||||
falseFalse = lib.mkMerge [ false false ];
|
||||
trueFalse = lib.mkMerge [ true false ];
|
||||
falseTrue = lib.mkMerge [ false true ];
|
||||
trueTrue = lib.mkMerge [ true true ];
|
||||
};
|
||||
}
|
||||
|
14
lib/tests/modules/error-mkOption-in-config.nix
Normal file
14
lib/tests/modules/error-mkOption-in-config.nix
Normal file
@ -0,0 +1,14 @@
|
||||
{ lib, ... }:
|
||||
let
|
||||
inherit (lib) mkOption;
|
||||
in
|
||||
{
|
||||
wrong1 = mkOption {
|
||||
};
|
||||
# This is not actually reported separately, so could be omitted from the test
|
||||
# but it makes the example more realistic.
|
||||
# Making it parse this _config_ as options would too risky. What if it's not
|
||||
# options but other values, that abort, throw, diverge, etc?
|
||||
nest.wrong2 = mkOption {
|
||||
};
|
||||
}
|
12
lib/tests/modules/error-mkOption-in-submodule-config.nix
Normal file
12
lib/tests/modules/error-mkOption-in-submodule-config.nix
Normal file
@ -0,0 +1,12 @@
|
||||
{ lib, ... }:
|
||||
let
|
||||
inherit (lib) mkOption;
|
||||
in
|
||||
{
|
||||
options.sub = lib.mkOption {
|
||||
type = lib.types.submodule {
|
||||
wrong2 = mkOption {};
|
||||
};
|
||||
default = {};
|
||||
};
|
||||
}
|
@ -275,6 +275,22 @@ rec {
|
||||
merge = mergeEqualOption;
|
||||
};
|
||||
|
||||
boolByOr = mkOptionType {
|
||||
name = "boolByOr";
|
||||
description = "boolean (merged using or)";
|
||||
descriptionClass = "noun";
|
||||
check = isBool;
|
||||
merge = loc: defs:
|
||||
foldl'
|
||||
(result: def:
|
||||
# Under the assumption that .check always runs before merge, we can assume that all defs.*.value
|
||||
# have been forced, and therefore we assume we don't introduce order-dependent strictness here
|
||||
result || def.value
|
||||
)
|
||||
false
|
||||
defs;
|
||||
};
|
||||
|
||||
int = mkOptionType {
|
||||
name = "int";
|
||||
description = "signed integer";
|
||||
|
@ -3737,6 +3737,12 @@
|
||||
githubId = 1740337;
|
||||
name = "Chris Ostrouchov";
|
||||
};
|
||||
cottand = {
|
||||
email = "nico@dcotta.eu";
|
||||
github = "cottand";
|
||||
githubId = 45274424;
|
||||
name = "Nico D'Cotta";
|
||||
};
|
||||
couchemar = {
|
||||
email = "couchemar@yandex.ru";
|
||||
github = "couchemar";
|
||||
@ -5676,6 +5682,12 @@
|
||||
githubId = 454695;
|
||||
name = "Artur Taranchiev";
|
||||
};
|
||||
ewuuwe = {
|
||||
email = "ewu.uweq@pm.me";
|
||||
github = "ewuuwe";
|
||||
githubId = 63652646;
|
||||
name = "Xaver Oswald";
|
||||
};
|
||||
exarkun = {
|
||||
email = "exarkun@twistedmatrix.com";
|
||||
github = "exarkun";
|
||||
@ -5729,6 +5741,12 @@
|
||||
githubId = 25955146;
|
||||
name = "eyJhb";
|
||||
};
|
||||
eymeric = {
|
||||
name = "Eymeric Dechelette";
|
||||
email = "hatchchcien@protonmail.com";
|
||||
github = "hatch01";
|
||||
githubId = 42416805;
|
||||
};
|
||||
f2k1de = {
|
||||
name = "f2k1de";
|
||||
email = "hi@f2k1.de";
|
||||
@ -6738,8 +6756,6 @@
|
||||
};
|
||||
gm6k = {
|
||||
email = "nix@quidecco.pl";
|
||||
github = "zeuner";
|
||||
githubId = 2545850;
|
||||
name = "Isidor Zeuner";
|
||||
};
|
||||
gmemstr = {
|
||||
@ -8834,6 +8850,12 @@
|
||||
githubId = 6321578;
|
||||
name = "John Rinehart";
|
||||
};
|
||||
john-rodewald = {
|
||||
email = "jnrodewald99@gmail.com";
|
||||
github = "john-rodewald";
|
||||
githubId = 51028009;
|
||||
name = "John Rodewald";
|
||||
};
|
||||
john-shaffer = {
|
||||
email = "jdsha@proton.me";
|
||||
github = "john-shaffer";
|
||||
@ -9366,6 +9388,7 @@
|
||||
katexochen = {
|
||||
github = "katexochen";
|
||||
githubId = 49727155;
|
||||
matrix = "@katexochen:matrix.org";
|
||||
name = "Paul Meyer";
|
||||
};
|
||||
kayhide = {
|
||||
@ -18548,8 +18571,6 @@
|
||||
};
|
||||
tomkoid = {
|
||||
email = "tomaszierl@outlook.com";
|
||||
github = "Tomkoid";
|
||||
githubId = 67477750;
|
||||
name = "Tomkoid";
|
||||
};
|
||||
tomodachi94 = {
|
||||
|
@ -13,6 +13,13 @@ merging is handled.
|
||||
`types.bool`
|
||||
|
||||
: A boolean, its values can be `true` or `false`.
|
||||
All definitions must have the same value, after priorities. An error is thrown in case of a conflict.
|
||||
|
||||
`types.boolByOr`
|
||||
|
||||
: A boolean, its values can be `true` or `false`.
|
||||
The result is `true` if _any_ of multiple definitions is `true`.
|
||||
In other words, definitions are merged with the logical _OR_ operator.
|
||||
|
||||
`types.path`
|
||||
|
||||
|
@ -55,6 +55,14 @@ which causes the new configuration (and previous ones created using
|
||||
This can be useful to separate test configurations from "stable"
|
||||
configurations.
|
||||
|
||||
A repl, or read-eval-print loop, is also available. You can inspect your configuration and use the Nix language with
|
||||
|
||||
```ShellSession
|
||||
# nixos-rebuild repl
|
||||
```
|
||||
|
||||
Your configuration is loaded into the `config` variable. Use tab for autocompletion, use the `:r` command to reload the configuration files. See `:?` or [`nix repl` in the Nix manual](https://nixos.org/manual/nix/stable/command-ref/new-cli/nix3-repl.html) to learn more.
|
||||
|
||||
Finally, you can do
|
||||
|
||||
```ShellSession
|
||||
|
@ -32,6 +32,9 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
||||
- `mkosi` was updated to v19. Parts of the user interface have changed. Consult the
|
||||
[release notes](https://github.com/systemd/mkosi/releases/tag/v19) for a list of changes.
|
||||
|
||||
- `services.avahi.nssmdns` got split into `services.avahi.nssmdns4` and `services.avahi.nssmdns6` which enable the mDNS NSS switch for IPv4 and IPv6 respectively.
|
||||
Since most mDNS responders only register IPv4 addresses, most users want to keep the IPv6 support disabled to avoid long timeouts.
|
||||
|
||||
## Other Notable Changes {#sec-release-24.05-notable-changes}
|
||||
|
||||
<!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
|
||||
@ -58,5 +61,10 @@ The pre-existing [services.ankisyncd](#opt-services.ankisyncd.enable) has been m
|
||||
|
||||
- The `hardware.pulseaudio` module now sets permission of pulse user home directory to 755 when running in "systemWide" mode. It fixes [issue 114399](https://github.com/NixOS/nixpkgs/issues/114399).
|
||||
|
||||
- The `btrbk` module 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.
|
||||
|
||||
- QtMultimedia has changed its default backend to `QT_MEDIA_BACKEND=ffmpeg` (previously `gstreamer` on Linux or `darwin` on MacOS).
|
||||
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.
|
||||
|
@ -51,6 +51,7 @@ with lib;
|
||||
mc = super.mc.override { x11Support = false; };
|
||||
mpv-unwrapped = super.mpv-unwrapped.override { sdl2Support = false; x11Support = false; waylandSupport = false; };
|
||||
msmtp = super.msmtp.override { withKeyring = false; };
|
||||
mupdf = super.mupdf.override { enableGL = false; enableX11 = false; };
|
||||
neofetch = super.neofetch.override { x11Support = false; };
|
||||
networkmanager-fortisslvpn = super.networkmanager-fortisslvpn.override { withGnome = false; };
|
||||
networkmanager-iodine = super.networkmanager-iodine.override { withGnome = false; };
|
||||
|
@ -6,12 +6,15 @@ let
|
||||
concatMapStringsSep
|
||||
concatStringsSep
|
||||
filterAttrs
|
||||
flatten
|
||||
getAttr
|
||||
isAttrs
|
||||
literalExpression
|
||||
mapAttrs'
|
||||
mapAttrsToList
|
||||
mkIf
|
||||
mkOption
|
||||
optional
|
||||
optionalString
|
||||
sortOn
|
||||
types
|
||||
@ -84,6 +87,18 @@ let
|
||||
'';
|
||||
};
|
||||
|
||||
streamCompressMap = {
|
||||
gzip = pkgs.gzip;
|
||||
pigz = pkgs.pigz;
|
||||
bzip2 = pkgs.bzip2;
|
||||
pbzip2 = pkgs.pbzip2;
|
||||
bzip3 = pkgs.bzip3;
|
||||
xz = pkgs.xz;
|
||||
lzo = pkgs.lzo;
|
||||
lz4 = pkgs.lz4;
|
||||
zstd = pkgs.zstd;
|
||||
};
|
||||
|
||||
cfg = config.services.btrbk;
|
||||
sshEnabled = cfg.sshAccess != [ ];
|
||||
serviceEnabled = cfg.instances != { };
|
||||
@ -94,7 +109,14 @@ in
|
||||
options = {
|
||||
services.btrbk = {
|
||||
extraPackages = mkOption {
|
||||
description = lib.mdDoc "Extra packages for btrbk, like compression utilities for `stream_compress`";
|
||||
description = lib.mdDoc ''
|
||||
Extra packages for btrbk, like compression utilities for `stream_compress`.
|
||||
|
||||
**Note**: This option will get deprecated in future releases.
|
||||
Required compression programs will get automatically provided to btrbk
|
||||
depending on configured compression method in
|
||||
`services.btrbk.instances.<name>.settings` option.
|
||||
'';
|
||||
type = types.listOf types.package;
|
||||
default = [ ];
|
||||
example = literalExpression "[ pkgs.xz ]";
|
||||
@ -124,7 +146,19 @@ in
|
||||
'';
|
||||
};
|
||||
settings = mkOption {
|
||||
type = let t = types.attrsOf (types.either types.str (t // { description = "instances of this type recursively"; })); in t;
|
||||
type = types.submodule {
|
||||
freeformType = let t = types.attrsOf (types.either types.str (t // { description = "instances of this type recursively"; })); in t;
|
||||
options = {
|
||||
stream_compress = mkOption {
|
||||
description = lib.mdDoc ''
|
||||
Compress the btrfs send stream before transferring it from/to remote locations using a
|
||||
compression command.
|
||||
'';
|
||||
type = types.enum ["gzip" "pigz" "bzip2" "pbzip2" "bzip3" "xz" "lzo" "lz4" "zstd" "no"];
|
||||
default = "no";
|
||||
};
|
||||
};
|
||||
};
|
||||
default = { };
|
||||
example = {
|
||||
snapshot_preserve_min = "2d";
|
||||
@ -169,6 +203,11 @@ 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 ];
|
||||
@ -232,12 +271,15 @@ in
|
||||
cfg.instances;
|
||||
systemd.services = mapAttrs'
|
||||
(
|
||||
name: _: {
|
||||
name: instance: {
|
||||
name = "btrbk-${name}";
|
||||
value = {
|
||||
description = "Takes BTRFS snapshots and maintains retention policies.";
|
||||
unitConfig.Documentation = "man:btrbk(1)";
|
||||
path = [ "/run/wrappers" ] ++ cfg.extraPackages;
|
||||
path = [ "/run/wrappers" ]
|
||||
++ cfg.extraPackages
|
||||
++ optional (instance.settings.stream_compress != "no")
|
||||
(getAttr instance.settings.stream_compress streamCompressMap);
|
||||
serviceConfig = {
|
||||
User = "btrbk";
|
||||
Group = "btrbk";
|
||||
|
@ -1,10 +1,7 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.services.power-profiles-daemon;
|
||||
package = pkgs.power-profiles-daemon;
|
||||
in
|
||||
|
||||
{
|
||||
@ -15,8 +12,8 @@ in
|
||||
|
||||
services.power-profiles-daemon = {
|
||||
|
||||
enable = mkOption {
|
||||
type = types.bool;
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable power-profiles-daemon, a DBus daemon that allows
|
||||
@ -24,6 +21,8 @@ in
|
||||
'';
|
||||
};
|
||||
|
||||
package = lib.mkPackageOption pkgs "power-profiles-daemon" { };
|
||||
|
||||
};
|
||||
|
||||
};
|
||||
@ -31,7 +30,7 @@ in
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
assertions = [
|
||||
{ assertion = !config.services.tlp.enable;
|
||||
@ -42,13 +41,13 @@ in
|
||||
}
|
||||
];
|
||||
|
||||
environment.systemPackages = [ package ];
|
||||
environment.systemPackages = [ cfg.package ];
|
||||
|
||||
services.dbus.packages = [ package ];
|
||||
services.dbus.packages = [ cfg.package ];
|
||||
|
||||
services.udev.packages = [ package ];
|
||||
services.udev.packages = [ cfg.package ];
|
||||
|
||||
systemd.packages = [ package ];
|
||||
systemd.packages = [ cfg.package ];
|
||||
|
||||
};
|
||||
|
||||
|
@ -75,7 +75,7 @@ let
|
||||
# Create parts of the lovelace config that reference lovelave modules as resources
|
||||
customLovelaceModulesResources = {
|
||||
lovelace.resources = map (card: {
|
||||
url = "/local/nixos-lovelace-modules/${card.entrypoint or card.pname + ".js"}?${card.version}";
|
||||
url = "/local/nixos-lovelace-modules/${card.entrypoint or (card.pname + ".js")}?${card.version}";
|
||||
type = "module";
|
||||
}) cfg.customLovelaceModules;
|
||||
};
|
||||
@ -157,7 +157,7 @@ in {
|
||||
default = [];
|
||||
example = literalExpression ''
|
||||
with pkgs.home-assistant-custom-components; [
|
||||
prometheus-sensor
|
||||
prometheus_sensor
|
||||
];
|
||||
'';
|
||||
description = lib.mdDoc ''
|
||||
@ -523,7 +523,6 @@ in {
|
||||
"bluetooth_tracker"
|
||||
"bthome"
|
||||
"default_config"
|
||||
"eq3btsmart"
|
||||
"eufylife_ble"
|
||||
"esphome"
|
||||
"fjaraskupan"
|
||||
|
@ -42,6 +42,7 @@ in
|
||||
{
|
||||
imports = [
|
||||
(lib.mkRenamedOptionModule [ "services" "avahi" "interfaces" ] [ "services" "avahi" "allowInterfaces" ])
|
||||
(lib.mkRenamedOptionModule [ "services" "avahi" "nssmdns" ] [ "services" "avahi" "nssmdns4" ])
|
||||
];
|
||||
|
||||
options.services.avahi = {
|
||||
@ -93,7 +94,7 @@ in
|
||||
|
||||
ipv6 = mkOption {
|
||||
type = types.bool;
|
||||
default = config.networking.enableIPv6;
|
||||
default = false;
|
||||
defaultText = literalExpression "config.networking.enableIPv6";
|
||||
description = lib.mdDoc "Whether to use IPv6.";
|
||||
};
|
||||
@ -218,16 +219,31 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
nssmdns = mkOption {
|
||||
nssmdns4 = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable the mDNS NSS (Name Service Switch) plug-in.
|
||||
Whether to enable the mDNS NSS (Name Service Switch) plug-in for IPv4.
|
||||
Enabling it allows applications to resolve names in the `.local`
|
||||
domain by transparently querying the Avahi daemon.
|
||||
'';
|
||||
};
|
||||
|
||||
nssmdns6 = mkOption {
|
||||
type = types.bool;
|
||||
default = false;
|
||||
description = lib.mdDoc ''
|
||||
Whether to enable the mDNS NSS (Name Service Switch) plug-in for IPv6.
|
||||
Enabling it allows applications to resolve names in the `.local`
|
||||
domain by transparently querying the Avahi daemon.
|
||||
|
||||
::: {.note}
|
||||
Due to the fact that most mDNS responders only register local IPv4 addresses,
|
||||
most user want to leave this option disabled to avoid long timeouts when applications first resolve the none existing IPv6 address.
|
||||
:::
|
||||
'';
|
||||
};
|
||||
|
||||
cacheEntriesMax = mkOption {
|
||||
type = types.nullOr types.int;
|
||||
default = null;
|
||||
@ -257,8 +273,17 @@ in
|
||||
users.groups.avahi = { };
|
||||
|
||||
system.nssModules = optional cfg.nssmdns pkgs.nssmdns;
|
||||
system.nssDatabases.hosts = optionals cfg.nssmdns (mkMerge [
|
||||
(mkBefore [ "mdns_minimal [NOTFOUND=return]" ]) # before resolve
|
||||
system.nssDatabases.hosts = let
|
||||
mdnsMinimal = if (cfg.nssmdns4 && cfg.nssmdns6) then
|
||||
"mdns_minimal"
|
||||
else if (!cfg.nssmdns4 && cfg.nssmdns6) then
|
||||
"mdns6_minimal"
|
||||
else if (cfg.nssmdns4 && !cfg.nssmdns6) then
|
||||
"mdns4_minimal"
|
||||
else
|
||||
"";
|
||||
in optionals (cfg.nssmdns4 || cfg.nssmdns6) (mkMerge [
|
||||
(mkBefore [ "${mdnsMinimal} [NOTFOUND=return]" ]) # before resolve
|
||||
(mkAfter [ "mdns" ]) # after dns
|
||||
]);
|
||||
|
||||
|
@ -126,7 +126,7 @@ with lib;
|
||||
default = "dyndns2";
|
||||
type = str;
|
||||
description = lib.mdDoc ''
|
||||
Protocol to use with dynamic DNS provider (see https://sourceforge.net/p/ddclient/wiki/protocols).
|
||||
Protocol to use with dynamic DNS provider (see https://ddclient.net/protocols.html ).
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -240,7 +240,7 @@ in {
|
||||
};
|
||||
|
||||
phpOptions = mkOption {
|
||||
type = types.attrsOf types.str;
|
||||
type = with types; attrsOf (oneOf [ str int ]);
|
||||
defaultText = literalExpression (generators.toPretty { } defaultPHPSettings);
|
||||
description = lib.mdDoc ''
|
||||
Options for PHP's php.ini file for nextcloud.
|
||||
|
@ -449,7 +449,7 @@ let
|
||||
${optionalString (config.tryFiles != null) "try_files ${config.tryFiles};"}
|
||||
${optionalString (config.root != null) "root ${config.root};"}
|
||||
${optionalString (config.alias != null) "alias ${config.alias};"}
|
||||
${optionalString (config.return != null) "return ${config.return};"}
|
||||
${optionalString (config.return != null) "return ${toString config.return};"}
|
||||
${config.extraConfig}
|
||||
${optionalString (config.proxyPass != null && config.recommendedProxySettings) "include ${recommendedProxyConfig};"}
|
||||
${mkBasicAuth "sublocation" config}
|
||||
|
@ -93,7 +93,7 @@ with lib;
|
||||
};
|
||||
|
||||
return = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
type = with types; nullOr (oneOf [ str int ]);
|
||||
default = null;
|
||||
example = "301 http://example.com$request_uri";
|
||||
description = lib.mdDoc ''
|
||||
|
@ -27,7 +27,6 @@ import ./make-test-python.nix ({ pkgs, ... }:
|
||||
# don't do it with real ssh keys.
|
||||
environment.etc."btrbk_key".text = privateKey;
|
||||
services.btrbk = {
|
||||
extraPackages = [ pkgs.lz4 ];
|
||||
instances = {
|
||||
remote = {
|
||||
onCalendar = "minutely";
|
||||
|
@ -182,7 +182,7 @@ in {
|
||||
hass.wait_until_succeeds("journalctl -u home-assistant.service | grep -q 'We found a custom integration prometheus_sensor which has not been tested by Home Assistant'")
|
||||
|
||||
with subtest("Check that lovelace modules are referenced and fetchable"):
|
||||
hass.succeed("grep -q 'mini-graph-card-bundle.js' '${configDir}/ui-lovelace.yaml'")
|
||||
hass.succeed("grep -q 'mini-graph-card-bundle.js' '${configDir}/configuration.yaml'")
|
||||
hass.succeed("curl --fail http://localhost:8123/local/nixos-lovelace-modules/mini-graph-card-bundle.js")
|
||||
|
||||
with subtest("Check that optional dependencies are in the PYTHONPATH"):
|
||||
|
@ -10,7 +10,7 @@ import ./make-test-python.nix ({ lib, ... }:
|
||||
meta.maintainers = with lib.maintainers; [ minijackson erictapen ];
|
||||
|
||||
nodes.server =
|
||||
{ pkgs, ... }:
|
||||
{ ... }:
|
||||
{
|
||||
services.mobilizon = {
|
||||
enable = true;
|
||||
@ -25,8 +25,6 @@ import ./make-test-python.nix ({ lib, ... }:
|
||||
};
|
||||
};
|
||||
|
||||
services.postgresql.package = pkgs.postgresql_14;
|
||||
|
||||
security.pki.certificateFiles = [ certs.ca.cert ];
|
||||
|
||||
services.nginx.virtualHosts."${mobilizonDomain}" = {
|
||||
|
@ -144,6 +144,7 @@ in
|
||||
|
||||
restartAndCheckNebula = name: ip: ''
|
||||
${name}.systemctl("restart nebula@smoke.service")
|
||||
${name}.wait_for_unit("nebula@smoke.service")
|
||||
${name}.succeed("ping -c5 ${ip}")
|
||||
'';
|
||||
|
||||
@ -179,6 +180,8 @@ in
|
||||
${nodeB}.succeed("iptables -I INPUT -s " + node_a + " -j DROP")
|
||||
${nodeA}.systemctl("restart nebula@smoke.service")
|
||||
${nodeB}.systemctl("restart nebula@smoke.service")
|
||||
${nodeA}.wait_for_unit("nebula@smoke.service")
|
||||
${nodeB}.wait_for_unit("nebula@smoke.service")
|
||||
'';
|
||||
allowTrafficBetween = nodeA: nodeB: ''
|
||||
node_a = ${getPublicIp nodeA}
|
||||
@ -187,6 +190,8 @@ in
|
||||
${nodeB}.succeed("iptables -D INPUT -s " + node_a + " -j DROP")
|
||||
${nodeA}.systemctl("restart nebula@smoke.service")
|
||||
${nodeB}.systemctl("restart nebula@smoke.service")
|
||||
${nodeA}.wait_for_unit("nebula@smoke.service")
|
||||
${nodeB}.wait_for_unit("nebula@smoke.service")
|
||||
'';
|
||||
in ''
|
||||
# Create the certificate and sign the lighthouse's keys.
|
||||
|
@ -18,13 +18,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "gtkcord4";
|
||||
version = "0.0.12";
|
||||
version = "0.0.16-1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "diamondburned";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-x//PST2f501QuxRdPe3cYbpL66/zLJWmscED9SbxsTk=";
|
||||
hash = "sha256-GDQ11X202RIoJUZ2eJ9ukHalhXtKYn9C8lcvAzzaB+4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -52,17 +52,17 @@ buildGoModule rec {
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -D -m 444 -t $out/share/applications nix/xyz.diamondb.gtkcord4.desktop
|
||||
install -D -m 444 internal/icons/svg/logo.svg $out/share/icons/hicolor/scalable/apps/gtkcord4.svg
|
||||
install -D -m 444 internal/icons/png/logo.png $out/share/icons/hicolor/256x256/apps/gtkcord4.png
|
||||
install -D -m 444 -t $out/share/applications nix/so.libdb.gtkcord4.desktop
|
||||
install -D -m 444 internal/icons/hicolor/scalable/apps/logo.svg $out/share/icons/hicolor/scalable/apps/gtkcord4.svg
|
||||
'';
|
||||
|
||||
vendorHash = "sha256-LCLZBcYiexffvCr4vdZdIwNKo0s4mqPc6KxRumRhf1Y=";
|
||||
vendorHash = "sha256-ZQBYi5t6ntukoHP2FtwpZrpFd7b2opPC8tOSU9j3jUM=";
|
||||
|
||||
meta = with lib; {
|
||||
description = "GTK4 Discord client in Go, attempt #4.";
|
||||
description = "GTK4 Discord client in Go, attempt #4";
|
||||
homepage = "https://github.com/diamondburned/gtkcord4";
|
||||
license = licenses.gpl3Only;
|
||||
mainProgram = "gtkcord4";
|
||||
maintainers = with maintainers; [ hmenke urandom aleksana ];
|
||||
};
|
||||
}
|
||||
|
@ -21,14 +21,14 @@ assert lib.asserts.assertMsg (usePipewire != usePulseaudio) "You need to enable
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "jamesdsp";
|
||||
version = "2.6.1";
|
||||
version = "2.7.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Audio4Linux";
|
||||
repo = "JDSP4Linux";
|
||||
fetchSubmodules = true;
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-XYJl94/PstWG5qaBQ2rXc/nG9bDeP3Q62zDYHmZvPaw=";
|
||||
hash = "sha256-eVndqIqJ3DRceuFMT++g2riXq0CL5r+TWbvzvaYIfZ8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -17,46 +17,56 @@
|
||||
, wrapGAppsHook4
|
||||
, yarn
|
||||
, nodejs
|
||||
, blueprint-compiler
|
||||
, libsecret
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "muzika";
|
||||
version = "unstable-2023-06-07";
|
||||
version = "unstable-2023-11-07";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "vixalien";
|
||||
repo = "muzika";
|
||||
rev = "d0ca7eebad67082e73513ebd7ca04edb1fdec7ce";
|
||||
hash = "sha256-ycnHpyYaUJZgproTLCWCVzsvnUisXlq3fqlij1KryWA=";
|
||||
rev = "69c25e066297c45f4ce42d84d5d4c200789fbedf";
|
||||
hash = "sha256-Uof72o6HG4pYj1KZ8KgCwQA+0m778ezZxmt3TohNZcY=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
# Remove git command from version query
|
||||
sed -i '2d' meson.build
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
blueprint-compiler
|
||||
desktop-file-utils
|
||||
gobject-introspection
|
||||
meson
|
||||
ninja
|
||||
nodejs
|
||||
pkg-config
|
||||
prefetch-yarn-deps
|
||||
wrapGAppsHook4
|
||||
yarn
|
||||
prefetch-yarn-deps
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
gjs
|
||||
glib-networking
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-plugins-base
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-plugins-rs
|
||||
gtk4
|
||||
libadwaita
|
||||
libsecret
|
||||
libsoup_3
|
||||
];
|
||||
|
||||
yarnOfflineCache = fetchYarnDeps {
|
||||
yarnLock = src + "/yarn.lock";
|
||||
hash = "sha256-FvPEbYIydgfyKKsf2jnXUbPEhIboPi3wR7BWzEuo72Q=";
|
||||
hash = "sha256-/NkLfBmQGvgufF9ajgs7DQsBkWUUK4Bslhy7VmCBrGg=";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -2,7 +2,7 @@
|
||||
, glib, pango, cairo, atk, gdk-pixbuf, gtk3, cups, nspr, nss_latest, libpng, libnotify
|
||||
, libgcrypt, systemd, fontconfig, dbus, expat, ffmpeg_4, curlWithGnuTls, zlib, gnome
|
||||
, at-spi2-atk, at-spi2-core, libpulseaudio, libdrm, mesa, libxkbcommon
|
||||
, pname, meta, harfbuzz, libayatana-appindicator, libdbusmenu
|
||||
, pname, meta, harfbuzz, libayatana-appindicator, libdbusmenu, libGL
|
||||
# High-DPI support: Spotify's --force-device-scale-factor argument
|
||||
# not added if `null`, otherwise, should be a number.
|
||||
, deviceScaleFactor ? null
|
||||
@ -44,6 +44,7 @@ let
|
||||
libdbusmenu
|
||||
libdrm
|
||||
libgcrypt
|
||||
libGL
|
||||
libnotify
|
||||
libpng
|
||||
libpulseaudio
|
||||
|
@ -477,6 +477,13 @@ let
|
||||
|
||||
ox-rss = buildWithGit super.ox-rss;
|
||||
|
||||
python-isort = super.python-isort.overrideAttrs (attrs: {
|
||||
postPatch = attrs.postPatch or "" + ''
|
||||
substituteInPlace python-isort.el \
|
||||
--replace '-isort-command "isort"' '-isort-command "${lib.getExe pkgs.isort}"'
|
||||
'';
|
||||
});
|
||||
|
||||
# upstream issue: missing file header
|
||||
mhc = super.mhc.override {
|
||||
inherit (self.melpaPackages) calfw;
|
||||
|
@ -97,6 +97,9 @@ rustPlatform.buildRustPackage rec {
|
||||
# Get openssl-sys to use pkg-config
|
||||
OPENSSL_NO_VENDOR = 1;
|
||||
|
||||
# This variable is read by build script, so that Lapce editor knows its version
|
||||
env.RELEASE_TAG_NAME = "v${version}";
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
gtk3
|
||||
|
@ -2750,7 +2750,7 @@ let
|
||||
# Please update the corresponding binary (typst-lsp) when updating
|
||||
# this extension.
|
||||
version = "0.12.0";
|
||||
sha256 = "sha256-5DwpgDstKJXo9jEWORXKr3B6Hnd/YOktiaJL2RFWCSA=";
|
||||
sha256 = "sha256-9v6zJyeUBj0TOpK2otLqZ0ksjmzExKTJYRF+9akvuuo=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ jq moreutils ];
|
||||
|
@ -15,11 +15,11 @@ let
|
||||
archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
|
||||
|
||||
sha256 = {
|
||||
x86_64-linux = "0153vsb62r3g3cck70n05wkxxkh9w53zhnra7hzfy4m19v8xinzm";
|
||||
x86_64-darwin = "1xqf0s05ns1yqd6qz4633c5xgb0l0nm2n1kfvxv7wqhgf94x80fm";
|
||||
aarch64-linux = "1hfg01w9k60lf30chvj7mrjb1m3p5czv42cf7zj97j5pkhpg2lmi";
|
||||
aarch64-darwin = "0vzayy1akh9hzs32cyxvvfnsbg9601jrs7bsvql3728dy9wkc8w2";
|
||||
armv7l-linux = "0cc9b47dziqizcs37yci48ymyg176lwsyh7w7b9imh1s658vgikv";
|
||||
x86_64-linux = "16m7a2j9rmnp9pqpyyy2dx09paj1qh0h4gb1dhhwakw7w0zjlxn5";
|
||||
x86_64-darwin = "1h4kwqddkm19pnh08b33jd10d0n5kcyqkm7kn8fnyj0bpkrzwyql";
|
||||
aarch64-linux = "0mpqrxvrp8cgv40ck5sprdzzafkb69skisygaq7lr2rfky2gn019";
|
||||
aarch64-darwin = "1bakb5789zkpzymq3zvs6ls36c4xp50j5xiwyz1wgxgf4wnh06zw";
|
||||
armv7l-linux = "0rnp2lfx8xjz7xlmc7sxpg5xd5w72cnp76gv441csbyw3bscbxpw";
|
||||
}.${system} or throwSystem;
|
||||
|
||||
sourceRoot = lib.optionalString (!stdenv.isDarwin) ".";
|
||||
@ -29,7 +29,7 @@ in
|
||||
|
||||
# Please backport all compatible updates to the stable release.
|
||||
# This is important for the extension ecosystem.
|
||||
version = "1.84.2.23319";
|
||||
version = "1.85.0.23343";
|
||||
pname = "vscodium";
|
||||
|
||||
executableName = "codium";
|
||||
|
@ -4,6 +4,7 @@
|
||||
, SDL
|
||||
, SDL_image
|
||||
, SDL_ttf
|
||||
, installShellFiles
|
||||
, fontconfig
|
||||
, libpng
|
||||
, libtiff
|
||||
@ -12,17 +13,28 @@
|
||||
, zlib
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "2.8.3091";
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "grafx2";
|
||||
version = "2.8.3091";
|
||||
|
||||
outputs = [ "out" "man" ];
|
||||
|
||||
src = fetchurl {
|
||||
name = "grafx2-${finalAttrs.version}.tar.gz";
|
||||
url = "https://pulkomandy.tk/projects/GrafX2/downloads/65";
|
||||
name = "${pname}-${version}.tar.gz";
|
||||
hash = "sha256-KdY7GUhQp/Q7t/ktLPGxI66ZHy2gDAffn2yB5pmcJCM=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
postPatch = ''
|
||||
substituteInPlace misc/unix/grafx2.desktop \
|
||||
--replace "Exec=grafx2" "Exec=grafx2-sdl"
|
||||
'';
|
||||
|
||||
nativeBuildInputs = [
|
||||
installShellFiles
|
||||
pkg-config
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
SDL
|
||||
SDL_image
|
||||
@ -34,15 +46,31 @@ stdenv.mkDerivation rec {
|
||||
zlib
|
||||
];
|
||||
|
||||
strictDeps = false; # Why??
|
||||
|
||||
makeFlags = [ "-C src" ];
|
||||
installFlags = [ "-C src" "PREFIX=$(out)" ];
|
||||
|
||||
postInstall = ''
|
||||
installManPage misc/unix/grafx2.1
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "Bitmap paint program inspired by the Amiga programs Deluxe Paint and Brilliance";
|
||||
homepage = "http://pulkomandy.tk/projects/GrafX2";
|
||||
license = lib.licenses.gpl2;
|
||||
platforms = [ "x86_64-linux" "i686-linux" ];
|
||||
maintainers = [];
|
||||
homepage = "http://grafx2.eu/";
|
||||
description = "The ultimate 256-color painting program";
|
||||
longDescription = ''
|
||||
GrafX2 is a bitmap paint program inspired by the Amiga programs Deluxe
|
||||
Paint and Brilliance. Specialized in 256-color drawing, it includes a very
|
||||
large number of tools and effects that make it particularly suitable for
|
||||
pixel art, game graphics, and generally any detailed graphics painted with
|
||||
a mouse.
|
||||
|
||||
The program is mostly developed on Haiku, Linux and Windows, but is also
|
||||
portable on many other platforms.
|
||||
'';
|
||||
license = with lib.licenses; [ gpl2Plus ];
|
||||
mainProgram = "grafx2-sdl";
|
||||
maintainers = with lib.maintainers; [ AndersonTorres ];
|
||||
platforms = lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -38,13 +38,13 @@
|
||||
|
||||
# for dependencies see https://wiki.gnome.org/Apps/Shotwell/BuildingAndInstalling
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "shotwell";
|
||||
version = "0.32.3";
|
||||
version = "0.32.4";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-4AD+5bPzYseRFPDs/44is0yaKGW1nkGi2j5NxdLKLDw=";
|
||||
url = "mirror://gnome/sources/shotwell/${lib.versions.majorMinor finalAttrs.version}/shotwell-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "sha256-3iqUUIRtHOwUxqEDA3X9SeGvJNySCtZIA0QST5zLhW8=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -91,7 +91,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
packageName = "shotwell";
|
||||
versionPolicy = "odd-unstable";
|
||||
};
|
||||
};
|
||||
@ -103,4 +103,4 @@ stdenv.mkDerivation rec {
|
||||
maintainers = with maintainers; [];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -1,7 +1,6 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchurl
|
||||
, fetchpatch
|
||||
, cargo
|
||||
, desktop-file-utils
|
||||
, meson
|
||||
@ -17,24 +16,15 @@
|
||||
, gnome
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "snapshot";
|
||||
version = "45.0";
|
||||
version = "45.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/snapshot/${lib.versions.major version}/snapshot-${version}.tar.xz";
|
||||
hash = "sha256-7keO4JBzGgsIJLZrsXRr2ADcv+h6yDWEmUSa85z822c=";
|
||||
url = "mirror://gnome/sources/snapshot/${lib.versions.major finalAttrs.version}/snapshot-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-/kRifa7zrZbBaaLlRhDmZxj4k9cN/SXUDTBskYQ7zjk=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# Fix portal requests
|
||||
# https://gitlab.gnome.org/GNOME/snapshot/-/merge_requests/168
|
||||
(fetchpatch {
|
||||
url = "https://gitlab.gnome.org/GNOME/snapshot/-/commit/6aec0f56d6bb994731c1309ac6e2cb822b82067e.patch";
|
||||
hash = "sha256-6tnOhhTQ3Rfl3nCw/rliLKkvZknvZKCQyeMKaTxYmok=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cargo
|
||||
desktop-file-utils
|
||||
@ -75,4 +65,4 @@ stdenv.mkDerivation rec {
|
||||
platforms = platforms.unix;
|
||||
mainProgram = "snapshot";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -36,6 +36,11 @@
|
||||
, wrapGAppsHook
|
||||
}:
|
||||
|
||||
let
|
||||
mlt-full = mlt.override {
|
||||
ffmpeg = ffmpeg-full;
|
||||
};
|
||||
in
|
||||
mkDerivation {
|
||||
pname = "kdenlive";
|
||||
nativeBuildInputs = [
|
||||
@ -60,7 +65,7 @@ mkDerivation {
|
||||
kplotting
|
||||
ktextwidgets
|
||||
mediainfo
|
||||
mlt
|
||||
mlt-full
|
||||
phonon-backend-gstreamer
|
||||
qtdeclarative
|
||||
qtmultimedia
|
||||
@ -81,8 +86,9 @@ mkDerivation {
|
||||
# https://github.com/NixOS/nixpkgs/issues/83885
|
||||
patches = [ ./dependency-paths.patch ];
|
||||
|
||||
inherit mlt mediainfo;
|
||||
inherit mediainfo;
|
||||
ffmpeg = ffmpeg-full;
|
||||
mlt = mlt-full;
|
||||
|
||||
postPatch =
|
||||
# Module Qt5::Concurrent must be included in `find_package` before it is used.
|
||||
|
@ -0,0 +1,34 @@
|
||||
From 7eed499898226222a949a792e0400ec10db4a1c9 Mon Sep 17 00:00:00 2001
|
||||
From: Zhaofeng Li <hello@zhaofeng.li>
|
||||
Date: Tue, 22 Nov 2022 13:00:39 -0700
|
||||
Subject: [PATCH] [not for upstream] CMakeLists: Link against webkit2gtk in
|
||||
libslic3r_gui
|
||||
|
||||
WebView.cpp uses symbols from webkitgtk directly. Upstream setup
|
||||
links wxGTK statically so webkitgtk is already pulled in.
|
||||
|
||||
> /nix/store/039g378vc3pc3dvi9dzdlrd0i4q93qwf-binutils-2.39/bin/ld: slic3r/liblibslic3r_gui.a(WebView.cpp.o): undefined reference to symbol 'webkit_web_view_run_javascript_finish'
|
||||
> /nix/store/039g378vc3pc3dvi9dzdlrd0i4q93qwf-binutils-2.39/bin/ld: /nix/store/8yvy428jy2nwq4dhmrcs7gj5r27a2pv6-webkitgtk-2.38.2+abi=4.0/lib/libwebkit2gtk-4.0.so.37: error adding symbols: DSO missing from command line
|
||||
---
|
||||
src/CMakeLists.txt | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 9c5cb96..e92a0e3 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -175,6 +175,11 @@ if (WIN32)
|
||||
target_link_libraries(BambuStudio_app_gui PRIVATE boost_headeronly)
|
||||
endif ()
|
||||
|
||||
+# We link against webkit2gtk symbols in src/slic3r/GUI/Widgets/WebView.cpp
|
||||
+if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
+ target_link_libraries(libslic3r_gui "-lwebkit2gtk-4.0")
|
||||
+endif ()
|
||||
+
|
||||
# Link the resources dir to where Slic3r GUI expects it
|
||||
set(output_dlls_Release "")
|
||||
set(output_dlls_Debug "")
|
||||
--
|
||||
2.38.1
|
||||
|
172
pkgs/applications/misc/bambu-studio/default.nix
Normal file
172
pkgs/applications/misc/bambu-studio/default.nix
Normal file
@ -0,0 +1,172 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, openexr
|
||||
, jemalloc
|
||||
, c-blosc
|
||||
, binutils
|
||||
, fetchFromGitHub
|
||||
, cmake
|
||||
, pkg-config
|
||||
, wrapGAppsHook
|
||||
, boost179
|
||||
, cereal
|
||||
, cgal_5
|
||||
, curl
|
||||
, dbus
|
||||
, eigen
|
||||
, expat
|
||||
, gcc-unwrapped
|
||||
, glew
|
||||
, glfw
|
||||
, glib
|
||||
, glib-networking
|
||||
, gmp
|
||||
, gstreamer
|
||||
, gst-plugins-base
|
||||
, gst-plugins-bad
|
||||
, gtest
|
||||
, gtk3
|
||||
, hicolor-icon-theme
|
||||
, ilmbase
|
||||
, libpng
|
||||
, mesa
|
||||
, mpfr
|
||||
, nlopt
|
||||
, opencascade-occt
|
||||
, openvdb
|
||||
, pcre
|
||||
, qhull
|
||||
, systemd
|
||||
, tbb_2021_8
|
||||
, webkitgtk
|
||||
, wxGTK31
|
||||
, xorg
|
||||
, fetchpatch
|
||||
, withSystemd ? stdenv.isLinux
|
||||
}:
|
||||
let
|
||||
wxGTK31' = wxGTK31.overrideAttrs (old: {
|
||||
configureFlags = old.configureFlags ++ [
|
||||
# Disable noisy debug dialogs
|
||||
"--enable-debug=no"
|
||||
];
|
||||
});
|
||||
openvdb_tbb_2021_8 = openvdb.overrideAttrs (old: rec {
|
||||
buildInputs = [ openexr boost179 tbb_2021_8 jemalloc c-blosc ilmbase ];
|
||||
});
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "bambu-studio";
|
||||
version = "01.08.01.57";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bambulab";
|
||||
repo = "BambuStudio";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-15Eq+ylQK+xlxG7cg6xoCPb+zJ66qqwQIKd1zA13I5o=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
pkg-config
|
||||
wrapGAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
binutils
|
||||
boost179
|
||||
cereal
|
||||
cgal_5
|
||||
curl
|
||||
dbus
|
||||
eigen
|
||||
expat
|
||||
gcc-unwrapped
|
||||
glew
|
||||
glfw
|
||||
glib
|
||||
glib-networking
|
||||
gmp
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
gst-plugins-bad
|
||||
gtk3
|
||||
hicolor-icon-theme
|
||||
ilmbase
|
||||
libpng
|
||||
mesa.osmesa
|
||||
mpfr
|
||||
nlopt
|
||||
opencascade-occt
|
||||
openvdb_tbb_2021_8
|
||||
pcre
|
||||
tbb_2021_8
|
||||
webkitgtk
|
||||
wxGTK31'
|
||||
xorg.libX11
|
||||
] ++ lib.optionals withSystemd [
|
||||
systemd
|
||||
] ++ checkInputs;
|
||||
|
||||
patches = [
|
||||
# Fix for webkitgtk linking
|
||||
./0001-not-for-upstream-CMakeLists-Link-against-webkit2gtk-.patch
|
||||
];
|
||||
|
||||
doCheck = true;
|
||||
checkInputs = [ gtest ];
|
||||
|
||||
separateDebugInfo = true;
|
||||
|
||||
# The build system uses custom logic - defined in
|
||||
# cmake/modules/FindNLopt.cmake in the package source - for finding the nlopt
|
||||
# library, which doesn't pick up the package in the nix store. We
|
||||
# additionally need to set the path via the NLOPT environment variable.
|
||||
NLOPT = nlopt;
|
||||
|
||||
# Disable compiler warnings that clutter the build log.
|
||||
# It seems to be a known issue for Eigen:
|
||||
# http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221
|
||||
NIX_CFLAGS_COMPILE = "-Wno-ignored-attributes";
|
||||
|
||||
# prusa-slicer uses dlopen on `libudev.so` at runtime
|
||||
NIX_LDFLAGS = lib.optionalString withSystemd "-ludev";
|
||||
|
||||
# TODO: macOS
|
||||
prePatch = ''
|
||||
# Since version 2.5.0 of nlopt we need to link to libnlopt, as libnlopt_cxx
|
||||
# now seems to be integrated into the main lib.
|
||||
sed -i 's|nlopt_cxx|nlopt|g' cmake/modules/FindNLopt.cmake
|
||||
'';
|
||||
|
||||
cmakeFlags = [
|
||||
"-DSLIC3R_STATIC=0"
|
||||
"-DSLIC3R_FHS=1"
|
||||
"-DSLIC3R_GTK=3"
|
||||
|
||||
# BambuStudio-specific
|
||||
"-DBBL_RELEASE_TO_PUBLIC=1"
|
||||
"-DBBL_INTERNAL_TESTING=0"
|
||||
"-DDEP_WX_GTK3=ON"
|
||||
"-DSLIC3R_BUILD_TESTS=0"
|
||||
"-DCMAKE_CXX_FLAGS=-DBOOST_LOG_DYN_LINK"
|
||||
];
|
||||
|
||||
preFixup = ''
|
||||
gappsWrapperArgs+=(
|
||||
--prefix LD_LIBRARY_PATH : "$out/lib"
|
||||
|
||||
# Fixes intermittent crash
|
||||
# The upstream setup links in glew statically
|
||||
--prefix LD_PRELOAD : "${glew.out}/lib/libGLEW.so"
|
||||
)
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "PC Software for BambuLab's 3D printers";
|
||||
homepage = "https://github.com/bambulab/BambuStudio";
|
||||
license = licenses.agpl3;
|
||||
maintainers = with maintainers; [ zhaofengli ];
|
||||
mainProgram = "bambu-studio";
|
||||
};
|
||||
}
|
@ -10,16 +10,16 @@
|
||||
|
||||
rustPlatform.buildRustPackage rec {
|
||||
pname = "kickoff";
|
||||
version = "0.7.1";
|
||||
version = "0.7.2";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "j0ru";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
hash = "sha256-9QupKpB3T/6gdGSeLjRknjPdgOzbfzEeJreIamWwpSw=";
|
||||
hash = "sha256-WUDbb/GLABhqE93O6bm19Y+r0kSMEJrvduw68Igub44=";
|
||||
};
|
||||
|
||||
cargoHash = "sha256-a7FZpMtgTdqpLV/OfgN4W4GpTJlkfEtPO7F//FmVA/s=";
|
||||
cargoHash = "sha256-nhUC9PSKAbNEK5e4WRx3dgYI0rJP5XSWcW6M5E0Ihv4=";
|
||||
|
||||
libPath = lib.makeLibraryPath [
|
||||
wayland
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "nerd-font-patcher";
|
||||
version = "3.0.2";
|
||||
version = "3.1.1";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/ryanoasis/nerd-fonts/releases/download/v${version}/FontPatcher.zip";
|
||||
sha256 = "sha256-ZJpF/Q5lfcW3srb2NbJk+/QEuwaFjdzboa+rl9L7GGE=";
|
||||
sha256 = "sha256-H2dPUs6HVKJcjxy5xtz9nL3SSPXKQF3w30/0l7A0PeY=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
|
@ -41,7 +41,7 @@ let
|
||||
homepage = "https://www.nomadproject.io/";
|
||||
description = "A Distributed, Highly Available, Datacenter-Aware Scheduler";
|
||||
license = licenses.mpl20;
|
||||
maintainers = with maintainers; [ rushmorem pradeepchhetri endocrimes amaxine techknowlogick ];
|
||||
maintainers = with maintainers; [ rushmorem pradeepchhetri endocrimes amaxine techknowlogick cottand ];
|
||||
};
|
||||
} // attrs');
|
||||
in
|
||||
@ -75,9 +75,20 @@ rec {
|
||||
|
||||
nomad_1_6 = generic {
|
||||
buildGoModule = buildGo121Module;
|
||||
version = "1.6.3";
|
||||
sha256 = "sha256-5UWGriDy15PX3+9UppcUsEwih/e9COLVBis3fn+24L0=";
|
||||
vendorHash = "sha256-gXoheW6Ww9Iu4utKNHweP2blzhWid+Q9Tp0ZgCmBAVg=";
|
||||
version = "1.6.4";
|
||||
sha256 = "sha256-tlbuxKCm7he1Tij4BYKGvv7a6LKiyWgs2PvbcWg/7A0=";
|
||||
vendorHash = "sha256-PrQit4egSq/pkILb6M7A3gsiQvLPABhyLXWgv8GFz/Y=";
|
||||
passthru.tests.nomad = nixosTests.nomad;
|
||||
preCheck = ''
|
||||
export PATH="$PATH:$NIX_BUILD_TOP/go/bin"
|
||||
'';
|
||||
};
|
||||
|
||||
nomad_1_7 = generic {
|
||||
buildGoModule = buildGo121Module;
|
||||
version = "1.7.1";
|
||||
sha256 = "sha256-dlKlpgQRug/72UmIogOkKNGBT3sPjgGVVuvzHZ4vh3c=";
|
||||
vendorHash = "sha256-MZmhFdZZBkKZDgON1ewVm9Z9jZ1EULp/yMT9q6fCqIw=";
|
||||
passthru.tests.nomad = nixosTests.nomad;
|
||||
preCheck = ''
|
||||
export PATH="$PATH:$NIX_BUILD_TOP/go/bin"
|
||||
|
@ -10,13 +10,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "werf";
|
||||
version = "1.2.269";
|
||||
version = "1.2.270";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "werf";
|
||||
repo = "werf";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-LUHENANM+3wGftTVXaQsGykKayzEAIQ3TQ5qM77TJVA=";
|
||||
hash = "sha256-8AF+D/kbRkalUOQmpGamyhq5LEu1Uyxj6NuzWviDKRM=";
|
||||
};
|
||||
|
||||
vendorHash = "sha256-20bPsBRya7Gg7p/hSSnnYLoSHf/fRwk1UrA/KlMT3Jk=";
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
let
|
||||
pname = "rambox";
|
||||
version = "2.2.2";
|
||||
version = "2.2.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/ramboxapp/download/releases/download/v${version}/Rambox-${version}-linux-x64.AppImage";
|
||||
sha256 = "sha256-P6ia7IU6OQJQXANy1snIZEqarKUcRmgbkP6L+UMwi+8=";
|
||||
sha256 = "sha256-V1Sxfgn3fcqW7t7oa1pfnrPYAqHdCLrWUbplE/I789A=";
|
||||
};
|
||||
|
||||
desktopItem = (makeDesktopItem {
|
||||
|
@ -9,22 +9,25 @@ let
|
||||
taler-wallet-core = fetchgit {
|
||||
url = "https://git.taler.net/wallet-core.git";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-uwbgIzSjLN+KQCY134VfnCuBEtvCO3a6mEw++HoZDHs=";
|
||||
sha256 = "sha256-oL8vi8gxPjKxRpioMs0GLvkzlTkrm1kyvhsXOgrtvVQ=";
|
||||
};
|
||||
in rec {
|
||||
taler-exchange = stdenv.mkDerivation rec {
|
||||
|
||||
taler-exchange = stdenv.mkDerivation {
|
||||
pname = "taler-exchange";
|
||||
inherit version;
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.taler.net/exchange.git";
|
||||
rev = "v${version}";
|
||||
# REMOVEME: this should only be a problem for specifically v0.9.3
|
||||
# When fetching submodules without deep clone we get the following error:
|
||||
# "Server does not allow request for unadvertised object"
|
||||
deepClone = true;
|
||||
fetchSubmodules = true;
|
||||
sha256 = "sha256-txWwW5vqTblNgVIXdDkpNNZOXpY0udMaz4Wog1GobzE=";
|
||||
sha256 = "sha256-NgDZF6LNeJI4ZuXEwoRdFG6g0S9xNTVhszzlfAnzVOs=";
|
||||
|
||||
# When fetching submodules without the .git folder we get the following error:
|
||||
# "Server does not allow request for unadvertised object"
|
||||
leaveDotGit = true;
|
||||
postFetch = ''
|
||||
rm -rf $out/.git
|
||||
'';
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -76,7 +79,7 @@ in rec {
|
||||
};
|
||||
};
|
||||
|
||||
taler-merchant = stdenv.mkDerivation rec {
|
||||
taler-merchant = stdenv.mkDerivation {
|
||||
pname = "taler-merchant";
|
||||
inherit version;
|
||||
|
||||
@ -133,4 +136,6 @@ in rec {
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
};
|
||||
in {
|
||||
inherit taler-exchange taler-merchant;
|
||||
}
|
||||
|
@ -68,7 +68,6 @@ stdenv.mkDerivation rec {
|
||||
license = lib.licenses.gpl2;
|
||||
platforms = with lib.platforms; linux ++ darwin;
|
||||
maintainers = [ lib.maintainers.cge ];
|
||||
# never built on aarch64-darwin since first introduction in nixpkgs
|
||||
broken = stdenv.isDarwin && stdenv.isAarch64;
|
||||
broken = true; # Build error: h5py-3.9.0 not supported for interpreter python2.7
|
||||
};
|
||||
}
|
||||
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "eprover";
|
||||
version = "3.0";
|
||||
version = "3.0.03";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://wwwlehre.dhbw-stuttgart.de/~sschulz/WORK/E_DOWNLOAD/V_${version}/E.tgz";
|
||||
hash = "sha256-gBgDC+GH948JMsjzo/SOpWDzJXu0g58YX1VW28PeorI=";
|
||||
hash = "sha256-cS5zUe2N9Kd9uzbNpeBtvLbgUN0c3N3tGcYczK3KsdQ=";
|
||||
};
|
||||
|
||||
buildInputs = [ which ];
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "isabelle-linter";
|
||||
version = "1.2.1";
|
||||
version = "2023-1.0.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "isabelle-prover";
|
||||
repo = "isabelle-linter";
|
||||
rev = "Isabelle2022-v${version}";
|
||||
sha256 = "sha256-qlojNCsm3/49TtAVq6J31BbQipdIoDcn71pBotZyquY=";
|
||||
rev = "Isabelle2023-v1.0.0";
|
||||
sha256 = "sha256-q9+qN94NaTzvhbcNQj7yH/VVfs1QgCH8OU8HW+5+s9U=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ isabelle ];
|
||||
|
@ -46,7 +46,7 @@ let
|
||||
};
|
||||
in stdenv.mkDerivation (finalAttrs: rec {
|
||||
pname = "isabelle";
|
||||
version = "2022";
|
||||
version = "2023";
|
||||
|
||||
dirname = "Isabelle${version}";
|
||||
|
||||
@ -56,18 +56,18 @@ in stdenv.mkDerivation (finalAttrs: rec {
|
||||
fetchurl
|
||||
{
|
||||
url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_macos.tar.gz";
|
||||
sha256 = "0b84rx9b7b5y8m1sg7xdp17j6yngd2dkx6v5bkd8h7ly102lai18";
|
||||
sha256 = "sha256-0VSW2SrHNI3/k4cCCZ724ruXaq7W1NCPsLrXFZ9l1/Q=";
|
||||
}
|
||||
else if stdenv.hostPlatform.isx86
|
||||
then
|
||||
fetchurl {
|
||||
url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_linux.tar.gz";
|
||||
sha256 = "1ih4gykkp1an43qdgc5xzyvf30fhs0dah3y0a5ksbmvmjsfnxyp7";
|
||||
sha256 = "sha256-Go4ZCsDz5gJ7uWG5VLrNJOddMPX18G99FAadpX53Rqg=";
|
||||
}
|
||||
else
|
||||
fetchurl {
|
||||
url = "https://isabelle.in.tum.de/website-${dirname}/dist/${dirname}_linux_arm.tar.gz";
|
||||
hash = "sha256-qI/BR/KZwLjnkO5q/yYeW4lN4xyUe78VOM2INC/Z/io=";
|
||||
hash = "sha256-Tzxxs0gKw6vymbaXIzH8tK5VgUrpOIp9vcWQ/zxnRCc=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ java ];
|
||||
@ -134,8 +134,7 @@ in stdenv.mkDerivation (finalAttrs: rec {
|
||||
|
||||
substituteInPlace src/Tools/Setup/src/Environment.java \
|
||||
--replace 'cmd.add("/usr/bin/env");' "" \
|
||||
--replace 'cmd.add("bash");' "cmd.add(\"$SHELL\");" \
|
||||
--replace 'private static read_file(path: Path): String =' 'private static String read_file(Path path) throws IOException'
|
||||
--replace 'cmd.add("bash");' "cmd.add(\"$SHELL\");"
|
||||
|
||||
substituteInPlace src/Pure/General/sha1.ML \
|
||||
--replace '"$ML_HOME/" ^ (if ML_System.platform_is_windows then "sha1.dll" else "libsha1.so")' '"${sha1}/lib/libsha1.so"'
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
with haskellPackages; mkDerivation {
|
||||
pname = "Naproche-SAD";
|
||||
version = "2022-10-24";
|
||||
version = "unstable-2023-07-11";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "naproche";
|
||||
repo = "naproche";
|
||||
rev = "c8c4ca2d5fdb92bf17e0e54c99bd2a9691255d80";
|
||||
sha256 = "0xvh6kkl5k5ygp2nrbq3k0snvzczbmcp1yrwdkah3fzhf9i3yykx";
|
||||
rev = "4c399d49a86987369bec6e1ac5ae3739cd6db0a8";
|
||||
sha256 = "sha256-Ji6yxbDEcwuYAzIZwK5sHNltK1WBFBfpyoEtoID/U4k=";
|
||||
};
|
||||
|
||||
isExecutable = true;
|
||||
|
@ -24,7 +24,7 @@ let common = { version, sha256, patches ? [ ], tag ? "z3" }:
|
||||
inherit version sha256 patches;
|
||||
src = fetchFromGitHub {
|
||||
owner = "Z3Prover";
|
||||
repo = pname;
|
||||
repo = "z3";
|
||||
rev = "${tag}-${version}";
|
||||
sha256 = sha256;
|
||||
};
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "qalculate-gtk";
|
||||
version = "4.8.1";
|
||||
version = "4.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qalculate";
|
||||
repo = "qalculate-gtk";
|
||||
rev = "v${finalAttrs.version}";
|
||||
sha256 = "sha256-bG0hui5GjHWHny/8Rq5sZGz3s5rYnYlpc+K8I/LwDto=";
|
||||
hash = "sha256-rQxOOxM4TazkDs/H3KEPbdo6WBl0ptyAlZwv8nnGMss=";
|
||||
};
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
@ -23,6 +23,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
homepage = "http://qalculate.github.io";
|
||||
maintainers = with maintainers; [ gebner doronbehar alyaeanyx ];
|
||||
license = licenses.gpl2Plus;
|
||||
mainProgram = "qalculate-gtk";
|
||||
platforms = platforms.all;
|
||||
};
|
||||
})
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "qalculate-qt";
|
||||
version = "4.8.1";
|
||||
version = "4.9.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "qalculate";
|
||||
repo = "qalculate-qt";
|
||||
rev = "v${finalAttrs.version}";
|
||||
hash = "sha256-hH+orU+5PmPcrhkLKCdsDhVCrD8Mvxp2RPTGSlsUP7Y=";
|
||||
hash = "sha256-Ac8RRxLheaenlR7JqKzfBpPxsq7PHfE9qXFf3Vx4GSg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ qmake intltool pkg-config qttools wrapQtAppsHook ];
|
||||
@ -31,6 +31,7 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
homepage = "http://qalculate.github.io";
|
||||
maintainers = with maintainers; [ _4825764518 ];
|
||||
license = licenses.gpl2Plus;
|
||||
mainProgram = "qalculate-qt";
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
})
|
||||
|
@ -58,7 +58,7 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "root";
|
||||
version = "6.28.08";
|
||||
version = "6.28.10";
|
||||
|
||||
passthru = {
|
||||
tests = import ./tests { inherit callPackage; };
|
||||
@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://root.cern.ch/download/root_v${version}.source.tar.gz";
|
||||
hash = "sha256-o+ZLTAH4fNm75X5h75a0FibkmwRGCVBw1B2b+6NSaGI=";
|
||||
hash = "sha256-adb962B+ayC9AsdX+mIXAkwLYTLB6bHf9Nhdmiu35R4=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ makeWrapper cmake pkg-config git ];
|
||||
|
@ -1,12 +1,12 @@
|
||||
{ lib, fetchurl, fetchpatch, stdenv, zlib, ncurses, libiconv }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "fnc";
|
||||
version = "0.15";
|
||||
version = "0.16";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://fnc.bsdbox.org/tarball/${version}/fnc-${version}.tar.gz";
|
||||
sha256 = "sha256-8up844ekIOMcPlfB2DJzR/GgJY9s/sBeYpG+YtdauvU=";
|
||||
url = "https://fnc.bsdbox.org/tarball/${finalAttrs.version}/fnc-${finalAttrs.version}.tar.gz";
|
||||
hash = "sha256-6I6wtSMHaKdnlUK4pYiaybJeODGu2P+smYW8lQDIWGM=";
|
||||
};
|
||||
|
||||
buildInputs = [ libiconv ncurses zlib ];
|
||||
@ -16,6 +16,9 @@ stdenv.mkDerivation rec {
|
||||
env.NIX_CFLAGS_COMPILE = toString (lib.optionals stdenv.cc.isGNU [
|
||||
# Needed with GCC 12
|
||||
"-Wno-error=maybe-uninitialized"
|
||||
] ++ lib.optionals stdenv.isDarwin [
|
||||
# error: 'strtonum' is only available on macOS 11.0 or newer
|
||||
"-Wno-error=unguarded-availability-new"
|
||||
]);
|
||||
|
||||
preInstall = ''
|
||||
@ -35,4 +38,4 @@ stdenv.mkDerivation rec {
|
||||
maintainers = with maintainers; [ abbe ];
|
||||
mainProgram = "fnc";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -9,11 +9,11 @@
|
||||
|
||||
python3.pkgs.buildPythonApplication rec {
|
||||
pname = "scriv";
|
||||
version = "1.4.0";
|
||||
version = "1.5.0";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
hash = "sha256-vdGtdJGkaUzH2JoxuFsfM57OodlxbEHuLl81giKUn6U=";
|
||||
hash = "sha256-+OTWFDnHCF2bxQU8f7DfULYG1cA9tOZCsNRPdKobns8=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3.pkgs; [
|
||||
@ -21,6 +21,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
click
|
||||
click-log
|
||||
jinja2
|
||||
markdown-it-py
|
||||
requests
|
||||
] ++ lib.optionals (python3.pythonOlder "3.11") [
|
||||
tomli
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "podman-tui";
|
||||
version = "0.13.0";
|
||||
version = "0.14.0";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "containers";
|
||||
repo = "podman-tui";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-d2T2A4LsZQ09w7ZsVceqCGaO8wijRGGsk3hLhMykM9U=";
|
||||
hash = "sha256-RSQcpodippp4B4FM0yr+YFseoofas1M6xBqqtFD1BB0=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
135
pkgs/by-name/al/alephone/package.nix
Normal file
135
pkgs/by-name/al/alephone/package.nix
Normal file
@ -0,0 +1,135 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, alsa-lib
|
||||
, boost
|
||||
, curl
|
||||
, ffmpeg_4
|
||||
, icoutils
|
||||
, libGLU
|
||||
, libmad
|
||||
, libogg
|
||||
, libpng
|
||||
, libsndfile
|
||||
, libvorbis
|
||||
, lua
|
||||
, makeDesktopItem
|
||||
, makeWrapper
|
||||
, miniupnpc
|
||||
, openal
|
||||
, pkg-config
|
||||
, SDL2
|
||||
, SDL2_image
|
||||
, SDL2_net
|
||||
, SDL2_ttf
|
||||
, speex
|
||||
, unzip
|
||||
, zlib
|
||||
, zziplib
|
||||
, alephone
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
outputs = [ "out" "icons" ];
|
||||
pname = "alephone";
|
||||
version = "1.7";
|
||||
|
||||
src = fetchurl {
|
||||
url =
|
||||
let date = "20231125";
|
||||
in "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${date}/AlephOne-${date}.tar.bz2";
|
||||
sha256 = "sha256-qRHmtkzPi6PKeAzoMPdSbboiilG+L2fCXvXXu3vIchs=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ pkg-config icoutils ];
|
||||
|
||||
buildInputs = [
|
||||
alsa-lib
|
||||
boost
|
||||
curl
|
||||
ffmpeg_4
|
||||
libGLU
|
||||
libmad
|
||||
libogg
|
||||
libpng
|
||||
libsndfile
|
||||
libvorbis
|
||||
lua
|
||||
miniupnpc
|
||||
openal
|
||||
SDL2
|
||||
SDL2_image
|
||||
SDL2_net
|
||||
SDL2_ttf
|
||||
speex
|
||||
zlib
|
||||
zziplib
|
||||
];
|
||||
|
||||
configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ];
|
||||
makeFlags = [ "AR:=$(AR)" ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
postInstall = ''
|
||||
mkdir $icons
|
||||
icotool -x -i 5 -o $icons Resources/Windows/*.ico
|
||||
pushd $icons
|
||||
for x in *_5_48x48x32.png; do
|
||||
mv $x ''${x%_5_48x48x32.png}.png
|
||||
done
|
||||
popd
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description =
|
||||
"Aleph One is the open source continuation of Bungie’s Marathon 2 game engine";
|
||||
homepage = "https://alephone.lhowon.org/";
|
||||
license = [ lib.licenses.gpl3 ];
|
||||
maintainers = with lib.maintainers; [ ehmry ];
|
||||
platforms = lib.platforms.linux;
|
||||
};
|
||||
|
||||
passthru.makeWrapper =
|
||||
{ pname
|
||||
, desktopName
|
||||
, version
|
||||
, zip
|
||||
, meta
|
||||
, icon ? alephone.icons + "/alephone.png"
|
||||
, ...
|
||||
}@extraArgs:
|
||||
stdenv.mkDerivation ({
|
||||
inherit pname version;
|
||||
|
||||
desktopItem = makeDesktopItem {
|
||||
name = desktopName;
|
||||
exec = pname;
|
||||
genericName = pname;
|
||||
categories = [ "Game" ];
|
||||
comment = meta.description;
|
||||
inherit desktopName icon;
|
||||
};
|
||||
|
||||
src = zip;
|
||||
|
||||
nativeBuildInputs = [ makeWrapper unzip ];
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin $out/data/$pname $out/share/applications
|
||||
cp -a * $out/data/$pname
|
||||
cp $desktopItem/share/applications/* $out/share/applications
|
||||
makeWrapper ${alephone}/bin/alephone $out/bin/$pname \
|
||||
--add-flags $out/data/$pname
|
||||
'';
|
||||
} // extraArgs // {
|
||||
meta = alephone.meta // {
|
||||
license = lib.licenses.free;
|
||||
mainProgram = pname;
|
||||
hydraPlatforms = [ ];
|
||||
} // meta;
|
||||
});
|
||||
})
|
34
pkgs/by-name/ff/ff2mpv-go/package.nix
Normal file
34
pkgs/by-name/ff/ff2mpv-go/package.nix
Normal file
@ -0,0 +1,34 @@
|
||||
{ lib
|
||||
, buildGoModule
|
||||
, fetchgit
|
||||
, mpv
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "ff2mpv-go";
|
||||
version = "1.0.1";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://git.clsr.net/util/ff2mpv-go/";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-e/AuOA3isFTyBf97Zwtr16yo49UdYzvktV5PKB/eH/s=";
|
||||
};
|
||||
|
||||
vendorHash = null;
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace ff2mpv.go --replace '"mpv"' '"${lib.getExe mpv}"'
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p "$out/lib/mozilla/native-messaging-hosts"
|
||||
$out/bin/ff2mpv-go --manifest > "$out/lib/mozilla/native-messaging-hosts/ff2mpv.json"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Native messaging host for ff2mpv written in Go";
|
||||
homepage = "https://git.clsr.net/util/ff2mpv-go/";
|
||||
license = licenses.publicDomain;
|
||||
maintainers = with maintainers; [ ambroisie ];
|
||||
mainProgram = "ff2mpv-go";
|
||||
};
|
||||
}
|
@ -1,24 +1,26 @@
|
||||
{ lib, stdenv, fetchsvn, libxml2, gtk2, curl, pkg-config } :
|
||||
{ lib, stdenv, fetchFromGitHub, libxml2, gtk2, curl, pkg-config }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "gosmore";
|
||||
version = "31801";
|
||||
# the gosmore svn repository does not lock revision numbers of its externals
|
||||
# so we explicitly disable them to avoid breaking the hash
|
||||
# especially as the externals appear to be unused
|
||||
src = fetchsvn {
|
||||
url = "http://svn.openstreetmap.org/applications/rendering/gosmore";
|
||||
sha256 = "0qsckpqx7i7f8gkqhkzdamr65250afk1rpnh3nbman35kdv3dsxi";
|
||||
rev = version;
|
||||
ignoreExternals = true;
|
||||
version = "unstable-2014-03-17";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "openstreetmap";
|
||||
repo = "svn-archive";
|
||||
rev = "89b1fbfbc9e9a8b5e78795fd40bdfa60550322fc";
|
||||
sparseCheckout = [ "applications/rendering/gosmore" ];
|
||||
hash = "sha256-MfuJVsyGWspGNAFD6Ktbbyawb4bPwUITe7WkyFs6JxI=";
|
||||
};
|
||||
|
||||
sourceRoot = "${src.name}/applications/rendering/gosmore";
|
||||
|
||||
buildInputs = [ libxml2 gtk2 curl ];
|
||||
|
||||
nativeBuildInputs = [ pkg-config ];
|
||||
|
||||
prePatch = ''
|
||||
sed -e '/curl.types.h/d' -i *.{c,h,hpp,cpp}
|
||||
sed -e "24i #include <ctime>" -e "s/data/dat/g" -i jni/libgosm.cpp
|
||||
'';
|
||||
|
||||
patches = [ ./pointer_int_comparison.patch ];
|
46
pkgs/by-name/id/idsk/package.nix
Normal file
46
pkgs/by-name/id/idsk/package.nix
Normal file
@ -0,0 +1,46 @@
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchFromGitHub
|
||||
, fetchpatch
|
||||
, cmake
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "idsk";
|
||||
version = "0.20";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "cpcsdk";
|
||||
repo = "idsk";
|
||||
rev = "v${version}";
|
||||
hash = "sha256-rYClWq1Nl3COoG+eOJyFDTvBSzpHpGminU4bndZs6xc=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
(fetchpatch {
|
||||
url = "https://github.com/cpcsdk/idsk/commit/52fa3cdcc10d4ba6c75cab10ca7067b129198d92.patch";
|
||||
hash = "sha256-Ll0apllNj+fP7kZ1n+bBowrlskLK1bIashxxgPVVxmg=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = [
|
||||
cmake
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
install -Dm755 iDSK $out/bin/iDSK
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Manipulating CPC dsk images and files";
|
||||
homepage = "https://github.com/cpcsdk/idsk";
|
||||
license = licenses.mit;
|
||||
mainProgram = "iDSK";
|
||||
maintainers = with maintainers; [ wegank ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
@ -1,12 +1,16 @@
|
||||
{ lib, stdenv, fetchurl, ncurses }:
|
||||
{ lib
|
||||
, stdenv
|
||||
, fetchurl
|
||||
, ncurses
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "Regina-REXX";
|
||||
version = "3.9.1";
|
||||
pname = "regina-rexx";
|
||||
version = "3.9.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/regina-rexx/regina-rexx/${version}/${pname}-${version}.tar.gz";
|
||||
sha256 = "1vpksnjmg6y5zag9li6sxqxj2xapgalfz8krfxgg49vyk0kdy4sx";
|
||||
hash = "sha256-COmpBhvuADjPtFRG3iB2b/2uUO6jf2ZCRG7E5zoqvFE=";
|
||||
};
|
||||
|
||||
buildInputs = [ ncurses ];
|
||||
@ -18,7 +22,7 @@ stdenv.mkDerivation rec {
|
||||
meta = with lib; {
|
||||
description = "REXX interpreter";
|
||||
maintainers = [ maintainers.raskin ];
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.unix;
|
||||
license = licenses.lgpl2;
|
||||
};
|
||||
}
|
75
pkgs/by-name/sy/syndicate_utils/lock.json
Normal file
75
pkgs/by-name/sy/syndicate_utils/lock.json
Normal file
@ -0,0 +1,75 @@
|
||||
{
|
||||
"depends": [
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"hashlib"
|
||||
],
|
||||
"path": "/nix/store/fav82xdbicvlk34nmcbl89zx99lr3mbs-source",
|
||||
"rev": "f9455d4be988e14e3dc7933eb7cc7d7c4820b7ac",
|
||||
"sha256": "1sx6j952lj98629qfgr7ds5aipyw9d6lldcnnqs205wpj4pkcjb3",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/ehmry/hashlib/archive/f9455d4be988e14e3dc7933eb7cc7d7c4820b7ac.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"illwill"
|
||||
],
|
||||
"path": "/nix/store/3lmm3z36qn4gz7bfa209zv0pqrpm3di9-source",
|
||||
"ref": "v0.3.2",
|
||||
"rev": "1d12cb36ab7b76c31d2d25fa421013ecb382e625",
|
||||
"sha256": "0f9yncl5gbdja18mrqf5ixrdgrh95k0khda923dm1jd1x1b7ar8z",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/johnnovak/illwill/archive/1d12cb36ab7b76c31d2d25fa421013ecb382e625.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"nimcrypto"
|
||||
],
|
||||
"path": "/nix/store/zyr8zwh7vaiycn1s4r8cxwc71f2k5l0h-source",
|
||||
"ref": "traditional-api",
|
||||
"rev": "602c5d20c69c76137201b5d41f788f72afb95aa8",
|
||||
"sha256": "1dmdmgb6b9m5f8dyxk781nnd61dsk3hdxqks7idk9ncnpj9fng65",
|
||||
"srcDir": "",
|
||||
"url": "https://github.com/cheatfate/nimcrypto/archive/602c5d20c69c76137201b5d41f788f72afb95aa8.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"npeg"
|
||||
],
|
||||
"path": "/nix/store/ffkxmjmigfs7zhhiiqm0iw2c34smyciy-source",
|
||||
"ref": "1.2.1",
|
||||
"rev": "26d62fdc40feb84c6533956dc11d5ee9ea9b6c09",
|
||||
"sha256": "0xpzifjkfp49w76qmaylan8q181bs45anmp46l4bwr3lkrr7bpwh",
|
||||
"srcDir": "src",
|
||||
"url": "https://github.com/zevv/npeg/archive/26d62fdc40feb84c6533956dc11d5ee9ea9b6c09.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"preserves"
|
||||
],
|
||||
"path": "/nix/store/fmb2yckksz7iv3qdkk5gk1j060kppkq9-source",
|
||||
"ref": "20231102",
|
||||
"rev": "4faeb766dc3945bcfacaa1a836ef6ab29b20ceb0",
|
||||
"sha256": "1a3g5bk1l1h250q3p6sqv6r1lpsplp330qqyp48r0i4a5r0jksq3",
|
||||
"srcDir": "src",
|
||||
"url": "https://git.syndicate-lang.org/ehmry/preserves-nim/archive/4faeb766dc3945bcfacaa1a836ef6ab29b20ceb0.tar.gz"
|
||||
},
|
||||
{
|
||||
"method": "fetchzip",
|
||||
"packages": [
|
||||
"syndicate"
|
||||
],
|
||||
"path": "/nix/store/nhpvl223vbzdrlzikw7pgyfxs344w7ma-source",
|
||||
"ref": "20231108",
|
||||
"rev": "095418032180e360ea27ec7fcd63193944b68e2c",
|
||||
"sha256": "09pbml2chzz0v5zpz67fs7raj0mfmg8qrih2vz85xxc51h7ncqvw",
|
||||
"srcDir": "src",
|
||||
"url": "https://git.syndicate-lang.org/ehmry/syndicate-nim/archive/095418032180e360ea27ec7fcd63193944b68e2c.tar.gz"
|
||||
}
|
||||
]
|
||||
}
|
23
pkgs/by-name/sy/syndicate_utils/package.nix
Normal file
23
pkgs/by-name/sy/syndicate_utils/package.nix
Normal file
@ -0,0 +1,23 @@
|
||||
{ lib, buildNimPackage, fetchFromGitea }:
|
||||
|
||||
buildNimPackage (finalAttrs: {
|
||||
pname = "syndicate_utils";
|
||||
version = "20231130";
|
||||
|
||||
src = fetchFromGitea {
|
||||
domain = "git.syndicate-lang.org";
|
||||
owner = "ehmry";
|
||||
repo = "syndicate_utils";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-a9EjHSrLyWoP4qUQM+fRjZrNavQfT+SUO44pnPK1j/Q=";
|
||||
};
|
||||
|
||||
lockFile = ./lock.json;
|
||||
|
||||
meta = finalAttrs.src.meta // {
|
||||
description = "Utilities for the Syndicated Actor Model";
|
||||
homepage = "https://git.syndicate-lang.org/ehmry/syndicate_utils";
|
||||
maintainers = [ lib.maintainers.ehmry ];
|
||||
license = lib.licenses.unlicense;
|
||||
};
|
||||
})
|
65
pkgs/by-name/za/zapzap/package.nix
Normal file
65
pkgs/by-name/za/zapzap/package.nix
Normal file
@ -0,0 +1,65 @@
|
||||
{ lib
|
||||
, fetchFromGitHub
|
||||
, python3Packages
|
||||
, qt6
|
||||
, fetchpatch
|
||||
}:
|
||||
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "zapzap";
|
||||
version = "4.5.5.2";
|
||||
format = "setuptools";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "zapzap-linux";
|
||||
repo = "zapzap";
|
||||
rev = version;
|
||||
hash = "sha256-8IeFGTI+5kbeFGqH5DpHCY8pqzGhE48hPCEIKIe7jAM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
# fixes that the tray icon was not installed
|
||||
(fetchpatch {
|
||||
url = "https://github.com/zapzap-linux/zapzap/pull/25/commits/4107b019555492e2c2692dd4c40553503047e6a8.patch";
|
||||
hash = "sha256-NQPGPXYFhVwsPXopEELG1n/f8yUj/74OFE1hTyt93Ng=";
|
||||
})
|
||||
];
|
||||
|
||||
nativeBuildInputs = with python3Packages; [
|
||||
setuptools
|
||||
qt6.wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
qt6.qtwayland
|
||||
qt6.qtsvg
|
||||
];
|
||||
|
||||
preBuild = ''
|
||||
export HOME=$(mktemp -d)
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
dbus-python
|
||||
pyqt6
|
||||
pyqt6-webengine
|
||||
pyqt6-sip
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
install -Dm555 share/applications/com.rtosta.zapzap.desktop -t $out/share/applications/
|
||||
install -Dm555 share/icons/com.rtosta.zapzap.svg -t $out/share/icons/hicolor/scalable/
|
||||
'';
|
||||
|
||||
# has no tests
|
||||
doCheck = false;
|
||||
|
||||
meta = with lib; {
|
||||
description = "WhatsApp desktop application for Linux";
|
||||
homepage = "https://zapzap-linux.github.io/";
|
||||
mainProgram = "zapzap";
|
||||
license = licenses.gpl3Only;
|
||||
changelog = "https://github.com/zapzap-linux/zapzap/releases/tag/${version}";
|
||||
maintainers = [ maintainers.eymeric ];
|
||||
};
|
||||
}
|
@ -2,11 +2,11 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "lxgw-wenkai";
|
||||
version = "1.311";
|
||||
version = "1.312";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/lxgw/LxgwWenKai/releases/download/v${version}/${pname}-v${version}.tar.gz";
|
||||
hash = "sha256-R7j6SBWGbkS4cJI1J8M5NDIDeJDFMjtXZnGiyxm2rjg=";
|
||||
hash = "sha256-KU0cTzdHfWIqYbBksGym9JaN/M3VRASYcQOxrAxip4I=";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
@ -13,13 +13,13 @@
|
||||
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "papirus-icon-theme";
|
||||
version = "20231101";
|
||||
version = "20231201";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "PapirusDevelopmentTeam";
|
||||
repo = pname;
|
||||
rev = version;
|
||||
hash = "sha256-0ooHuMqGzlMLVTR/u+kCJLibfqTAtq662EG8i3JIzPA=";
|
||||
hash = "sha256-nLc2nt8YI193loMHjzzEwgvb+tdNrVTZskqssX2oFrU=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -23,13 +23,13 @@
|
||||
, nautilus
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "file-roller";
|
||||
version = "43.0";
|
||||
version = "43.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/file-roller/${lib.versions.major version}/file-roller-${version}.tar.xz";
|
||||
sha256 = "KYcp/b252oEywLvGCQdRfWVoWwVhiuBRZzNeZIT1c6E=";
|
||||
url = "mirror://gnome/sources/file-roller/${lib.versions.major finalAttrs.version}/file-roller-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "hJlAI5lyk76zRdl5Pbj18Lu0H6oVXG/7SDKPIDlXrQg=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -75,4 +75,4 @@ stdenv.mkDerivation rec {
|
||||
maintainers = teams.gnome.members ++ teams.pantheon.members;
|
||||
mainProgram = "file-roller";
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -26,13 +26,13 @@
|
||||
, geocode-glib_2
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gnome-maps";
|
||||
version = "45.1";
|
||||
version = "45.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
hash = "sha256-v2nFDi4ZsV280KDvOCfUAqGVq0ogKbm2LlSr8472334=";
|
||||
url = "mirror://gnome/sources/gnome-maps/${lib.versions.major finalAttrs.version}/gnome-maps-${finalAttrs.version}.tar.xz";
|
||||
hash = "sha256-6es3CnlxtPhC+qME0xpIXb2P+K7EKnZScvL8GnqAmPI=";
|
||||
};
|
||||
|
||||
doCheck = true;
|
||||
@ -84,8 +84,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
attrPath = "gnome.${pname}";
|
||||
packageName = "gnome-maps";
|
||||
attrPath = "gnome.gnome-maps";
|
||||
};
|
||||
};
|
||||
|
||||
@ -96,4 +96,4 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -66,13 +66,13 @@
|
||||
, xvfb-run
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gnome-control-center";
|
||||
version = "45.1";
|
||||
version = "45.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "sha256-0obHYnFQ4RKqy7S3uRcX+tjokHYGFHnfxhCy3XRLV3o=";
|
||||
url = "mirror://gnome/sources/gnome-control-center/${lib.versions.major finalAttrs.version}/gnome-control-center-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "sha256-DPo8My1u2stz0GxrJv/KEHjob/WerIGbKTHglndT33A=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -201,8 +201,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
attrPath = "gnome.${pname}";
|
||||
packageName = "gnome-control-center";
|
||||
attrPath = "gnome.gnome-control-center";
|
||||
};
|
||||
};
|
||||
|
||||
@ -212,4 +212,4 @@ stdenv.mkDerivation rec {
|
||||
maintainers = teams.gnome.members;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -38,7 +38,7 @@ index f6c84e3d2..cd897f8f5 100644
|
||||
else
|
||||
gtk_widget_set_sensitive (self->toolbutton_profile_view, FALSE);
|
||||
diff --git a/panels/datetime/tz.h b/panels/datetime/tz.h
|
||||
index a2376f8a4..98769e08f 100644
|
||||
index feef16580..4b88ef7b1 100644
|
||||
--- a/panels/datetime/tz.h
|
||||
+++ b/panels/datetime/tz.h
|
||||
@@ -27,11 +27,7 @@
|
||||
@ -55,26 +55,23 @@ index a2376f8a4..98769e08f 100644
|
||||
typedef struct _TzDB TzDB;
|
||||
typedef struct _TzLocation TzLocation;
|
||||
diff --git a/panels/network/connection-editor/net-connection-editor.c b/panels/network/connection-editor/net-connection-editor.c
|
||||
index 505b8ee25..62e94009f 100644
|
||||
index ec5a905a5..689fdbebe 100644
|
||||
--- a/panels/network/connection-editor/net-connection-editor.c
|
||||
+++ b/panels/network/connection-editor/net-connection-editor.c
|
||||
@@ -267,9 +267,9 @@ net_connection_editor_do_fallback (NetConnectionEditor *self, const gchar *type)
|
||||
g_autoptr(GError) error = NULL;
|
||||
@@ -377,7 +377,7 @@ net_connection_editor_do_fallback (NetConnectionEditor *self, const gchar *type)
|
||||
GPid child_pid;
|
||||
|
||||
builder = g_strv_builder_new ();
|
||||
- g_strv_builder_add (builder, "nm-connection-editor");
|
||||
+ g_strv_builder_add (builder, "@networkmanagerapplet@/bin/nm-connection-editor");
|
||||
|
||||
if (self->is_new_connection) {
|
||||
- cmdline = g_strdup_printf ("nm-connection-editor --type='%s' --create", type);
|
||||
+ cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --type='%s' --create", type);
|
||||
} else {
|
||||
- cmdline = g_strdup_printf ("nm-connection-editor --edit='%s'",
|
||||
+ cmdline = g_strdup_printf ("@networkmanagerapplet@/bin/nm-connection-editor --edit='%s'",
|
||||
nm_connection_get_uuid (self->connection));
|
||||
}
|
||||
|
||||
g_autofree gchar *type_str = NULL;
|
||||
diff --git a/panels/network/net-device-bluetooth.c b/panels/network/net-device-bluetooth.c
|
||||
index 74dfb0e9a..5f53d1a20 100644
|
||||
index 303f4a8af..e5afc4dff 100644
|
||||
--- a/panels/network/net-device-bluetooth.c
|
||||
+++ b/panels/network/net-device-bluetooth.c
|
||||
@@ -90,7 +90,7 @@ nm_device_bluetooth_refresh_ui (NetDeviceBluetooth *self)
|
||||
@@ -80,7 +80,7 @@ nm_device_bluetooth_refresh_ui (NetDeviceBluetooth *self)
|
||||
update_off_switch_from_device_state (self->device_off_switch, state, self);
|
||||
|
||||
/* set up the Options button */
|
||||
@ -83,7 +80,7 @@ index 74dfb0e9a..5f53d1a20 100644
|
||||
gtk_widget_set_visible (GTK_WIDGET (self->options_button), state != NM_DEVICE_STATE_UNMANAGED && path != NULL);
|
||||
}
|
||||
|
||||
@@ -141,7 +141,7 @@ options_button_clicked_cb (NetDeviceBluetooth *self)
|
||||
@@ -131,7 +131,7 @@ options_button_clicked_cb (NetDeviceBluetooth *self)
|
||||
|
||||
connection = net_device_get_find_connection (self->client, self->device);
|
||||
uuid = nm_connection_get_uuid (connection);
|
||||
@ -92,7 +89,7 @@ index 74dfb0e9a..5f53d1a20 100644
|
||||
g_debug ("Launching '%s'\n", cmdline);
|
||||
if (!g_spawn_command_line_async (cmdline, &error))
|
||||
g_warning ("Failed to launch nm-connection-editor: %s", error->message);
|
||||
@@ -185,7 +185,7 @@ net_device_bluetooth_init (NetDeviceBluetooth *self)
|
||||
@@ -173,7 +173,7 @@ net_device_bluetooth_init (NetDeviceBluetooth *self)
|
||||
|
||||
gtk_widget_init_template (GTK_WIDGET (self));
|
||||
|
||||
@ -102,10 +99,10 @@ index 74dfb0e9a..5f53d1a20 100644
|
||||
}
|
||||
|
||||
diff --git a/panels/network/net-device-mobile.c b/panels/network/net-device-mobile.c
|
||||
index 34eb86241..50d0a2bed 100644
|
||||
index 166670224..36f720d36 100644
|
||||
--- a/panels/network/net-device-mobile.c
|
||||
+++ b/panels/network/net-device-mobile.c
|
||||
@@ -508,7 +508,7 @@ options_button_clicked_cb (NetDeviceMobile *self)
|
||||
@@ -521,7 +521,7 @@ options_button_clicked_cb (NetDeviceMobile *self)
|
||||
|
||||
connection = net_device_get_find_connection (self->client, self->device);
|
||||
uuid = nm_connection_get_uuid (connection);
|
||||
@ -114,7 +111,7 @@ index 34eb86241..50d0a2bed 100644
|
||||
g_debug ("Launching '%s'\n", cmdline);
|
||||
if (!g_spawn_command_line_async (cmdline, &error))
|
||||
g_warning ("Failed to launch nm-connection-editor: %s", error->message);
|
||||
@@ -797,7 +797,7 @@ net_device_mobile_init (NetDeviceMobile *self)
|
||||
@@ -810,7 +810,7 @@ net_device_mobile_init (NetDeviceMobile *self)
|
||||
|
||||
self->cancellable = g_cancellable_new ();
|
||||
|
||||
@ -137,12 +134,12 @@ index a31a606e3..ed5133d29 100644
|
||||
|
||||
/* Use SNMP to get printer's informations */
|
||||
diff --git a/panels/user-accounts/run-passwd.c b/panels/user-accounts/run-passwd.c
|
||||
index 86f53d4fc..0b052856f 100644
|
||||
index edbc99830..1e1d90141 100644
|
||||
--- a/panels/user-accounts/run-passwd.c
|
||||
+++ b/panels/user-accounts/run-passwd.c
|
||||
@@ -150,7 +150,7 @@ spawn_passwd (PasswdHandler *passwd_handler, GError **error)
|
||||
@@ -152,7 +152,7 @@ spawn_passwd (PasswdHandler *passwd_handler, GError **error)
|
||||
gchar **envp;
|
||||
gint my_stdin, my_stdout, my_stderr;
|
||||
gint my_stdin, my_stdout;
|
||||
|
||||
- argv[0] = "/usr/bin/passwd"; /* Is it safe to rely on a hard-coded path? */
|
||||
+ argv[0] = "/run/wrappers/bin/passwd"; /* Is it safe to rely on a hard-coded path? */
|
||||
@ -150,10 +147,10 @@ index 86f53d4fc..0b052856f 100644
|
||||
|
||||
envp = g_get_environ ();
|
||||
diff --git a/panels/user-accounts/user-utils.c b/panels/user-accounts/user-utils.c
|
||||
index 83d4cd091..e8784c722 100644
|
||||
index 5b7bc1f02..13ffe6ca8 100644
|
||||
--- a/panels/user-accounts/user-utils.c
|
||||
+++ b/panels/user-accounts/user-utils.c
|
||||
@@ -486,7 +486,7 @@ is_valid_username_async (const gchar *username,
|
||||
@@ -215,7 +215,7 @@ is_valid_username_async (const gchar *username,
|
||||
* future, so it would be nice to have some official way for this
|
||||
* instead of relying on the current "--login" implementation.
|
||||
*/
|
||||
|
@ -11,13 +11,13 @@
|
||||
, substituteAll
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gnome-shell-extensions";
|
||||
version = "45.1";
|
||||
version = "45.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "JC4VoMBuggw/2N1q6sGo74Zc5YiC5Zda8dZZNLtNQmE=";
|
||||
url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major finalAttrs.version}/gnome-shell-extensions-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "7jL2OHotGK2/96lWaJvHR4ZrSocS1zeQwAKr6uTMqq8=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -63,8 +63,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
attrPath = "gnome.${pname}";
|
||||
packageName = "gnome-shell-extensions";
|
||||
attrPath = "gnome.gnome-shell-extensions";
|
||||
};
|
||||
};
|
||||
|
||||
@ -75,4 +75,4 @@ stdenv.mkDerivation rec {
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -65,15 +65,15 @@
|
||||
let
|
||||
pythonEnv = python3.withPackages (ps: with ps; [ pygobject3 ]);
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "gnome-shell";
|
||||
version = "45.1";
|
||||
version = "45.2";
|
||||
|
||||
outputs = [ "out" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "FfykvWEpqLP5kBl/vR7ljXS2QVEK+q8Igqf6NmNPxfI=";
|
||||
url = "mirror://gnome/sources/gnome-shell/${lib.versions.major finalAttrs.version}/gnome-shell-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "igz7+HKxp2JpbIbhPe/p82dekteVFOup0AC1thHCaiM=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -231,4 +231,4 @@ stdenv.mkDerivation rec {
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
|
||||
}
|
||||
})
|
||||
|
@ -67,13 +67,13 @@
|
||||
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "mutter";
|
||||
version = "45.1";
|
||||
version = "45.2";
|
||||
|
||||
outputs = [ "out" "dev" "man" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/mutter/${lib.versions.major finalAttrs.version}/mutter-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "LNPF77Itt2x5MRyxiJoaqy/rNbSk3QPzgiqreZnaISw=";
|
||||
sha256 = "rz+Ym/IqVg3CSS+44Z+do3zm1xRLPgUZgLDVUFiWANw=";
|
||||
};
|
||||
|
||||
mesonFlags = [
|
||||
|
@ -36,15 +36,15 @@
|
||||
, gobject-introspection
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "nautilus";
|
||||
version = "45.1";
|
||||
version = "45.2.1";
|
||||
|
||||
outputs = [ "out" "dev" "devdoc" ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "I72qmoVGbFk3qJ2t3QgO0DvMK0notkr2ByBjU73oL+M=";
|
||||
url = "mirror://gnome/sources/nautilus/${lib.versions.major finalAttrs.version}/nautilus-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "ul1T3zmhVVYt+XHvXjHoJwdJBdDEjqseskIaEChLmQ0=";
|
||||
};
|
||||
|
||||
patches = [
|
||||
@ -119,8 +119,8 @@ stdenv.mkDerivation rec {
|
||||
|
||||
passthru = {
|
||||
updateScript = gnome.updateScript {
|
||||
packageName = pname;
|
||||
attrPath = "gnome.${pname}";
|
||||
packageName = "nautilus";
|
||||
attrPath = "gnome.nautilus";
|
||||
};
|
||||
};
|
||||
|
||||
@ -131,4 +131,4 @@ stdenv.mkDerivation rec {
|
||||
platforms = platforms.linux;
|
||||
maintainers = teams.gnome.members;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
@ -14,13 +14,13 @@
|
||||
, wrapGAppsHook4
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "zenity";
|
||||
version = "3.99.2";
|
||||
version = "4.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnome/sources/zenity/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "oZR4kGuYi082fl6mOlkh5PmMuCVbugXrXK2LWhikFo8=";
|
||||
url = "mirror://gnome/sources/zenity/${lib.versions.majorMinor finalAttrs.version}/zenity-${finalAttrs.version}.tar.xz";
|
||||
sha256 = "C4yN7xjasFzEm9RkuQyn+UWuUv9eCSQtpwKhXZTT6N0=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
@ -54,4 +54,4 @@ stdenv.mkDerivation rec {
|
||||
platforms = platforms.unix;
|
||||
maintainers = teams.gnome.members;
|
||||
};
|
||||
}
|
||||
})
|
||||
|
57
pkgs/desktops/lomiri/data/suru-icon-theme/default.nix
Normal file
57
pkgs/desktops/lomiri/data/suru-icon-theme/default.nix
Normal file
@ -0,0 +1,57 @@
|
||||
{ stdenvNoCC
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, gitUpdater
|
||||
, gtk3
|
||||
, hicolor-icon-theme
|
||||
, ubuntu-themes
|
||||
}:
|
||||
|
||||
stdenvNoCC.mkDerivation (finalAttrs: {
|
||||
pname = "suru-icon-theme";
|
||||
version = "20.05.1";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/suru-icon-theme";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-jJ6J+SjSABZCgnCF9cIFBpeSXX2LMnV+nPLPpoXQv30=";
|
||||
};
|
||||
|
||||
strictDeps = true;
|
||||
|
||||
nativeBuildInputs = [
|
||||
gtk3 # gtk-update-icon-cache
|
||||
hicolor-icon-theme # theme setup hook
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
ubuntu-themes
|
||||
];
|
||||
|
||||
dontConfigure = true;
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
mkdir -p $out/share/icons
|
||||
cp -r suru $out/share/icons/
|
||||
|
||||
gtk-update-icon-cache $out/share/icons/suru
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
dontDropIconThemeCache = true;
|
||||
|
||||
passthru.updateScript = gitUpdater { };
|
||||
|
||||
meta = with lib; {
|
||||
description = "Suru Icon Theme for Lomiri Operating Environment";
|
||||
homepage = "https://gitlab.com/ubports/development/core/suru-icon-theme";
|
||||
license = licenses.cc-by-sa-30;
|
||||
maintainers = teams.lomiri.members;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
})
|
@ -9,6 +9,7 @@ let
|
||||
in {
|
||||
#### Data
|
||||
lomiri-schemas = callPackage ./data/lomiri-schemas { };
|
||||
suru-icon-theme = callPackage ./data/suru-icon-theme { };
|
||||
|
||||
#### Development tools / libraries
|
||||
cmake-extras = callPackage ./development/cmake-extras { };
|
||||
@ -21,6 +22,7 @@ let
|
||||
|
||||
#### QML / QML-related
|
||||
lomiri-settings-components = callPackage ./qml/lomiri-settings-components { };
|
||||
lomiri-ui-toolkit = callPackage ./qml/lomiri-ui-toolkit { };
|
||||
|
||||
#### Services
|
||||
biometryd = callPackage ./services/biometryd { };
|
||||
|
@ -0,0 +1,158 @@
|
||||
From 243477a2bd6e315c77ebaf5b2ed4a9c9c4e1e22a Mon Sep 17 00:00:00 2001
|
||||
From: OPNA2608 <christoph.neidahl@gmail.com>
|
||||
Date: Sat, 25 Nov 2023 10:49:32 +0100
|
||||
Subject: [PATCH] Mark problematic tests
|
||||
|
||||
- ShapeMaterial requires a Qt OpenGL context, doesn't work in our sandbox
|
||||
- SignalSpy on QML shaders compilers don't see changes
|
||||
- Scaling value from environment not picked up properly since Qt 5.15.11
|
||||
https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/34
|
||||
- TypeError on some properties with Qt 5.15
|
||||
https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/issues/9
|
||||
---
|
||||
tests/checkresults.sh | 89 ++++++++++++++++++++++++++++++++++++++++---
|
||||
1 file changed, 83 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/tests/checkresults.sh b/tests/checkresults.sh
|
||||
index fc498985e..730b9d406 100755
|
||||
--- a/tests/checkresults.sh
|
||||
+++ b/tests/checkresults.sh
|
||||
@@ -22,6 +22,7 @@ ERRORS_PATTERN='<failure'
|
||||
|
||||
FAILURES=0
|
||||
FATAL_WARNINGS=0
|
||||
+EXCEPTED_FAILURES=0
|
||||
EXCEPTED=0
|
||||
for _XML in $*; do
|
||||
_TESTNAME=$(basename $_XML | sed -r 's@(.+)\.xml@\1@' -)
|
||||
@@ -31,7 +32,72 @@ for _XML in $*; do
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- EXCEPTIONS='components_benchmark \
|
||||
+ ERROR_EXCEPTIONS='\
|
||||
+ tst_actionbar.13.qml \
|
||||
+ tst_actionlist.13.qml \
|
||||
+ tst_adaptivepagelayout.13.qml \
|
||||
+ tst_adaptivepagelayout_configuration.13.qml \
|
||||
+ tst_combobutton.11.qml \
|
||||
+ tst_combobutton.13.qml \
|
||||
+ tst_contextual_actions.13.qml \
|
||||
+ tst_focus.13.qml \
|
||||
+ tst_header.13.qml \
|
||||
+ tst_hide_chrome.11.qml \
|
||||
+ tst_listitem.12.qml \
|
||||
+ tst_listitem.13.qml \
|
||||
+ tst_listitem_actions_breaks_selectmode.12.qml \
|
||||
+ tst_listitem_extras.13.qml \
|
||||
+ tst_listitem_focus.13.qml \
|
||||
+ tst_listitem_horizontal_navigation.13.qml \
|
||||
+ tst_listitem_selectmode.12.qml \
|
||||
+ tst_listitem_selectmode.13.qml \
|
||||
+ tst_listitems_itemselector.11.qml \
|
||||
+ tst_listitems_standard.11.qml \
|
||||
+ tst_listitems_standard.13.qml \
|
||||
+ tst_lomirilistview.11.qml \
|
||||
+ tst_lomiritestcase.qml \
|
||||
+ tst_multicolumnheader.13.qml \
|
||||
+ tst_optionselector.11.qml \
|
||||
+ tst_optionselector.13.qml \
|
||||
+ tst_page_with_header.13.qml \
|
||||
+ tst_pagehead_back_action.13.qml \
|
||||
+ tst_pagehead_contents_width.13.qml \
|
||||
+ tst_pagehead_sections.13.qml \
|
||||
+ tst_pagehead_visible.13.qml \
|
||||
+ tst_pageheader.13.qml \
|
||||
+ tst_pagestack.13.qml \
|
||||
+ tst_pagestack.DEPRECATED_APPHEADER_TABS.13.qml \
|
||||
+ tst_picker.11.qml \
|
||||
+ tst_picker.13.qml \
|
||||
+ tst_popover.12.qml \
|
||||
+ tst_popover.13.qml \
|
||||
+ tst_popups_dialog.13.qml \
|
||||
+ tst_popups_pagestack.13.qml \
|
||||
+ tst_pulltorefresh_pagestack_topmargin.13.qml \
|
||||
+ tst_slider.11.qml \
|
||||
+ tst_slider.13.qml \
|
||||
+ tst_switch_bug1510919.13.qml \
|
||||
+ tst_tabs.11.qml \
|
||||
+ tst_tabs.13.qml \
|
||||
+ tst_tabs.DEPRECATED_TOOLBAR.11.qml \
|
||||
+ tst_textarea.11.qml \
|
||||
+ tst_textarea_in_flickable.11.qml \
|
||||
+ tst_textfield.11.qml \
|
||||
+ tst_textinput_common.12.qml \
|
||||
+ tst_textinput_common.13.qml \
|
||||
+ tst_toggles.13.qml \
|
||||
+ inversemousearea \
|
||||
+ layouts \
|
||||
+ recreateview \
|
||||
+ subtheming \
|
||||
+ swipearea \
|
||||
+ tst_icon.11.qml \
|
||||
+ tst_icon.13.qml \
|
||||
+ dpr1 \
|
||||
+ '
|
||||
+
|
||||
+ EXCEPTIONS='\
|
||||
+ components_benchmark \
|
||||
tst_tabbar.11.qml \
|
||||
tst_datepicker.bug1567840.SEGFAULT.12.qml \
|
||||
tst_datepicker.bug1567840.SEGFAULT.13.qml \
|
||||
@@ -49,22 +115,28 @@ for _XML in $*; do
|
||||
inversemousearea \
|
||||
tst_listitem_focus_bug.13.qml \
|
||||
tst_shortcuts.13.qml \
|
||||
+ tst_pagestack.DEPRECATED_TOOLBAR.11.qml \
|
||||
'
|
||||
|
||||
WARNINGS=$(grep -c -P "$WARNINGS_PATTERN" $_XML)
|
||||
ERRORS=$(grep -c -P "$ERRORS_PATTERN" $_XML)
|
||||
if [ $ERRORS -ne 0 ]; then
|
||||
- FAILURES_FILES="${FAILURES_FILES} ${_TESTNAME}\n"
|
||||
- ((FAILURES+=$ERRORS))
|
||||
+ if [[ $ERROR_EXCEPTIONS == *" $_TESTNAME "* ]]; then
|
||||
+ EXCEPTED_FAILURES_FILES="${EXCEPTED_FAILURES_FILES} ${_TESTNAME}\n"
|
||||
+ ((EXCEPTED_FAILURES+=$ERRORS))
|
||||
+ else
|
||||
+ FAILURES_FILES="${FAILURES_FILES} ${_TESTNAME}\n"
|
||||
+ ((FAILURES+=$ERRORS))
|
||||
+ fi
|
||||
elif [ $WARNINGS -ne 0 ]; then
|
||||
- if [[ $EXCEPTIONS == *$_TESTNAME* ]]; then
|
||||
+ if [[ $EXCEPTIONS == *" $_TESTNAME "* ]]; then
|
||||
EXCEPTED_FILES="${EXCEPTED_FILES} ${_TESTNAME}\n"
|
||||
((EXCEPTED+=$WARNINGS))
|
||||
else
|
||||
FATAL_WARNINGS_FILES="${FATAL_WARNINGS_FILES} ${_TESTNAME}\n"
|
||||
((FATAL_WARNINGS+=$WARNINGS))
|
||||
fi
|
||||
- elif [[ $EXCEPTIONS == *$_TESTNAME* ]]; then
|
||||
+ elif [[ $ERROR_EXCEPTIONS == *" $_TESTNAME "* || $EXCEPTIONS == *" $_TESTNAME "* ]]; then
|
||||
WOOT_FILES="${WOOT_FILES} ${_TESTNAME}\n"
|
||||
fi
|
||||
done
|
||||
@@ -82,6 +154,11 @@ if [ -n "$FATAL_WARNINGS_FILES" ]; then
|
||||
echo -e "$FATAL_WARNINGS_FILES"
|
||||
fi
|
||||
|
||||
+if [ -n "$EXCEPTED_FAILURES_FILES" ]; then
|
||||
+ echo The following tests issued $EXCEPTED_FAILURES expected failures:
|
||||
+ echo -e "$EXCEPTED_FAILURES_FILES"
|
||||
+fi
|
||||
+
|
||||
if [ -n "$EXCEPTED_FILES" ]; then
|
||||
echo The following tests issued $EXCEPTED expected warnings:
|
||||
echo -e "$EXCEPTED_FILES"
|
||||
@@ -89,7 +166,7 @@ fi
|
||||
|
||||
if [ -n "$WOOT_FILES" ]; then
|
||||
echo Woot! Known problematic tests passed!
|
||||
- echo Consider removing these from EXCEPTIONS in ${0#$(pwd)/}!
|
||||
+ echo Consider removing these from ERROR_EXCEPTIONS/EXCEPTIONS in ${0#$(pwd)/}!
|
||||
echo -e "$WOOT_FILES"
|
||||
fi
|
||||
|
||||
--
|
||||
2.40.1
|
||||
|
254
pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix
Normal file
254
pkgs/desktops/lomiri/qml/lomiri-ui-toolkit/default.nix
Normal file
@ -0,0 +1,254 @@
|
||||
{ stdenv
|
||||
, lib
|
||||
, fetchFromGitLab
|
||||
, fetchpatch
|
||||
, gitUpdater
|
||||
, testers
|
||||
, dbus-test-runner
|
||||
, dpkg
|
||||
, gdb
|
||||
, glib
|
||||
, lttng-ust
|
||||
, perl
|
||||
, pkg-config
|
||||
, python3
|
||||
, qmake
|
||||
, qtbase
|
||||
, qtdeclarative
|
||||
, qtfeedback
|
||||
, qtgraphicaleffects
|
||||
, qtpim
|
||||
, qtquickcontrols2
|
||||
, qtsvg
|
||||
, qtsystems
|
||||
, suru-icon-theme
|
||||
, wrapQtAppsHook
|
||||
, xvfb-run
|
||||
}:
|
||||
|
||||
let
|
||||
listToQtVar = suffix: lib.makeSearchPathOutput "bin" suffix;
|
||||
qtPluginPaths = listToQtVar qtbase.qtPluginPrefix [ qtbase qtpim qtsvg ];
|
||||
qtQmlPaths = listToQtVar qtbase.qtQmlPrefix [ qtdeclarative qtfeedback qtgraphicaleffects ];
|
||||
in
|
||||
stdenv.mkDerivation (finalAttrs: {
|
||||
pname = "lomiri-ui-toolkit";
|
||||
version = "1.3.5011";
|
||||
|
||||
src = fetchFromGitLab {
|
||||
owner = "ubports";
|
||||
repo = "development/core/lomiri-ui-toolkit";
|
||||
rev = finalAttrs.version;
|
||||
hash = "sha256-z/EEmC9LjQtBx5MRDLeImxpRrzH4w6v6o+NmqX+L4dw=";
|
||||
};
|
||||
|
||||
outputs = [ "out" "dev" ];
|
||||
|
||||
patches = [
|
||||
# Upstreaming effort for these two patches: https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/merge_requests/44
|
||||
(fetchpatch {
|
||||
name = "0001-lomiri-ui-toolkit-fix-tests-on-qt-5.15.4.patch";
|
||||
url = "https://salsa.debian.org/ubports-team/lomiri-ui-toolkit/-/raw/1ad650c326ba9706d549d1dbe8335c70f6b382c8/debian/patches/0001-fix-tests-on-qt-5.15.4.patch";
|
||||
hash = "sha256-Y5HVvulR2760DBzlmYkImbJ/qIeqMISqPpUppbv8xJA=";
|
||||
})
|
||||
(fetchpatch {
|
||||
name = "0002-lomiri-ui-toolkit-fix-tests-on-qt-5.15.5.patch";
|
||||
url = "https://salsa.debian.org/ubports-team/lomiri-ui-toolkit/-/raw/03bcafadd3e4fda34bcb5af23454f4b202cf5517/debian/patches/0002-fix-tests-on-qt-5.15.5.patch";
|
||||
hash = "sha256-x8Zk7+VBSlM16a3V1yxJqIB63796H0lsS+F4dvR/z80=";
|
||||
})
|
||||
|
||||
# Small fixes to statesaver & tst_imageprovider.11.qml tests
|
||||
# Remove when version > 1.3.5011
|
||||
(fetchpatch {
|
||||
name = "0003-lomiri-ui-toolkit-tests-Minor-fixes.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/commit/a8324d670b813a48ac7d48aa0bc013773047a01d.patch";
|
||||
hash = "sha256-W6q3LuQqWmUVSBzORcJsTPoLfbWwytABMDR6JITHrDI=";
|
||||
})
|
||||
|
||||
# Fix Qt 5.15.11 compatibility
|
||||
# Remove when version > 1.3.5011
|
||||
(fetchpatch {
|
||||
name = "0004-lomiri-ui-toolkit-Fix-compilation-with-Qt-5.15.11.patch";
|
||||
url = "https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/commit/4f999077dc6bc5591bdfede64fd21cb3acdcaac1.patch";
|
||||
hash = "sha256-5VCQFOykxgspNBxH94XYuBpdHsH9a3+8FwV6xQE55Xc=";
|
||||
})
|
||||
|
||||
./2001-Mark-problematic-tests.patch
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs documentation/docs.sh tests/
|
||||
|
||||
substituteInPlace tests/tests.pro \
|
||||
--replace "\''$\''$PYTHONDIR" "$dev/${python3.sitePackages}"
|
||||
|
||||
for subproject in po app-launch-profiler lomiri-ui-toolkit-launcher; do
|
||||
substituteInPlace $subproject/$subproject.pro \
|
||||
--replace "\''$\''$[QT_INSTALL_PREFIX]" "$out" \
|
||||
--replace "\''$\''$[QT_INSTALL_LIBS]" "$out/lib"
|
||||
done
|
||||
|
||||
# Install apicheck tool into bin
|
||||
substituteInPlace apicheck/apicheck.pro \
|
||||
--replace "\''$\''$[QT_INSTALL_LIBS]/lomiri-ui-toolkit" "$out/bin"
|
||||
|
||||
# Causes redefinition error with our own fortify hardening
|
||||
sed -i '/DEFINES += _FORTIFY_SOURCE/d' features/lomiri_common.prf
|
||||
|
||||
# Reverse dependencies (and their reverse dependencies too) access the function patched here to register their gettext catalogues,
|
||||
# so hardcoding any prefix here will make only catalogues in that prefix work. APP_DIR envvar will override this, but with domains from multiple derivations being
|
||||
# used in a single application (lomiri-system-settings), that's of not much use either.
|
||||
# https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/blob/dcb3a523c56a400e5c3c163c2836cafca168767e/src/LomiriToolkit/i18n.cpp#L101-129
|
||||
#
|
||||
# This could be solved with a reference to the prefix of whoever requests the domain, but the call happens via some automatic Qt / QML callback magic,
|
||||
# I'm not sure what the best way of injecting that there would be.
|
||||
# https://gitlab.com/ubports/development/core/lomiri-ui-toolkit/-/blob/dcb3a523c56a400e5c3c163c2836cafca168767e/src/LomiriToolkit/i18n_p.h#L34
|
||||
#
|
||||
# Using /run/current-system/sw/share/locale instead of /usr/share/locale isn't a great
|
||||
# solution, but at least it should get us working localisations
|
||||
substituteInPlace src/LomiriToolkit/i18n.cpp \
|
||||
--replace "/usr" "/run/current-system/sw"
|
||||
|
||||
# The code here overrides the regular QML import variables so the just-built modules are found & used in the tests
|
||||
# But we need their QML dependencies too, so put them back in there
|
||||
substituteInPlace export_qml_dir.sh \
|
||||
--replace '_IMPORT_PATH=$BUILD_DIR/qml' '_IMPORT_PATH=$BUILD_DIR/qml:${qtQmlPaths}'
|
||||
|
||||
# These tests try to load Suru theme icons, but override XDG_DATA_DIRS / use full paths to load them
|
||||
substituteInPlace \
|
||||
tests/unit/visual/tst_visual.cpp \
|
||||
tests/unit/visual/tst_icon.{11,13}.qml \
|
||||
tests/unit/visual/tst_imageprovider.11.qml \
|
||||
--replace '/usr/share' '${suru-icon-theme}/share'
|
||||
'';
|
||||
|
||||
# With strictDeps, QMake only picks up Qt dependencies from nativeBuildInputs
|
||||
strictDeps = false;
|
||||
|
||||
nativeBuildInputs = [
|
||||
perl
|
||||
pkg-config
|
||||
python3
|
||||
qmake
|
||||
wrapQtAppsHook
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
glib
|
||||
lttng-ust
|
||||
qtbase
|
||||
qtdeclarative
|
||||
qtpim
|
||||
qtquickcontrols2
|
||||
qtsystems
|
||||
];
|
||||
|
||||
propagatedBuildInputs = [
|
||||
qtfeedback
|
||||
qtgraphicaleffects
|
||||
qtsvg
|
||||
];
|
||||
|
||||
nativeCheckInputs = [
|
||||
dbus-test-runner
|
||||
dpkg # `dpkg-architecture -qDEB_HOST_ARCH` response decides how tests are run
|
||||
gdb
|
||||
xvfb-run
|
||||
];
|
||||
|
||||
qmakeFlags = [
|
||||
# docs require Qt5's qdoc, which we don't have before https://github.com/NixOS/nixpkgs/pull/245379
|
||||
"CONFIG+=no_docs"
|
||||
# Ubuntu UITK compatibility, for older / not-yet-migrated applications
|
||||
"CONFIG+=ubuntu-uitk-compat"
|
||||
"QMAKE_PKGCONFIG_PREFIX=${placeholder "out"}"
|
||||
];
|
||||
|
||||
doCheck = stdenv.buildPlatform.canExecute stdenv.hostPlatform;
|
||||
|
||||
# Explicitly not parallel-safe, large parts are always run in series and at least qquick_image_extension fails with parallelism
|
||||
enableParallelChecking = false;
|
||||
|
||||
checkPhase = ''
|
||||
runHook preCheck
|
||||
|
||||
export HOME=$PWD
|
||||
|
||||
# XDG_RUNTIME_DIR with wrong permissions causes warnings that are interpreted as errors in the test suite
|
||||
export XDG_RUNTIME_DIR=$PWD/runtime-dir
|
||||
mkdir -p $XDG_RUNTIME_DIR
|
||||
chmod -R 700 $XDG_RUNTIME_DIR
|
||||
|
||||
# Tests need some Qt plugins
|
||||
# Many tests try to load Suru theme icons via XDG_DATA_DIRS
|
||||
export QT_PLUGIN_PATH=${qtPluginPaths}
|
||||
export XDG_DATA_DIRS=${suru-icon-theme}/share
|
||||
|
||||
tests/xvfb.sh make check ''${enableParallelChecking:+-j''${NIX_BUILD_CORES}}
|
||||
|
||||
runHook postCheck
|
||||
'';
|
||||
|
||||
preInstall = ''
|
||||
# wrapper script calls qmlplugindump, crashes due to lack of minimal platform plugin
|
||||
# Could not find the Qt platform plugin "minimal" in ""
|
||||
# Available platform plugins are: wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx.
|
||||
export QT_PLUGIN_PATH=${qtPluginPaths}
|
||||
|
||||
# Qt-generated wrapper script lacks QML paths to dependencies
|
||||
for qmlModule in Components PerformanceMetrics Test; do
|
||||
substituteInPlace src/imports/$qmlModule/wrapper.sh \
|
||||
--replace 'QML2_IMPORT_PATH=' 'QML2_IMPORT_PATH=${qtQmlPaths}:'
|
||||
done
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
# Code loads Qt's qt_module.prf, which force-overrides all QMAKE_PKGCONFIG_* variables except PREFIX for QMake-generated pkg-config files
|
||||
for pcFile in Lomiri{Gestures,Metrics,Toolkit}.pc; do
|
||||
substituteInPlace $out/lib/pkgconfig/$pcFile \
|
||||
--replace "${lib.getLib qtbase}/lib" "\''${prefix}/lib" \
|
||||
--replace "${lib.getDev qtbase}/include" "\''${prefix}/include"
|
||||
done
|
||||
|
||||
# These are all dev-related tools, but declaring a bin output also moves around the QML modules
|
||||
moveToOutput "bin" "$dev"
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
for qtBin in $dev/bin/{apicheck,lomiri-ui-toolkit-launcher}; do
|
||||
wrapQtApp $qtBin
|
||||
done
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
tests.pkg-config = testers.testMetaPkgConfig finalAttrs.finalPackage;
|
||||
updateScript = gitUpdater { };
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
description = "QML components to ease the creation of beautiful applications in QML";
|
||||
longDescription = ''
|
||||
This project consists of a set of QML components to ease the creation of beautiful applications in QML for Lomiri.
|
||||
|
||||
QML alone lacks built-in components for basic widgets like Button, Slider, Scrollbar, etc, meaning a developer has
|
||||
to build them from scratch.
|
||||
This toolkit aims to stop this duplication of work, supplying beautiful components ready-made and with a clear and
|
||||
consistent API.
|
||||
|
||||
These components are fully themeable so the look and feel can be easily customized. Resolution independence
|
||||
technology is built in so UIs are scaled to best suit the display.
|
||||
|
||||
Other features:
|
||||
- localisation through gettext
|
||||
'';
|
||||
homepage = "https://gitlab.com/ubports/development/core/lomiri-ui-toolkit";
|
||||
license = with licenses; [ gpl3Only cc-by-sa-30 ];
|
||||
maintainers = teams.lomiri.members;
|
||||
platforms = platforms.linux;
|
||||
pkgConfigModules = [
|
||||
"LomiriGestures"
|
||||
"LomiriMetrics"
|
||||
"LomiriToolkit"
|
||||
];
|
||||
};
|
||||
})
|
@ -17,11 +17,11 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "mate-system-monitor";
|
||||
version = "1.26.1";
|
||||
version = "1.26.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://pub.mate-desktop.org/releases/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
|
||||
sha256 = "HrX7m2y0qK2DCyboR6m70B1WiqvTg8Yo7p8IQJuJKOc=";
|
||||
sha256 = "vm2X3saPXza94S+KyvGsVkLSOaXSQWGoL/9QZPRQJUQ=";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
@ -54,8 +54,6 @@ stdenv.mkDerivation rec {
|
||||
# fixes cmake support
|
||||
sed -i -e "s/print \('emcc (Emscript.*\)/sys.stderr.write(\1); sys.stderr.flush()/g" emcc.py
|
||||
|
||||
# disables cache in user home, use installation directory instead
|
||||
sed -i '/^def/!s/root_is_writable()/True/' tools/config.py
|
||||
sed -i "/^def check_sanity/a\\ return" tools/shared.py
|
||||
|
||||
echo "EMSCRIPTEN_ROOT = '$out/share/emscripten'" > .emscripten
|
||||
|
@ -1,16 +1,16 @@
|
||||
{ callPackage, fetchFromGitHub, gambit-support }:
|
||||
|
||||
callPackage ./build.nix rec {
|
||||
version = "unstable-2023-10-07";
|
||||
git-version = "4.9.5-59-g342399c7";
|
||||
stampYmd = 20231007;
|
||||
stampHms = 170745;
|
||||
rev = "342399c736ec560c0ff4faeaeb9599b45633f26c";
|
||||
version = "unstable-2023-12-04";
|
||||
git-version = "4.9.5-84-g6b19d0c9";
|
||||
stampYmd = 20231204;
|
||||
stampHms = 204859;
|
||||
rev = "6b19d0c9084341306bbb7d6895321090a82988a0";
|
||||
src = fetchFromGitHub {
|
||||
owner = "gambit";
|
||||
repo = "gambit";
|
||||
inherit rev;
|
||||
sha256 = "121pj6lxihjjnfq33lq4m5hi461xbs9f41qd4l46556dr15cyf8f";
|
||||
sha256 = "0njcz9krak8nfyk3x6bc6m1rixzsjc1fyzhbz2g3aq5v8kz9mkl5";
|
||||
};
|
||||
gambit-params = gambit-support.unstable-params;
|
||||
}
|
||||
|
@ -24,17 +24,16 @@ stdenv.mkDerivation rec {
|
||||
buildInputs = buildInputs_libraries;
|
||||
|
||||
postPatch = ''
|
||||
echo '(define (gerbil-version-string) "v${git-version}")' > src/gerbil/runtime/gx-version.scm ;
|
||||
patchShebangs . ;
|
||||
grep -Fl '#!/usr/bin/env' `find . -type f -executable` | while read f ; do
|
||||
substituteInPlace "$f" --replace '#!/usr/bin/env' '#!${coreutils}/bin/env' ;
|
||||
done ;
|
||||
substituteInPlace ./configure --replace 'set -e' 'set -e ; git () { echo "v${git-version}" ;}' ;
|
||||
substituteInPlace ./src/build/build-version.scm --replace "with-exception-catcher" '(lambda _ "v${git-version}")' ;
|
||||
#rmdir src/gambit
|
||||
#cp -a ${pkgs.gambit-unstable.src} ./src/gambit
|
||||
chmod -R u+w ./src/gambit
|
||||
( cd src/gambit ; ${gambit-params.fixStamp gambit-git-version gambit-stampYmd gambit-stampHms} )
|
||||
cat > MANIFEST <<EOF
|
||||
gerbil_stamp_version=v${git-version}
|
||||
gambit_stamp_version=v${gambit-git-version}
|
||||
gambit_stamp_ymd=${gambit-stampYmd}
|
||||
gambit_stamp_hms=${gambit-stampHms}
|
||||
EOF
|
||||
for f in src/bootstrap/gerbil/compiler/driver__0.scm \
|
||||
src/build/build-libgerbil.ss \
|
||||
src/gerbil/compiler/driver.ss ; do
|
||||
@ -58,8 +57,7 @@ stdenv.mkDerivation rec {
|
||||
"--enable-zlib"
|
||||
"--enable-sqlite"
|
||||
"--enable-shared"
|
||||
"--disable-deprecated"
|
||||
"--enable-march=" # Avoid non-portable invalid instructions
|
||||
"--enable-march=" # Avoid non-portable invalid instructions. Use =native if local build only.
|
||||
];
|
||||
|
||||
configurePhase = ''
|
||||
@ -70,15 +68,7 @@ stdenv.mkDerivation rec {
|
||||
LD=${gccStdenv.cc}/bin/${gccStdenv.cc.targetPrefix}ld \
|
||||
XMKMF=${coreutils}/bin/false
|
||||
unset CFLAGS LDFLAGS LIBS CPPFLAGS CXXFLAGS
|
||||
(cd src/gambit ; ${gambit-params.fixStamp gambit-git-version gambit-stampYmd gambit-stampHms})
|
||||
./configure ${builtins.concatStringsSep " " configureFlags}
|
||||
(cd src/gambit ;
|
||||
substituteInPlace config.status \
|
||||
${lib.optionalString (gccStdenv.isDarwin && !gambit-params.stable)
|
||||
''--replace "/usr/local/opt/openssl@1.1" "${lib.getLib openssl}"''} \
|
||||
--replace "/usr/local/opt/openssl" "${lib.getLib openssl}"
|
||||
./config.status
|
||||
)
|
||||
'';
|
||||
|
||||
extraLdOptions = [
|
||||
|
@ -1,18 +1,18 @@
|
||||
{ callPackage, fetchFromGitHub, gambit-unstable, gambit-support, pkgs, gccStdenv }:
|
||||
|
||||
callPackage ./build.nix rec {
|
||||
version = "0.18";
|
||||
git-version = "0.18";
|
||||
version = "0.18.1";
|
||||
git-version = "0.18.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "mighty-gerbils";
|
||||
repo = "gerbil";
|
||||
rev = "8ca36a928bc9345f9d28e5f2dfcb55ca558e85f9";
|
||||
sha256 = "sha256-EMiYgQM/Gl+dh6AxLYRZ0BKZ+VKFd+Lkyy9Pw11ivE8=";
|
||||
rev = "23c30a6062cd7e63f9d85300ce01585bb9035d2d";
|
||||
sha256 = "15fh0zqkmnjhan1mgymq5fgbjsh5z9d2v6zjddplqib5zd2s3z6k";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
inherit gambit-support;
|
||||
gambit-params = gambit-support.unstable-params;
|
||||
gambit-git-version = "4.9.5-40-g24201248"; # pkgs.gambit-unstable.passthru.git-version
|
||||
gambit-stampYmd = "20230917"; # pkgs.gambit-unstable.passthru.git-stampYmd
|
||||
gambit-stampHms = "182043"; # pkgs.gambit-unstable.passthru.git-stampHms
|
||||
gambit-git-version = "4.9.5-78-g8b18ab69";
|
||||
gambit-stampYmd = "20231029";
|
||||
gambit-stampHms = "163035";
|
||||
}
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user