Merge master into haskell-updates

This commit is contained in:
github-actions[bot] 2021-09-28 00:06:32 +00:00 committed by GitHub
commit 2a1a484050
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
193 changed files with 1488 additions and 693 deletions

View File

@ -6,7 +6,7 @@ When using Nix, you will frequently need to download source code and other files
Because fixed output derivations are _identified_ by their hash, a common mistake is to update a fetcher's URL or a version parameter, without updating the hash. **This will cause the old contents to be used.** So remember to always invalidate the hash argument.
For those who develop and maintain fetcheres, a similar problem arises with changes to the implementation of a fetcher. These may cause a fixed output derivation to fail, but won't normally be caught by tests because the supposed output is already in the store or cache. For the purpose of testing, you can use a trick that is embodied by the [`invalidateFetcherByDrvHash`](#sec-pkgs-invalidateFetcherByDrvHash) function. It uses the derivation `name` to create a unique output path per fetcher implementation, defeating the caching precisely where it would be harmful.
For those who develop and maintain fetchers, a similar problem arises with changes to the implementation of a fetcher. These may cause a fixed output derivation to fail, but won't normally be caught by tests because the supposed output is already in the store or cache. For the purpose of testing, you can use a trick that is embodied by the [`invalidateFetcherByDrvHash`](#sec-pkgs-invalidateFetcherByDrvHash) function. It uses the derivation `name` to create a unique output path per fetcher implementation, defeating the caching precisely where it would be harmful.
## `fetchurl` and `fetchzip` {#fetchurl}

View File

@ -96,6 +96,11 @@ re-enter the shell.
## Updating the package set {#updating-the-package-set}
There is a script and associated environment for regenerating the package
sets and synchronising the rPackages tree to the current CRAN and matching
BIOC release. These scripts are found in the `pkgs/development/r-modules`
directory and executed as follows:
```bash
nix-shell generate-shell.nix
@ -112,12 +117,11 @@ Rscript generate-r-packages.R bioc-experiment > bioc-experiment-packages.nix.new
mv bioc-experiment-packages.nix.new bioc-experiment-packages.nix
```
`generate-r-packages.R <repo>` reads `<repo>-packages.nix`, therefor the renaming.
`generate-r-packages.R <repo>` reads `<repo>-packages.nix`, therefore
the renaming.
## Testing if the Nix-expression could be evaluated {#testing-if-the-nix-expression-could-be-evaluated}
```bash
nix-build test-evaluation.nix --dry-run
```
If this exits fine, the expression is ok. If not, you have to edit `default.nix`
Some packages require overrides to specify external dependencies or other
patches and special requirements. These overrides are specified in the
`pkgs/development/r-modules/default.nix` file. As the `*-packages.nix`
contents are automatically generated it should not be edited and broken
builds should be addressed using overrides.

View File

@ -68,7 +68,7 @@ luautf8,,,,,,pstn
luazip,,,,,,
lua-yajl,,,,,,pstn
luuid,,,,,,
luv,,,,1.30.0-0,,
luv,,,,1.42.0-0,,
lyaml,,,,,,lblasc
markdown,,,,,,
mediator_lua,,,,,,

1 name src ref server version luaversion maintainers
68 luazip
69 lua-yajl pstn
70 luuid
71 luv 1.30.0-0 1.42.0-0
72 lyaml lblasc
73 markdown
74 mediator_lua

View File

@ -16,16 +16,67 @@ let
lib.concatMapStrings (s: if lib.isList s then "-" else s)
(builtins.split "[^a-zA-Z0-9_.\\-]+" name);
# Function to build "zfs allow" and "zfs unallow" commands for the
# filesystems we've delegated permissions to.
buildAllowCommand = zfsAction: permissions: dataset: lib.escapeShellArgs [
# Here we explicitly use the booted system to guarantee the stable API needed by ZFS
"-+/run/booted-system/sw/bin/zfs"
zfsAction
cfg.user
(concatStringsSep "," permissions)
dataset
];
# Function to build "zfs allow" commands for the filesystems we've
# delegated permissions to. It also checks if the target dataset
# exists before delegating permissions, if it doesn't exist we
# delegate it to the parent dataset. This should solve the case of
# provisoning new datasets.
buildAllowCommand = permissions: dataset: (
"-+${pkgs.writeShellScript "zfs-allow-${dataset}" ''
# Here we explicitly use the booted system to guarantee the stable API needed by ZFS
# Run a ZFS list on the dataset to check if it exists
if ${lib.escapeShellArgs [
"/run/booted-system/sw/bin/zfs"
"list"
dataset
]} 2> /dev/null; then
${lib.escapeShellArgs [
"/run/booted-system/sw/bin/zfs"
"allow"
cfg.user
(concatStringsSep "," permissions)
dataset
]}
else
${lib.escapeShellArgs [
"/run/booted-system/sw/bin/zfs"
"allow"
cfg.user
(concatStringsSep "," permissions)
# Remove the last part of the path
(builtins.dirOf dataset)
]}
fi
''}"
);
# Function to build "zfs unallow" commands for the filesystems we've
# delegated permissions to. Here we unallow both the target but also
# on the parent dataset because at this stage we have no way of
# knowing if the allow command did execute on the parent dataset or
# not in the pre-hook. We can't run the same if in the post hook
# since the dataset should have been created at this point.
buildUnallowCommand = permissions: dataset: (
"-+${pkgs.writeShellScript "zfs-unallow-${dataset}" ''
# Here we explicitly use the booted system to guarantee the stable API needed by ZFS
${lib.escapeShellArgs [
"/run/booted-system/sw/bin/zfs"
"unallow"
cfg.user
(concatStringsSep "," permissions)
dataset
]}
${lib.escapeShellArgs [
"/run/booted-system/sw/bin/zfs"
"unallow"
cfg.user
(concatStringsSep "," permissions)
# Remove the last part of the path
(builtins.dirOf dataset)
]}
''}"
);
in
{
@ -274,11 +325,11 @@ in
path = [ "/run/booted-system/sw/bin/" ];
serviceConfig = {
ExecStartPre =
(map (buildAllowCommand "allow" c.localSourceAllow) (localDatasetName c.source)) ++
(map (buildAllowCommand "allow" c.localTargetAllow) (localDatasetName c.target));
(map (buildAllowCommand c.localSourceAllow) (localDatasetName c.source)) ++
(map (buildAllowCommand c.localTargetAllow) (localDatasetName c.target));
ExecStopPost =
(map (buildAllowCommand "unallow" c.localSourceAllow) (localDatasetName c.source)) ++
(map (buildAllowCommand "unallow" c.localTargetAllow) (localDatasetName c.target));
(map (buildUnallowCommand c.localSourceAllow) (localDatasetName c.source)) ++
(map (buildUnallowCommand c.localTargetAllow) (localDatasetName c.target));
ExecStart = lib.escapeShellArgs ([ "${pkgs.sanoid}/bin/syncoid" ]
++ optionals c.useCommonArgs cfg.commonArgs
++ optional c.recursive "-r"

View File

@ -544,7 +544,7 @@ in
type = types.lines;
default = "";
description = "
Entries for the virtual alias map, cf. man-page virtual(8).
Entries for the virtual alias map, cf. man-page virtual(5).
";
};

View File

@ -9,6 +9,14 @@ in
{
options.services.snapper = {
snapshotRootOnBoot = mkOption {
type = types.bool;
default = false;
description = ''
Whether to snapshot root on boot
'';
};
snapshotInterval = mkOption {
type = types.str;
default = "hourly";
@ -130,20 +138,22 @@ in
Type = "dbus";
BusName = "org.opensuse.Snapper";
ExecStart = "${pkgs.snapper}/bin/snapperd";
CapabilityBoundingSet = "CAP_DAC_OVERRIDE CAP_FOWNER CAP_CHOWN CAP_FSETID CAP_SETFCAP CAP_SYS_ADMIN CAP_SYS_MODULE CAP_IPC_LOCK CAP_SYS_NICE";
LockPersonality = true;
NoNewPrivileges = false;
PrivateNetwork = true;
ProtectHostname = true;
RestrictAddressFamilies = "AF_UNIX";
RestrictRealtime = true;
};
};
systemd.services.snapper-timeline = {
description = "Timeline of Snapper Snapshots";
inherit documentation;
requires = [ "local-fs.target" ];
serviceConfig.ExecStart = "${pkgs.snapper}/lib/snapper/systemd-helper --timeline";
};
systemd.timers.snapper-timeline = {
description = "Timeline of Snapper Snapshots";
inherit documentation;
wantedBy = [ "basic.target" ];
timerConfig.OnCalendar = cfg.snapshotInterval;
startAt = cfg.snapshotInterval;
};
systemd.services.snapper-cleanup = {
@ -155,10 +165,21 @@ in
systemd.timers.snapper-cleanup = {
description = "Cleanup of Snapper Snapshots";
inherit documentation;
wantedBy = [ "basic.target" ];
wantedBy = [ "timers.target" ];
requires = [ "local-fs.target" ];
timerConfig.OnBootSec = "10m";
timerConfig.OnUnitActiveSec = cfg.cleanupInterval;
};
systemd.services.snapper-boot = lib.optionalAttrs cfg.snapshotRootOnBoot {
description = "Take snapper snapshot of root on boot";
inherit documentation;
serviceConfig.ExecStart = "${pkgs.snapper}/bin/snapper --config root create --cleanup-algorithm number --description boot";
serviceConfig.type = "oneshot";
requires = [ "local-fs.target" ];
wantedBy = [ "multi-user.target" ];
unitConfig.ConditionPathExists = "/etc/snapper/configs/root";
};
});
}

View File

@ -32,6 +32,7 @@ let
"dnsmasq"
"domain"
"dovecot"
"fastly"
"fritzbox"
"influxdb"
"json"

View File

@ -0,0 +1,41 @@
{ config, lib, pkgs, options }:
with lib;
let cfg = config.services.prometheus.exporters.fastly;
in
{
port = 9118;
extraOpts = {
debug = mkEnableOption "Debug logging mode for fastly-exporter";
configFile = mkOption {
type = types.nullOr types.path;
default = null;
description = ''
Path to a fastly-exporter configuration file.
Example one can be generated with <literal>fastly-exporter --config-file-example</literal>.
'';
example = "./fastly-exporter-config.txt";
};
tokenPath = mkOption {
type = types.nullOr types.path;
apply = final: if final == null then null else toString final;
description = ''
A run-time path to the token file, which is supposed to be provisioned
outside of Nix store.
'';
};
};
serviceOpts = {
script = ''
${optionalString (cfg.tokenPath != null)
"export FASTLY_API_TOKEN=$(cat ${toString cfg.tokenPath})"}
${pkgs.fastly-exporter}/bin/fastly-exporter \
-endpoint http://${cfg.listenAddress}:${cfg.port}/metrics
${optionalString cfg.debug "-debug true"} \
${optionalString cfg.configFile "-config-file ${cfg.configFile}"}
'';
};
}

View File

@ -38,10 +38,13 @@ let
"mod_rrdtool"
"mod_accesslog"
# Remaining list of modules, order assumed to be unimportant.
"mod_authn_dbi"
"mod_authn_file"
"mod_authn_gssapi"
"mod_authn_ldap"
"mod_authn_mysql"
"mod_authn_pam"
"mod_authn_sasl"
"mod_cml"
"mod_deflate"
"mod_evasive"
@ -132,6 +135,15 @@ in
'';
};
package = mkOption {
default = pkgs.lighttpd;
defaultText = "pkgs.lighttpd";
type = types.package;
description = ''
lighttpd package to use.
'';
};
port = mkOption {
default = 80;
type = types.port;
@ -240,7 +252,7 @@ in
description = "Lighttpd Web Server";
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig.ExecStart = "${pkgs.lighttpd}/sbin/lighttpd -D -f ${configFile}";
serviceConfig.ExecStart = "${cfg.package}/sbin/lighttpd -D -f ${configFile}";
# SIGINT => graceful shutdown
serviceConfig.KillSignal = "SIGINT";
};

