Merge remote-tracking branch 'origin/master' into haskell-updates.

This commit is contained in:
Peter Simons 2020-08-12 17:56:26 +02:00
commit a6a8a6f691
419 changed files with 7191 additions and 1501 deletions

View File

@ -1,29 +0,0 @@
name: "Checking EditorConfig"
on:
pull_request:
jobs:
tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- uses: technote-space/get-diff-action@v3.0.0
- name: Fetch editorconfig-checker
if: env.GIT_DIFF
env:
VERSION: "2.1.0"
OS: "linux"
ARCH: "amd64"
ECC_URL: "https://github.com/editorconfig-checker/editorconfig-checker/releases/download"
run: |
curl -sSf -O -L -C - $ECC_URL/$VERSION/ec-$OS-$ARCH.tar.gz && \
tar xzf ec-$OS-$ARCH.tar.gz && \
mv ./bin/ec-$OS-$ARCH ./bin/editorconfig-checker
- name: Checking EditorConfig
if: env.GIT_DIFF
run: |
./bin/editorconfig-checker -disable-indentation \
${{ env.GIT_DIFF }}

View File

@ -1,37 +0,0 @@
name: "Wait for ofborg"
on:
pull_request:
jobs:
tests:
runs-on: ubuntu-latest
steps:
- name: Wait for ofborg CI
run: |
# Wait for ofborg ...
# eval sometimes takes a bit longer on staging.
if [[ "$BASE_BRANCH" == "staging" ]]; then
COUNTDOWN=$((COUNTDOWN*2))
fi
# ..in future a better fix would be to make ofborg mark CI as pending right away.
for i in $(seq "$COUNTDOWN"); do
res=$(curl --silent \
-H "Accept: application/vnd.github.antiope-preview+json" \
-H "Authorization: token ${GITHUB_TOKEN}" \
"https://api.github.com/repos/NixOS/nixpkgs/commits/${COMMIT}/check-runs" | \
jq ".check_runs | map(.app) | map(.id) | contains([${OFBORG_APP_ID}])")
if [[ "$res" == "true" ]]; then
exit 0
fi
sleep 5
echo "."
done
echo "Timeout!"
exit 1
# ofborg is not checking forks.
if: github.repository_owner == 'NixOS'
env:
BASE_BRANCH: ${{ github.base_ref }}
COUNTDOWN: 540 # wait for ~45min...
GITHUB_TOKEN: ${{ github.token }}
COMMIT: ${{ github.event.pull_request.head.sha }}
OFBORG_APP_ID: 20500

View File

@ -178,26 +178,40 @@ self: super:
<para>
<link
xlink:href="https://software.intel.com/en-us/mkl">Intel
MKL</link> (only works on x86 architecture, unfree)
MKL</link> (only works on the x86_64 architecture, unfree)
</para>
<para>
The Nixpkgs attribute is <literal>mkl</literal>.
</para>
</listitem>
<listitem>
<para>
<link
xlink:href="https://developer.amd.com/amd-aocl/blas-library/">AMD
BLIS/LIBFLAME</link> (optimized for modern AMD x86_64 CPUs)
</para>
<para>
The AMD BLIS library, with attribute <literal>amd-blis</literal>,
provides a BLAS implementation. The complementary AMD LIBFLAME
library, with attribute <literal>amd-libflame</literal>, provides
a LAPACK implementation.
</para>
</listitem>
</itemizedlist>
<para>
Introduced in <link
xlink:href="https://github.com/NixOS/nixpkgs/pull/83888">PR
#83888</link>, we are able to override the blas and lapack
packages to use different implementations, through the
blasProvider and lapackProvider argument. This can be used
#83888</link>, we are able to override the <literal>blas</literal>
and <literal>lapack</literal> packages to use different implementations,
through the <literal>blasProvider</literal> and
<literal>lapackProvider</literal> argument. This can be used
to select a different provider. BLAS providers will have
symlinks in <literal>$out/lib/libblas.so.3</literal> and
<literal>$out/lib/libcblas.so.3</literal> to their respective
BLAS libraries. Likewise, LAPACK providers will have symlinks
in <literal>$out/lib/liblapack.so.3</literal> and
<literal>$out/lib/liblapacke.so.3</literal> to their respective
LAPCK libraries. For example, Intel MKL is both a BLAS and
LAPACK libraries. For example, Intel MKL is both a BLAS and
LAPACK provider. An overlay can be created to use Intel MKL
that looks like:
</para>
@ -216,8 +230,9 @@ self: super:
<para>
This overlay uses Intels MKL library for both BLAS and LAPACK
interfaces. Note that the same can be accomplished at runtime
using <literal>LD_LIBRARY_PATH</literal> of libblas.so.3 and
liblapack.so.3. For instance:
using <literal>LD_LIBRARY_PATH</literal> of
<literal>libblas.so.3</literal> and
<literal>liblapack.so.3</literal>. For instance:
</para>
<programlisting>
$ LD_LIBRARY_PATH=$(nix-build -A mkl)/lib:$LD_LIBRARY_PATH nix-shell -p octave --run octave

View File

@ -38,7 +38,7 @@ let
"js-ghcjs"
"aarch64-genode" "x86_64-genode"
"aarch64-genode" "i686-genode" "x86_64-genode"
];
allParsed = map parse.mkSystemFromString all;

View File

@ -15,14 +15,14 @@ in with lib.systems.doubles; lib.runTests {
testall = mseteq all (linux ++ darwin ++ freebsd ++ openbsd ++ netbsd ++ illumos ++ wasi ++ windows ++ embedded ++ js ++ genode ++ redox);
testarm = mseteq arm [ "armv5tel-linux" "armv6l-linux" "armv6l-none" "armv7a-linux" "armv7l-linux" "arm-none" "armv7a-darwin" ];
testi686 = mseteq i686 [ "i686-linux" "i686-freebsd" "i686-netbsd" "i686-openbsd" "i686-cygwin" "i686-windows" "i686-none" "i686-darwin" ];
testi686 = mseteq i686 [ "i686-linux" "i686-freebsd" "i686-genode" "i686-netbsd" "i686-openbsd" "i686-cygwin" "i686-windows" "i686-none" "i686-darwin" ];
testmips = mseteq mips [ "mipsel-linux" ];
testx86_64 = mseteq x86_64 [ "x86_64-linux" "x86_64-darwin" "x86_64-freebsd" "x86_64-genode" "x86_64-redox" "x86_64-openbsd" "x86_64-netbsd" "x86_64-cygwin" "x86_64-solaris" "x86_64-windows" "x86_64-none" ];
testcygwin = mseteq cygwin [ "i686-cygwin" "x86_64-cygwin" ];
testdarwin = mseteq darwin [ "x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin" ];
testfreebsd = mseteq freebsd [ "i686-freebsd" "x86_64-freebsd" ];
testgenode = mseteq genode [ "aarch64-genode" "x86_64-genode" ];
testgenode = mseteq genode [ "aarch64-genode" "i686-genode" "x86_64-genode" ];
testredox = mseteq redox [ "x86_64-redox" ];
testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */);
testillumos = mseteq illumos [ "x86_64-solaris" ];

View File