View File

@ -59,6 +59,9 @@ stdenv.mkDerivation rec {
libpulseaudio
];
# https://github.com/xou816/spot/issues/313
mesonBuildType = "release";
postPatch = ''
chmod +x build-aux/cargo.sh
patchShebangs build-aux/cargo.sh build-aux/meson/postinstall.py

View File

@ -63,5 +63,6 @@ mkDerivation rec {
longDescription = "Leo is a PIM, IDE and outliner that accelerates the work flow of programmers, authors and web designers.";
license = licenses.mit;
maintainers = with maintainers; [ leonardoce ];
mainProgram = "leo";
};
}

View File

@ -32,13 +32,13 @@ let
in
stdenv.mkDerivation rec {
pname = "neovim-unwrapped";
version = "0.5.0";
version = "0.5.1";
src = fetchFromGitHub {
owner = "neovim";
repo = "neovim";
rev = "v${version}";
sha256 = "0lgbf90sbachdag1zm9pmnlbn35964l3khs27qy4462qzpqyi9fi";
sha256 = "0b2gda9h14lvwahrr7kq3ix8wsw99g4ngy1grmhv5544n93ypcyk";
};
patches = [

View File

@ -1,9 +1,42 @@
{ mkDerivation, lib, fetchFromGitHub, cmake, ninja, flex, bison, proj, geos
, xlibsWrapper, sqlite, gsl, qwt, fcgi, python3Packages, libspatialindex
, libspatialite, postgresql, txt2tags, openssl, libzip, hdf5, netcdf, exiv2
, protobuf, qtbase, qtsensors, qca-qt5, qtkeychain, qscintilla, qtserialport
, qtxmlpatterns, withGrass ? true, grass, withWebKit ? true, qtwebkit }:
with lib;
{ lib
, mkDerivation
, fetchFromGitHub
, fetchpatch
, cmake
, ninja
, flex
, bison
, proj
, geos
, xlibsWrapper
, sqlite
, gsl
, qwt
, fcgi
, python3Packages
, libspatialindex
, libspatialite
, postgresql
, txt2tags
, openssl
, libzip
, hdf5
, netcdf
, exiv2
, protobuf
, qtbase
, qtsensors
, qca-qt5
, qtkeychain
, qscintilla
, qtserialport
, qtxmlpatterns
, withGrass ? true
, grass
, withWebKit ? true
, qtwebkit
}:
let
pythonBuildInputs = with python3Packages; [
qscintilla-qt5
@ -25,8 +58,7 @@ let
];
in mkDerivation rec {
version = "3.16.10";
pname = "qgis";
name = "${pname}-unwrapped-${version}";
pname = "qgis-unwrapped";
src = fetchFromGitHub {
owner = "qgis";
@ -35,6 +67,13 @@ in mkDerivation rec {
sha256 = "sha256-/lsfyTDlkZNIVHg5qgZW7qfOyTC2+1r3ZbsnQmEdy30=";
};
patches = [
(fetchpatch {
url = "https://github.com/qgis/QGIS/commit/fc1ac8bef8dcc3194857ecd32519aca4867b4fa1.patch";
sha256 = "106smg3drx8c7yxzfhd1c7xrq757l5cfxx8lklihyvr4a7wc9gpy";
})
];
passthru = {
inherit pythonBuildInputs;
inherit python3Packages;

View File

@ -7,11 +7,11 @@ with lib;
stdenv.mkDerivation rec {
pname = "feh";
version = "3.7.1";
version = "3.7.2";
src = fetchurl {
url = "https://feh.finalrewind.org/${pname}-${version}.tar.bz2";
sha256 = "sha256-V6scph9XyWWVh4Bp9VDTb1GFMPiPoxt0zDnNc5+SWLY=";
sha256 = "sha256-hHGP0nIM9UDSRXaElP4OtOWY9Es54jJrrow2ioKcglg=";
};
outputs = [ "out" "man" "doc" ];

View File

@ -12,6 +12,8 @@
mkDerivation {
pname = "akregator";
meta = {
homepage = "https://apps.kde.org/akregator/";
description = "KDE feed reader";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
maintainers = kdepimTeam;
};

View File

@ -30,6 +30,7 @@ mkDerivation {
qtWrapperArgs = [ "--prefix" "PATH" ":" (lib.makeBinPath extraTools) ];
meta = with lib; {
homepage = "https://apps.kde.org/ark/";
description = "Graphical file compression/decompression utility";
license = with licenses; [ gpl2 lgpl3 ] ++ optional unfreeEnableUnrar unfree;
maintainers = [ maintainers.ttuegel ];

View File

@ -11,6 +11,8 @@
mkDerivation {
pname = "dolphin";
meta = {
homepage = "https://apps.kde.org/dolphin/";
description = "KDE file manager";
license = with lib.licenses; [ gpl2 fdl12 ];
maintainers = [ lib.maintainers.ttuegel ];
broken = lib.versionOlder qtbase.version "5.14";

View File

@ -10,6 +10,7 @@
mkDerivation {
pname = "dragon";
meta = {
homepage = "https://apps.kde.org/dragonplayer/";
license = with lib.licenses; [ gpl2 fdl12 ];
description = "A simple media player for KDE";
maintainers = [ lib.maintainers.jonathanreeve ];

View File

@ -40,6 +40,7 @@ mkDerivation rec {
];
meta = with lib; {
homepage = "https://apps.kde.org/elisa/";
description = "A simple media player for KDE";
license = licenses.gpl3;
maintainers = with maintainers; [ peterhoeg ];

View File

@ -7,6 +7,8 @@
mkDerivation {
pname = "filelight";
meta = {
description = "Disk usage statistics";
homepage = "https://apps.kde.org/filelight/";
license = with lib.licenses; [ gpl2 ];
maintainers = with lib.maintainers; [ fridh vcunat ];
broken = lib.versionOlder qtbase.version "5.13";

View File

@ -9,6 +9,8 @@
mkDerivation {
pname = "gwenview";
meta = {
homepage = "https://apps.kde.org/gwenview/";
description = "KDE image viewer";
license = with lib.licenses; [ gpl2 fdl12 ];
maintainers = [ lib.maintainers.ttuegel ];
};

View File

@ -10,6 +10,8 @@
mkDerivation {
pname = "k3b";
meta = with lib; {
homepage = "https://apps.kde.org/k3b/";
description = "Disk burning application";
license = with licenses; [ gpl2Plus ];
maintainers = with maintainers; [ sander phreedom ];
platforms = platforms.linux;

View File

@ -10,6 +10,8 @@
mkDerivation {
pname = "kaddressbook";
meta = {
homepage = "https://apps.kde.org/kaddressbook/";
description = "KDE contact manager";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
maintainers = kdepimTeam;
};

View File

@ -19,6 +19,8 @@
mkDerivation {
pname = "kalarm";
meta = {
homepage = "https://apps.kde.org/kalarm/";
description = "Personal alarm scheduler";
license = with lib.licenses; [ gpl2 ];
maintainers = [ lib.maintainers.rittelle ];
};

View File

@ -37,5 +37,9 @@ mkDerivation {
"--prefix GST_PLUGIN_PATH : ${lib.makeSearchPath "lib/gstreamer-1.0" gst}"
];
meta.license = with lib.licenses; [ lgpl21Only gpl3Only ];
meta = {
homepage = "https://apps.kde.org/kamoso/";
description = "A simple and friendly program to use your camera";
license = with lib.licenses; [ lgpl21Only gpl3Only ];
};
}

View File

@ -10,6 +10,8 @@
mkDerivation {
pname = "kate";
meta = {
homepage = "https://apps.kde.org/kate/";
description = "Advanced text editor";
license = with lib.licenses; [ gpl3 lgpl3 lgpl2 ];
maintainers = [ lib.maintainers.ttuegel ];
};

View File

@ -11,7 +11,11 @@
mkDerivation {
pname = "kbreakout";
meta.license = with lib.licenses; [ lgpl21 gpl3 ];
meta = {
homepage = "KBreakOut";
description = "Breakout-like game";
license = with lib.licenses; [ lgpl21 gpl3 ];
};
outputs = [ "out" "dev" ];
nativeBuildInputs = [
cmake extra-cmake-modules

View File

@ -8,6 +8,8 @@
mkDerivation {
pname = "kcachegrind";
meta = {
homepage = "https://apps.kde.org/kcachegrind/";
description = "Profiler frontend";
license = with lib.licenses; [ gpl2 ];
maintainers = with lib.maintainers; [ orivej ];
};

View File

@ -8,6 +8,8 @@
mkDerivation {
pname = "kcalc";
meta = {
homepage = "https://apps.kde.org/kcalc/";
description = "Scientific calculator";
license = with lib.licenses; [ gpl2 ];
maintainers = [ lib.maintainers.fridh ];
};

View File

@ -7,6 +7,7 @@
mkDerivation {
pname = "kcharselect";
meta = {
homepage = "https://apps.kde.org/kcharselect/";
license = lib.licenses.gpl2Plus;
maintainers = [ lib.maintainers.schmittlauch ];
description = "A tool to select special characters from all installed fonts and copy them into the clipboard";

View File

@ -7,6 +7,8 @@
mkDerivation {
pname = "kcolorchooser";
meta = {
homepage = "https://apps.kde.org/kcolorchooser/";
description = "Color chooser";
license = with lib.licenses; [ mit ];
maintainers = [ lib.maintainers.ttuegel ];
};

View File

@ -9,6 +9,8 @@
mkDerivation {
pname = "kdebugsettings";
meta = {
homepage = "https://apps.kde.org/kdebugsettings/";
description = "KDE debug settings";
license = with lib.licenses; [ gpl2 ];
maintainers = [ lib.maintainers.rittelle ];
broken = lib.versionOlder qtbase.version "5.13";

View File

@ -101,6 +101,8 @@ mkDerivation {
'';
meta = {
homepage = "https://apps.kde.org/kdenlive/";
description = "Video editor";
license = with lib.licenses; [ gpl2Plus ];
maintainers = with lib.maintainers; [ turion ];
};

View File

@ -8,6 +8,8 @@ mkDerivation {
pname = "kdialog";
meta = {
homepage = "https://apps.kde.org/kdialog/";
description = "Display dialog boxes from shell scripts";
license = with lib.licenses; [ gpl2 fdl12 ];
maintainers = with lib.maintainers; [ peterhoeg ];
};

View File

@ -7,6 +7,8 @@
mkDerivation {
pname = "kfind";
meta = {
homepage = "https://apps.kde.org/kfind/";
description = "Find files/folders";
license = with lib.licenses; [ gpl2 ];
maintainers = [ lib.maintainers.iblech ];
};

View File

@ -7,6 +7,8 @@
mkDerivation {
pname = "kgeography";
meta = {
homepage = "https://apps.kde.org/kgeography/";
description = "Geography trainer";
license = with lib.licenses; [ gpl2 ];
maintainers = [ lib.maintainers.globin ];
};

View File

@ -16,6 +16,8 @@ mkDerivation {
];
meta = with lib; {
homepage = "https://apps.kde.org/kget/";
description = "Download manager";
license = with licenses; [ gpl2 ];
maintainers = with maintainers; [ peterhoeg ];
};

View File

@ -18,6 +18,8 @@ mkDerivation {
wrapProgram "$out/bin/kgpg" --prefix PATH : "${lib.makeBinPath [ gnupg ]}"
'';
meta = {
homepage = "https://apps.kde.org/kgpg/";
description = "Encryption tool";
license = [ lib.licenses.gpl2 ];
maintainers = [ lib.maintainers.ttuegel ];
};

View File

@ -1,8 +1,7 @@
{
mkDerivation,
extra-cmake-modules, kdoctools,
grantlee, kcmutils, kconfig, kcoreaddons, kdbusaddons, ki18n,
kinit, khtml, kservice, xapian
{ lib, mkDerivation
, extra-cmake-modules, kdoctools
, grantlee, kcmutils, kconfig, kcoreaddons, kdbusaddons, ki18n
, kinit, khtml, kservice, xapian
}:
mkDerivation {
@ -12,4 +11,9 @@ mkDerivation {
grantlee kcmutils kconfig kcoreaddons kdbusaddons khtml
ki18n kinit kservice xapian
];
meta = with lib; {
homepage = "https://apps.kde.org/help/";
description = "Help center";
license = licenses.gpl2Plus;
};
}

View File

@ -8,6 +8,8 @@
mkDerivation {
pname = "kig";
meta = {
homepage = "https://apps.kde.org/kig/";
description = "Interactive geometry";
license = with lib.licenses; [ gpl2 ];
maintainers = with lib.maintainers; [ raskin ];
};
@ -16,4 +18,3 @@ mkDerivation {
boost karchive kcrash kiconthemes kparts ktexteditor qtsvg qtxmlpatterns
];
}

View File

@ -8,6 +8,8 @@
mkDerivation {
pname = "kleopatra";
meta = {
homepage = "https://apps.kde.org/kleopatra/";
description = "Certificate manager and unified crypto GUI";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
maintainers = kdepimTeam;
};

View File

@ -13,6 +13,8 @@ mkDerivation {
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [ kdeclarative libkmahjongg knewstuff libkdegames ];
meta = {
description = "Mahjongg solitaire";
homepage = "https://apps.kde.org/kmahjongg/";
license = with lib.licenses; [ gpl2 ];
maintainers = with lib.maintainers; [ ];
};

View File

@ -53,6 +53,8 @@
mkDerivation {
pname = "kmail";
meta = {
homepage = "https://apps.kde.org/kmail2/";
description = "Mail client";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
maintainers = kdepimTeam;
};

View File

@ -8,6 +8,8 @@
mkDerivation {
pname = "kmix";
meta = {
homepage = "https://apps.kde.org/kmix/";
description = "Sound mixer";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
maintainers = [ lib.maintainers.rongcuid ];
};

View File

@ -5,6 +5,8 @@
mkDerivation {
pname = "kmplot";
meta = {
homepage = "https://apps.kde.org/kmplot/";
description = "Mathematical function plotter";
license = with lib.licenses; [ gpl2Plus fdl12 ];
maintainers = [ lib.maintainers.orivej ];
};

View File

@ -1,14 +1,13 @@
{
mkDerivation,
extra-cmake-modules, kdoctools,
kcompletion, kconfig, kconfigwidgets, kcoreaddons, kcrash,
kdbusaddons, kdnssd, kglobalaccel, kiconthemes, kitemmodels,
kitemviews, kcmutils, knewstuff, knotifications, knotifyconfig,
kparts, ktextwidgets, kwidgetsaddons, kwindowsystem,
grantlee, grantleetheme, qtx11extras,
akonadi, akonadi-notes, akonadi-search, kcalutils,
kontactinterface, libkdepim, kmime, pimcommon, kpimtextedit,
kcalendarcore
{ lib, mkDerivation
, extra-cmake-modules, kdoctools
, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kcrash
, kdbusaddons, kdnssd, kglobalaccel, kiconthemes, kitemmodels
, kitemviews, kcmutils, knewstuff, knotifications, knotifyconfig
, kparts, ktextwidgets, kwidgetsaddons, kwindowsystem
, grantlee, grantleetheme, qtx11extras
, akonadi, akonadi-notes, akonadi-search, kcalutils
, kontactinterface, libkdepim, kmime, pimcommon, kpimtextedit
, kcalendarcore
}:
mkDerivation {
@ -25,4 +24,9 @@ mkDerivation {
akonadi-search
kcalendarcore
];
meta = with lib; {
homepage = "https://apps.kde.org/knotes/";
description = "Popup notes";
license = licenses.gpl2Plus;
};
}

View File

@ -10,6 +10,8 @@ mkDerivation {
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [ libkdegames kio ktextwidgets ];
meta = {
homepage = "https://apps.kde.org/kolf/";
description = "Miniature golf";
license = with lib.licenses; [ gpl2 ];
maintainers = with lib.maintainers; [ peterhoeg ];
};

View File

@ -17,6 +17,8 @@ mkDerivation {
kguiaddons kio ktextwidgets kwidgetsaddons kxmlgui libkexiv2
];
meta = {
homepage = "https://apps.kde.org/kolourpaint/";
description = "Paint program";
maintainers = [ lib.maintainers.fridh ];
license = with lib.licenses; [ gpl2 ];
};

View File

@ -7,7 +7,11 @@
mkDerivation {
pname = "kompare";
meta = { license = with lib.licenses; [ gpl2 ]; };
meta = {
homepage = "https://apps.kde.org/kompare/";
description = "Diff/patch frontend";
license = with lib.licenses; [ gpl2 ];
};
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [
kiconthemes kparts ktexteditor kwidgetsaddons libkomparediff2

View File

@ -22,6 +22,8 @@ mkDerivation {
'';
meta = {
homepage = "https://apps.kde.org/konqueror/";
description = "Web browser, file manager and viewer";
license = with lib.licenses; [ gpl2 ];
maintainers = with lib.maintainers; [ ];
broken = lib.versionOlder qtbase.version "5.13";

View File

@ -22,6 +22,8 @@ mkDerivation {
qtquickcontrols
];
meta = {
homepage = "https://apps.kde.org/konquest/";
description = "Galactic strategy game";
license = with lib.licenses; [ gpl2 ];
maintainers = with lib.maintainers; [ lheckemann ];
};

View File

@ -10,6 +10,8 @@
mkDerivation {
pname = "konsole";
meta = {
homepage = "https://apps.kde.org/konsole/";
description = "KDE terminal emulator";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
maintainers = with lib.maintainers; [ ttuegel turion ];
};

View File

@ -10,6 +10,8 @@
mkDerivation {
pname = "kontact";
meta = {
homepage = "https://apps.kde.org/kontact/";
description = "Personal information manager";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
maintainers = kdepimTeam;
};

View File

@ -13,6 +13,8 @@
mkDerivation {
pname = "korganizer";
meta = {
homepage = "https://apps.kde.org/korganizer/";
description = "Personal organizer";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
maintainers = kdepimTeam;
};

View File

@ -18,6 +18,7 @@ mkDerivation {
'';
meta = with lib; {
homepage = "http://www.kde.org";
description = "Remote desktop client";
license = with licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
maintainers = with maintainers; [ peterhoeg ];
platforms = platforms.linux;

View File

@ -10,6 +10,8 @@
mkDerivation {
pname = "krfb";
meta = {
homepage = "https://apps.kde.org/krfb/";
description = "Desktop sharing (VNC)";
license = with lib.licenses; [ gpl2 fdl12 ];
maintainers = with lib.maintainers; [ jerith666 ];
};

View File

@ -7,6 +7,8 @@
mkDerivation {
pname = "kruler";
meta = {
homepage = "https://apps.kde.org/kruler/";
description = "Screen ruler";
license = with lib.licenses; [ gpl2 ];
maintainers = [ lib.maintainers.vandenoever ];
};

View File

@ -11,7 +11,11 @@
mkDerivation {
pname = "kspaceduel";
meta.license = with lib.licenses; [ lgpl21 gpl3 ];
meta = {
homepage = "https://apps.kde.org/kspaceduel/";
description = "Space arcade game";
license = with lib.licenses; [ lgpl21 gpl3 ];
};
outputs = [ "out" "dev" ];
nativeBuildInputs = [
cmake extra-cmake-modules

View File

@ -12,6 +12,8 @@ mkDerivation {
nativeBuildInputs = [ extra-cmake-modules kdoctools ];
buildInputs = [ libGLU kdeclarative libkdegames ];
meta = {
homepage = "https://apps.kde.org/ksudoku/";
description = "Suduko game";
license = with lib.licenses; [ gpl2 ];
maintainers = with lib.maintainers; [ ];
};

View File

@ -11,6 +11,8 @@ mkDerivation {
propagatedBuildInputs = [ karchive kconfig kio ];
meta = with lib; {
homepage = "https://apps.kde.org/ksystemlog/";
description = "System log viewer";
license = with licenses; [ gpl2 ];
maintainers = with maintainers; [ peterhoeg ];
};

View File

@ -7,22 +7,22 @@
, xorg
}:
mkDerivation {
pname = "ktouch";
meta = {
homepage = "https://apps.kde.org/ktouch/";
license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.schmittlauch ];
description = "A touch typing tutor from the KDE software collection";
};
nativeBuildInputs = [ extra-cmake-modules kdoctools qtdeclarative ];
buildInputs = [
kconfig kconfigwidgets kcoreaddons kdeclarative ki18n
kitemviews kcmutils kio knewstuff ktexteditor kwidgetsaddons
kwindowsystem kxmlgui qtscript qtdeclarative kqtquickcharts
qtx11extras qtgraphicaleffects qtxmlpatterns qtquickcontrols2
xorg.libxkbfile xorg.libxcb
];
mkDerivation {
pname = "ktouch";
meta = {
license = lib.licenses.gpl2;
maintainers = [ lib.maintainers.schmittlauch ];
description = "A touch typing tutor from the KDE software collection";
};
nativeBuildInputs = [ extra-cmake-modules kdoctools qtdeclarative ];
buildInputs = [
kconfig kconfigwidgets kcoreaddons kdeclarative ki18n
kitemviews kcmutils kio knewstuff ktexteditor kwidgetsaddons
kwindowsystem kxmlgui qtscript qtdeclarative kqtquickcharts
qtx11extras qtgraphicaleffects qtxmlpatterns qtquickcontrols2
xorg.libxkbfile xorg.libxcb
];
enableParallelBuilding = true;
enableParallelBuilding = true;
}

View File

@ -14,6 +14,9 @@
mkDerivation {
pname = "kwalletmanager";
meta = {
homepage = "https://apps.kde.org/kwalletmanager5/";
description = "KDE wallet management tool";
license = with lib.licenses; [ gpl2 ];
maintainers = with lib.maintainers; [ fridh ];
};

View File

@ -7,7 +7,11 @@
mkDerivation {
pname = "marble";
meta.license = with lib.licenses; [ lgpl21 gpl3 ];
meta = {
homepage = "https://apps.kde.org/marble/";
description = "Virtual globe";
license = with lib.licenses; [ lgpl21 gpl3 ];
};
outputs = [ "out" "dev" ];
nativeBuildInputs = [ extra-cmake-modules kdoctools perl ];
propagatedBuildInputs = [

View File

@ -8,6 +8,8 @@
mkDerivation {
pname = "minuet";
meta = with lib; {
homepage = "https://apps.kde.org/minuet/";
description = "Music Education Software";
license = with licenses; [ lgpl21 gpl3 ];
maintainers = with maintainers; [ peterhoeg HaoZeke ];
broken = lib.versionOlder qtbase.version "5.14";

View File

@ -29,6 +29,7 @@ mkDerivation {
meta = with lib; {
homepage = "http://www.kde.org";
description = "KDE document viewer";
license = with licenses; [ gpl2 lgpl21 fdl12 bsd3 ];
maintainers = with maintainers; [ ttuegel turion ];
platforms = lib.platforms.linux;

View File

@ -6,6 +6,7 @@
mkDerivation {
pname = "picmi";
meta = with lib; {
homepage = "https://apps.kde.org/picmi/";
description = "Nonogram game";
longDescription = ''The goal is to reveal the hidden pattern in the board by coloring or
leaving blank the cells in a grid according to numbers given at the side of the grid.

View File

@ -10,6 +10,8 @@
mkDerivation {
pname = "pim-data-exporter";
meta = {
homepage = "https://apps.kde.org/pimdataexporter/";
description = "Saves and restores all data from PIM apps";
license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
maintainers = kdepimTeam;
};

View File

@ -20,6 +20,8 @@ mkDerivation {
'';
propagatedUserEnvPkgs = [ kipi-plugins libkipi ];
meta = with lib; {
homepage = "https://apps.kde.org/spectacle/";
description = "Screenshot capture utility";
maintainers = with maintainers; [ ttuegel ];
broken = versionOlder qtbase.version "5.15";
};

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, libroxml, proj, libyamlcpp, boost } :
{ lib, stdenv, fetchFromGitHub, libroxml, proj_7, libyamlcpp, boost } :
stdenv.mkDerivation rec {
pname = "osm2xmap";
@ -14,14 +14,14 @@ stdenv.mkDerivation rec {
makeFlags = [
"GIT_VERSION=${version}"
"GIT_TIMESTAMP="
"SHAREDIR=${placeholder "out"}/share/osm2xmap"
"SHAREDIR=${placeholder "out"}/share/osm2xmap/"
"INSTALL_BINDIR=${placeholder "out"}/bin"
"INSTALL_MANDIR=${placeholder "out"}/share/man/man1"
];
NIX_CFLAGS_COMPILE = "-DACCEPT_USE_OF_DEPRECATED_PROJ_API_H";
buildInputs = [ libroxml proj libyamlcpp boost ];
buildInputs = [ libroxml proj_7 libyamlcpp boost ];
meta = with lib; {
homepage = "https://github.com/sembruk/osm2xmap";

View File

@ -6,7 +6,7 @@
, wxGTK30-gtk3
, wxmac
, ffmpeg
, proj
, proj_7
, perl532
, unscii
, python
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ docbook5 docbook2x autoreconfHook pkg-config perlenv python ];
buildInputs = [
libGL libGLU ffmpeg proj
libGL libGLU ffmpeg proj_7
] ++ lib.optionals stdenv.hostPlatform.isDarwin [
wxmac Carbon Cocoa
] ++ lib.optionals stdenv.hostPlatform.isLinux [

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchFromGitHub, wrapQtAppsHook, cmake, bzip2, qtbase, qttools, libnova, proj, libpng, openjpeg }:
{ lib, stdenv, fetchFromGitHub, wrapQtAppsHook, cmake, bzip2, qtbase, qttools, libnova, proj_7, libpng, openjpeg }:
stdenv.mkDerivation rec {
version = "1.2.6.1";
@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
};
nativeBuildInputs = [ cmake qttools wrapQtAppsHook ];
buildInputs = [ bzip2 qtbase libnova proj openjpeg libpng ];
buildInputs = [ bzip2 qtbase libnova proj_7 openjpeg libpng ];
cmakeFlags = [ "-DOPENJPEG_INCLUDE_DIR=${openjpeg.dev}/include/openjpeg-${lib.versions.majorMinor openjpeg.version}" ]
++ lib.optionals stdenv.isDarwin [ "-DLIBNOVA_LIBRARY=${libnova}/lib/libnova.dylib" ];

View File

@ -30,4 +30,6 @@
buffer_autoset = callPackage ./buffer_autoset { };
highmon = callPackage ./highmon { };
zncplayback = callPackage ./zncplayback { };
}

View File

@ -0,0 +1,28 @@
{ lib, stdenv, fetchurl }:
stdenv.mkDerivation {
pname = "weechat-zncplayback";
version = "0.2.1";
src = fetchurl {
url = "https://github.com/weechat/scripts/raw/bcc9643136addd2cd68ac957dd64e336e4f88aa1/python/zncplayback.py";
sha256 = "1k32p6naxg40g664ip48zvm61xza7l9az3v3rawmjw97i0mwz7y3";
};
dontUnpack = true;
installPhase = ''
mkdir -p $out/share
cp $src $out/share/zncplayback.py
'';
passthru = {
scripts = [ "zncplayback.py" ];
};
meta = with lib; {
description = "Add support for the ZNC Playback module";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ qyliss ];
};
}

View File

@ -33,13 +33,13 @@
mkDerivation rec {
pname = "sdrangel";
version = "6.16.2";
version = "6.16.3";
src = fetchFromGitHub {
owner = "f4exb";
repo = "sdrangel";
rev = "v${version}";
sha256 = "sha256-wWGKJWd3JDaT0dDMUrxv9ShMVe+q4zvH8SjyKw7UIbo=";
sha256 = "sha256-qgFnl9IliKRI4TptpXyK9JHzpLEUQ7NZLIfc0AROCvA=";
fetchSubmodules = false;
};

View File

@ -1,31 +1,69 @@
{ lib, stdenv, fetchurl, qt4, qwt6_qt4, libGLU, libGL, glew, gdal, cgal
, proj, boost, cmake, python2, doxygen, graphviz, gmp, mpfr }:
{ lib
, mkDerivation
, fetchurl
, cmake
, doxygen
, graphviz
, boost
, cgal_5
, gdal
, glew
, gmp
, libGL
, libGLU
, mpfr
, proj
, python3
, qtxmlpatterns
, qwt
}:
stdenv.mkDerivation rec {
let
python = python3.withPackages (ps: with ps; [
numpy
]);
boost' = boost.override {
enablePython = true;
inherit python;
};
cgal = cgal_5.override {
boost = boost';
};
in mkDerivation rec {
pname = "gplates";
version = "2.2.0";
version = "2.3.0";
src = fetchurl {
url = "mirror://sourceforge/gplates/${pname}-${version}-unixsrc.tar.bz2";
sha256 = "1jrcv498vpcs8xklhbsgg12yfa90f96p2mwq6x5sjnrlpf8mh50b";
name = "gplates_${version}_src.tar.bz2";
url = "https://www.earthbyte.org/download/8421/?uid=b89bb31428";
sha256 = "0lrcmcxc924ixddii8cyglqlwwxvk7f00g4yzbss5i3fgcbh8n96";
};
nativeBuildInputs = [ cmake ];
buildInputs = [
qt4 qwt6_qt4 libGLU libGL glew gdal cgal proj python2
doxygen graphviz gmp mpfr
(boost.override {
enablePython = true;
python = python2;
})
nativeBuildInputs = [
cmake
doxygen
graphviz
];
NIX_CFLAGS_LINK="-ldl -lpthread -lutil";
buildInputs = [
boost'
cgal
gdal
glew
gmp
libGL
libGLU
mpfr
proj
python
qtxmlpatterns
qwt
];
meta = with lib; {
description = "Desktop software for the interactive visualisation of plate-tectonics";
homepage = "https://www.gplates.org";
license = licenses.gpl2;
license = licenses.gpl2Only;
platforms = platforms.all;
};
}

View File

@ -1,10 +1,10 @@
{ lib
, fetchFromGitHub
, crystal_0_33
, crystal_1_0
}:
let
crystal = crystal_0_33;
crystal = crystal_1_0;
in crystal.buildCrystalPackage rec {
pname = "thicket";

View File

@ -2,7 +2,7 @@
ameba = {
owner = "veelenga";
repo = "ameba";
rev = "v0.10.0";
sha256 = "1yjxzwdhigsyjn0qp362jkj85qvg4dsyzal00pgr1srnh2xry912";
rev = "v0.14.3";
sha256 = "1cfr95xi6hsyxw1wlrh571hc775xhwmssk3k14i8b7dgbwfmm5x1";
};
}

View File

@ -25,13 +25,13 @@ assert lib.versionAtLeast mlt.version "6.24.0";
mkDerivation rec {
pname = "shotcut";
version = "21.03.21";
version = "21.09.20";
src = fetchFromGitHub {
owner = "mltframework";
repo = "shotcut";
rev = "v${version}";
sha256 = "UdeHbNkJ0U9FeTmpbcU4JxiyIHkrlC8ErhtY6zdCZEk=";
sha256 = "1y46n5gmlayfl46l0vhg5g5dbbc0sg909mxb68sia0clkaas8xrh";
};
nativeBuildInputs = [ pkg-config qmake ];
@ -57,7 +57,7 @@ mkDerivation rec {
];
prePatch = ''
sed 's_shotcutPath, "melt"_"${mlt}/bin/melt"_' -i src/jobs/meltjob.cpp
sed 's_shotcutPath, "melt[^"]*"_"${mlt}/bin/melt"_' -i src/jobs/meltjob.cpp
sed 's_shotcutPath, "ffmpeg"_"${mlt.ffmpeg}/bin/ffmpeg"_' -i src/jobs/ffmpegjob.cpp
sed 's_qApp->applicationDirPath(), "ffmpeg"_"${mlt.ffmpeg}/bin/ffmpeg"_' -i src/docks/encodedock.cpp
NICE=$(type -P nice)
@ -94,7 +94,7 @@ mkDerivation rec {
please use the official build from shotcut.org instead.
'';
homepage = "https://shotcut.org";
license = licenses.gpl3;
license = licenses.gpl3Plus;
maintainers = with maintainers; [ goibhniu woffs peti ];
platforms = platforms.linux;
};

View File

@ -22,7 +22,8 @@
, postInstall
# : list Maintainer
, maintainers ? []
# : passtrhu arguments (e.g. tests)
, passthru ? {}
}:
@ -49,6 +50,8 @@ let
"CHANGELOG"
"README"
"README.*"
"DCO"
"CONTRIBUTING"
];
in stdenv.mkDerivation {
@ -106,4 +109,6 @@ in stdenv.mkDerivation {
[ pmahoney Profpatsch qyliss ] ++ maintainers;
};
inherit passthru;
}

View File

@ -0,0 +1,24 @@
{ lib, stdenv, fetchurl }:
stdenv.mkDerivation rec {
pname = "OCR-A";
version = "1.0";
src = fetchurl {
url = "mirror://sourceforge/ocr-a-font/OCR-A/${version}/OCRA.ttf";
sha256 = "0kpmjjxwzm84z8maz6lq9sk1b0xv1zkvl28lwj7i0m2xf04qixd0";
};
dontUnpack = true;
installPhase = ''
install -D -m 0644 $src $out/share/fonts/truetype/OCRA.ttf
'';
meta = with lib; {
description = "ANSI OCR font from the '60s. CYBER";
homepage = "https://sourceforge.net/projects/ocr-a-font/";
license = licenses.publicDomain;
maintainers = with maintainers; [ V ];
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "greybird";
version = "3.22.14";
version = "3.22.15";
src = fetchFromGitHub {
owner = "shimmerproject";
repo = pname;
rev = "v${version}";
sha256 = "0b0axzrvdsv7aa029idz4rs1jm6df4ff3v4j4d5wf4yiypb48js9";
sha256 = "1fk66fxy2lif9ngazlgkpsziw216i4b1ld2zm97cadf7n97376g9";
};
nativeBuildInputs = [

View File

@ -17,11 +17,11 @@
mkXfceDerivation {
category = "apps";
pname = "xfdashboard";
version = "0.9.3";
version = "0.9.4";
rev-prefix = "";
odd-unstable = false;
sha256 = "sha256-xoeqVsfvBH2zzQqDUJGiA47hgVvEkvVf9bNYQmyiytk=";
sha256 = "sha256-ZDrBLSfRBw5/nIs/x1jJQCVgNJer85b8Hm1kkX1Dk3s=";
buildInputs = [
clutter

View File

@ -21,9 +21,9 @@
let unwrapped = mkXfceDerivation {
category = "xfce";
pname = "thunar";
version = "4.16.9";
version = "4.16.10";
sha256 = "sha256-TpazNC4TwNhcEGQ4AQICxbmfZ1i4RE9vXkM9Zln80vE=";
sha256 = "sha256-BeEy8+zEsJ5fJAbvP37tfekqF5LTHil0RDcE5RY0f64=";
nativeBuildInputs = [
docbook_xsl

View File

@ -10,7 +10,7 @@
, format ? "make"
, installManPages ? true
# Specify binaries to build in the form { foo.src = "src/foo.cr"; }
# The default `crystal build` options can be overridden with { foo.options = [ "--no-debug" ]; }
# The default `crystal build` options can be overridden with { foo.options = [ "--optionname" ]; }
, crystalBinaries ? { }
, ...
}@args:
@ -32,8 +32,7 @@ let
})
(import shardsFile));
# we previously had --no-debug here but that is not recommended by upstream
defaultOptions = [ "--release" "--progress" "--verbose" ];
defaultOptions = [ "--release" "--progress" "--verbose" "--no-debug" ];
buildDirectly = shardsFile == null || crystalBinaries != { };
@ -120,7 +119,7 @@ stdenv.mkDerivation (mkDerivationArgs // {
installCheckPhase = args.installCheckPhase or ''
for f in $out/bin/*; do
$f --help
$f --help > /dev/null
done
'';

View File

@ -56,6 +56,7 @@ let
buildCommand = ''
mkdir -p $out
tar --strip-components=1 -C $out -xf ${src}
patchShebangs $out/bin/crystal
'';
};
@ -93,6 +94,10 @@ let
outputs = [ "out" "lib" "bin" ];
postPatch = ''
export TMP=$(mktemp -d)
export HOME=$TMP
mkdir -p $HOME/test
# Add dependency of crystal to docs to avoid issue on flag changes between releases
# https://github.com/crystal-lang/crystal/pull/8792#issuecomment-614004782
substituteInPlace Makefile \
@ -103,39 +108,35 @@ let
ln -sf spec/compiler spec/std
# Dirty fix for when no sandboxing is enabled
rm -rf /tmp/crystal
mkdir -p /tmp/crystal
mkdir -p $TMP/crystal
substituteInPlace spec/std/file_spec.cr \
--replace '/bin/ls' '${coreutils}/bin/ls' \
--replace '/usr/share' '/tmp/crystal' \
--replace '/usr' '/tmp'
--replace '/usr/share' "$TMP/crystal" \
--replace '/usr' "$TMP" \
--replace '/tmp' "$TMP"
substituteInPlace spec/std/process_spec.cr \
--replace '/bin/cat' '${coreutils}/bin/cat' \
--replace '/bin/ls' '${coreutils}/bin/ls' \
--replace '/usr/bin/env' '${coreutils}/bin/env' \
--replace '"env"' '"${coreutils}/bin/env"' \
--replace '"/usr"' '"/tmp"'
substituteInPlace spec/std/socket/tcp_server_spec.cr \
--replace '{% if flag?(:gnu) %}"listen: "{% else %}"bind: "{% end %}' '"bind: "'
--replace '/usr' "$TMP" \
--replace '/tmp' "$TMP"
substituteInPlace spec/std/system_spec.cr \
--replace '`hostname`' '`${hostname}/bin/hostname`'
# See https://github.com/crystal-lang/crystal/pull/8640
substituteInPlace spec/std/http/cookie_spec.cr \
--replace '01 Jan 2020' '01 Jan #{Time.utc.year + 2}'
# See https://github.com/crystal-lang/crystal/issues/8629
substituteInPlace spec/std/socket/udp_socket_spec.cr \
--replace 'it "joins and transmits to multicast groups"' 'pending "joins and transmits to multicast groups"'
'';
# See https://github.com/crystal-lang/crystal/pull/8699
substituteInPlace spec/std/xml/xml_spec.cr \
--replace 'it "handles errors"' 'pending "handles errors"'
# Defaults are 4
preBuild = ''
export CRYSTAL_WORKERS=$NIX_BUILD_CORES
export threads=$NIX_BUILD_CORES
export CRYSTAL_CACHE_DIR=$TMP
'';
buildInputs = commonBuildInputs extraBuildInputs;
@ -197,9 +198,6 @@ let
checkTarget = "compiler_spec";
preCheck = ''
export HOME=/tmp
mkdir -p $HOME/test
export LIBRARY_PATH=${lib.makeLibraryPath checkInputs}:$LIBRARY_PATH
export PATH=${lib.makeBinPath checkInputs}:$PATH
'';
@ -214,60 +212,26 @@ let
license = licenses.asl20;
maintainers = with maintainers; [ david50407 fabianhjr manveru peterhoeg ];
platforms = builtins.attrNames archs;
# Error running at_exit handler: Nil assertion failed
broken = lib.versions.minor version == "32" && stdenv.isDarwin;
broken = lib.versionOlder version "0.36.1" && stdenv.isDarwin;
};
})
);
in
rec {
binaryCrystal_0_31 = genericBinary {
version = "0.31.1";
binaryCrystal_0_36 = genericBinary {
version = "0.36.1";
sha256s = {
x86_64-linux = "0r8salf572xrnr4m6ll9q5hz6jj8q7ff1rljlhmqb1r26a8mi2ih";
i686-linux = "0hridnis5vvrswflx0q67xfg5hryhz6ivlwrb9n4pryj5d1gwjrr";
x86_64-darwin = "1dgxgv0s3swkc5cwawzgpbc6bcd2nx4hjxc7iw2h907y1vgmbipz";
x86_64-linux = "065vzq34g7hgzl2mrzy9gwwsfikc78nj7xxsbrk67r6rz0a7bk1q";
i686-linux = "18m4b1lnd682i5ygbg6cljqjny60nn2mlrzrk765h2ip6fljqbm1";
x86_64-darwin = "0xggayk92zh64pb5sz77n12hkcd1hg8kw90z7gb18594q551sf1v";
};
};
crystal_0_31 = generic {
version = "0.31.1";
sha256 = "1dswxa32w16gnc6yjym12xj7ibg0g6zk3ngvl76lwdjqb1h6lwz8";
doCheck = false; # 5 checks are failing now
binary = binaryCrystal_0_31;
};
crystal_0_32 = generic {
version = "0.32.1";
sha256 = "120ndi3nhh2r52hjvhwfb49cdggr1bzdq6b8xg7irzavhjinfza6";
binary = crystal_0_31;
};
crystal_0_33 = generic {
version = "0.33.0";
sha256 = "1zg0qixcws81s083wrh54hp83ng2pa8iyyafaha55mzrh8293jbi";
binary = crystal_0_32;
};
crystal_0_34 = generic {
version = "0.34.0";
sha256 = "110lfpxk9jnqyznbfnilys65ixj5sdmy8pvvnlhqhc3ccvrlnmq4";
binary = crystal_0_33;
};
crystal_0_35 = generic {
version = "0.35.1";
sha256 = "0p51bjl1nsvwsm64lqq421dcsxa201w7wwq8plw4r8wqarpq0g69";
binary = crystal_0_34;
# Needs git to build as per https://github.com/crystal-lang/crystal/issues/9789
extraBuildInputs = [ git ];
};
crystal_0_36 = generic {
version = "0.36.1";
sha256 = "sha256-5rjrvwZKM4lHpmxLyUVbi0Zw98xT+iJKonxwfUwS/Wk=";
binary = crystal_0_35;
binary = binaryCrystal_0_36;
};
crystal_1_0 = generic {

View File

@ -84,9 +84,13 @@ let
in
stdenv.mkDerivation ({
name = "${baseName}-${version}"
+ optionalString javacSupport "-javac"
+ optionalString odbcSupport "-odbc";
# name is used instead of pname to
# - not have to pass pnames as argument
# - have a separate pname for erlang (main module)
name = "${baseName}"
+ optionalString javacSupport "_javac"
+ optionalString odbcSupport "_odbc"
+ "-${version}";
inherit src version;

View File

@ -82,66 +82,25 @@ let
# configured trees)
luarocks_config = "luarocks-config.lua";
luarocks_content = let
extraVariablesStr = lib.concatStringsSep "\n "
(lib.mapAttrsToList (k: v: "${k}='${v}';") extraVariables);
in ''
local_cache = ""
-- To prevent collisions when creating environments, we install the rock
-- files into per-package subdirectories
rocks_subdir = '${rocksSubdir}'
-- Then we need to tell luarocks where to find the rock files per
-- dependency
rocks_trees = {
${lib.concatStringsSep "\n, " rocksTrees}
}
'' + lib.optionalString lua.pkgs.isLuaJIT ''
-- Luajit provides some additional functionality built-in; this exposes
-- that to luarock's dependency system
rocks_provided = {
jit='${lua.luaversion}-1';
ffi='${lua.luaversion}-1';
luaffi='${lua.luaversion}-1';
bit='${lua.luaversion}-1';
}
'' + ''
-- For single-output external dependencies
external_deps_dirs = {
${lib.concatStringsSep "\n, " externalDepsDirs}
}
variables = {
-- Some needed machinery to handle multiple-output external dependencies,
-- as per https://github.com/luarocks/luarocks/issues/766
${lib.optionalString (lib.length depVariables > 0) ''
${lib.concatStringsSep "\n " depVariables}''}
${extraVariablesStr}
}
${extraConfig}
'';
generatedConfig = lua.pkgs.lib.generateLuarocksConfig {
inherit externalDeps;
inherit extraVariables;
inherit rocksSubdir;
inherit requiredLuaRocks;
};
in
''
${generatedConfig}
${extraConfig}
'';
rocksSubdir = "${attrs.pname}-${version}-rocks";
externalDepsDirs = map
(x: "'${builtins.toString x}'")
(lib.filter (lib.isDerivation) externalDeps);
rocksTrees = lib.imap0
(i: dep: "{ name = [[dep-${toString i}]], root = '${dep}', rocks_dir = '${dep}/${dep.rocksSubdir}' }")
requiredLuaRocks;
# Filter out the lua derivation itself from the Lua module dependency
# closure, as it doesn't have a rock tree :)
requiredLuaRocks = lib.filter (d: d ? luaModule)
(lua.pkgs.requiredLuaModules propagatedBuildInputs);
# Explicitly point luarocks to the relevant locations for multiple-output
# derivations that are external dependencies, to work around an issue it has
# (https://github.com/luarocks/luarocks/issues/766)
depVariables = lib.concatMap ({name, dep}: [
"${name}_INCDIR='${lib.getDev dep}/include';"
"${name}_LIBDIR='${lib.getLib dep}/lib';"
"${name}_BINDIR='${lib.getBin dep}/bin';"
]) externalDeps';
# example externalDeps': [ { name = "CRYPTO"; dep = pkgs.openssl; } ]
externalDeps' = lib.filter (dep: !lib.isDerivation dep) externalDeps;
in

View File

@ -0,0 +1,27 @@
# Hooks for building lua packages.
{ lua
, lib
, makeSetupHook
, findutils
, runCommand
}:
let
callPackage = lua.pkgs.callPackage;
luaInterpreter = lua.interpreter;
in {
lua-setup-hook = LuaPathSearchPaths: LuaCPathSearchPaths:
let
hook = ./setup-hook.sh;
in runCommand "lua-setup-hook.sh" {
# hum doesn't seem to like caps !! BUG ?
luapathsearchpaths=lib.escapeShellArgs LuaPathSearchPaths;
luacpathsearchpaths=lib.escapeShellArgs LuaCPathSearchPaths;
} ''
cp ${hook} hook.sh
substituteAllInPlace hook.sh
mv hook.sh $out
'';
}

View File

@ -1,15 +0,0 @@
{ runCommand, lib, }:
LuaPathSearchPaths: LuaCPathSearchPaths:
let
hook = ./setup-hook.sh;
in runCommand "lua-setup-hook.sh" {
# hum doesn't seem to like caps !! BUG ?
luapathsearchpaths=lib.escapeShellArgs LuaPathSearchPaths;
luacpathsearchpaths=lib.escapeShellArgs LuaCPathSearchPaths;
} ''
cp ${hook} hook.sh
substituteAllInPlace hook.sh
mv hook.sh $out
''

View File

@ -1,4 +1,4 @@
{ lib, stdenv, fetchurl }:
{ lib, stdenv, fetchurl, capnproto, cmake }:
stdenv.mkDerivation rec {
pname = "capnproto";
@ -9,6 +9,11 @@ stdenv.mkDerivation rec {
sha256 = "sha256-soBUp6K/6kK/w5LI0AljDZTXLozoaiOtbxi15yV0Bk8=";
};
nativeBuildInputs = [ cmake ]
++ lib.optional (!(stdenv.hostPlatform.isCompatible stdenv.buildPlatform)) capnproto;
cmakeFlags = lib.optional (!(stdenv.hostPlatform.isCompatible stdenv.buildPlatform)) "-DEXTERNAL_CAPNP";
meta = with lib; {
homepage = "https://capnproto.org/";
description = "Cap'n Proto cerealization protocol";

View File

@ -2,13 +2,13 @@
mkDerivation rec {
pname = "libarchive-qt";
version = "2.0.4";
version = "2.0.6";
src = fetchFromGitLab {
owner = "marcusbritanicus";
repo = pname;
rev = "v${version}";
sha256 = "sha256-onTV9dgk6Yl9H35EvA6/8vk1IrYH8vg9OQNVgzkt4q4";
sha256 = "sha256-Z+2zjQolV1Ncr6v9r7fGrc/fEMt0iMtGwv9eZ2Tu2cA=";
};
nativeBuildInputs = [

View File

@ -35,6 +35,8 @@ in stdenv.mkDerivation (rec {
ln -s lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-gnueabi.h
'' + lib.optionalString (stdenv.hostPlatform.isx86_64 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.x86_64-pc-linux-musl.h src/syscfg/lock-obj-pub.linux-musl.h
'' + lib.optionalString (stdenv.hostPlatform.isi686 && stdenv.hostPlatform.isMusl) ''
ln -s lock-obj-pub.i686-unknown-linux-gnu.h src/syscfg/lock-obj-pub.linux-musl.h
'' + lib.optionalString (stdenv.hostPlatform.isAarch32 && stdenv.hostPlatform.isMusl) ''
ln -s src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.arm-unknown-linux-musleabihf.h
ln -s src/syscfg/lock-obj-pub.arm-unknown-linux-gnueabi.h src/syscfg/lock-obj-pub.linux-musleabihf.h

View File

@ -96,5 +96,7 @@ stdenv.mkDerivation rec {
maintainers = with maintainers; [ hrdinka ];
license = licenses.lgpl21;
platforms = platforms.all;
# https://github.com/mapnik/mapnik/issues/4232
broken = lib.versionAtLeast proj.version "8.0.0";
};
}

View File

@ -4,8 +4,8 @@ with skawarePackages;
buildPackage {
pname = "nsss";
version = "0.1.0.1";
sha256 = "1nair10m7fddp50mpqnwj0qiggnh5qmnffmyzxis5l1ixcav1ir0";
version = "0.2.0.0";
sha256 = "0zg0lwkvx9ch4a6h9ryc73nqfz733v2pv4gbf65qzpz7ccniwagi";
description = "An implementation of a subset of the pwd.h, group.h and shadow.h family of functions.";

View File

@ -0,0 +1,58 @@
{ lib
, stdenv
, fetchFromGitHub
, cmake
, pkg-config
, sqlite
, libtiff
, curl
, gtest
, fetchpatch
}:
stdenv.mkDerivation rec {
pname = "proj";
version = "7.2.1";
src = fetchFromGitHub {
owner = "OSGeo";
repo = "PROJ";
rev = version;
sha256 = "0mymvfvs8xggl4axvlj7kc1ksd9g94kaz6w1vdv0x2y5mqk93gx9";
};
patches = [
(fetchpatch { # https://github.com/OSGeo/PROJ/issues/2557
name = "gie_self_tests-fail.diff"; # included in >= 8.0.1
url = "https://github.com/OSGeo/PROJ/commit/6f1a3c4648bf06862dca0b3725cbb3b7ee0284e3.diff";
sha256 = "0gapny0a9c3r0x9szjgn86sspjrrf4vwbija77b17w6ci5cq4pdf";
})
];
postPatch = lib.optionalString (version == "7.2.1") ''
substituteInPlace CMakeLists.txt \
--replace "MAJOR 7 MINOR 2 PATCH 0" "MAJOR 7 MINOR 2 PATCH 1"
'';
outputs = [ "out" "dev"];
nativeBuildInputs = [ cmake pkg-config ];
buildInputs = [ sqlite libtiff curl ];
checkInputs = [ gtest ];
cmakeFlags = [
"-DUSE_EXTERNAL_GTEST=ON"
];
doCheck = true;
meta = with lib; {
description = "Cartographic Projections Library";
homepage = "https://proj4.org";
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ vbgl dotlambda ];
};
}

View File

@ -7,33 +7,19 @@
, libtiff
, curl
, gtest
, fetchpatch
}:
stdenv.mkDerivation rec {
pname = "proj";
version = "7.2.1";
version = "8.1.1";
src = fetchFromGitHub {
owner = "OSGeo";
repo = "PROJ";
rev = version;
sha256 = "0mymvfvs8xggl4axvlj7kc1ksd9g94kaz6w1vdv0x2y5mqk93gx9";
sha256 = "sha256-Z2nruyowC3NG4Wb8AFBL0PME/zp9D7SwQdMSl6VjH/w=";
};
patches = [
(fetchpatch { # https://github.com/OSGeo/PROJ/issues/2557
name = "gie_self_tests-fail.diff"; # included in >= 8.0.1
url = "https://github.com/OSGeo/PROJ/commit/6f1a3c4648bf06862dca0b3725cbb3b7ee0284e3.diff";
sha256 = "0gapny0a9c3r0x9szjgn86sspjrrf4vwbija77b17w6ci5cq4pdf";
})
];
postPatch = lib.optionalString (version == "7.2.1") ''
substituteInPlace CMakeLists.txt \
--replace "MAJOR 7 MINOR 2 PATCH 0" "MAJOR 7 MINOR 2 PATCH 1"
'';
outputs = [ "out" "dev"];
nativeBuildInputs = [ cmake pkg-config ];
@ -44,17 +30,14 @@ stdenv.mkDerivation rec {
cmakeFlags = [
"-DUSE_EXTERNAL_GTEST=ON"
"-DRUN_NETWORK_DEPENDENT_TESTS=OFF"
];
doCheck = stdenv.is64bit;
preCheck = ''
export HOME=$TMPDIR
'';
doCheck = true;
meta = with lib; {
description = "Cartographic Projections Library";
homepage = "https://proj4.org";
homepage = "https://proj.org/";
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ vbgl dotlambda ];

View File

@ -0,0 +1,31 @@
{ skawarePackages }:
skawarePackages.buildPackage {
pname = "skalibs";
version = "2.10.0.3";
sha256 = "0ka6n5rnxd5sn5lycarf596d5wlak5s535zqqlz0rnhdcnpb105p";
description = "A set of general-purpose C programming libraries";
outputs = [ "lib" "dev" "doc" "out" ];
configureFlags = [
# assume /dev/random works
"--enable-force-devr"
"--libdir=\${lib}/lib"
"--dynlibdir=\${lib}/lib"
"--includedir=\${dev}/include"
"--sysdepdir=\${lib}/lib/skalibs/sysdeps"
# Empty the default path, which would be "/usr/bin:bin".
# It would be set when PATH is empty. This hurts hermeticity.
"--with-default-path="
];
postInstall = ''
rm -rf sysdeps.cfg
rm libskarnet.*
mv doc $doc/share/doc/skalibs/html
'';
}

View File

@ -1,11 +1,11 @@
{ skawarePackages }:
{ skawarePackages, pkgs }:
with skawarePackages;
buildPackage {
pname = "skalibs";
version = "2.10.0.3";
sha256 = "0ka6n5rnxd5sn5lycarf596d5wlak5s535zqqlz0rnhdcnpb105p";
version = "2.11.0.0";
sha256 = "1n9l7mb54dlb0iijjaf446jba6nmq1ql9n39s095ngrk5ahcipwq";
description = "A set of general-purpose C programming libraries";
@ -30,4 +30,10 @@ buildPackage {
mv doc $doc/share/doc/skalibs/html
'';
passthru.tests = {
# fdtools is one of the few non-skalib packages that depends on skalibs
# and might break if skalibs gets an breaking update.
fdtools = pkgs.fdtools;
};
}

View File

@ -4,8 +4,8 @@ with skawarePackages;
buildPackage {
pname = "utmps";
version = "0.1.0.2";
sha256 = "1vjza7m65ziq54q0sv46kb3lss9cmxkkv0n9h3i8505x0h2hlvlb";
version = "0.1.0.3";
sha256 = "0npgg90lzxmhld6hp296gbnrsixip28s7axirc2g6yjpjz2bvcan";
description = "A secure utmpx and wtmp implementation";

Some files were not shown because too many files have changed in this diff Show More