@ -7218,6 +7218,16 @@
githubId = 132835;
name = "Samuel Dionne-Riel";
};
samuelgrf = {
email = "git@samuelgrf.com";
github = "samuelgrf";
githubId = 67663538;
name = "Samuel Gräfenstein";
keys = [{
longkeyid = "rsa4096/0xEF76A063F15C63C8";
fingerprint = "FF24 5832 8FAF 4660 18C6 186E EF76 A063 F15C 63C8";
}];
};
samuelrivas = {
email = "samuelrivas@gmail.com";
github = "samuelrivas";
@ -9103,6 +9113,16 @@
email = "zef@zef.me";
name = "Zef Hemel";
};
zeratax = {
email = "mail@zera.tax";
github = "ZerataX";
githubId = 5024958;
name = "Jona Abdinghoff";
keys = [{
longkeyid = "rsa4096/0x8333735E784DF9D4";
fingerprint = "44F7 B797 9D3A 27B1 89E0 841E 8333 735E 784D F9D4";
}];
};
zfnmxt = {
name = "zfnmxt";
email = "zfnmxt@zfnmxt.com";

View File

@ -42,6 +42,11 @@
PHP now defaults to PHP 7.4, updated from 7.3.
</para>
</listitem>
<listitem>
<para>
PHP 7.2 is no longer supported due to upstream not supporting this version for the entire lifecycle of the 20.09 release.
</para>
</listitem>
<listitem>
<para>
Python 3 now defaults to Python 3.8 instead of 3.7.
@ -523,6 +528,46 @@ systemd.services.nginx.serviceConfig.ReadWritePaths = [ "/var/www" ];
<listitem>
<para>
In the <literal>resilio</literal> module, <xref linkend="opt-services.resilio.httpListenAddr"/> has been changed to listen to <literal>[::1]</literal> instead of <literal>0.0.0.0</literal>.
</para>
</listitem>
<listitem>
<para>
Users of <link xlink:href="http://openafs.org">OpenAFS 1.6</link> must
upgrade their services to OpenAFS 1.8! In this release, the OpenAFS package
version 1.6.24 is marked broken but can be used during transition to
OpenAFS 1.8.x. Use the options
<option>services.openafsClient.packages.module</option>,
<option>services.openafsClient.packages.programs</option> and
<option>services.openafsServer.package</option> to select a different
OpenAFS package. OpenAFS 1.6 will be removed in the next release. The
package <literal>openafs</literal> and the service options will then
silently point to the OpenAFS 1.8 release.
</para>
<para>
See also the OpenAFS <link
xlink:href="http://docs.openafs.org/AdminGuide/index.html">Administrator
Guide</link> for instructions. Beware of the following when updating
servers:
<itemizedlist>
<listitem>
<para>
The storage format of the server key has changed and the key must be converted before running the new release.
</para>
</listitem>
<listitem>
<para>
When updating multiple database servers, turn off the database servers
from the highest IP down to the lowest with resting periods in
between. Start up in reverse order. Do not concurrently run database
servers working with different OpenAFS releases!
</para>
</listitem>
<listitem>
<para>
Update servers first, then clients.
</para>
</listitem>
</itemizedlist>
</para>
</listitem>
<listitem>
@ -629,6 +674,11 @@ services.postgresql.dataDir = "/var/db/postgresql";
</programlisting>
</para>
</listitem>
<listitem>
<para>
The USBGuard module now removes options and instead hardcodes values for <literal>IPCAccessControlFiles</literal>, <literal>ruleFiles</literal>, and <literal>auditFilePath</literal>. Audit logs can be found in the journal.
</para>
</listitem>
</itemizedlist>
</section>
@ -839,6 +889,12 @@ services.transmission.settings.rpc-bind-address = "0.0.0.0";
There are no functional changes, however this may require updating some configurations to use correct types for all attributes.
</para>
</listitem>
<listitem>
<para>
The <literal>fontconfig</literal> module stopped generating fontconfig 2.10.x config and cache.
Fontconfig 2.10.x was removed from Nixpkgs - it hasn't been used in any nixpkgs package anymore.
</para>
</listitem>
</itemizedlist>
</section>
</section>

View File

@ -1,11 +1,6 @@
/*
NixOS support 2 fontconfig versions, "support" and "latest".
- "latest" refers to default fontconfig package (pkgs.fontconfig).
configuration files are linked to /etc/fonts/VERSION/conf.d/
- "support" refers to supportPkg (pkgs."fontconfig_${supportVersion}").
configuration files are linked to /etc/fonts/conf.d/
Configuration files are linked to /etc/fonts/${pkgs.fontconfig.configVersion}/conf.d/
This module generates a package containing configuration files and link it in /etc/fonts.
@ -22,40 +17,21 @@ let
cfg = config.fonts.fontconfig;
fcBool = x: "<bool>" + (boolToString x) + "</bool>";
# back-supported fontconfig version and package
# version is used for font cache generation
supportVersion = "210";
supportPkg = pkgs."fontconfig_${supportVersion}";
# latest fontconfig version and package
# version is used for configuration folder name, /etc/fonts/VERSION/
# note: format differs from supportVersion and can not be used with makeCacheConf
latestVersion = pkgs.fontconfig.configVersion;
latestPkg = pkgs.fontconfig;
# supported version fonts.conf
supportFontsConf = pkgs.makeFontsConf { fontconfig = supportPkg; fontDirectories = config.fonts.fonts; };
pkg = pkgs.fontconfig;
# configuration file to read fontconfig cache
# version dependent
# priority 0
cacheConfSupport = makeCacheConf { version = supportVersion; };
cacheConfLatest = makeCacheConf {};
cacheConf = makeCacheConf {};
# generate the font cache setting file for a fontconfig version
# use latest when no version is passed
# generate the font cache setting file
# When cross-compiling, we cant generate the cache, so we skip the
# <cachedir> part. fontconfig still works but is a little slower in
# looking things up.
makeCacheConf = { version ? null }:
makeCacheConf = { }:
let
fcPackage = if version == null
then "fontconfig"
else "fontconfig_${version}";
makeCache = fontconfig: pkgs.makeFontsCache { inherit fontconfig; fontDirectories = config.fonts.fonts; };
cache = makeCache pkgs.${fcPackage};
cache32 = makeCache pkgs.pkgsi686Linux.${fcPackage};
cache = makeCache pkgs.fontconfig;
cache32 = makeCache pkgs.pkgsi686Linux.fontconfig;
in
pkgs.writeText "fc-00-nixos-cache.conf" ''
<?xml version='1.0'?>
@ -200,59 +176,49 @@ let
confPkg = pkgs.runCommand "fontconfig-conf" {
preferLocalBuild = true;
} ''
support_folder=$out/etc/fonts/conf.d
latest_folder=$out/etc/fonts/${latestVersion}/conf.d
mkdir -p $support_folder
mkdir -p $latest_folder
dst=$out/etc/fonts/${pkg.configVersion}/conf.d
mkdir -p $dst
# fonts.conf
ln -s ${supportFontsConf} $support_folder/../fonts.conf
ln -s ${latestPkg.out}/etc/fonts/fonts.conf \
$latest_folder/../fonts.conf
ln -s ${pkg.out}/etc/fonts/fonts.conf \
$dst/../fonts.conf
# fontconfig default config files
ln -s ${supportPkg.out}/etc/fonts/conf.d/*.conf \
$support_folder/
# Latest fontconfig is configured to look for the upstream defaults inside the package.
ln -s ${pkg.out}/etc/fonts/conf.d/*.conf \
$dst/
# update 51-local.conf path to look at local.conf
rm $dst/51-local.conf
substitute ${pkg.out}/etc/fonts/conf.d/51-local.conf \
$dst/51-local.conf \
--replace local.conf /etc/fonts/${pkg.configVersion}/local.conf
# 00-nixos-cache.conf
ln -s ${cacheConfSupport} \
$support_folder/00-nixos-cache.conf
ln -s ${cacheConfLatest} $latest_folder/00-nixos-cache.conf
ln -s ${cacheConf} $dst/00-nixos-cache.conf
# 10-nixos-rendering.conf
ln -s ${renderConf} $support_folder/10-nixos-rendering.conf
ln -s ${renderConf} $latest_folder/10-nixos-rendering.conf
ln -s ${renderConf} $dst/10-nixos-rendering.conf
# 50-user.conf
${optionalString (!cfg.includeUserConf) ''
rm $support_folder/50-user.conf
''}
# Since latest fontconfig looks for default files inside the package,
# we had to move this one elsewhere to be able to exclude it here.
${optionalString cfg.includeUserConf ''
ln -s ${latestPkg.out}/etc/fonts/conf.d.bak/50-user.conf $latest_folder/50-user.conf
rm $dst/50-user.conf
''}
# local.conf (indirect priority 51)
${optionalString (cfg.localConf != "") ''
ln -s ${localConf} $support_folder/../local.conf
ln -s ${localConf} $latest_folder/../local.conf
ln -s ${localConf} $dst/../local.conf
''}
# 52-nixos-default-fonts.conf
ln -s ${defaultFontsConf} $support_folder/52-nixos-default-fonts.conf
ln -s ${defaultFontsConf} $latest_folder/52-nixos-default-fonts.conf
ln -s ${defaultFontsConf} $dst/52-nixos-default-fonts.conf
# 53-no-bitmaps.conf
ln -s ${rejectBitmaps} $support_folder/53-no-bitmaps.conf
ln -s ${rejectBitmaps} $latest_folder/53-no-bitmaps.conf
ln -s ${rejectBitmaps} $dst/53-no-bitmaps.conf
${optionalString (!cfg.allowType1) ''
# 53-nixos-reject-type1.conf
ln -s ${rejectType1} $support_folder/53-nixos-reject-type1.conf
ln -s ${rejectType1} $latest_folder/53-nixos-reject-type1.conf
ln -s ${rejectType1} $dst/53-nixos-reject-type1.conf
''}
'';

View File

@ -839,6 +839,7 @@
./services/ttys/gpm.nix
./services/ttys/kmscon.nix
./services/wayland/cage.nix
./services/video/mirakurun.nix
./services/web-apps/atlassian/confluence.nix
./services/web-apps/atlassian/crowd.nix
./services/web-apps/atlassian/jira.nix

View File

@ -162,6 +162,45 @@ in
<manvolnum>7</manvolnum></citerefentry>.
'';
};
backupDir = mkOption {
type = types.str;
default = "${cfg.stateDir}/dump";
description = "Path to the dump files.";
};
};
ssh = {
enable = mkOption {
type = types.bool;
default = true;
description = "Enable external SSH feature.";
};
clonePort = mkOption {
type = types.int;
default = 22;
example = 2222;
description = ''
SSH port displayed in clone URL.
The option is required to configure a service when the external visible port
differs from the local listening port i.e. if port forwarding is used.
'';
};
};
lfs = {
enable = mkOption {
type = types.bool;
default = false;
description = "Enables git-lfs support.";
};
contentDir = mkOption {
type = types.str;
default = "${cfg.stateDir}/data/lfs";
description = "Where to store LFS files.";
};
};
appName = mkOption {
@ -200,6 +239,12 @@ in
description = "HTTP listen port.";
};
enableUnixSocket = mkOption {
type = types.bool;
default = false;
description = "Configure Gitea to listen on a unix socket instead of the default TCP port.";
};
cookieSecure = mkOption {
type = types.bool;
default = false;
@ -300,14 +345,34 @@ in
ROOT = cfg.repositoryRoot;
};
server = {
DOMAIN = cfg.domain;
HTTP_ADDR = cfg.httpAddress;
HTTP_PORT = cfg.httpPort;
ROOT_URL = cfg.rootUrl;
STATIC_ROOT_PATH = cfg.staticRootPath;
LFS_JWT_SECRET = "#jwtsecret#";
};
server = mkMerge [
{
DOMAIN = cfg.domain;
STATIC_ROOT_PATH = cfg.staticRootPath;
LFS_JWT_SECRET = "#jwtsecret#";
ROOT_URL = cfg.rootUrl;
}
(mkIf cfg.enableUnixSocket {
PROTOCOL = "unix";
HTTP_ADDR = "/run/gitea/gitea.sock";
})
(mkIf (!cfg.enableUnixSocket) {
HTTP_ADDR = cfg.httpAddress;
HTTP_PORT = cfg.httpPort;
})
(mkIf cfg.ssh.enable {
DISABLE_SSH = false;
SSH_PORT = cfg.ssh.clonePort;
})
(mkIf (!cfg.ssh.enable) {
DISABLE_SSH = true;
})
(mkIf cfg.lfs.enable {
LFS_START_SERVER = true;
LFS_CONTENT_PATH = cfg.lfs.contentDir;
})
];
session = {
COOKIE_NAME = "session";
@ -357,12 +422,26 @@ in
};
systemd.tmpfiles.rules = [
"d '${cfg.stateDir}' - ${cfg.user} gitea - -"
"d '${cfg.stateDir}/conf' - ${cfg.user} gitea - -"
"d '${cfg.stateDir}/custom' - ${cfg.user} gitea - -"
"d '${cfg.stateDir}/custom/conf' - ${cfg.user} gitea - -"
"d '${cfg.stateDir}/log' - ${cfg.user} gitea - -"
"d '${cfg.repositoryRoot}' - ${cfg.user} gitea - -"
"d '${cfg.dump.backupDir}' 0750 ${cfg.user} gitea - -"
"z '${cfg.dump.backupDir}' 0750 ${cfg.user} gitea - -"
"Z '${cfg.dump.backupDir}' - ${cfg.user} gitea - -"
"d '${cfg.lfs.contentDir}' 0750 ${cfg.user} gitea - -"
"z '${cfg.lfs.contentDir}' 0750 ${cfg.user} gitea - -"
"Z '${cfg.lfs.contentDir}' - ${cfg.user} gitea - -"
"d '${cfg.repositoryRoot}' 0750 ${cfg.user} gitea - -"
"z '${cfg.repositoryRoot}' 0750 ${cfg.user} gitea - -"
"Z '${cfg.repositoryRoot}' - ${cfg.user} gitea - -"
"d '${cfg.stateDir}' 0750 ${cfg.user} gitea - -"
"d '${cfg.stateDir}/conf' 0750 ${cfg.user} gitea - -"
"d '${cfg.stateDir}/custom' 0750 ${cfg.user} gitea - -"
"d '${cfg.stateDir}/custom/conf' 0750 ${cfg.user} gitea - -"
"d '${cfg.stateDir}/log' 0750 ${cfg.user} gitea - -"
"z '${cfg.stateDir}' 0750 ${cfg.user} gitea - -"
"z '${cfg.stateDir}/.ssh' 0700 ${cfg.user} gitea - -"
"z '${cfg.stateDir}/conf' 0750 ${cfg.user} gitea - -"
"z '${cfg.stateDir}/custom' 0750 ${cfg.user} gitea - -"
"z '${cfg.stateDir}/custom/conf' 0750 ${cfg.user} gitea - -"
"z '${cfg.stateDir}/log' 0750 ${cfg.user} gitea - -"
"Z '${cfg.stateDir}' - ${cfg.user} gitea - -"
# If we have a folder or symlink with gitea locales, remove it
@ -431,28 +510,39 @@ in
User = cfg.user;
Group = "gitea";
WorkingDirectory = cfg.stateDir;
ExecStart = "${gitea}/bin/gitea web";
ExecStart = "${gitea}/bin/gitea web --pid /run/gitea/gitea.pid";
Restart = "always";
# Filesystem
# Runtime directory and mode
RuntimeDirectory = "gitea";
RuntimeDirectoryMode = "0755";
# Access write directories
ReadWritePaths = [ cfg.dump.backupDir cfg.repositoryRoot cfg.stateDir cfg.lfs.contentDir ];
UMask = "0027";
# Capabilities
CapabilityBoundingSet = "";
# Security
NoNewPrivileges = true;
# Sandboxing
ProtectSystem = "strict";
ProtectHome = true;
PrivateTmp = true;
PrivateDevices = true;
PrivateUsers = true;
ProtectHostname = true;
ProtectClock = true;
ProtectKernelTunables = true;
ProtectKernelModules = true;
ProtectKernelLogs = true;
ProtectControlGroups = true;
ReadWritePaths = cfg.stateDir;
# Caps
CapabilityBoundingSet = "";
NoNewPrivileges = true;
# Misc.
RestrictAddressFamilies = [ "AF_UNIX AF_INET AF_INET6" ];
LockPersonality = true;
RestrictRealtime = true;
PrivateMounts = true;
PrivateUsers = true;
MemoryDenyWriteExecute = true;
SystemCallFilter = "~@clock @cpu-emulation @debug @keyring @memlock @module @mount @obsolete @raw-io @reboot @resources @setuid @swap";
RestrictRealtime = true;
RestrictSUIDSGID = true;
PrivateMounts = true;
# System Call Filtering
SystemCallArchitectures = "native";
RestrictAddressFamilies = "AF_UNIX AF_INET AF_INET6";
SystemCallFilter = "~@clock @cpu-emulation @debug @keyring @memlock @module @mount @obsolete @raw-io @reboot @resources @setuid @swap";
};
environment = {
@ -504,7 +594,7 @@ in
Type = "oneshot";
User = cfg.user;
ExecStart = "${gitea}/bin/gitea dump";
WorkingDirectory = cfg.stateDir;
WorkingDirectory = cfg.dump.backupDir;
};
};

View File

@ -1,37 +1,39 @@
{config, lib, pkgs, ... }:
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.usbguard;
# valid policy options
policy = (types.enum [ "allow" "block" "reject" "keep" "apply-policy" ]);
defaultRuleFile = "/var/lib/usbguard/rules.conf";
# decide what file to use for rules
ruleFile = if cfg.rules != null then pkgs.writeText "usbguard-rules" cfg.rules else cfg.ruleFile;
ruleFile = if cfg.rules != null then pkgs.writeText "usbguard-rules" cfg.rules else defaultRuleFile;
daemonConf = ''
# generated by nixos/modules/services/security/usbguard.nix
RuleFile=${ruleFile}
ImplicitPolicyTarget=${cfg.implictPolicyTarget}
PresentDevicePolicy=${cfg.presentDevicePolicy}
PresentControllerPolicy=${cfg.presentControllerPolicy}
InsertedDevicePolicy=${cfg.insertedDevicePolicy}
RestoreControllerDeviceState=${if cfg.restoreControllerDeviceState then "true" else "false"}
# this does not seem useful for endusers to change
DeviceManagerBackend=uevent
IPCAllowedUsers=${concatStringsSep " " cfg.IPCAllowedUsers}
IPCAllowedGroups=${concatStringsSep " " cfg.IPCAllowedGroups}
IPCAccessControlFiles=${cfg.IPCAccessControlFiles}
DeviceRulesWithPort=${if cfg.deviceRulesWithPort then "true" else "false"}
AuditFilePath=${cfg.auditFilePath}
'';
# generated by nixos/modules/services/security/usbguard.nix
RuleFile=${ruleFile}
ImplicitPolicyTarget=${cfg.implictPolicyTarget}
PresentDevicePolicy=${cfg.presentDevicePolicy}
PresentControllerPolicy=${cfg.presentControllerPolicy}
InsertedDevicePolicy=${cfg.insertedDevicePolicy}
RestoreControllerDeviceState=${if cfg.restoreControllerDeviceState then "true" else "false"}
# this does not seem useful for endusers to change
DeviceManagerBackend=uevent
IPCAllowedUsers=${concatStringsSep " " cfg.IPCAllowedUsers}
IPCAllowedGroups=${concatStringsSep " " cfg.IPCAllowedGroups}
IPCAccessControlFiles=/var/lib/usbguard/IPCAccessControl.d/
DeviceRulesWithPort=${if cfg.deviceRulesWithPort then "true" else "false"}
# HACK: that way audit logs still land in the journal
AuditFilePath=/dev/null
'';
daemonConfFile = pkgs.writeText "usbguard-daemon-conf" daemonConf;
daemonConfFile = pkgs.writeText "usbguard-daemon-conf" daemonConf;
in {
in
{
###### interface
@ -49,22 +51,6 @@ in {
'';
};
ruleFile = mkOption {
type = types.path;
default = "/var/lib/usbguard/rules.conf";
description = ''
The USBGuard daemon will use this file to load the policy rule set
from it and to write new rules received via the IPC interface.
Running the command <literal>usbguard generate-policy</literal> as
root will generate a config for your currently plugged in devices.
For a in depth guide consult the official documentation.
Setting the <literal>rules</literal> option will ignore the
<literal>ruleFile</literal> option.
'';
};
rules = mkOption {
type = types.nullOr types.lines;
default = null;
@ -72,16 +58,20 @@ in {
allow with-interface equals { 08:*:* }
'';
description = ''
The USBGuard daemon will load this policy rule set. Modifying it via
the IPC interface won't work if you use this option, since the
contents of this option will be written into the nix-store it will be
read-only.
The USBGuard daemon will load this as the policy rule set.
As these rules are NixOS managed they are immutable and can't
be changed by the IPC interface.
You can still use <literal> usbguard generate-policy</literal> to
generate rules, but you would have to insert them here.
If you do not set this option, the USBGuard daemon will load
it's policy rule set from <literal>${defaultRuleFile}</literal>.
This file can be changed manually or via the IPC interface.
Setting the <literal>rules</literal> option will ignore the
<literal>ruleFile</literal> option.
Running <literal>usbguard generate-policy</literal> as root will
generate a config for your currently plugged in devices.
For more details see <citerefentry>
<refentrytitle>usbguard-rules.conf</refentrytitle>
<manvolnum>5</manvolnum></citerefentry>.
'';
};
@ -155,17 +145,6 @@ in {
'';
};
IPCAccessControlFiles = mkOption {
type = types.path;
default = "/var/lib/usbguard/IPCAccessControl.d/";
description = ''
The files at this location will be interpreted by the daemon as IPC
access control definition files. See the IPC ACCESS CONTROL section
in <citerefentry><refentrytitle>usbguard-daemon.conf</refentrytitle>
<manvolnum>5</manvolnum></citerefentry> for more details.
'';
};
deviceRulesWithPort = mkOption {
type = types.bool;
default = false;
@ -173,14 +152,6 @@ in {
Generate device specific rules including the "via-port" attribute.
'';
};
auditFilePath = mkOption {
type = types.path;
default = "/var/log/usbguard/usbguard-audit.log";
description = ''
USBGuard audit events log file path.
'';
};
};
};
@ -197,17 +168,19 @@ in {
wantedBy = [ "basic.target" ];
wants = [ "systemd-udevd.service" ];
# make sure an empty rule file and required directories exist
preStart = ''
mkdir -p $(dirname "${cfg.ruleFile}") $(dirname "${cfg.auditFilePath}") "${cfg.IPCAccessControlFiles}" \
&& ([ -f "${cfg.ruleFile}" ] || touch ${cfg.ruleFile})
'';
# make sure an empty rule file exists
preStart = ''[ -f "${ruleFile}" ] || touch ${ruleFile}'';
serviceConfig = {
Type = "simple";
ExecStart = ''${cfg.package}/bin/usbguard-daemon -P -k -c ${daemonConfFile}'';
Restart = "on-failure";
StateDirectory = [
"usbguard"
"usbguard/IPCAccessControl.d"
];
AmbientCapabilities = "";
CapabilityBoundingSet = "CAP_CHOWN CAP_FOWNER";
DeviceAllow = "/dev/null rw";
@ -223,8 +196,8 @@ in {
ProtectKernelModules = true;
ProtectSystem = true;
ReadOnlyPaths = "-/";
ReadWritePaths = "-/dev/shm -${dirOf cfg.auditFilePath} -/tmp -${dirOf cfg.ruleFile}";
RestrictAddressFamilies = "AF_UNIX AF_NETLINK";
ReadWritePaths = "-/dev/shm -/tmp";
RestrictAddressFamilies = [ "AF_UNIX" "AF_NETLINK" ];
RestrictNamespaces = true;
RestrictRealtime = true;
SystemCallArchitectures = "native";
@ -233,4 +206,9 @@ in {
};
};
};
imports = [
(mkRemovedOptionModule [ "services" "usbguard" "ruleFile" ] "The usbguard module now uses ${defaultRuleFile} as ruleFile. Alternatively, use services.usbguard.rules to configure rules.")
(mkRemovedOptionModule [ "services" "usbguard" "IPCAccessControlFiles" ] "The usbguard module now hardcodes IPCAccessControlFiles to /var/lib/usbguard/IPCAccessControl.d.")
(mkRemovedOptionModule [ "services" "usbguard" "auditFilePath" ] "Removed usbguard module audit log files. Audit logs can be found in the systemd journal.")
];
}

View File

@ -0,0 +1,165 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.mirakurun;
mirakurun = pkgs.mirakurun;
username = config.users.users.mirakurun.name;
groupname = config.users.users.mirakurun.group;
settingsFmt = pkgs.formats.yaml {};
in
{
options = {
services.mirakurun = {
enable = mkEnableOption mirakurun.meta.description;
port = mkOption {
type = with types; nullOr port;
default = 40772;
description = ''
Port to listen on. If null, it won't listen on any port.
'';
};
openFirewall = mkOption {
type = types.bool;
default = false;
description = ''
Open ports in the firewall for Mirakurun.
'';
};
serverSettings = mkOption {
type = settingsFmt.type;
default = {};
example = literalExample ''
{
highWaterMark = 25165824;
overflowTimeLimit = 30000;
};
'';
description = ''
Options for server.yml.
Documentation:
<link xlink:href="https://github.com/Chinachu/Mirakurun/blob/master/doc/Configuration.md"/>
'';
};
tunerSettings = mkOption {
type = with types; nullOr settingsFmt.type;
default = null;
example = literalExample ''
[
{
name = "tuner-name";
types = [ "GR" "BS" "CS" "SKY" ];
dvbDevicePath = "/dev/dvb/adapterX/dvrX";
}
];
'';
description = ''
Options which are added to tuners.yml. If none is specified, it will
automatically be generated at runtime.
Documentation:
<link xlink:href="https://github.com/Chinachu/Mirakurun/blob/master/doc/Configuration.md"/>
'';
};
channelSettings = mkOption {
type = with types; nullOr settingsFmt.type;
default = null;
example = literalExample ''
[
{
name = "channel";
types = "GR";
channel = "0";
}
];
'';
description = ''
Options which are added to channels.yml. If none is specified, it
will automatically be generated at runtime.
Documentation:
<link xlink:href="https://github.com/Chinachu/Mirakurun/blob/master/doc/Configuration.md"/>
'';
};
};
};
config = mkIf cfg.enable {
environment.systemPackages = [ mirakurun ];
environment.etc = {
"mirakurun/server.yml".source = settingsFmt.generate "server.yml" cfg.serverSettings;
"mirakurun/tuners.yml" = mkIf (cfg.tunerSettings != null) {
source = settingsFmt.generate "tuners.yml" cfg.tunerSettings;
mode = "0644";
user = username;
group = groupname;
};
"mirakurun/channels.yml" = mkIf (cfg.channelSettings != null) {
source = settingsFmt.generate "channels.yml" cfg.channelSettings;
mode = "0644";
user = username;
group = groupname;
};
};
networking.firewall = mkIf cfg.openFirewall {
allowedTCPPorts = mkIf (cfg.port != null) [ cfg.port ];
};
users.users.mirakurun = {
description = "Mirakurun user";
group = "video";
isSystemUser = true;
};
services.mirakurun.serverSettings = {
logLevel = mkDefault 2;
path = mkDefault "/var/run/mirakurun/mirakurun.sock";
port = mkIf (cfg.port != null) (mkDefault cfg.port);
};
systemd.tmpfiles.rules = [
"d '/etc/mirakurun' - ${username} ${groupname} - -"
];
systemd.services.mirakurun = {
description = mirakurun.meta.description;
wantedBy = [ "multi-user.target" ];
after = [ "network.target" ];
serviceConfig = {
ExecStart = "${mirakurun}/bin/mirakurun";
User = username;
Group = groupname;
RuntimeDirectory="mirakurun";
StateDirectory="mirakurun";
Nice = -10;
IOSchedulingClass = "realtime";
IOSchedulingPriority = 7;
};
environment = {
SERVER_CONFIG_PATH = "/etc/mirakurun/server.yml";
TUNERS_CONFIG_PATH = "/etc/mirakurun/tuners.yml";
CHANNELS_CONFIG_PATH = "/etc/mirakurun/channels.yml";
SERVICES_DB_PATH = "/var/lib/mirakurun/services.json";
PROGRAMS_DB_PATH = "/var/lib/mirakurun/programs.json";
NODE_ENV = "production";
};
restartTriggers = let
getconf = target: config.environment.etc."mirakurun/${target}.yml".source;
targets = [
"server"
] ++ optional (cfg.tunerSettings != null) "tuners"
++ optional (cfg.channelSettings != null) "channels";
in (map getconf targets);
};
};
}

View File

@ -2,11 +2,11 @@
bitwig-studio1.overrideAttrs (oldAttrs: rec {
name = "bitwig-studio-${version}";
version = "3.2.2";
version = "3.2.6";
src = fetchurl {
url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
sha256 = "10zb78n75nbriyjah0m3syv3rv7qwbmj590z24hss7lifa3rs784";
sha256 = "00hrbgnjns3s8lbjbabwwqvbwz4dlrg33cs3d1qlpzgi3y72h3nn";
};
buildInputs = oldAttrs.buildInputs ++ [ xorg.libXtst ];

View File

@ -0,0 +1,137 @@
diff --git a/Cargo.lock b/Cargo.lock
index 533b47d..9c9c2f6 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -932,7 +932,7 @@ dependencies = [
[[package]]
name = "librespot"
-version = "0.1.2"
+version = "0.1.3"
dependencies = [
"base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
"env_logger 0.6.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -940,12 +940,12 @@ dependencies = [
"getopts 0.2.21 (registry+https://github.com/rust-lang/crates.io-index)",
"hex 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)",
- "librespot-audio 0.1.2",
- "librespot-connect 0.1.2",
- "librespot-core 0.1.2",
- "librespot-metadata 0.1.2",
- "librespot-playback 0.1.2",
- "librespot-protocol 0.1.2",
+ "librespot-audio 0.1.3",
+ "librespot-connect 0.1.3",
+ "librespot-core 0.1.3",
+ "librespot-metadata 0.1.3",
+ "librespot-playback 0.1.3",
+ "librespot-protocol 0.1.3",
"log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
"num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
"protobuf 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -961,7 +961,7 @@ dependencies = [
[[package]]
name = "librespot-audio"
-version = "0.1.2"
+version = "0.1.3"
dependencies = [
"aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"bit-set 0.5.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -969,7 +969,7 @@ dependencies = [
"bytes 0.4.12 (registry+https://github.com/rust-lang/crates.io-index)",
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
"lewton 0.9.4 (registry+https://github.com/rust-lang/crates.io-index)",
- "librespot-core 0.1.2",
+ "librespot-core 0.1.3",
"librespot-tremor 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
"num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -980,7 +980,7 @@ dependencies = [
[[package]]
name = "librespot-connect"
-version = "0.1.2"
+version = "0.1.3"
dependencies = [
"aes-ctr 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -990,9 +990,9 @@ dependencies = [
"hmac 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
"hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)",
"libmdns 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
- "librespot-core 0.1.2",
- "librespot-playback 0.1.2",
- "librespot-protocol 0.1.2",
+ "librespot-core 0.1.3",
+ "librespot-playback 0.1.3",
+ "librespot-protocol 0.1.3",
"log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
"num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
"protobuf 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1007,7 +1007,7 @@ dependencies = [
[[package]]
name = "librespot-core"
-version = "0.1.2"
+version = "0.1.3"
dependencies = [
"aes 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"base64 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1020,7 +1020,7 @@ dependencies = [
"hyper 0.11.27 (registry+https://github.com/rust-lang/crates.io-index)",
"hyper-proxy 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 1.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "librespot-protocol 0.1.2",
+ "librespot-protocol 0.1.3",
"log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
"num-bigint 0.2.6 (registry+https://github.com/rust-lang/crates.io-index)",
"num-integer 0.1.43 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1043,12 +1043,12 @@ dependencies = [
[[package]]
name = "librespot-metadata"
-version = "0.1.2"
+version = "0.1.3"
dependencies = [
"byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
"futures 0.1.29 (registry+https://github.com/rust-lang/crates.io-index)",
- "librespot-core 0.1.2",
- "librespot-protocol 0.1.2",
+ "librespot-core 0.1.3",
+ "librespot-protocol 0.1.3",
"linear-map 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
"protobuf 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1056,7 +1056,7 @@ dependencies = [
[[package]]
name = "librespot-playback"
-version = "0.1.2"
+version = "0.1.3"
dependencies = [
"alsa 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 1.3.4 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1068,9 +1068,9 @@ dependencies = [
"jack 0.5.7 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.73 (registry+https://github.com/rust-lang/crates.io-index)",
"libpulse-sys 0.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "librespot-audio 0.1.2",
- "librespot-core 0.1.2",
- "librespot-metadata 0.1.2",
+ "librespot-audio 0.1.3",
+ "librespot-core 0.1.3",
+ "librespot-metadata 0.1.3",
"log 0.4.11 (registry+https://github.com/rust-lang/crates.io-index)",
"portaudio-rs 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
"rodio 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1081,7 +1081,7 @@ dependencies = [
[[package]]
name = "librespot-protocol"
-version = "0.1.2"
+version = "0.1.3"
dependencies = [
"glob 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"protobuf 2.14.0 (registry+https://github.com/rust-lang/crates.io-index)",

View File

@ -1,22 +1,21 @@
{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl
, withRodio ? true
, withALSA ? true, alsaLib ? null
, withPulseAudio ? false, libpulseaudio ? null
, withPortAudio ? false, portaudio ? null
}:
{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, withRodio ? true
, withALSA ? true, alsaLib ? null, withPulseAudio ? false, libpulseaudio ? null
, withPortAudio ? false, portaudio ? null }:
rustPlatform.buildRustPackage rec {
pname = "librespot";
version = "0.1.1";
version = "0.1.3";
src = fetchFromGitHub {
owner = "librespot-org";
repo = "librespot";
rev = "v${version}";
sha256 = "1sdbjv8w2mfpv82rx5iy4s532l1767vmlrg9d8khnvh8vrm2lshy";
sha256 = "1ixh47yvaamrpzagqsiimc3y6bi4nbym95843d23am55zkrgnmy5";
};
cargoSha256 = "0zi50imjvalwl6pxl35qrmbg74j5xdfaws8v69am4g9agbfjvlms";
cargoSha256 = "1csls8kzzx28ng6w9vdwhnnav5sqp2m5fj430db5z306xh5acg3d";
cargoPatches = [ ./cargo-lock.patch ];
cargoBuildFlags = with stdenv.lib; [
"--no-default-features"
@ -32,8 +31,7 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ openssl ]
++ stdenv.lib.optional withALSA alsaLib
buildInputs = [ openssl ] ++ stdenv.lib.optional withALSA alsaLib
++ stdenv.lib.optional withPulseAudio libpulseaudio
++ stdenv.lib.optional withPortAudio portaudio;

View File

@ -3,11 +3,11 @@
}:
stdenv.mkDerivation rec {
name = "mpg123-1.26.1";
name = "mpg123-1.26.2";
src = fetchurl {
url = "mirror://sourceforge/mpg123/${name}.tar.bz2";
sha256 = "0cp01wdy77ggzqzzasxd5jd9iypcly5m4c89idc9mpgknyd65mkl";
sha256 = "1wrgds46wj6xsnqa6bi8kkh3wd29i2nxclbps34w5kjglrzbzxq0";
};
buildInputs = stdenv.lib.optional (!stdenv.isDarwin) alsaLib;

View File

@ -7,11 +7,11 @@
mkDerivation rec {
pname = "musescore";
version = "3.4.2";
version = "3.5.0";
src = fetchzip {
url = "https://github.com/musescore/MuseScore/releases/download/v${version}/MuseScore-${version}.zip";
sha256 = "1laskvp40dncs12brkgvk7wl0qrvzy52rn7nf3b67ps1vmd130gp";
url = "https://github.com/musescore/MuseScore/releases/download/v3.5/MuseScore-${version}.zip";
sha256 = "0m598xh0s4f5m4l2ymy7g44bbvc14bcfi4gifhjnrg091rsk57c9";
stripRoot = false;
};
@ -20,7 +20,14 @@ mkDerivation rec {
];
cmakeFlags = [
] ++ lib.optional (lib.versionAtLeast freetype.version "2.5.2") "-DUSE_SYSTEM_FREETYPE=ON";
"-DUSE_SYSTEM_FREETYPE=ON"
];
qtWrapperArgs = [
# Work around crash on update from 3.4.2 to 3.5.0
# https://bugreports.qt.io/browse/QTBUG-85967
"--set QML_DISABLE_DISK_CACHE 1"
];
nativeBuildInputs = [ cmake pkgconfig ];

View File

@ -4,11 +4,11 @@
with stdenv.lib;
stdenv.mkDerivation rec {
pname = "clightning";
version = "0.8.2.1";
version = "0.9.0";
src = fetchurl {
url = "https://github.com/ElementsProject/lightning/releases/download/v${version}/clightning-v${version}.zip";
sha256 = "02incjr59fv75q6hlrln9h4b5gq7ipd778scbz8b8dahj7x1a6i5";
sha256 = "11ig5bqxvhx82gq9nl7c5iqaf3x8xbwfx7cf2318pyqdimz4r1v6";
};
enableParallelBuilding = true;

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "go-ethereum";
version = "1.9.18";
version = "1.9.19";
src = fetchFromGitHub {
owner = "ethereum";
repo = pname;
rev = "v${version}";
sha256 = "0nkzwmrzk0m9662cr18h5i54v07mw8v3fh0csvqx8n50z5fcvb7b";
sha256 = "08wf7qklk31dky2z0l2j9vbyr8721gkvy4dsc60afwrwihwd8lrp";
};
runVend = true;

View File

@ -2,14 +2,15 @@ Dump temacs in an empty environment to prevent -dev paths from ending
up in the dumped image.
diff --git a/src/Makefile.in b/src/Makefile.in
index fd05a45df5..13f529c253 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -535,7 +535,7 @@ ifeq ($(CANNOT_DUMP),yes)
ln -f temacs$(EXEEXT) $@
else
unset EMACS_HEAP_EXEC; \
- LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump
+ env -i LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump
@@ -570,7 +570,7 @@ emacs$(EXEEXT): temacs$(EXEEXT) \
lisp.mk $(etc)/DOC $(lisp) \
$(lispsource)/international/charprop.el ${charsets}
ifeq ($(DUMPING),unexec)
- LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup --temacs=dump
+ env -i LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup --temacs=dump
ifneq ($(PAXCTL_dumped),)
$(PAXCTL_dumped) $@
$(PAXCTL_dumped) emacs$(EXEEXT)
endif

View File

@ -32,7 +32,7 @@ assert withXwidgets -> withGTK3 && webkitgtk != null;
let
version = "26.3";
version = "27.1";
versionModifier = "";
name = "emacs-${version}${versionModifier}";
@ -41,7 +41,7 @@ in stdenv.mkDerivation {
src = fetchurl {
url = "mirror://gnu/emacs/${name}.tar.xz";
sha256 = "119ldpk7sgn9jlpyngv5y4z3i7bb8q3xp4p0qqi7i5nq39syd42d";
sha256 = "0h9f2wpmp6rb5rfwvqwv1ia1nw86h74p7hnz3vb3gjazj67i4k2a";
};
enableParallelBuilding = true;
@ -49,11 +49,6 @@ in stdenv.mkDerivation {
patches = [
./clean-env.patch
./tramp-detect-wrapped-gvfsd.patch
# unbreak macOS unexec
(fetchpatch {
url = "https://github.com/emacs-mirror/emacs/commit/888ffd960c06d56a409a7ff15b1d930d25c56089.patch";
sha256 = "08q3ygdigqwky70r47rcgzlkc5jy82xiq8am5kwwy891wlpl7frw";
})
];
postPatch = lib.concatStringsSep "\n" [

View File

@ -5,20 +5,20 @@
stdenv.mkDerivation rec {
pname = "emacs";
version = "26.3";
version = "27.1";
emacsName = "emacs-${version}";
macportVersion = "7.7";
macportVersion = "8.0";
name = "emacs-mac-${version}-${macportVersion}";
src = fetchurl {
url = "mirror://gnu/emacs/${emacsName}.tar.xz";
sha256 = "119ldpk7sgn9jlpyngv5y4z3i7bb8q3xp4p0qqi7i5nq39syd42d";
sha256 = "0h9f2wpmp6rb5rfwvqwv1ia1nw86h74p7hnz3vb3gjazj67i4k2a";
};
macportSrc = fetchurl {
url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${emacsName}-mac-${macportVersion}.tar.gz";
sha256 = "18jadknm47ymbl7skrgc7y8xsdldcbgnlfl7qpgzm1ym8d92as6j";
sha256 = "0rjk82k9qp1g701pfd4f0q2myzvsnp9q8xzphlxwi5yzwbs91kjq";
};
hiresSrc = fetchurl {
@ -76,7 +76,16 @@ stdenv.mkDerivation rec {
cp ${./site-start.el} $out/share/emacs/site-lisp/site-start.el
'';
doCheck = true;
# fails with:
# Ran 3870 tests, 3759 results as expected, 6 unexpected, 105 skipped
# 5 files contained unexpected results:
# lisp/url/url-handlers-test.log
# lisp/simple-tests.log
# lisp/files-x-tests.log
# lisp/cedet/srecode-utest-template.log
# lisp/net/tramp-tests.log
doCheck = false;
meta = with stdenv.lib; {
description = "The extensible, customizable text editor";

View File

@ -1,14 +1,12 @@
diff --git a/lisp/net/tramp-gvfs.el b/lisp/net/tramp-gvfs.el
index f370abba31..f2806263a9 100644
index 34a234c..b5a471c 100644
--- a/lisp/net/tramp-gvfs.el
+++ b/lisp/net/tramp-gvfs.el
@@ -164,7 +164,8 @@ tramp-gvfs-enabled
(and (featurep 'dbusbind)
@@ -122,6 +122,7 @@
(tramp-compat-funcall 'dbus-get-unique-name :system)
(tramp-compat-funcall 'dbus-get-unique-name :session)
- (or (tramp-compat-process-running-p "gvfs-fuse-daemon")
+ (or (tramp-compat-process-running-p ".gvfsd-fuse-wrapped")
+ (tramp-compat-process-running-p "gvfs-fuse-daemon")
(or (tramp-compat-process-running-p "gvfs-fuse-daemon")
+ (tramp-compat-process-running-p ".gvfsd-fuse-wrapped")
(tramp-compat-process-running-p "gvfsd-fuse"))))
"Non-nil when GVFS is available.")

View File

@ -271,12 +271,12 @@ in
clion = buildClion rec {
name = "clion-${version}";
version = "2020.1.2"; /* updated by script */
version = "2020.2"; /* updated by script */
description = "C/C++ IDE. New. Intelligent. Cross-platform";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/cpp/CLion-${version}.tar.gz";
sha256 = "0q5bnb0rmsgks7brrdpgah83s2ixa4pyhw8jvg9p2g48b582rmf7"; /* updated by script */
sha256 = "1j80k6r4nbr8abwkpx78sy3jzq3jsywn2k6g4mjx6h0adwxswymm"; /* updated by script */
};
wmClass = "jetbrains-clion";
update-channel = "CLion RELEASE"; # channel's id as in http://www.jetbrains.com/updates/updates.xml
@ -284,12 +284,12 @@ in
datagrip = buildDataGrip rec {
name = "datagrip-${version}";
version = "2020.1.5"; /* updated by script */
version = "2020.2"; /* updated by script */
description = "Your Swiss Army Knife for Databases and SQL";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
sha256 = "0605d772156lzlz5904px2spdijc92yz6rjvmpyg6vk5zv5k2wm9"; /* updated by script */
sha256 = "0d0m6v4lr6qhi79csdpcyiyd2hnhlsan9lpnjmhkdxd84i1dl15a"; /* updated by script */
};
wmClass = "jetbrains-datagrip";
update-channel = "DataGrip RELEASE";
@ -297,12 +297,12 @@ in
goland = buildGoland rec {
name = "goland-${version}";
version = "2020.1.4"; /* updated by script */
version = "2020.2.1"; /* updated by script */
description = "Up and Coming Go IDE";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/go/${name}.tar.gz";
sha256 = "1wgcc1faqn0y9brxikh53s6ly7zvpdmpg7m5gvp5437isbllisbl"; /* updated by script */
sha256 = "15jd2yn4g3lya54ppcp8b0bvf2pp2khdvqba2g1aml16d5z8mkq6"; /* updated by script */
};
wmClass = "jetbrains-goland";
update-channel = "GoLand RELEASE";
@ -310,12 +310,12 @@ in
idea-community = buildIdea rec {
name = "idea-community-${version}";
version = "2020.1.3"; /* updated by script */
version = "2020.2"; /* updated by script */
description = "Integrated Development Environment (IDE) by Jetbrains, community edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIC-${version}.tar.gz";
sha256 = "1aycsy2pg8nw5il8p2r6bhim9y47g5rfga63f0p435mpjmzpll0s"; /* updated by script */
sha256 = "0rymyyhgm42i487dhlxh78shyvq4hd56frgz7wrqf85hg2j5ha0y"; /* updated by script */
};
wmClass = "jetbrains-idea-ce";
update-channel = "IntelliJ IDEA RELEASE";
@ -323,12 +323,12 @@ in
idea-ultimate = buildIdea rec {
name = "idea-ultimate-${version}";
version = "2020.1.3"; /* updated by script */
version = "2020.2"; /* updated by script */
description = "Integrated Development Environment (IDE) by Jetbrains, requires paid license";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/idea/ideaIU-${version}-no-jbr.tar.gz";
sha256 = "188wkqcv67kizq4w6v4vg9jpr3qfgbg9x5jc77s4ki4nafkbfxas"; /* updated by script */
sha256 = "00mbf8asxjdnfciz6bl8b83kqknqdnars5w5w5w38rmza53pzxsi"; /* updated by script */
};
wmClass = "jetbrains-idea";
update-channel = "IntelliJ IDEA RELEASE";
@ -336,12 +336,12 @@ in
mps = buildMps rec {
name = "mps-${version}";
version = "2020.1.2"; /* updated by script */
version = "2020.1.3"; /* updated by script */
description = "Create your own domain-specific language";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/mps/2020.1/MPS-${version}.tar.gz";
sha256 = "0ygk31l44bxcv64h6lnqxssmx5prcb5b5xdm3qxmrv7xz1qv59c1"; /* updated by script */
sha256 = "1ncvq834vn47pmh3q875hgqi4m7h3inljp89w3jwwhjn3g985ysz"; /* updated by script */
};
wmClass = "jetbrains-mps";
update-channel = "MPS RELEASE";
@ -349,12 +349,12 @@ in
phpstorm = buildPhpStorm rec {
name = "phpstorm-${version}";
version = "2020.1.3"; /* updated by script */
version = "2020.2"; /* updated by script */
description = "Professional IDE for Web and PHP developers";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/webide/PhpStorm-${version}.tar.gz";
sha256 = "0cw2rx68rl6mrnizpb69ahz4hrh8blry70cv4rjnkw19d4x877m8"; /* updated by script */
sha256 = "1zxhb2w7nivnx8habcf5vii6bwzaihs5x8smy0zf8ngv3xwr6vjc"; /* updated by script */
};
wmClass = "jetbrains-phpstorm";
update-channel = "PhpStorm RELEASE";
@ -362,12 +362,12 @@ in
pycharm-community = buildPycharm rec {
name = "pycharm-community-${version}";
version = "2020.1.3"; /* updated by script */
version = "2020.2"; /* updated by script */
description = "PyCharm Community Edition";
license = stdenv.lib.licenses.asl20;
src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz";
sha256 = "1290k17nihiih8ipxfqax1xlx320h1vkwbcc5hc50psvpsfgiall"; /* updated by script */
sha256 = "12pp3xp74dzgjrv2nz83dnqycb250kkgqlb3skjkdx9pabmfxck0"; /* updated by script */
};
wmClass = "jetbrains-pycharm-ce";
update-channel = "PyCharm RELEASE";
@ -375,12 +375,12 @@ in
pycharm-professional = buildPycharm rec {
name = "pycharm-professional-${version}";
version = "2020.1.3"; /* updated by script */
version = "2020.2"; /* updated by script */
description = "PyCharm Professional Edition";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/python/${name}.tar.gz";
sha256 = "1ag8jrfs38f0q11pyil4pvddi8lv46b0jxd3mcbmidn3p1z29f9x"; /* updated by script */
sha256 = "0xq0nba31yc7cm1lbgkmgfbr5kp5fq5k7j2n6kampm2hyx5fa0ak"; /* updated by script */
};
wmClass = "jetbrains-pycharm";
update-channel = "PyCharm RELEASE";
@ -401,12 +401,12 @@ in
ruby-mine = buildRubyMine rec {
name = "ruby-mine-${version}";
version = "2020.1.3"; /* updated by script */
version = "2020.2"; /* updated by script */
description = "The Most Intelligent Ruby and Rails IDE";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/ruby/RubyMine-${version}.tar.gz";
sha256 = "1z6z2c31aq29hzi1cifc77zz9vnw48h2jvw4w61lvgskcnzrw9vn"; /* updated by script */
sha256 = "1caxd5qcxwwrdy3ma87gnywr5czg3lam1n2gwbnc7hdxgfnvn3qz"; /* updated by script */
};
wmClass = "jetbrains-rubymine";
update-channel = "RubyMine RELEASE";
@ -414,12 +414,12 @@ in
webstorm = buildWebStorm rec {
name = "webstorm-${version}";
version = "2020.1.3"; /* updated by script */
version = "2020.2"; /* updated by script */
description = "Professional IDE for Web and JavaScript development";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
sha256 = "19zqac77fkw1czf86s39ggnd24r9ljr80gj422ch4fdkz4qy832q"; /* updated by script */
sha256 = "100j2q9hz0a50n3x3khk7hap7b496g6sx0y6q7n7vy2zayh5ibm5"; /* updated by script */
};
wmClass = "jetbrains-webstorm";
update-channel = "WebStorm RELEASE";

View File

@ -7,12 +7,12 @@
}:
stdenv.mkDerivation rec {
version = "3.0.2";
version = "3.2.1";
pname = "darktable";
src = fetchurl {
url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
sha256 = "1yrnkw8c47kmy2x6m1xp69hwyk02xyc8pd9kvcmyj54lzrhzdfka";
sha256 = "035rvqmw386hm0jpi14lf4dnpr5rjkalzjkyprqh42nwi3m86dkf";
};
nativeBuildInputs = [ cmake ninja llvm pkgconfig intltool perl desktop-file-utils wrapGAppsHook ];

View File

@ -1,4 +1,4 @@
{ mkDerivation, lib, fetchFromGitHub, cmake, doxygen, extra-cmake-modules, wrapGAppsHook
{ mkDerivation, lib, fetchurl, cmake, doxygen, extra-cmake-modules, wrapGAppsHook
# For `digitaglinktree`
, perl, sqlite
@ -33,7 +33,6 @@
, libkipi
, libksane
, liblqr1
, libqtav
, libusb1
, marble
, libGL
@ -52,13 +51,11 @@
mkDerivation rec {
pname = "digikam";
version = "6.2.0";
version = "6.4.0";
src = fetchFromGitHub {
owner = "KDE";
repo = "digikam";
rev = "v${version}";
sha256 = "1l1nb1nwicmip2jxhn5gzr7h60igvns0zs3kzp36r6qf4wvg3v2z";
src = fetchurl {
url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.xz";
sha256 = "0vwd97zkxv30y8x0z76s4fsj4w9ysgsmpjclp2h2bpava7zi4l3p";
};
nativeBuildInputs = [ cmake doxygen extra-cmake-modules kdoctools wrapGAppsHook ];
@ -76,7 +73,6 @@ mkDerivation rec {
libkipi
libksane
liblqr1
libqtav
libusb1
libGL
libGLU

View File

@ -1,8 +1,8 @@
{ buildGoModule, fetchFromGitHub, installShellFiles, stdenv }:
let
humioCtlVersion = "0.26.0";
sha256 = "1j33hmvhkb546dbi2qd5hmpcv715yg9rnpxicc1mayr9f1i2aj2i";
humioCtlVersion = "0.26.1";
sha256 = "1zpcbfv7zlym0jfyz78piggm8zhqlzbwpwq0dn255d0zc48zp773";
vendorSha256 = "1l2wa4w43srfrkb4qrgiyzdb6bnaqvp9g3fnrln6bhrcw6jsgj4z";
in buildGoModule {
name = "humioctl-${humioCtlVersion}";

View File

@ -0,0 +1,54 @@
{ lib, python3Packages, fetchFromGitHub, wrapQtAppsHook }:
with python3Packages;
buildPythonApplication rec {
pname = "inkcut";
version = "2.1.1";
src = fetchFromGitHub {
owner = pname;
repo = pname;
rev = "v${version}";
sha256 = "1c0mfdfy9iq4l683f3aa7cm7x2w9px83dyigc7655wvaq3bxi2rp";
};
nativeBuildInputs = [ wrapQtAppsHook ];
propagatedBuildInputs = [
enamlx
twisted
lxml
qreactor
jsonpickle
pyserial
pycups
qtconsole
pyqt5
];
# QtApplication.instance() does not work during tests?
doCheck = false;
pythonImportsCheck = [
"inkcut"
"inkcut.cli"
"inkcut.console"
"inkcut.core"
"inkcut.device"
"inkcut.job"
"inkcut.joystick"
"inkcut.monitor"
"inkcut.preview"
];
dontWrapQtApps = true;
makeWrapperArgs = [ "\${qtWrapperArgs[@]}" ];
meta = with lib; {
homepage = "https://www.codelv.com/projects/inkcut/";
description = "Control 2D plotters, cutters, engravers, and CNC machines";
license = licenses.gpl3;
maintainers = with maintainers; [ raboof ];
};
}

View File

@ -20,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "olifant";
version = "0.2.1-beta5";
version = "0.2.1-beta6";
src = fetchFromGitHub {
owner = "cleac";
repo = pname;
rev = version;
sha256 = "1fpyg3nii75vmsdhp8x4yvhi3npvp3xnbqmd0qcidn05mbsam68r";
sha256 = "sha256-3hnEa4Q1dH0R8Jp+Ew0+dH1PEm3F+56jYwqhJ+vll4M=";
};
nativeBuildInputs = [

View File

@ -35,13 +35,13 @@
buildPythonApplication rec {
pname = "orca";
version = "3.36.3";
version = "3.36.4";
format = "other";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "1x0xrcyxlvcjlqp6wcsx5d951i500079wqs04scssjzwqggy330n";
sha256 = "1s6qrmbn3pywidwwfa24ly21c1cz6fnnsipi9vlp3sxswbdcwiwz";
};
patches = [

View File

@ -16,10 +16,10 @@ let
pname = "simplenote";
version = "1.20.0";
version = "1.21.0";
sha256 = {
x86_64-linux = "0fzv8nbac5bnxvm2p7p4jsjvfrzk3h9j57zjmwvsi2dq6l80d2n7";
x86_64-linux = "073dg4agqgimsgs3ia7g0pjv4vxkh24bj7vpmssiysdxhm4li1j1";
}.${system} or throwSystem;
meta = with stdenv.lib; {

View File

@ -1,24 +1,34 @@
{ stdenv, lib, fetchFromGitHub, makeWrapper
, xwininfo, xdotool, xprop }:
, xwininfo, xdotool, xprop, gawk, coreutils
, gnugrep, procps }:
stdenv.mkDerivation {
pname = "tdrop";
version = "unstable-2018-11-13";
version = "unstable-2020-05-14";
src = fetchFromGitHub {
owner = "noctuid";
repo = "tdrop";
rev = "198795c0d2573a31979330d6a2ae946eb81deebf";
sha256 = "1fhibqgmls64mylcb6q46ipmg1q6pvaqm26vz933gqav6cqsbdzs";
rev = "a9f2862515e5c190ac61d394e7fe7e1039871b89";
sha256 = "1zxhihgba33k8byjsracsyhby9qpdngbly6c8hpz3pbsyag5liwc";
};
dontBuild = true;
installFlags = [ "PREFIX=$(out)" ];
postInstall = ''
wrapProgram $out/bin/tdrop \
--prefix PATH : ${lib.makeBinPath [ xwininfo xdotool xprop ]}
postInstall = let
binPath = lib.makeBinPath [
xwininfo
xdotool
xprop
gawk
coreutils
gnugrep
procps
];
in ''
wrapProgram $out/bin/tdrop --prefix PATH : ${binPath}
'';
nativeBuildInputs = [ makeWrapper ];

View File

@ -44,11 +44,11 @@ let
flash = stdenv.mkDerivation rec {
pname = "flashplayer-ppapi";
version = "32.0.0.403";
version = "32.0.0.414";
src = fetchzip {
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
sha256 = "1xirngiqypylgm8f3ddvny2ghqxgj8i98bm1carcj2vryw53wwal";
sha256 = "0wzf5i6qf5wgjm905kd3qh97rj47fybl9g7z72vasilbx8q5wfwk";
stripRoot = false;
};

View File

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory.
{
beta = {
sha256 = "06cl77yi7cb6r7n8mn38d61zmgwxi690qxrkd56hg2773hn06wq5";
sha256bin64 = "0a6c44qb0n2hdc42p5xqybnbhgdxd51lyygkqz42fmym6id65v88";
version = "85.0.4183.39";
sha256 = "0qvcp47m3mc1lw22sq1a4pvaxxi5wlmwzjz23ak01wj3v1xifsh6";
sha256bin64 = "1a06yhaifbjs88wskfb3mcx06klhvdvz2mnkzz6szhkypz8mi3dp";
version = "85.0.4183.59";
};
dev = {
sha256 = "1l2d3gk7si1djxn3901fjgykv7nzc8g970m3fb9pjflfrr8f17v6";
sha256bin64 = "0flsmy5blrc9gs6cikag7mdlvgkm6mzm745kcq0shfmhanvlkykn";
version = "86.0.4209.2";
sha256 = "0nirf72i3zdqsy201qzinfn9k40iy315i6z0a8xn3ciagh10p5j4";
sha256bin64 = "1ss36w8bsqfswnqddhn2aamjmsyh2vr0y9gjlzrh702mda8yraq1";
version = "86.0.4221.3";
};
stable = {
sha256 = "1b6cqnwx76pp4y5hvz3qm8lm1ayaxr5578k76164acr35bmypx6a";
sha256bin64 = "0znxq5ncyvyysx3p8xikzg8jm8jr51k478y29m985x6c5p5a4zyw";
version = "84.0.4147.105";
sha256 = "1xdg9pnnvbzasmra09rl7wdrir61rfcqml46jj7kv39drwk9chwq";
sha256bin64 = "1fbn9vkz4kf1dhivi1sfnfi8dady9qjmfr44hvfmb8aibh9kzc8w";
version = "84.0.4147.125";
};
}

View File

@ -1,4 +1,4 @@
{ stdenv, mkDerivation, lib, fetchFromGitHub
{ stdenv, mkDerivation, lib, fetchFromGitHub, fetchpatch
, cmake, extra-cmake-modules, pkgconfig, qmake
, libpthreadstubs, libxcb, libXdmcp
, qtsvg, qttools, qtwebengine, qtx11extras
@ -17,6 +17,14 @@ mkDerivation rec {
sha256 = "1w64slh9wpcfi4v7ds9wci1zvwh0dh787ndpi6hd4kmdgnswvsw7";
};
patches = [
# fixes build with qt5 5.14
(fetchpatch {
url = "https://github.com/KDE/falkon/commit/bbde5c6955c43bc744ed2c4024598495de908f2a.diff";
sha256 = "0f7qcddvvdnij3di0acg7jwvwfwyd0xizlav4wccclbj8x7qp5ld";
})
];
preConfigure = ''
export NONBLOCK_JS_DIALOGS=true
export KDE_INTEGRATION=true

View File

@ -74,7 +74,7 @@ let
in
stdenv.mkDerivation rec {
pname = "flashplayer";
version = "32.0.0.403";
version = "32.0.0.414";
src = fetchurl {
url =
@ -85,14 +85,14 @@ stdenv.mkDerivation rec {
sha256 =
if debug then
if arch == "x86_64" then
"0nx0fxa6l438hvzgsxa561nrin8lx7l9ccqscjn9mdg42yw36k63"
"184qy9zxk9ynp6avz1j0ca5mxqqqlhrc0m7d1cjxv39jfdiyz51i"
else
"0vbg4ijsbmn71kq5mynx0hfhazy10ghcxsxwbwaxdl11ilxikrli"
"1m8fay452zps5yw1qpsc6irxxdvqjhkwxg066ckxkjf68gln7cmn"
else
if arch == "x86_64" then
"1paz9y3pcisw5ck3v6a740sr7plmsbg6bjqrj2yfqdixf95fk2pl"
"0ng04yig7msq4mv01ngfsh7mkxia18j3k9clnp0y0sbpr60z8s83"
else
"1b2r20yc94ibsw0vpr6xl1x1vbjgjw6qzxzr374ppck8famikyj2";
"0fndnhznqz28wfmm32fafx30pi517vvkxy1isp4krsfvyl7fmzhn";
};
nativeBuildInputs = [ unzip ];

View File

@ -50,7 +50,7 @@
stdenv.mkDerivation {
pname = "flashplayer-standalone";
version = "32.0.0.403";
version = "32.0.0.414";
src = fetchurl {
url =
@ -60,9 +60,9 @@ stdenv.mkDerivation {
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz";
sha256 =
if debug then
"164cah1h78vs068y19v0c40243sy2ip1n4jc6qvzv9acawy12ckw"
"1sfvxi0ngk1ny912hw1zp0l3v6md6qqpvnyab3h45562m2fm6vqz"
else
"0508jzaji3z52dyp49xx2m7impz1fdpp20af0h8dwdph1q3mxn32";
"0pxb3fhwvajvb28w11iylx5rp0h1f4s2aiii53gz28sq082w9br4";
};
nativeBuildInputs = [ unzip ];

View File

@ -44,11 +44,11 @@ let
flash = stdenv.mkDerivation rec {
pname = "flashplayer-ppapi";
version = "32.0.0.403";
version = "32.0.0.414";
src = fetchzip {
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
sha256 = "1xirngiqypylgm8f3ddvny2ghqxgj8i98bm1carcj2vryw53wwal";
sha256 = "0wzf5i6qf5wgjm905kd3qh97rj47fybl9g7z72vasilbx8q5wfwk";
stripRoot = false;
};

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "helmfile";
version = "0.125.1";
version = "0.125.5";
src = fetchFromGitHub {
owner = "roboll";
repo = "helmfile";
rev = "v${version}";
sha256 = "0ym9q1rww3r54czkrckdd1ahlym6n61l2563nmj48hkn5d4qxqbm";
sha256 = "00c1sppvdnsqay8zk6fz5xz8yw74zv30hq54r4sf1a5rb84nd05h";
};
vendorSha256 = "04mga3jc2c01daygjcn245mv30lc2ibax0mpb1wjk3s8lkl4cxcz";

View File

@ -2,13 +2,13 @@
buildGoModule rec {
pname = "istioctl";
version = "1.6.6";
version = "1.6.7";
src = fetchFromGitHub {
owner = "istio";
repo = "istio";
rev = version;
sha256 = "0njchcb58lxk0cixk2rz4qj7b0zpp6zf3i5dda43j4hfsb37mifj";
sha256 = "0zqp78ilr39j4pyqyk8a0rc0dlmkgzdd2ksfjd7vyjns5mrrjfj7";
};
vendorSha256 = "0cc0lmjsxrn3f78k95wklf3yn5k7h8slwnwmssy1i1h0bkcg1bai";

View File

@ -2,16 +2,16 @@
buildGoModule rec {
pname = "jx";
version = "2.1.121";
version = "2.1.127";
src = fetchFromGitHub {
owner = "jenkins-x";
repo = "jx";
rev = "v${version}";
sha256 = "0bjpnh962w5wz4gj5my9g52dawxj8zccvpkxlxy1n7c3dkzjxx5j";
sha256 = "01dfpnqgbrn8b6h2irq080xdm76b4jx6sd80f8x4zmyaz6hf5vlv";
};
vendorSha256 = "0l9djgvnrgdnw7nsf05yq7qpzzzm3gasgh9a7dyc16pp2kxvza6k";
vendorSha256 = "0la92a8720l8my5r4wsbgv74y6m19ikmm0wv3l4m4w5gjyplfsxb";
doCheck = false;

View File

@ -5,7 +5,6 @@ buildGoModule rec {
version = "3.0.0";
k3sVersion = "1.18.6-k3s1";
goPackagePath = "github.com/rancher/k3d";
excludedPackages = ''tools'';
src = fetchFromGitHub {

View File

@ -132,8 +132,8 @@ in rec {
});
terraform_0_13 = pluggable (generic {
version = "0.13.0-rc1";
sha256 = "1lja2s9viz5ja40qmlf49p6hk3rwdz6q0rw3ff1894b464zbsnk2";
version = "0.13.0";
sha256 = "0kangddd99ix50w67hi0pwa9js9c0hjxqvrc0lxaa6msjvjsxyyq";
patches = [ ./provider-path.patch ];
passthru = { inherit plugins; };
});

View File

@ -1,24 +1,23 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:
{ stdenv, buildGoModule, fetchFromGitHub }:
buildGoPackage rec {
buildGoModule rec {
pname = "tilt";
/* Do not use "dev" as a version. If you do, Tilt will consider itself
running in development environment and try to serve assets from the
source tree, which is not there once build completes. */
version = "0.11.3";
running in development environment and try to serve assets from the
source tree, which is not there once build completes. */
version = "0.17.0";
src = fetchFromGitHub {
owner = "windmilleng";
owner = "tilt-dev";
repo = pname;
rev = "v${version}";
sha256 = "035czgr0rn6gcv24vnlr35n9yvy0fwq4spdzsc76gfxckcbcmzz0";
sha256 = "0bd01fmrf17njzf8ri4bw4qi7bxcvd3dx7yyf42qfvnp7hrfzipk";
};
goPackagePath = "github.com/windmilleng/tilt";
vendorSha256 = null;
subPackages = [ "cmd/tilt" ];
buildFlagsArray = ("-ldflags=-X main.version=${version} -X main.date=2020-01-25");
buildFlagsArray = [ "-ldflags=-X main.version=${version}" ];
meta = with stdenv.lib; {
description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production";

View File

@ -20,11 +20,11 @@ let
in
stdenv.mkDerivation rec {
pname = "zeek";
version = "3.1.5";
version = "3.2.0";
src = fetchurl {
url = "https://download.zeek.org/zeek-${version}.tar.gz";
sha256 = "1rwrwdx0jf76pb11vpmv5z513ss9rrkgpjv1pa1vydf4gbafhi5r";
sha256 = "0ky4485z0gpaj1z75y7jr5bn9wr8x8w3v637aqq4v9a0a5iyagmg";
};
nativeBuildInputs = [ cmake flex bison file ];
@ -40,8 +40,8 @@ stdenv.mkDerivation rec {
# Fix pybind c++17 build with Clang. See: https://github.com/pybind/pybind11/issues/1604
(fetchpatch {
url = "https://github.com/pybind/pybind11/commit/759221f5c56939f59d8f342a41f8e2d2cacbc8cf.patch";
sha256 = "0l8z7d7chq1awd8dnfarj4c40wx36hkhcan0702p5l89x73wqk54";
extraPrefix = "aux/broker/bindings/python/3rdparty/pybind11/";
sha256 = "17qznp8yavnv84fjsbghv3d59z6k6rx74j49w0izakmgw5a95w84";
extraPrefix = "auxil/broker/bindings/python/3rdparty/pybind11/";
stripLen = 1;
})
];

View File

@ -2,12 +2,12 @@
mkDerivation rec {
pname = "chatterino2";
version = "unstable-2019-05-11";
version = "2.1.7";
src = fetchFromGitHub {
owner = "fourtf";
repo = pname;
rev = "8c46cbf571dc8fd77287bf3186445ff52b1d1aaf";
sha256 = "0i2385hamhd9i7jdy906cfrd81cybw524j92l87c8pzrkxphignk";
rev = "v${version}";
sha256 = "0bbdzainfa7hlz5p0jfq4y04i3wix7z3i6w193906bi4gr9wilpg";
fetchSubmodules = true;
};
nativeBuildInputs = [ qmake pkgconfig wrapQtAppsHook ];

View File

@ -4,8 +4,6 @@ buildGoModule rec {
pname = "gomuks";
version = "0.1.2";
goPackagePath = "maunium.net/go/gomuks";
src = fetchFromGitHub {
owner = "tulir";
repo = pname;

View File

@ -0,0 +1,37 @@
From ac9387271b2420a71f7d172f44354fc35adac504 Mon Sep 17 00:00:00 2001
From: Manuel Nickschas <sputnick@quassel-irc.org>
Date: Tue, 7 Jan 2020 18:34:54 +0100
Subject: [PATCH] common: Disable enum type stream operators for Qt >= 5.14
Starting from version 5.14, Qt provides stream operators for enum
types, which collide with the ones we ship in types.h. Disable
Quassel's stream operators when compiling against Qt 5.14 or later.
(cherry-picked from 579e559a6322209df7cd51c34801fecff5fe734b)
---
src/common/types.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/common/types.h b/src/common/types.h
index 467d9fb2..c4b9f364 100644
--- a/src/common/types.h
+++ b/src/common/types.h
@@ -140,6 +140,7 @@ Q_DECLARE_METATYPE(QHostAddress)
typedef QList<MsgId> MsgIdList;
typedef QList<BufferId> BufferIdList;
+#if QT_VERSION < QT_VERSION_CHECK(5, 14, 0)
/**
* Catch-all stream serialization operator for enum types.
*
@@ -169,6 +170,7 @@ QDataStream &operator>>(QDataStream &in, T &value) {
value = static_cast<T>(v);
return in;
}
+#endif
// Exceptions
--
2.26.2

View File

@ -43,6 +43,12 @@ in (if !buildClient then stdenv.mkDerivation else mkDerivation) rec {
sha256 = "0z8p7iv90yrrjbh31cyxhpr6hsynfmi23rlayn7p2f6ki5az7yc3";
};
patches = [
# fixes build with Qt 5.14
# source: https://github.com/quassel/quassel/pull/518/commits/8a46d983fc99204711cdff1e4c542e272fef45b9
./0001-common-Disable-enum-type-stream-operators-for-Qt-5.1.patch
];
enableParallelBuilding = true;
# Prevent ``undefined reference to `qt_version_tag''' in SSL check

View File

@ -1,4 +1,4 @@
{ fetchurl, stdenv
{ fetchurl, fetchgit, stdenv
, pkgconfig, gnupg
, xapian, gmime, talloc, zlib
, doxygen, perl, texinfo
@ -12,17 +12,18 @@
with stdenv.lib;
stdenv.mkDerivation rec {
version = "0.30";
version = "0.30.1c80020";
pname = "notmuch";
passthru = {
pythonSourceRoot = "${pname}-${version}/bindings/python";
pythonSourceRoot = "${src.name}/bindings/python";
inherit version;
};
src = fetchurl {
url = "https://notmuchmail.org/releases/${pname}-${version}.tar.xz";
sha256 = "1ylnj12f7xr18v3ckb1nwc2aw2rj3ghqnj5f4rzccr8xw5pslfsy";
src = fetchgit {
url = "https://git.notmuchmail.org/git/notmuch";
sha256 = "0xj944c4ayps1bg21pksjih3y9v6lb34dd582df14i14q0yzji51";
rev = "1c80020e701c7323de137c0616fc8864443d7bd3";
};
nativeBuildInputs = [
@ -75,6 +76,7 @@ stdenv.mkDerivation rec {
sha256 = "1lk91s00y4qy4pjh8638b5lfkgwyl282g1m27srsf7qfn58y16a2";
};
in ''
mkdir -p test/test-databases
ln -s ${test-database} test/test-databases/database-v1.tar.xz
'';
doCheck = !stdenv.hostPlatform.isDarwin && (versionAtLeast gmime.version "3.0.3");

View File

@ -17,13 +17,13 @@ let
in stdenv.mkDerivation rec {
pname = "freerdp";
version = "2.1.2";
version = "2.2.0";
src = fetchFromGitHub {
owner = "FreeRDP";
repo = "FreeRDP";
rev = version;
sha256 = "1yvi7zd0ic0rv7njd0wi9q1mfvz4d9qrx3i45dd6hcq465wg8dp7";
sha256 = "02zlg5r704zbryx09a5rjjf7q137kj16i9qh25dw9q1y69ri619n";
};
postPatch = ''

View File

@ -20,13 +20,13 @@
stdenv.mkDerivation rec {
pname = "gnss-sdr";
version = "0.0.12";
version = "0.0.13";
src = fetchFromGitHub {
owner = "gnss-sdr";
repo = "gnss-sdr";
rev = "v${version}";
sha256 = "0i9cz85jc2m758pzy3bq4dk4vj9wv7k2z118lasb09xldx01dwsq";
sha256 = "0a3k47fl5dizzhbqbrbmckl636lznyjby2d2nz6fz21637hvrnby";
};
buildInputs = [

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
pname = "limesuite";
version = "20.07.1";
version = "20.07.2";
src = fetchFromGitHub {
owner = "myriadrf";
repo = "LimeSuite";
rev = "v${version}";
sha256 = "14mxqc350j3rk1202n0ax1rfx49sy40965zj90d4pnakbgz5xr7g";
sha256 = "0v0w0f5ff1gwpfy13x1q1jsx9xfg4s3ccg05ikpnkzj4yg6sjps1";
};
nativeBuildInputs = [ cmake ];

View File

@ -0,0 +1,58 @@
{ lib
, mkDerivation
, fetchFromGitHub
, cmake
, csxcad
, qcsxcad
, hdf5
, vtkWithQt5
, qtbase
, wrapQtAppsHook
, fparser
, tinyxml
, cgal
, boost
}:
mkDerivation {
pname = "appcsxcad";
version = "unstable-2020-01-04";
src = fetchFromGitHub {
owner = "thliebig";
repo = "AppCSXCAD";
rev = "de8c271ec8b57e80233cb2a432e3d7fd54d30876";
sha256 = "0shnfa0if3w588a68gr82qi6k7ldg1j2921fnzji90mmay21birp";
};
nativeBuildInputs = [
cmake
wrapQtAppsHook
];
buildInputs = [
csxcad
qcsxcad
hdf5
vtkWithQt5
qtbase
fparser
tinyxml
cgal
boost
];
postFixup = ''
rm $out/bin/AppCSXCAD.sh
'';
enableParallelBuilding = true;
meta = with lib; {
description = "Minimal Application using the QCSXCAD library";
homepage = "https://github.com/thliebig/AppCSXCAD";
license = licenses.gpl3;
maintainers = with maintainers; [ matthuszagh ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,31 @@
{ mkDerivation, lib, fetchFromGitHub, makeWrapper, cmake, qtbase, qttools, fftw, libusb1, libglvnd }:
mkDerivation rec {
pname = "openhantek6022";
version = "3.1.1";
src = fetchFromGitHub {
owner = "OpenHantek";
repo = "OpenHantek6022";
rev = version;
sha256 = "17b0qmz7g0nk7n7jhbh5xhs135dpj9kv41n42vvpdzwr6z5rk4qm";
};
nativeBuildInputs = [ cmake makeWrapper ];
buildInputs = [ fftw libusb1 libglvnd qtbase qttools ];
postPatch = ''
# Fix up install paths & checks
sed -i 's#if(EXISTS ".*")#if(1)#g' CMakeLists.txt
sed -i 's#/lib/udev#lib/udev#g' CMakeLists.txt
sed -i 's#/usr/share#share#g' CMakeLists.txt
'';
meta = with lib; {
description = "Free software for Hantek and compatible (Voltcraft/Darkwire/Protek/Acetech) USB digital signal oscilloscopes";
homepage = "https://github.com/OpenHantek/OpenHantek6022";
license = licenses.gpl3;
maintainers = with maintainers; [ baracoder ];
platforms = qtbase.meta.platforms;
};
}

View File

@ -0,0 +1,50 @@
{ stdenv
, mkDerivation
, fetchFromGitHub
, cmake
, csxcad
, tinyxml
, vtkWithQt5
, wrapQtAppsHook
, qtbase
}:
mkDerivation {
pname = "qcsxcad";
version = "unstable-2020-01-04";
src = fetchFromGitHub {
owner = "thliebig";
repo = "QCSXCAD";
rev = "0dabbaf2bc1190adec300871cf309791af842c8e";
sha256 = "11kbh0mxbdfh7s5azqin3i2alic5ihmdfj0jwgnrhlpjk4cbf9rn";
};
nativeBuildInputs = [
cmake
wrapQtAppsHook
];
cmakeFlags = [
"-DCMAKE_INSTALL_PREFIX=${placeholder "out"}"
"-DCSXCAD_ROOT_DIR=${csxcad}"
"-DENABLE_RPATH=OFF"
];
buildInputs = [
csxcad
tinyxml
vtkWithQt5
qtbase
];
enableParallelBuilding = true;
meta = with stdenv.lib; {
description = "Qt library for CSXCAD";
homepage = "https://github.com/thliebig/QCSXCAD";
license = licenses.gpl3;
maintainers = with maintainers; [ matthuszagh ];
platforms = platforms.linux;
};
}

View File

@ -4,7 +4,6 @@ buildGoModule rec {
pname = "git-bug";
version = "0.7.1"; # the `rev` below pins the version of the source to get
rev = "2d64b85db71a17ff3277bbbf7ac9d8e81f8e416c";
goPackagePath = "github.com/MichaelMure/git-bug";
src = fetchFromGitHub {
inherit rev;
@ -19,9 +18,9 @@ buildGoModule rec {
buildFlagsArray = ''
-ldflags=
-X ${goPackagePath}/commands.GitCommit=${rev}
-X ${goPackagePath}/commands.GitLastTag=${version}
-X ${goPackagePath}/commands.GitExactTag=${version}
-X github.com/MichaelMure/git-bug/commands.GitCommit=${rev}
-X github.com/MichaelMure/git-bug/commands.GitLastTag=${version}
-X github.com/MichaelMure/git-bug/commands.GitExactTag=${version}
'';
postInstall = ''

View File

@ -1,13 +1,13 @@
{
"version": "13.0.9",
"repo_hash": "0rzby1q4vy59cs9ghnx29f6gflmz9114yh5yia0kdikiyky95rsx",
"version": "13.0.12",
"repo_hash": "0m9pn1alxdib9ppf878wf186bvn0llik7vcpqijzcdzc18q9cldq",
"owner": "gitlab-org",
"repo": "gitlab",
"rev": "v13.0.9-ee",
"rev": "v13.0.12-ee",
"passthru": {
"GITALY_SERVER_VERSION": "13.0.9",
"GITALY_SERVER_VERSION": "13.0.12",
"GITLAB_PAGES_VERSION": "1.18.0",
"GITLAB_SHELL_VERSION": "13.2.0",
"GITLAB_WORKHORSE_VERSION": "8.31.2"
}
}
}

View File

@ -19,14 +19,14 @@ let
};
};
in buildGoPackage rec {
version = "13.0.9";
version = "13.0.12";
pname = "gitaly";
src = fetchFromGitLab {
owner = "gitlab-org";
repo = "gitaly";
rev = "v${version}";
sha256 = "0bw3g1c3ji78grh6fs4qq64hq1s4z2da5f18zbkac41hkkqbf1in";
sha256 = "00jzrib8f51b3wkl0zy9a9cr5j9kp6cmm49vxm27zgxpyz8k1axw";
};
# Fix a check which assumes that hook files are writeable by their

View File

@ -0,0 +1,275 @@
--- a/lib/redmine/scm/adapters/mercurial/redminehelper.py
+++ b/lib/redmine/scm/adapters/mercurial/redminehelper.py
@@ -45,17 +45,20 @@ Output example of rhmanifest::
</repository>
</rhmanifest>
"""
-import re, time, cgi, urllib
+import re, time, html, urllib
from mercurial import cmdutil, commands, node, error, hg, registrar
cmdtable = {}
command = registrar.command(cmdtable) if hasattr(registrar, 'command') else cmdutil.command(cmdtable)
-_x = cgi.escape
-_u = lambda s: cgi.escape(urllib.quote(s))
+_x = lambda s: html.escape(s.decode('utf-8')).encode('utf-8')
+_u = lambda s: html.escape(urllib.parse.quote(s)).encode('utf-8')
+
+def unquoteplus(*args, **kwargs):
+ return urllib.parse.unquote_to_bytes(*args, **kwargs).replace(b'+', b' ')
def _changectx(repo, rev):
- if isinstance(rev, str):
+ if isinstance(rev, bytes):
rev = repo.lookup(rev)
if hasattr(repo, 'changectx'):
return repo.changectx(rev)
@@ -70,10 +73,10 @@ def _tip(ui, repo):
except TypeError: # Mercurial < 1.1
return repo.changelog.count() - 1
tipctx = _changectx(repo, tiprev())
- ui.write('<tip revision="%d" node="%s"/>\n'
+ ui.write(b'<tip revision="%d" node="%s"/>\n'
% (tipctx.rev(), _x(node.hex(tipctx.node()))))
-_SPECIAL_TAGS = ('tip',)
+_SPECIAL_TAGS = (b'tip',)
def _tags(ui, repo):
# see mercurial/commands.py:tags
@@ -84,7 +87,7 @@ def _tags(ui, repo):
r = repo.changelog.rev(n)
except error.LookupError:
continue
- ui.write('<tag revision="%d" node="%s" name="%s"/>\n'
+ ui.write(b'<tag revision="%d" node="%s" name="%s"/>\n'
% (r, _x(node.hex(n)), _x(t)))
def _branches(ui, repo):
@@ -104,136 +107,148 @@ def _branches(ui, repo):
return repo.branchheads(branch)
def lookup(rev, n):
try:
- return repo.lookup(rev)
+ return repo.lookup(str(rev).encode('utf-8'))
except RuntimeError:
return n
for t, n, r in sorted(iterbranches(), key=lambda e: e[2], reverse=True):
if lookup(r, n) in branchheads(t):
- ui.write('<branch revision="%d" node="%s" name="%s"/>\n'
+ ui.write(b'<branch revision="%d" node="%s" name="%s"/>\n'
% (r, _x(node.hex(n)), _x(t)))
def _manifest(ui, repo, path, rev):
ctx = _changectx(repo, rev)
- ui.write('<manifest revision="%d" path="%s">\n'
+ ui.write(b'<manifest revision="%d" path="%s">\n'
% (ctx.rev(), _u(path)))
known = set()
- pathprefix = (path.rstrip('/') + '/').lstrip('/')
+ pathprefix = (path.decode('utf-8').rstrip('/') + '/').lstrip('/')
for f, n in sorted(ctx.manifest().iteritems(), key=lambda e: e[0]):
- if not f.startswith(pathprefix):
+ fstr = f.decode('utf-8')
+ if not fstr.startswith(pathprefix):
continue
- name = re.sub(r'/.*', '/', f[len(pathprefix):])
+ name = re.sub(r'/.*', '/', fstr[len(pathprefix):])
if name in known:
continue
known.add(name)
if name.endswith('/'):
- ui.write('<dir name="%s"/>\n'
+ ui.write(b'<dir name="%s"/>\n'
% _x(urllib.quote(name[:-1])))
else:
fctx = repo.filectx(f, fileid=n)
tm, tzoffset = fctx.date()
- ui.write('<file name="%s" revision="%d" node="%s" '
- 'time="%d" size="%d"/>\n'
+ ui.write(b'<file name="%s" revision="%d" node="%s" '
+ b'time="%d" size="%d"/>\n'
% (_u(name), fctx.rev(), _x(node.hex(fctx.node())),
tm, fctx.size(), ))
- ui.write('</manifest>\n')
+ ui.write(b'</manifest>\n')
-@command('rhannotate',
- [('r', 'rev', '', 'revision'),
- ('u', 'user', None, 'list the author (long with -v)'),
- ('n', 'number', None, 'list the revision number (default)'),
- ('c', 'changeset', None, 'list the changeset'),
+@command(b'rhannotate',
+ [(b'r', b'rev', b'', b'revision'),
+ (b'u', b'user', None, b'list the author (long with -v)'),
+ (b'n', b'number', None, b'list the revision number (default)'),
+ (b'c', b'changeset', None, b'list the changeset'),
],
- 'hg rhannotate [-r REV] [-u] [-n] [-c] FILE...')
+ b'hg rhannotate [-r REV] [-u] [-n] [-c] FILE...')
def rhannotate(ui, repo, *pats, **opts):
- rev = urllib.unquote_plus(opts.pop('rev', None))
+ rev = unquoteplus(opts.pop('rev', b''))
opts['rev'] = rev
- return commands.annotate(ui, repo, *map(urllib.unquote_plus, pats), **opts)
+ return commands.annotate(ui, repo, *map(unquoteplus, pats), **opts)
-@command('rhcat',
- [('r', 'rev', '', 'revision')],
- 'hg rhcat ([-r REV] ...) FILE...')
+@command(b'rhcat',
+ [(b'r', b'rev', b'', b'revision')],
+ b'hg rhcat ([-r REV] ...) FILE...')
def rhcat(ui, repo, file1, *pats, **opts):
- rev = urllib.unquote_plus(opts.pop('rev', None))
+ rev = unquoteplus(opts.pop('rev', b''))
opts['rev'] = rev
- return commands.cat(ui, repo, urllib.unquote_plus(file1), *map(urllib.unquote_plus, pats), **opts)
+ return commands.cat(ui, repo, unquoteplus(file1), *map(unquoteplus, pats), **opts)
-@command('rhdiff',
- [('r', 'rev', [], 'revision'),
- ('c', 'change', '', 'change made by revision')],
- 'hg rhdiff ([-c REV] | [-r REV] ...) [FILE]...')
+@command(b'rhdiff',
+ [(b'r', b'rev', [], b'revision'),
+ (b'c', b'change', b'', b'change made by revision')],
+ b'hg rhdiff ([-c REV] | [-r REV] ...) [FILE]...')
def rhdiff(ui, repo, *pats, **opts):
"""diff repository (or selected files)"""
change = opts.pop('change', None)
if change: # add -c option for Mercurial<1.1
base = _changectx(repo, change).parents()[0].rev()
- opts['rev'] = [str(base), change]
+ opts['rev'] = [base, change]
opts['nodates'] = True
- return commands.diff(ui, repo, *map(urllib.unquote_plus, pats), **opts)
-
-@command('rhlog',
- [
- ('r', 'rev', [], 'show the specified revision'),
- ('b', 'branch', [],
- 'show changesets within the given named branch'),
- ('l', 'limit', '',
- 'limit number of changes displayed'),
- ('d', 'date', '',
- 'show revisions matching date spec'),
- ('u', 'user', [],
- 'revisions committed by user'),
- ('', 'from', '',
- ''),
- ('', 'to', '',
- ''),
- ('', 'rhbranch', '',
- ''),
- ('', 'template', '',
- 'display with template')],
- 'hg rhlog [OPTION]... [FILE]')
+ return commands.diff(ui, repo, *map(unquoteplus, pats), **opts)
+
+@command(b'rhlog',
+ [
+ (b'r', b'rev', [], b'show the specified revision'),
+ (b'b', b'branch', [],
+ b'show changesets within the given named branch'),
+ (b'l', b'limit', b'',
+ b'limit number of changes displayed'),
+ (b'd', b'date', b'',
+ b'show revisions matching date spec'),
+ (b'u', b'user', [],
+ b'revisions committed by user'),
+ (b'', b'from', b'',
+ b''),
+ (b'', b'to', b'',
+ b''),
+ (b'', b'rhbranch', b'',
+ b''),
+ (b'', b'template', b'',
+ b'display with template')],
+ b'hg rhlog [OPTION]... [FILE]')
+
def rhlog(ui, repo, *pats, **opts):
rev = opts.pop('rev')
bra0 = opts.pop('branch')
- from_rev = urllib.unquote_plus(opts.pop('from', None))
- to_rev = urllib.unquote_plus(opts.pop('to' , None))
- bra = urllib.unquote_plus(opts.pop('rhbranch', None))
- from_rev = from_rev.replace('"', '\\"')
- to_rev = to_rev.replace('"', '\\"')
- if hg.util.version() >= '1.6':
- opts['rev'] = ['"%s":"%s"' % (from_rev, to_rev)]
+ from_rev = unquoteplus(opts.pop('from', b''))
+ to_rev = unquoteplus(opts.pop('to' , b''))
+ bra = unquoteplus(opts.pop('rhbranch', b''))
+ from_rev = from_rev.replace(b'"', b'\\"')
+ to_rev = to_rev.replace(b'"', b'\\"')
+ if (from_rev != b'') or (to_rev != b''):
+ if from_rev != b'':
+ quotefrom = b'"%s"' % (from_rev)
+ else:
+ quotefrom = from_rev
+ if to_rev != b'':
+ quoteto = b'"%s"' % (to_rev)
+ else:
+ quoteto = to_rev
+ opts['rev'] = [b'%s:%s' % (quotefrom, quoteto)]
else:
- opts['rev'] = ['%s:%s' % (from_rev, to_rev)]
- opts['branch'] = [bra]
- return commands.log(ui, repo, *map(urllib.unquote_plus, pats), **opts)
-
-@command('rhmanifest',
- [('r', 'rev', '', 'show the specified revision')],
- 'hg rhmanifest [-r REV] [PATH]')
-def rhmanifest(ui, repo, path='', **opts):
+ opts['rev'] = rev
+ if (bra != b''):
+ opts['branch'] = [bra]
+ return commands.log(ui, repo, *map(unquoteplus, pats), **opts)
+
+
+@command(b'rhmanifest',
+ [(b'r', b'rev', b'', b'show the specified revision')],
+ b'hg rhmanifest -r REV [PATH]')
+def rhmanifest(ui, repo, path=b'', **opts):
"""output the sub-manifest of the specified directory"""
- ui.write('<?xml version="1.0"?>\n')
- ui.write('<rhmanifest>\n')
- ui.write('<repository root="%s">\n' % _u(repo.root))
+ ui.write(b'<?xml version="1.0"?>\n')
+ ui.write(b'<rhmanifest>\n')
+ ui.write(b'<repository root="%s">\n' % _u(repo.root))
try:
- _manifest(ui, repo, urllib.unquote_plus(path), urllib.unquote_plus(opts.get('rev')))
+ _manifest(ui, repo, unquoteplus(path), unquoteplus(opts.get('rev')))
finally:
- ui.write('</repository>\n')
- ui.write('</rhmanifest>\n')
+ ui.write(b'</repository>\n')
+ ui.write(b'</rhmanifest>\n')
-@command('rhsummary',[], 'hg rhsummary')
+@command(b'rhsummary',[], b'hg rhsummary')
def rhsummary(ui, repo, **opts):
"""output the summary of the repository"""
- ui.write('<?xml version="1.0"?>\n')
- ui.write('<rhsummary>\n')
- ui.write('<repository root="%s">\n' % _u(repo.root))
+ ui.write(b'<?xml version="1.0"?>\n')
+ ui.write(b'<rhsummary>\n')
+ ui.write(b'<repository root="%s">\n' % _u(repo.root))
try:
_tip(ui, repo)
_tags(ui, repo)
_branches(ui, repo)
# TODO: bookmarks in core (Mercurial>=1.8)
finally:
- ui.write('</repository>\n')
- ui.write('</rhsummary>\n')
+ ui.write(b'</repository>\n')
+ ui.write(b'</rhsummary>\n')

View File

@ -21,6 +21,10 @@ in
buildInputs = [ rubyEnv rubyEnv.wrappedRuby rubyEnv.bundler ];
# taken from https://www.redmine.org/issues/33784
# can be dropped when the upstream bug is closed and the fix is present in the upstream release
patches = [ ./0001-python3.patch ];
buildPhase = ''
mv config config.dist
mv public/themes public/themes.dist

View File

@ -9,11 +9,10 @@ let
buildWorker = src: buildGoModule {
inherit src version;
pname = "builds-sr-ht-worker";
goPackagePath = "git.sr.ht/~sircmpwn/builds.sr.ht/worker";
vendorSha256 = "0prdlihcy5yz760llwyby747yy2981dn3gy401a48df7ndlfj6lp";
vendorSha256 = "0prdlihcy5yz760llwyby747yy2981dn3gy401a48df7ndlfj6lp";
doCheck = false;
doCheck = false;
};
in buildPythonPackage rec {
inherit version;

View File

@ -9,41 +9,37 @@ let
buildShell = src: buildGoModule {
inherit src version;
pname = "gitsrht-shell";
goPackagePath = "git.sr.ht/~sircmpwn/git.sr.ht/gitsrht-shell";
vendorSha256 = "1zvbqn4r940mibn4h1cqz94gbr476scm281ps361n0rfqlimw8g5";
vendorSha256 = "1zvbqn4r940mibn4h1cqz94gbr476scm281ps361n0rfqlimw8g5";
doCheck = false;
doCheck = false;
};
buildDispatcher = src: buildGoModule {
inherit src version;
pname = "gitsrht-dispatcher";
goPackagePath = "git.sr.ht/~sircmpwn/git.sr.ht/gitsrht-dispatch";
vendorSha256 = "1lzkf13m54pq0gnn3bcxc80nfg76hgck4l8q8jpaicrsiwgcyrd9";
vendorSha256 = "1lzkf13m54pq0gnn3bcxc80nfg76hgck4l8q8jpaicrsiwgcyrd9";
doCheck = false;
doCheck = false;
};
buildKeys = src: buildGoModule {
inherit src version;
pname = "gitsrht-keys";
goPackagePath = "git.sr.ht/~sircmpwn/git.sr.ht/gitsrht-keys";
vendorSha256 = "16j7kpar318s4766pln8xn6d51xqblwig5n1jywhj0sl80qjl5cv";
vendorSha256 = "16j7kpar318s4766pln8xn6d51xqblwig5n1jywhj0sl80qjl5cv";
doCheck = false;
doCheck = false;
};
buildUpdateHook = src: buildGoModule {
inherit src version;
pname = "gitsrht-update-hook";
goPackagePath = "git.sr.ht/~sircmpwn/git.sr.ht/gitsrht-update-hook";
vendorSha256 = "1rmv3p60g6w4h4v9wx99jkyx0q02snslyjrjy9n1flardjs01b63";
vendorSha256 = "1rmv3p60g6w4h4v9wx99jkyx0q02snslyjrjy9n1flardjs01b63";
doCheck = false;
doCheck = false;
};
in buildPythonPackage rec {
inherit version;

View File

@ -1,9 +1,10 @@
{ stdenv, qemu }:
{ stdenv, installShellFiles, qemu }:
stdenv.mkDerivation rec {
name = "qemu-utils-${version}";
version = qemu.version;
nativeBuildInputs = [ installShellFiles ];
buildInputs = [ qemu ];
unpackPhase = "true";
@ -12,6 +13,9 @@ stdenv.mkDerivation rec {
cp "${qemu}/bin/qemu-img" "$out/bin/qemu-img"
cp "${qemu}/bin/qemu-io" "$out/bin/qemu-io"
cp "${qemu}/bin/qemu-nbd" "$out/bin/qemu-nbd"
installManPage ${qemu}/share/man/man1/qemu-img.1.gz
installManPage ${qemu}/share/man/man8/qemu-nbd.8.gz
'';
inherit (qemu) meta;

View File

@ -8,6 +8,7 @@
{ name ? ""
, stdenvNoCC
, cc ? null, libc ? null, bintools, coreutils ? null, shell ? stdenvNoCC.shell
, gccForLibs ? null
, zlib ? null
, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? ""
, propagateDoc ? cc != null && cc ? man
@ -262,11 +263,11 @@ stdenv.mkDerivation {
##
## GCC libs for non-GCC support
##
+ optionalString (isClang && libcxx == null && cc ? gcc) ''
+ optionalString (isClang && libcxx == null && !(stdenv.targetPlatform.useLLVM or false) && gccForLibs != null) ''
echo "-B${cc.gcc}/lib/gcc/${targetPlatform.config}/${cc.gcc.version}" >> $out/nix-support/cc-cflags
echo "-L${cc.gcc}/lib/gcc/${targetPlatform.config}/${cc.gcc.version}" >> $out/nix-support/cc-ldflags
echo "-L${cc.gcc.lib}/${targetPlatform.config}/lib" >> $out/nix-support/cc-ldflags
echo "-B${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-cflags
echo "-L${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-ldflags
echo "-L${gccForLibs.lib}/${targetPlatform.config}/lib" >> $out/nix-support/cc-ldflags
''
##
@ -306,14 +307,15 @@ stdenv.mkDerivation {
# We have a libc++ directly, we have one via "smuggled" GCC, or we have one
# bundled with the C compiler because it is GCC
+ optionalString (libcxx != null || cc.gcc.langCC or false || (isGNU && cc.langCC or false)) ''
+ optionalString (libcxx != null || (isClang && !(stdenv.targetPlatform.useLLVM or false) && gccForLibs.langCC or false) || (isGNU && cc.langCC or false)) ''
touch "$out/nix-support/libcxx-cxxflags"
touch "$out/nix-support/libcxx-ldflags"
'' + optionalString (libcxx == null && cc ? gcc) ''
for dir in ${cc.gcc}/include/c++/*; do
''
+ optionalString (libcxx == null && (isClang && !(stdenv.targetPlatform.useLLVM or false) && gccForLibs.langCC or false)) ''
for dir in ${gccForLibs}/include/c++/*; do
echo "-isystem $dir" >> $out/nix-support/libcxx-cxxflags
done
for dir in ${cc.gcc}/include/c++/*/${targetPlatform.config}; do
for dir in ${gccForLibs}/include/c++/*/${targetPlatform.config}; do
echo "-isystem $dir" >> $out/nix-support/libcxx-cxxflags
done
''

View File

@ -1,11 +1,11 @@
{ stdenv, fetchzip }:
let
version = "20200407";
version = "20200729";
in fetchzip {
name = "iana-etc-${version}";
url = "https://github.com/Mic92/iana-etc/releases/download/${version}/iana-etc-${version}.tar.gz";
sha256 = "1zmqim0l4lz5xbq7w2wi48fzsvg2msyw6c80dzw4vxll31frpy18";
sha256 = "05cymmisfvpyd7fwzc6axvm5fsi1v6hzs0pjr4xp1i95wvpz7qpm";
postFetch = ''
tar -xzvf $downloadedFile --strip-components=1

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "spdx-license-list-data";
version = "3.9";
version = "3.10";
src = fetchFromGitHub {
owner = "spdx";
repo = "license-list-data";
rev = "v${version}";
sha256 = "0qf0g7a3jby8sngdjdic30xrb6ch56d6gzpphs8lkm6giir142rj";
sha256 = "1zza0jrs82112dcjqgkyck2b7hv4kg9s10pmlripi6c1rs37av14";
};
phases = [ "unpackPhase" "installPhase" ];

View File

@ -37,8 +37,6 @@ stdenv.mkDerivation rec {
passthru = {
isClang = true;
} // stdenv.lib.optionalAttrs (stdenv.targetPlatform.isLinux || (stdenv.cc.isGNU && stdenv.cc.cc ? gcc)) {
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
};
meta = with stdenv.lib; {

View File

@ -1,9 +1,7 @@
{ emscriptenVersion, stdenv, fetchFromGitHub, cmake, python, gtest, ... }:
{ emscriptenVersion, stdenv, fetchFromGitHub, cmake, python, gtest, gccForLibs, ... }:
let
rev = emscriptenVersion;
haveGcc = stdenv.cc.isGNU || stdenv.cc.cc ? gcc;
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
in
stdenv.mkDerivation rec {
name = "emscripten-fastcomp-${rev}";
@ -35,16 +33,14 @@ stdenv.mkDerivation rec {
#"-DLLVM_CONFIG=${llvm}/bin/llvm-config"
"-DLLVM_BUILD_TESTS=ON"
"-DCLANG_INCLUDE_TESTS=ON"
] ++ (stdenv.lib.optional (stdenv.isLinux && haveGcc)
] ++ (stdenv.lib.optional stdenv.isLinux
# necessary for clang to find crtend.o
"-DGCC_INSTALL_PREFIX=${gcc}"
"-DGCC_INSTALL_PREFIX=${gccForLibs}"
);
enableParallelBuilding = true;
passthru = {
isClang = true;
} // stdenv.lib.optionalAttrs haveGcc {
inherit gcc;
};
meta = with stdenv.lib; {

View File

@ -87,8 +87,6 @@ let
passthru = {
isClang = true;
inherit llvm;
} // stdenv.lib.optionalAttrs (stdenv.targetPlatform.isLinux || (stdenv.cc.isGNU && stdenv.cc.cc ? gcc)) {
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
};
meta = {

View File

@ -1,5 +1,6 @@
{ lowPrio, newScope, pkgs, stdenv, cmake
{ lowPrio, newScope, pkgs, stdenv, cmake, gccForLibs
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildPackages
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
}:
@ -24,8 +25,8 @@ let
ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
'';
in {
@ -59,7 +60,8 @@ let
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
libcxx = null; # libstdcxx is smuggled in with clang.gcc
# libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper.
libcxx = null;
extraPackages = [
targetLlvmLibraries.compiler-rt
];

View File

@ -4,7 +4,6 @@
}:
let
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
self = stdenv.mkDerivation ({
pname = "clang";
inherit version;
@ -78,8 +77,6 @@ let
passthru = {
isClang = true;
inherit llvm;
} // stdenv.lib.optionalAttrs stdenv.isLinux {
inherit gcc;
};
meta = {

View File

@ -1,5 +1,6 @@
{ lowPrio, newScope, pkgs, stdenv, cmake
{ lowPrio, newScope, pkgs, stdenv, cmake, gccForLibs
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith
, buildPackages
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
}:
@ -24,8 +25,8 @@ let
ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
'';
in {
@ -51,7 +52,8 @@ let
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
libcxx = null; # libstdcxx is smuggled in with clang.gcc
# libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper.
libcxx = null;
extraPackages = [
targetLlvmLibraries.compiler-rt
];

View File

@ -4,7 +4,6 @@
}:
let
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
self = stdenv.mkDerivation ({
pname = "clang";
inherit version;
@ -78,8 +77,6 @@ let
passthru = {
isClang = true;
inherit llvm;
} // stdenv.lib.optionalAttrs stdenv.targetPlatform.isLinux {
inherit gcc;
};
meta = {

View File

@ -1,5 +1,6 @@
{ lowPrio, newScope, pkgs, stdenv, cmake
{ lowPrio, newScope, pkgs, stdenv, cmake, gccForLibs
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith
, buildPackages
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
}:
@ -24,8 +25,8 @@ let
ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
'';
in {
@ -51,7 +52,8 @@ let
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
libcxx = null; # libstdcxx is smuggled in with clang.gcc
# libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper.
libcxx = null;
extraPackages = [
targetLlvmLibraries.compiler-rt
];

View File

@ -88,8 +88,6 @@ let
passthru = {
isClang = true;
inherit llvm;
} // stdenv.lib.optionalAttrs (stdenv.targetPlatform.isLinux || (stdenv.cc.isGNU && stdenv.cc.cc ? gcc)) {
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
};
meta = {

View File

@ -1,5 +1,6 @@
{ lowPrio, newScope, pkgs, stdenv, cmake
{ lowPrio, newScope, pkgs, stdenv, cmake, gccForLibs
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildPackages
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
}:
@ -24,8 +25,8 @@ let
ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
'';
in {
@ -58,7 +59,8 @@ let
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
libcxx = null; # libstdcxx is smuggled in with clang.gcc
# libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper.
libcxx = null;
extraPackages = [
targetLlvmLibraries.compiler-rt
];

View File

@ -98,8 +98,6 @@ let
passthru = {
isClang = true;
inherit llvm;
} // stdenv.lib.optionalAttrs (stdenv.targetPlatform.isLinux || (stdenv.cc.isGNU && stdenv.cc.cc ? gcc)) {
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
};
meta = {

View File

@ -1,5 +1,6 @@
{ lowPrio, newScope, pkgs, stdenv, cmake
{ lowPrio, newScope, pkgs, stdenv, cmake, gccForLibs
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildPackages
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
}:
@ -24,8 +25,8 @@ let
ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
'';
in {
@ -59,7 +60,8 @@ let
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
libcxx = null; # libstdcxx is smuggled in with clang.gcc
# libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper.
libcxx = null;
extraPackages = [
targetLlvmLibraries.compiler-rt
];

View File

@ -93,8 +93,6 @@ let
passthru = {
isClang = true;
inherit llvm;
} // stdenv.lib.optionalAttrs (stdenv.targetPlatform.isLinux || (stdenv.cc.isGNU && stdenv.cc.cc ? gcc)) {
gcc = if stdenv.cc.isGNU then stdenv.cc.cc else stdenv.cc.cc.gcc;
};
meta = {

View File

@ -1,5 +1,6 @@
{ lowPrio, newScope, pkgs, stdenv, cmake
{ lowPrio, newScope, pkgs, stdenv, cmake, gccForLibs
, libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildPackages
, buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next stage, for cross
}:
@ -24,8 +25,8 @@ let
ln -s "${cc}/lib/clang/${release_version}/include" "$rsrc"
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
'';
in {
@ -59,7 +60,8 @@ let
libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped;
libcxx = null; # libstdcxx is smuggled in with clang.gcc
# libstdcxx is taken from gcc in an ad-hoc way in cc-wrapper.
libcxx = null;
extraPackages = [
targetLlvmLibraries.compiler-rt
];

View File

@ -2,6 +2,7 @@
, cmake
, coreutils
, glibc
, gccForLibs
, which
, perl
, libedit
@ -121,7 +122,7 @@ let
cmakeFlags = [
"-DGLIBC_INCLUDE_PATH=${stdenv.cc.libc.dev}/include"
"-DC_INCLUDE_DIRS=${stdenv.lib.makeSearchPathOutput "dev" "include" devInputs}:${libxml2.dev}/include/libxml2"
"-DGCC_INSTALL_PREFIX=${clang.cc.gcc}"
"-DGCC_INSTALL_PREFIX=${gccForLibs}"
];
in
@ -199,7 +200,7 @@ stdenv.mkDerivation {
substituteInPlace swift/stdlib/public/Platform/CMakeLists.txt \
--replace '/usr/include' "${stdenv.cc.libc.dev}/include"
substituteInPlace swift/utils/build-script-impl \
--replace '/usr/include/c++' "${clang.cc.gcc}/include/c++"
--replace '/usr/include/c++' "${gccForLibs}/include/c++"
patch -p1 -d swift -i ${./patches/glibc-arch-headers.patch}
patch -p1 -d swift -i ${./patches/0001-build-presets-linux-don-t-require-using-Ninja.patch}
patch -p1 -d swift -i ${./patches/0002-build-presets-linux-allow-custom-install-prefix.patch}
@ -264,7 +265,7 @@ stdenv.mkDerivation {
export NIX_CFLAGS_COMPILE="$(< ${clang}/nix-support/libcxx-cxxflags) $NIX_CFLAGS_COMPILE"
# During the Swift build, a full local LLVM build is performed and the resulting clang is invoked.
# This compiler is not using the Nix wrappers, so it needs some help to find things.
export NIX_LDFLAGS_BEFORE="-rpath ${clang.cc.gcc.lib}/lib -L${clang.cc.gcc.lib}/lib $NIX_LDFLAGS_BEFORE"
export NIX_LDFLAGS_BEFORE="-rpath ${gccForLibs.lib}/lib -L${gccForLibs.lib}/lib $NIX_LDFLAGS_BEFORE"
# However, we want to use the wrapped compiler whenever possible.
export CC="${clang}/bin/clang"

View File

@ -4,11 +4,11 @@
, swingSupport ? true }:
let
version = "8.28.0.1";
openjdk = "8.0.163";
version = "8.48.0.53";
openjdk = "8.0.265";
sha256_linux = "1z8s3a948nvv92wybnhkyr27ipibcy45k0zv5h5gp37ynd91df45";
sha256_darwin = "0i0prjijsgg0yyycplpp9rlfl428126rqz7bb31pchrhi6jhk699";
sha256_linux = "ed32513524b32a83b3b388831c69d1884df5675bd5069c6d1485fd1a060be209";
sha256_darwin = "36f189bfbd0255195848835819377474ba9c1c868e3c204633c451c96e21f30a";
platform = if stdenv.isDarwin then "macosx" else "linux";
hash = if stdenv.isDarwin then sha256_darwin else sha256_linux;
@ -29,7 +29,7 @@ in stdenv.mkDerivation {
pname = "zulu";
src = fetchurl {
url = "https://cdn.azul.com/zulu/bin/zulu${version}-jdk${openjdk}-${platform}_x64.${extension}";
url = "https://cdn.azul.com/zulu/bin/zulu${version}-ca-jdk${openjdk}-${platform}_x64.${extension}";
sha256 = hash;
};

View File

@ -4,11 +4,11 @@
, swingSupport ? true }:
let
version = "10.1+11";
openjdk = "10";
version = "11.41.23";
openjdk = "11.0.8";
sha256_linux = "0g51n2zc7inal29n5ly3mrrfj15c7vl87zb6b2r1q67n4mnbrgm8";
sha256_darwin = "1c5ib136nv6gz7ij31mg15nhzrl6zr7kp8spm17zwm1ib82bc73y";
sha256_linux = "f8aee4ab30ca11ab3c8f401477df0e455a9d6b06f2710b2d1b1ddcf06067bc79";
sha256_darwin = "643c6648cc4374f39e830e4fcb3d68f8667893d487c07eb7091df65937025cc3";
platform = if stdenv.isDarwin then "macosx" else "linux";
hash = if stdenv.isDarwin then sha256_darwin else sha256_linux;
@ -29,7 +29,7 @@ in stdenv.mkDerivation {
pname = "zulu";
src = fetchurl {
url = "https://cdn.azul.com/zulu/bin/zulu${version}-jdk${openjdk}-${platform}_x64.${extension}";
url = "https://cdn.azul.com/zulu/bin/zulu${version}-ca-jdk${openjdk}-${platform}_x64.${extension}";
sha256 = hash;
};

View File

@ -2,9 +2,14 @@
let params = {
"8.11" = rec {
version = "1.4.1";
version = "1.5.0";
rev = "v${version}";
sha256 = "12jwldcianai62y9jnghsjfya5dj6fvc6ilf37c7w037kylx45sd";
sha256 = "0dlw869j6ib58i8fhbr7x3hq2cy088arihhfanv8i08djqml6g8x";
};
"8.12" = rec {
version = "1.5.1";
rev = "v${version}";
sha256 = "1znjc8c8rivsawmz5bgm9ddl69p62p2pwxphvpap1gfmi5cp8lwi";
};
};
param = params.${coq.coq-version};

View File

@ -2,14 +2,15 @@
let
versions = {
"0.9.1" = {
rev = "v0.9.1";
sha256 = "00fibahkmvisr16ffaxfrc00gcijsv9rgk4v8ibmy1jv0iyk875b";
"0.10.0" = {
rev = "v0.10.0";
sha256 = "1a3vry9nzavrlrdlq3cys3f8kpq3bz447q8c4c7lh2qal61wb32h";
};
};
version = x: versions.${x} // {version = x;};
params = {
"8.11" = version "0.9.1";
"8.11" = version "0.10.0";
"8.12" = version "0.10.0";
};
param = params.${coq.coq-version};
in

View File

@ -2,16 +2,16 @@
rustPlatform.buildRustPackage rec {
pname = "evcxr";
version = "0.5.2";
version = "0.5.3";
src = fetchFromGitHub {
owner = "google";
repo = "evcxr";
rev = "v${version}";
sha256 = "09xziv2vmjd30yy095l3n33v9vdkbbkyjdcc5azyd76m2fk9vi42";
sha256 = "144xqi19d2nj9qgmhpx6d1kfhx9vfkmk7rnq6nzybpx4mbbl3ki2";
};
cargoSha256 = "1cdj5qh3z4bnz2267s83chw6n1kg9zl1hrawkis5rr9vq7llrb24";
cargoSha256 = "07lzxh0wh6azrlzfaacg29zmkn8jdnkdqbwgd5ajy79y8nii3c7z";
nativeBuildInputs = [ pkgconfig makeWrapper cmake ];
buildInputs = stdenv.lib.optional stdenv.isDarwin Security;

View File

@ -1,10 +1,10 @@
{ self, callPackage, lib }:
callPackage ./default.nix {
inherit self;
version = "2.0.5-2020-03-20";
rev = "e613105";
version = "2.0.5-2020-08-05";
rev = "2211f6f";
isStable = true;
sha256 = "0k843z90s4hi0qhri6ixy8sv21nig8jwbznpqgqg845ji530kqj7";
sha256 = "01adxmknq2xyb3w9sn8ilnar8181h7ksd9i80yrsbwzix5lwkn6m";
extraMeta = { # this isn't precise but it at least stops the useless Hydra build
platforms = with lib; filter (p: p != "aarch64-linux")
(platforms.linux ++ platforms.darwin);

View File

@ -1,8 +1,8 @@
{ self, callPackage }:
callPackage ./default.nix {
inherit self;
version = "2.1.0-2020-03-20";
rev = "9143e86";
version = "2.1.0-2020-08-05";
rev = "10ddae7";
isStable = false;
sha256 = "1zw1yr0375d6jr5x20zvkvk76hkaqamjynbswpl604w6r6id070b";
sha256 = "1lmjs0gz9vgbhh5f45jvvibpj7f3sz81r8cz4maln9yhc67f2zmk";
}

View File

@ -104,6 +104,6 @@ stdenv.mkDerivation rec {
homepage = "http://luajit.org";
license = licenses.mit;
platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ thoughtpolice smironov vcunat andir ];
maintainers = with maintainers; [ thoughtpolice smironov vcunat andir lblasc ];
} // extraMeta;
}

View File

@ -267,14 +267,6 @@ let
};
};
php72base = callPackage generic (_args // {
version = "7.2.32";
sha256 = "19wqbpvsd6c6iaad00h0m0xnx4r8fj56pwfhki2cw5xdfi10lp3i";
# https://bugs.php.net/bug.php?id=76826
extraPatches = lib.optional stdenv.isDarwin ./php72-darwin-isfinite.patch;
});
php73base = callPackage generic (_args // {
version = "7.3.20";
sha256 = "1pl9bjwvdva2yx4sh465z9cr4bnr8mvv008w71sy1kqsj6a7ivf6";
@ -301,8 +293,7 @@ let
php74 = php74base.withExtensions defaultPhpExtensions;
php73 = php73base.withExtensions defaultPhpExtensionsWithHash;
php72 = php72base.withExtensions defaultPhpExtensionsWithHash;
in {
inherit php72 php73 php74;
inherit php73 php74;
}

View File

@ -1,62 +0,0 @@
diff --git a/Zend/configure.ac b/Zend/configure.ac
index b95c1360b8..fe16c86007 100644
--- a/Zend/configure.ac
+++ b/Zend/configure.ac
@@ -60,7 +60,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
#include <math.h>
#ifndef zend_isnan
-#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISNAN && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
@@ -69,7 +69,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
#endif
#endif
-#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISINF && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
@@ -80,7 +80,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
#define zend_isinf(a) 0
#endif
-#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISFINITE && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_finite(a) isfinite(a)
#elif defined(HAVE_FINITE)
#define zend_finite(a) finite(a)
diff --git a/configure.ac b/configure.ac
index d3f3cacd07..ddbf712ba2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -68,7 +68,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
#include <math.h>
#ifndef zend_isnan
-#if HAVE_DECL_ISNAN && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISNAN && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_isnan(a) isnan(a)
#elif defined(HAVE_FPCLASS)
#define zend_isnan(a) ((fpclass(a) == FP_SNAN) || (fpclass(a) == FP_QNAN))
@@ -77,7 +77,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
#endif
#endif
-#if HAVE_DECL_ISINF && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISINF && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_isinf(a) isinf(a)
#elif defined(INFINITY)
/* Might not work, but is required by ISO C99 */
@@ -88,7 +88,7 @@ int zend_sprintf(char *buffer, const char *format, ...);
#define zend_isinf(a) 0
#endif
-#if HAVE_DECL_ISFINITE && (!defined(__cplusplus) || __cplusplus < 201103L)
+#if HAVE_DECL_ISFINITE && (defined(__APPLE__) || defined(__APPLE_CC__) || !defined(__cplusplus) || __cplusplus < 201103L)
#define zend_finite(a) isfinite(a)
#elif defined(HAVE_FINITE)
#define zend_finite(a) finite(a)

View File

@ -158,10 +158,10 @@ in {
self = pypy27;
sourceVersion = {
major = "7";
minor = "1";
minor = "3";
patch = "1";
};
sha256 = "0yq6ln1ic476sasp8zs4mg5i9524l1p96qwanp486rr1yza1grlg";
sha256 = "08ckkhd0ix6j9873a7gr507c72d4cmnv5lwvprlljdca9i8p2dzs";
pythonVersion = "2.7";
db = db.override { dbmSupport = !stdenv.isDarwin; };
python = python27;
@ -174,10 +174,10 @@ in {
self = pypy36;
sourceVersion = {
major = "7";
minor = "1";
minor = "3";
patch = "1";
};
sha256 = "1hqvnran7d2dzj5555n7q680dyzhmbklz04pvkxgb5j604v7kkx1";
sha256 = "10zsk8jby8j6visk5mzikpb1cidvz27qq4pfpa26jv53klic6b0c";
pythonVersion = "3.6";
db = db.override { dbmSupport = !stdenv.isDarwin; };
python = python27;
@ -191,13 +191,12 @@ in {
self = pythonInterpreters.pypy27_prebuilt;
sourceVersion = {
major = "7";
minor = "1";
minor = "3";
patch = "1";
};
sha256 = "0rlx4x9xy9h989w6sy4h7lknm00956r30c5gjxwsvf8fhvq9xc3k"; # linux64
sha256 = "18xc5kwidj5hjwbr0w8v1nfpg5l4lk01z8cn804zfyyz8xjqhx5y"; # linux64
pythonVersion = "2.7";
inherit passthruFun;
ncurses = ncurses5;
};
pypy36_prebuilt = callPackage ./pypy/prebuilt.nix {
@ -205,13 +204,12 @@ in {
self = pythonInterpreters.pypy36_prebuilt;
sourceVersion = {
major = "7";
minor = "1";
minor = "3";
patch = "1";
};
sha256 = "1c1xx6dm1n4xvh1vd3rcvyyixm5jm9rvzisji1a5bc9l38xzc540"; # linux64
sha256 = "04nv0mkalaliphbjw7y0pmb372bxwjzwmcsqkf9kwsik99kg2z7n"; # linux64
pythonVersion = "3.6";
inherit passthruFun;
ncurses = ncurses5;
};
graalpython37 = callPackage ./graalpython/default.nix {

View File

@ -34,7 +34,7 @@ in with passthru; stdenv.mkDerivation rec {
inherit pname version;
src = fetchurl {
url = "https://bitbucket.org/pypy/pypy/get/release-pypy${pythonVersion}-v${version}.tar.bz2";
url = "https://bitbucket.org/pypy/pypy/downloads/pypy${pythonVersion}-v${version}-src.tar.bz2";
inherit sha256;
};
@ -75,13 +75,6 @@ in with passthru; stdenv.mkDerivation rec {
postPatch = ''
substituteInPlace "lib-python/${if isPy3k then "3/tkinter/tix.py" else "2.7/lib-tk/Tix.py"}" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
# hint pypy to find nix ncurses
substituteInPlace pypy/module/_minimal_curses/fficurses.py \
--replace "/usr/include/ncurses/curses.h" "${ncurses.dev}/include/curses.h" \
--replace "ncurses/curses.h" "${ncurses.dev}/include/curses.h" \
--replace "ncurses/term.h" "${ncurses.dev}/include/term.h" \
--replace "libraries=['curses']" "libraries=['ncurses']"
sed -i "s@libraries=\['sqlite3'\]\$@libraries=['sqlite3'], include_dirs=['${sqlite.dev}/include'], library_dirs=['${sqlite.out}/lib']@" lib_pypy/_sqlite3_build.py
'';
@ -137,7 +130,7 @@ in with passthru; stdenv.mkDerivation rec {
ln -s $out/${executable}-c/${executable}-c $out/bin/${executable}
# other packages expect to find stuff according to libPrefix
ln -s $out/${executable}/include $out/include/${libPrefix}
ln -s $out/${executable}-c/include $out/include/${libPrefix}
ln -s $out/${executable}-c/lib-python/${if isPy3k then "3" else pythonVersion} $out/lib/${libPrefix}
${stdenv.lib.optionalString stdenv.isDarwin ''

View File

@ -8,10 +8,9 @@
, zlib
, openssl_1_0_2
, expat
, libffi
, ncurses
, tcl
, tk
, ncurses6
, tcl-8_5
, tk-8_5
# For the Python package set
, packageOverrides ? (self: super: {})
, sourceVersion
@ -46,10 +45,9 @@ let
zlib
openssl_1_0_2
expat
libffi
ncurses
tcl
tk
ncurses6
tcl-8_5
tk-8_5
];
in with passthru; stdenv.mkDerivation {
@ -66,6 +64,7 @@ in with passthru; stdenv.mkDerivation {
mkdir -p $out/lib
echo "Moving files to $out"
mv -t $out bin include lib-python lib_pypy site-packages
mv lib/libffi.so.6* $out/lib/
mv $out/bin/libpypy*-c.so $out/lib/
@ -78,8 +77,8 @@ in with passthru; stdenv.mkDerivation {
$out/bin/pypy*
pushd $out
find {lib,lib_pypy*} -name "*.so" -exec patchelf --replace-needed "libbz2.so.1.0" "libbz2.so.1" {} \;
find {lib,lib_pypy*} -name "*.so" -exec patchelf --set-rpath ${stdenv.lib.makeLibraryPath deps} {} \;
find {lib,lib_pypy*} -name "*.so" -exec patchelf --remove-needed libncursesw.so.6 --replace-needed libtinfow.so.6 libncursesw.so.6 {} \;
find {lib,lib_pypy*} -name "*.so" -exec patchelf --set-rpath ${stdenv.lib.makeLibraryPath deps}:$out/lib {} \;
echo "Removing bytecode"
find . -name "__pycache__" -type d -depth -exec rm -rf {} \;

View File

@ -1,14 +1,14 @@
{ stdenv, mkDerivation, fetchFromGitHub }:
mkDerivation rec {
version = "compat-2.6.0";
version = "compat-2.6.1";
pname = "agda-prelude";
src = fetchFromGitHub {
owner = "UlfNorell";
repo = "agda-prelude";
rev = version;
sha256 = "0brg61qrf8izqav80qpx77dbdxvlnsxyy0v7hmlrmhg68b5lp38y";
sha256 = "128rbhd32qlq2nq3wgqni4ih58zzwvs9pkn9j8236ycxxp6x81sl";
};
preConfigure = ''
@ -18,15 +18,11 @@ mkDerivation rec {
cd ..
'';
everythingFile = "./Everything.agda";
meta = with stdenv.lib; {
homepage = "https://github.com/UlfNorell/agda-prelude";
description = "Programming library for Agda";
license = stdenv.lib.licenses.mit;
platforms = stdenv.lib.platforms.unix;
# broken since Agda 2.6.1
broken = true;
maintainers = with maintainers; [ mudri alexarice turion ];
};
}

View File

@ -18,13 +18,13 @@
stdenv.mkDerivation rec {
pname = "amdvlk";
version = "2020.Q3.2";
version = "2020.Q3.3";
src = fetchRepoProject {
name = "${pname}-src";
manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
rev = "refs/tags/v-${version}";
sha256 = "1mki4lxy981g1rz9d6w18dv1hf3ldch5gld2vb7injn5ipp6z2y3";
sha256 = "0s5a294gzcz438gmafirk3czrjcahv3imsg41k3vk83x4dbdlhxv";
};
buildInputs = [
@ -78,8 +78,9 @@ stdenv.mkDerivation rec {
meta = with stdenv.lib; {
description = "AMD Open Source Driver For Vulkan";
homepage = "https://github.com/GPUOpen-Drivers/AMDVLK";
changelog = "https://github.com/GPUOpen-Drivers/AMDVLK/releases/tag/v-${version}";
license = licenses.mit;
platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ Flakebi ];
maintainers = with maintainers; [ danieldk Flakebi ];
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "c-blosc";
version = "1.19.0";
version = "1.20.0";
src = fetchFromGitHub {
owner = "Blosc";
repo = "c-blosc";
rev = "v${version}";
sha256 = "03z0wybw7w5yvakn1dzfmn8vz586hbqy2mq1vz1zg15md4x6zvbx";
sha256 = "1rhv9na9cdp2j81a981s2y69c7m9apdiylf9j51dij0lm1m0ljdr";
};
buildInputs = [ cmake ];

View File

@ -98,7 +98,7 @@ stdenv.mkDerivation rec {
(cd ../tests/ && python3 runner.py)
'';
# With cmake we have to enable samples or there won't be
# With CMake we have to enable samples or there won't be
# a tests target. This removes them.
postInstall = ''
( cd "$out/bin"
@ -108,6 +108,14 @@ stdenv.mkDerivation rec {
)
'';
# Fix CMake export paths.
postFixup = ''
sed -i "$dev/lib/cmake/exiv2/exiv2Config.cmake" \
-e "/INTERFACE_INCLUDE_DIRECTORIES/ s@\''${_IMPORT_PREFIX}@$dev@" \
-e "/Compute the installation prefix/ a set(_IMPORT_PREFIX \"$out\")" \
-e "/^get_filename_component(_IMPORT_PREFIX/ d"
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {

View File

@ -1,47 +0,0 @@
{ stdenv, fetchurl, pkgconfig, freetype, expat
}:
stdenv.mkDerivation rec {
name = "fontconfig-2.10.2";
src = fetchurl {
url = "http://fontconfig.org/release/${name}.tar.bz2";
sha256 = "0llraqw86jmw4vzv7inskp3xxm2gc64my08iwq5mzncgfdbfza4f";
};
outputs = [ "bin" "dev" "lib" "out" ]; # $out contains all the config
propagatedBuildInputs = [ freetype ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ expat ];
configureFlags = [
"--with-arch=${stdenv.hostPlatform.parsed.cpu.name}"
"--sysconfdir=/etc"
"--with-cache-dir=/var/cache/fontconfig"
"--disable-docs"
"--with-default-fonts="
] ++ stdenv.lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) [
"--with-arch=${stdenv.hostPlatform.parsed.cpu.name}"
];
enableParallelBuilding = true;
doCheck = true;
# Don't try to write to /var/cache/fontconfig at install time.
installFlags = [ "sysconfdir=$(out)/etc" "fc_cachedir=$(TMPDIR)/dummy" "RUN_FC_CACHE_TEST=false" ];
passthru = {
# Empty for backward compatibility, there was no versioning before 2.11
configVersion = "";
};
meta = with stdenv.lib; {
description = "A library for font customization and configuration";
homepage = "http://fontconfig.org/";
license = licenses.bsd2; # custom but very bsd-like
platforms = platforms.all;
maintainers = [ maintainers.vcunat ];
};
}

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