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> <para>
<link <link
xlink:href="https://software.intel.com/en-us/mkl">Intel 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>
<para> <para>
The Nixpkgs attribute is <literal>mkl</literal>. The Nixpkgs attribute is <literal>mkl</literal>.
</para> </para>
</listitem> </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> </itemizedlist>
<para> <para>
Introduced in <link Introduced in <link
xlink:href="https://github.com/NixOS/nixpkgs/pull/83888">PR xlink:href="https://github.com/NixOS/nixpkgs/pull/83888">PR
#83888</link>, we are able to override the blas and lapack #83888</link>, we are able to override the <literal>blas</literal>
packages to use different implementations, through the and <literal>lapack</literal> packages to use different implementations,
blasProvider and lapackProvider argument. This can be used through the <literal>blasProvider</literal> and
<literal>lapackProvider</literal> argument. This can be used
to select a different provider. BLAS providers will have to select a different provider. BLAS providers will have
symlinks in <literal>$out/lib/libblas.so.3</literal> and symlinks in <literal>$out/lib/libblas.so.3</literal> and
<literal>$out/lib/libcblas.so.3</literal> to their respective <literal>$out/lib/libcblas.so.3</literal> to their respective
BLAS libraries. Likewise, LAPACK providers will have symlinks BLAS libraries. Likewise, LAPACK providers will have symlinks
in <literal>$out/lib/liblapack.so.3</literal> and in <literal>$out/lib/liblapack.so.3</literal> and
<literal>$out/lib/liblapacke.so.3</literal> to their respective <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 LAPACK provider. An overlay can be created to use Intel MKL
that looks like: that looks like:
</para> </para>
@ -216,8 +230,9 @@ self: super:
<para> <para>
This overlay uses Intels MKL library for both BLAS and LAPACK This overlay uses Intels MKL library for both BLAS and LAPACK
interfaces. Note that the same can be accomplished at runtime interfaces. Note that the same can be accomplished at runtime
using <literal>LD_LIBRARY_PATH</literal> of libblas.so.3 and using <literal>LD_LIBRARY_PATH</literal> of
liblapack.so.3. For instance: <literal>libblas.so.3</literal> and
<literal>liblapack.so.3</literal>. For instance:
</para> </para>
<programlisting> <programlisting>
$ LD_LIBRARY_PATH=$(nix-build -A mkl)/lib:$LD_LIBRARY_PATH nix-shell -p octave --run octave $ 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" "js-ghcjs"
"aarch64-genode" "x86_64-genode" "aarch64-genode" "i686-genode" "x86_64-genode"
]; ];
allParsed = map parse.mkSystemFromString all; 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); 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" ]; 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" ]; 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" ]; 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" ]; testcygwin = mseteq cygwin [ "i686-cygwin" "x86_64-cygwin" ];
testdarwin = mseteq darwin [ "x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin" ]; testdarwin = mseteq darwin [ "x86_64-darwin" "i686-darwin" "aarch64-darwin" "armv7a-darwin" ];
testfreebsd = mseteq freebsd [ "i686-freebsd" "x86_64-freebsd" ]; 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" ]; testredox = mseteq redox [ "x86_64-redox" ];
testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */); testgnu = mseteq gnu (linux /* ++ kfreebsd ++ ... */);
testillumos = mseteq illumos [ "x86_64-solaris" ]; testillumos = mseteq illumos [ "x86_64-solaris" ];

View File

@ -7218,6 +7218,16 @@
githubId = 132835; githubId = 132835;
name = "Samuel Dionne-Riel"; 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 = { samuelrivas = {
email = "samuelrivas@gmail.com"; email = "samuelrivas@gmail.com";
github = "samuelrivas"; github = "samuelrivas";
@ -9103,6 +9113,16 @@
email = "zef@zef.me"; email = "zef@zef.me";
name = "Zef Hemel"; 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 = { zfnmxt = {
name = "zfnmxt"; name = "zfnmxt";
email = "zfnmxt@zfnmxt.com"; email = "zfnmxt@zfnmxt.com";

View File

@ -42,6 +42,11 @@
PHP now defaults to PHP 7.4, updated from 7.3. PHP now defaults to PHP 7.4, updated from 7.3.
</para> </para>
</listitem> </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> <listitem>
<para> <para>
Python 3 now defaults to Python 3.8 instead of 3.7. Python 3 now defaults to Python 3.8 instead of 3.7.
@ -525,6 +530,46 @@ systemd.services.nginx.serviceConfig.ReadWritePaths = [ "/var/www" ];
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>. 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> </para>
</listitem> </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> <listitem>
<para> <para>
Radicale's default package has changed from 2.x to 3.x. An upgrade Radicale's default package has changed from 2.x to 3.x. An upgrade
@ -629,6 +674,11 @@ services.postgresql.dataDir = "/var/db/postgresql";
</programlisting> </programlisting>
</para> </para>
</listitem> </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> </itemizedlist>
</section> </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. There are no functional changes, however this may require updating some configurations to use correct types for all attributes.
</para> </para>
</listitem> </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> </itemizedlist>
</section> </section>
</section> </section>

View File

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

View File

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

View File

@ -162,6 +162,45 @@ in
<manvolnum>7</manvolnum></citerefentry>. <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 { appName = mkOption {
@ -200,6 +239,12 @@ in
description = "HTTP listen port."; 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 { cookieSecure = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
@ -300,14 +345,34 @@ in
ROOT = cfg.repositoryRoot; ROOT = cfg.repositoryRoot;
}; };
server = { server = mkMerge [
{
DOMAIN = cfg.domain; DOMAIN = cfg.domain;
HTTP_ADDR = cfg.httpAddress;
HTTP_PORT = cfg.httpPort;
ROOT_URL = cfg.rootUrl;
STATIC_ROOT_PATH = cfg.staticRootPath; STATIC_ROOT_PATH = cfg.staticRootPath;
LFS_JWT_SECRET = "#jwtsecret#"; 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 = { session = {
COOKIE_NAME = "session"; COOKIE_NAME = "session";
@ -357,12 +422,26 @@ in
}; };
systemd.tmpfiles.rules = [ systemd.tmpfiles.rules = [
"d '${cfg.stateDir}' - ${cfg.user} gitea - -" "d '${cfg.dump.backupDir}' 0750 ${cfg.user} gitea - -"
"d '${cfg.stateDir}/conf' - ${cfg.user} gitea - -" "z '${cfg.dump.backupDir}' 0750 ${cfg.user} gitea - -"
"d '${cfg.stateDir}/custom' - ${cfg.user} gitea - -" "Z '${cfg.dump.backupDir}' - ${cfg.user} gitea - -"
"d '${cfg.stateDir}/custom/conf' - ${cfg.user} gitea - -" "d '${cfg.lfs.contentDir}' 0750 ${cfg.user} gitea - -"
"d '${cfg.stateDir}/log' - ${cfg.user} gitea - -" "z '${cfg.lfs.contentDir}' 0750 ${cfg.user} gitea - -"
"d '${cfg.repositoryRoot}' - ${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 - -" "Z '${cfg.stateDir}' - ${cfg.user} gitea - -"
# If we have a folder or symlink with gitea locales, remove it # If we have a folder or symlink with gitea locales, remove it
@ -431,28 +510,39 @@ in
User = cfg.user; User = cfg.user;
Group = "gitea"; Group = "gitea";
WorkingDirectory = cfg.stateDir; WorkingDirectory = cfg.stateDir;
ExecStart = "${gitea}/bin/gitea web"; ExecStart = "${gitea}/bin/gitea web --pid /run/gitea/gitea.pid";
Restart = "always"; Restart = "always";
# Runtime directory and mode
# Filesystem 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; ProtectHome = true;
PrivateTmp = true;
PrivateDevices = true; PrivateDevices = true;
PrivateUsers = true;
ProtectHostname = true;
ProtectClock = true;
ProtectKernelTunables = true; ProtectKernelTunables = true;
ProtectKernelModules = true; ProtectKernelModules = true;
ProtectKernelLogs = true;
ProtectControlGroups = true; ProtectControlGroups = true;
ReadWritePaths = cfg.stateDir; RestrictAddressFamilies = [ "AF_UNIX AF_INET AF_INET6" ];
# Caps
CapabilityBoundingSet = "";
NoNewPrivileges = true;
# Misc.
LockPersonality = true; LockPersonality = true;
RestrictRealtime = true;
PrivateMounts = true;
PrivateUsers = true;
MemoryDenyWriteExecute = 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"; 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 = { environment = {
@ -504,7 +594,7 @@ in
Type = "oneshot"; Type = "oneshot";
User = cfg.user; User = cfg.user;
ExecStart = "${gitea}/bin/gitea dump"; ExecStart = "${gitea}/bin/gitea dump";
WorkingDirectory = cfg.stateDir; WorkingDirectory = cfg.dump.backupDir;
}; };
}; };

View File

@ -1,16 +1,16 @@
{config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
with lib; with lib;
let let
cfg = config.services.usbguard; cfg = config.services.usbguard;
# valid policy options # valid policy options
policy = (types.enum [ "allow" "block" "reject" "keep" "apply-policy" ]); policy = (types.enum [ "allow" "block" "reject" "keep" "apply-policy" ]);
defaultRuleFile = "/var/lib/usbguard/rules.conf";
# decide what file to use for rules # 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 = '' daemonConf = ''
# generated by nixos/modules/services/security/usbguard.nix # generated by nixos/modules/services/security/usbguard.nix
@ -24,14 +24,16 @@ let
DeviceManagerBackend=uevent DeviceManagerBackend=uevent
IPCAllowedUsers=${concatStringsSep " " cfg.IPCAllowedUsers} IPCAllowedUsers=${concatStringsSep " " cfg.IPCAllowedUsers}
IPCAllowedGroups=${concatStringsSep " " cfg.IPCAllowedGroups} IPCAllowedGroups=${concatStringsSep " " cfg.IPCAllowedGroups}
IPCAccessControlFiles=${cfg.IPCAccessControlFiles} IPCAccessControlFiles=/var/lib/usbguard/IPCAccessControl.d/
DeviceRulesWithPort=${if cfg.deviceRulesWithPort then "true" else "false"} DeviceRulesWithPort=${if cfg.deviceRulesWithPort then "true" else "false"}
AuditFilePath=${cfg.auditFilePath} # 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 ###### 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 { rules = mkOption {
type = types.nullOr types.lines; type = types.nullOr types.lines;
default = null; default = null;
@ -72,16 +58,20 @@ in {
allow with-interface equals { 08:*:* } allow with-interface equals { 08:*:* }
''; '';
description = '' description = ''
The USBGuard daemon will load this policy rule set. Modifying it via The USBGuard daemon will load this as the policy rule set.
the IPC interface won't work if you use this option, since the As these rules are NixOS managed they are immutable and can't
contents of this option will be written into the nix-store it will be be changed by the IPC interface.
read-only.
You can still use <literal> usbguard generate-policy</literal> to If you do not set this option, the USBGuard daemon will load
generate rules, but you would have to insert them here. 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 Running <literal>usbguard generate-policy</literal> as root will
<literal>ruleFile</literal> option. 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 { deviceRulesWithPort = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
@ -173,14 +152,6 @@ in {
Generate device specific rules including the "via-port" attribute. 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" ]; wantedBy = [ "basic.target" ];
wants = [ "systemd-udevd.service" ]; wants = [ "systemd-udevd.service" ];
# make sure an empty rule file and required directories exist # make sure an empty rule file exists
preStart = '' preStart = ''[ -f "${ruleFile}" ] || touch ${ruleFile}'';
mkdir -p $(dirname "${cfg.ruleFile}") $(dirname "${cfg.auditFilePath}") "${cfg.IPCAccessControlFiles}" \
&& ([ -f "${cfg.ruleFile}" ] || touch ${cfg.ruleFile})
'';
serviceConfig = { serviceConfig = {
Type = "simple"; Type = "simple";
ExecStart = ''${cfg.package}/bin/usbguard-daemon -P -k -c ${daemonConfFile}''; ExecStart = ''${cfg.package}/bin/usbguard-daemon -P -k -c ${daemonConfFile}'';
Restart = "on-failure"; Restart = "on-failure";
StateDirectory = [
"usbguard"
"usbguard/IPCAccessControl.d"
];
AmbientCapabilities = ""; AmbientCapabilities = "";
CapabilityBoundingSet = "CAP_CHOWN CAP_FOWNER"; CapabilityBoundingSet = "CAP_CHOWN CAP_FOWNER";
DeviceAllow = "/dev/null rw"; DeviceAllow = "/dev/null rw";
@ -223,8 +196,8 @@ in {
ProtectKernelModules = true; ProtectKernelModules = true;
ProtectSystem = true; ProtectSystem = true;
ReadOnlyPaths = "-/"; ReadOnlyPaths = "-/";
ReadWritePaths = "-/dev/shm -${dirOf cfg.auditFilePath} -/tmp -${dirOf cfg.ruleFile}"; ReadWritePaths = "-/dev/shm -/tmp";
RestrictAddressFamilies = "AF_UNIX AF_NETLINK"; RestrictAddressFamilies = [ "AF_UNIX" "AF_NETLINK" ];
RestrictNamespaces = true; RestrictNamespaces = true;
RestrictRealtime = true; RestrictRealtime = true;
SystemCallArchitectures = "native"; 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 { bitwig-studio1.overrideAttrs (oldAttrs: rec {
name = "bitwig-studio-${version}"; name = "bitwig-studio-${version}";
version = "3.2.2"; version = "3.2.6";
src = fetchurl { src = fetchurl {
url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb"; url = "https://downloads.bitwig.com/stable/${version}/bitwig-studio-${version}.deb";
sha256 = "10zb78n75nbriyjah0m3syv3rv7qwbmj590z24hss7lifa3rs784"; sha256 = "00hrbgnjns3s8lbjbabwwqvbwz4dlrg33cs3d1qlpzgi3y72h3nn";
}; };
buildInputs = oldAttrs.buildInputs ++ [ xorg.libXtst ]; 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 { stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, withRodio ? true
, withRodio ? true , withALSA ? true, alsaLib ? null, withPulseAudio ? false, libpulseaudio ? null
, withALSA ? true, alsaLib ? null , withPortAudio ? false, portaudio ? null }:
, withPulseAudio ? false, libpulseaudio ? null
, withPortAudio ? false, portaudio ? null
}:
rustPlatform.buildRustPackage rec { rustPlatform.buildRustPackage rec {
pname = "librespot"; pname = "librespot";
version = "0.1.1"; version = "0.1.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "librespot-org"; owner = "librespot-org";
repo = "librespot"; repo = "librespot";
rev = "v${version}"; rev = "v${version}";
sha256 = "1sdbjv8w2mfpv82rx5iy4s532l1767vmlrg9d8khnvh8vrm2lshy"; sha256 = "1ixh47yvaamrpzagqsiimc3y6bi4nbym95843d23am55zkrgnmy5";
}; };
cargoSha256 = "0zi50imjvalwl6pxl35qrmbg74j5xdfaws8v69am4g9agbfjvlms"; cargoSha256 = "1csls8kzzx28ng6w9vdwhnnav5sqp2m5fj430db5z306xh5acg3d";
cargoPatches = [ ./cargo-lock.patch ];
cargoBuildFlags = with stdenv.lib; [ cargoBuildFlags = with stdenv.lib; [
"--no-default-features" "--no-default-features"
@ -32,8 +31,7 @@ rustPlatform.buildRustPackage rec {
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
buildInputs = [ openssl ] buildInputs = [ openssl ] ++ stdenv.lib.optional withALSA alsaLib
++ stdenv.lib.optional withALSA alsaLib
++ stdenv.lib.optional withPulseAudio libpulseaudio ++ stdenv.lib.optional withPulseAudio libpulseaudio
++ stdenv.lib.optional withPortAudio portaudio; ++ stdenv.lib.optional withPortAudio portaudio;

View File

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

View File

@ -7,11 +7,11 @@
mkDerivation rec { mkDerivation rec {
pname = "musescore"; pname = "musescore";
version = "3.4.2"; version = "3.5.0";
src = fetchzip { src = fetchzip {
url = "https://github.com/musescore/MuseScore/releases/download/v${version}/MuseScore-${version}.zip"; url = "https://github.com/musescore/MuseScore/releases/download/v3.5/MuseScore-${version}.zip";
sha256 = "1laskvp40dncs12brkgvk7wl0qrvzy52rn7nf3b67ps1vmd130gp"; sha256 = "0m598xh0s4f5m4l2ymy7g44bbvc14bcfi4gifhjnrg091rsk57c9";
stripRoot = false; stripRoot = false;
}; };
@ -20,7 +20,14 @@ mkDerivation rec {
]; ];
cmakeFlags = [ 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 ]; nativeBuildInputs = [ cmake pkgconfig ];

View File

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

View File

@ -2,13 +2,13 @@
buildGoModule rec { buildGoModule rec {
pname = "go-ethereum"; pname = "go-ethereum";
version = "1.9.18"; version = "1.9.19";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ethereum"; owner = "ethereum";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "0nkzwmrzk0m9662cr18h5i54v07mw8v3fh0csvqx8n50z5fcvb7b"; sha256 = "08wf7qklk31dky2z0l2j9vbyr8721gkvy4dsc60afwrwihwd8lrp";
}; };
runVend = true; 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. up in the dumped image.
diff --git a/src/Makefile.in b/src/Makefile.in diff --git a/src/Makefile.in b/src/Makefile.in
index fd05a45df5..13f529c253 100644
--- a/src/Makefile.in --- a/src/Makefile.in
+++ b/src/Makefile.in +++ b/src/Makefile.in
@@ -535,7 +535,7 @@ ifeq ($(CANNOT_DUMP),yes) @@ -570,7 +570,7 @@ emacs$(EXEEXT): temacs$(EXEEXT) \
ln -f temacs$(EXEEXT) $@ lisp.mk $(etc)/DOC $(lisp) \
else $(lispsource)/international/charprop.el ${charsets}
unset EMACS_HEAP_EXEC; \ ifeq ($(DUMPING),unexec)
- LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump - LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup --temacs=dump
+ env -i LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup dump + env -i LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup --temacs=dump
ifneq ($(PAXCTL_dumped),) ifneq ($(PAXCTL_dumped),)
$(PAXCTL_dumped) $@ $(PAXCTL_dumped) emacs$(EXEEXT)
endif endif

View File

@ -32,7 +32,7 @@ assert withXwidgets -> withGTK3 && webkitgtk != null;
let let
version = "26.3"; version = "27.1";
versionModifier = ""; versionModifier = "";
name = "emacs-${version}${versionModifier}"; name = "emacs-${version}${versionModifier}";
@ -41,7 +41,7 @@ in stdenv.mkDerivation {
src = fetchurl { src = fetchurl {
url = "mirror://gnu/emacs/${name}.tar.xz"; url = "mirror://gnu/emacs/${name}.tar.xz";
sha256 = "119ldpk7sgn9jlpyngv5y4z3i7bb8q3xp4p0qqi7i5nq39syd42d"; sha256 = "0h9f2wpmp6rb5rfwvqwv1ia1nw86h74p7hnz3vb3gjazj67i4k2a";
}; };
enableParallelBuilding = true; enableParallelBuilding = true;
@ -49,11 +49,6 @@ in stdenv.mkDerivation {
patches = [ patches = [
./clean-env.patch ./clean-env.patch
./tramp-detect-wrapped-gvfsd.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" [ postPatch = lib.concatStringsSep "\n" [

View File

@ -5,20 +5,20 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "emacs"; pname = "emacs";
version = "26.3"; version = "27.1";
emacsName = "emacs-${version}"; emacsName = "emacs-${version}";
macportVersion = "7.7"; macportVersion = "8.0";
name = "emacs-mac-${version}-${macportVersion}"; name = "emacs-mac-${version}-${macportVersion}";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/emacs/${emacsName}.tar.xz"; url = "mirror://gnu/emacs/${emacsName}.tar.xz";
sha256 = "119ldpk7sgn9jlpyngv5y4z3i7bb8q3xp4p0qqi7i5nq39syd42d"; sha256 = "0h9f2wpmp6rb5rfwvqwv1ia1nw86h74p7hnz3vb3gjazj67i4k2a";
}; };
macportSrc = fetchurl { macportSrc = fetchurl {
url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${emacsName}-mac-${macportVersion}.tar.gz"; url = "ftp://ftp.math.s.chiba-u.ac.jp/emacs/${emacsName}-mac-${macportVersion}.tar.gz";
sha256 = "18jadknm47ymbl7skrgc7y8xsdldcbgnlfl7qpgzm1ym8d92as6j"; sha256 = "0rjk82k9qp1g701pfd4f0q2myzvsnp9q8xzphlxwi5yzwbs91kjq";
}; };
hiresSrc = fetchurl { hiresSrc = fetchurl {
@ -76,7 +76,16 @@ stdenv.mkDerivation rec {
cp ${./site-start.el} $out/share/emacs/site-lisp/site-start.el 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; { meta = with stdenv.lib; {
description = "The extensible, customizable text editor"; 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 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 --- a/lisp/net/tramp-gvfs.el
+++ b/lisp/net/tramp-gvfs.el +++ b/lisp/net/tramp-gvfs.el
@@ -164,7 +164,8 @@ tramp-gvfs-enabled @@ -122,6 +122,7 @@
(and (featurep 'dbusbind)
(tramp-compat-funcall 'dbus-get-unique-name :system) (tramp-compat-funcall 'dbus-get-unique-name :system)
(tramp-compat-funcall 'dbus-get-unique-name :session) (tramp-compat-funcall 'dbus-get-unique-name :session)
- (or (tramp-compat-process-running-p "gvfs-fuse-daemon") (or (tramp-compat-process-running-p "gvfs-fuse-daemon")
+ (or (tramp-compat-process-running-p ".gvfsd-fuse-wrapped") + (tramp-compat-process-running-p ".gvfsd-fuse-wrapped")
+ (tramp-compat-process-running-p "gvfs-fuse-daemon")
(tramp-compat-process-running-p "gvfsd-fuse")))) (tramp-compat-process-running-p "gvfsd-fuse"))))
"Non-nil when GVFS is available.") "Non-nil when GVFS is available.")

View File

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

View File

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

View File

@ -1,8 +1,8 @@
{ buildGoModule, fetchFromGitHub, installShellFiles, stdenv }: { buildGoModule, fetchFromGitHub, installShellFiles, stdenv }:
let let
humioCtlVersion = "0.26.0"; humioCtlVersion = "0.26.1";
sha256 = "1j33hmvhkb546dbi2qd5hmpcv715yg9rnpxicc1mayr9f1i2aj2i"; sha256 = "1zpcbfv7zlym0jfyz78piggm8zhqlzbwpwq0dn255d0zc48zp773";
vendorSha256 = "1l2wa4w43srfrkb4qrgiyzdb6bnaqvp9g3fnrln6bhrcw6jsgj4z"; vendorSha256 = "1l2wa4w43srfrkb4qrgiyzdb6bnaqvp9g3fnrln6bhrcw6jsgj4z";
in buildGoModule { in buildGoModule {
name = "humioctl-${humioCtlVersion}"; 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 { stdenv.mkDerivation rec {
pname = "olifant"; pname = "olifant";
version = "0.2.1-beta5"; version = "0.2.1-beta6";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "cleac"; owner = "cleac";
repo = pname; repo = pname;
rev = version; rev = version;
sha256 = "1fpyg3nii75vmsdhp8x4yvhi3npvp3xnbqmd0qcidn05mbsam68r"; sha256 = "sha256-3hnEa4Q1dH0R8Jp+Ew0+dH1PEm3F+56jYwqhJ+vll4M=";
}; };
nativeBuildInputs = [ nativeBuildInputs = [

View File

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

View File

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

View File

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

View File

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

View File

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory. # This file is autogenerated from update.sh in the same directory.
{ {
beta = { beta = {
sha256 = "06cl77yi7cb6r7n8mn38d61zmgwxi690qxrkd56hg2773hn06wq5"; sha256 = "0qvcp47m3mc1lw22sq1a4pvaxxi5wlmwzjz23ak01wj3v1xifsh6";
sha256bin64 = "0a6c44qb0n2hdc42p5xqybnbhgdxd51lyygkqz42fmym6id65v88"; sha256bin64 = "1a06yhaifbjs88wskfb3mcx06klhvdvz2mnkzz6szhkypz8mi3dp";
version = "85.0.4183.39"; version = "85.0.4183.59";
}; };
dev = { dev = {
sha256 = "1l2d3gk7si1djxn3901fjgykv7nzc8g970m3fb9pjflfrr8f17v6"; sha256 = "0nirf72i3zdqsy201qzinfn9k40iy315i6z0a8xn3ciagh10p5j4";
sha256bin64 = "0flsmy5blrc9gs6cikag7mdlvgkm6mzm745kcq0shfmhanvlkykn"; sha256bin64 = "1ss36w8bsqfswnqddhn2aamjmsyh2vr0y9gjlzrh702mda8yraq1";
version = "86.0.4209.2"; version = "86.0.4221.3";
}; };
stable = { stable = {
sha256 = "1b6cqnwx76pp4y5hvz3qm8lm1ayaxr5578k76164acr35bmypx6a"; sha256 = "1xdg9pnnvbzasmra09rl7wdrir61rfcqml46jj7kv39drwk9chwq";
sha256bin64 = "0znxq5ncyvyysx3p8xikzg8jm8jr51k478y29m985x6c5p5a4zyw"; sha256bin64 = "1fbn9vkz4kf1dhivi1sfnfi8dady9qjmfr44hvfmb8aibh9kzc8w";
version = "84.0.4147.105"; 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 , cmake, extra-cmake-modules, pkgconfig, qmake
, libpthreadstubs, libxcb, libXdmcp , libpthreadstubs, libxcb, libXdmcp
, qtsvg, qttools, qtwebengine, qtx11extras , qtsvg, qttools, qtwebengine, qtx11extras
@ -17,6 +17,14 @@ mkDerivation rec {
sha256 = "1w64slh9wpcfi4v7ds9wci1zvwh0dh787ndpi6hd4kmdgnswvsw7"; sha256 = "1w64slh9wpcfi4v7ds9wci1zvwh0dh787ndpi6hd4kmdgnswvsw7";
}; };
patches = [
# fixes build with qt5 5.14
(fetchpatch {
url = "https://github.com/KDE/falkon/commit/bbde5c6955c43bc744ed2c4024598495de908f2a.diff";
sha256 = "0f7qcddvvdnij3di0acg7jwvwfwyd0xizlav4wccclbj8x7qp5ld";
})
];
preConfigure = '' preConfigure = ''
export NONBLOCK_JS_DIALOGS=true export NONBLOCK_JS_DIALOGS=true
export KDE_INTEGRATION=true export KDE_INTEGRATION=true

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,24 +1,23 @@
{ stdenv, buildGoPackage, fetchFromGitHub }: { stdenv, buildGoModule, fetchFromGitHub }:
buildGoPackage rec { buildGoModule rec {
pname = "tilt"; pname = "tilt";
/* Do not use "dev" as a version. If you do, Tilt will consider itself /* 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 running in development environment and try to serve assets from the
source tree, which is not there once build completes. */ source tree, which is not there once build completes. */
version = "0.11.3"; version = "0.17.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "windmilleng"; owner = "tilt-dev";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "035czgr0rn6gcv24vnlr35n9yvy0fwq4spdzsc76gfxckcbcmzz0"; sha256 = "0bd01fmrf17njzf8ri4bw4qi7bxcvd3dx7yyf42qfvnp7hrfzipk";
}; };
vendorSha256 = null;
goPackagePath = "github.com/windmilleng/tilt";
subPackages = [ "cmd/tilt" ]; 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; { meta = with stdenv.lib; {
description = "Local development tool to manage your developer instance when your team deploys to Kubernetes in production"; 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 in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "zeek"; pname = "zeek";
version = "3.1.5"; version = "3.2.0";
src = fetchurl { src = fetchurl {
url = "https://download.zeek.org/zeek-${version}.tar.gz"; url = "https://download.zeek.org/zeek-${version}.tar.gz";
sha256 = "1rwrwdx0jf76pb11vpmv5z513ss9rrkgpjv1pa1vydf4gbafhi5r"; sha256 = "0ky4485z0gpaj1z75y7jr5bn9wr8x8w3v637aqq4v9a0a5iyagmg";
}; };
nativeBuildInputs = [ cmake flex bison file ]; 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 # Fix pybind c++17 build with Clang. See: https://github.com/pybind/pybind11/issues/1604
(fetchpatch { (fetchpatch {
url = "https://github.com/pybind/pybind11/commit/759221f5c56939f59d8f342a41f8e2d2cacbc8cf.patch"; url = "https://github.com/pybind/pybind11/commit/759221f5c56939f59d8f342a41f8e2d2cacbc8cf.patch";
sha256 = "0l8z7d7chq1awd8dnfarj4c40wx36hkhcan0702p5l89x73wqk54"; sha256 = "17qznp8yavnv84fjsbghv3d59z6k6rx74j49w0izakmgw5a95w84";
extraPrefix = "aux/broker/bindings/python/3rdparty/pybind11/"; extraPrefix = "auxil/broker/bindings/python/3rdparty/pybind11/";
stripLen = 1; stripLen = 1;
}) })
]; ];

View File

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

View File

@ -4,8 +4,6 @@ buildGoModule rec {
pname = "gomuks"; pname = "gomuks";
version = "0.1.2"; version = "0.1.2";
goPackagePath = "maunium.net/go/gomuks";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "tulir"; owner = "tulir";
repo = pname; 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"; 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; enableParallelBuilding = true;
# Prevent ``undefined reference to `qt_version_tag''' in SSL check # Prevent ``undefined reference to `qt_version_tag''' in SSL check

View File

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

View File

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

View File

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

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "limesuite"; pname = "limesuite";
version = "20.07.1"; version = "20.07.2";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "myriadrf"; owner = "myriadrf";
repo = "LimeSuite"; repo = "LimeSuite";
rev = "v${version}"; rev = "v${version}";
sha256 = "14mxqc350j3rk1202n0ax1rfx49sy40965zj90d4pnakbgz5xr7g"; sha256 = "0v0w0f5ff1gwpfy13x1q1jsx9xfg4s3ccg05ikpnkzj4yg6sjps1";
}; };
nativeBuildInputs = [ cmake ]; 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"; pname = "git-bug";
version = "0.7.1"; # the `rev` below pins the version of the source to get version = "0.7.1"; # the `rev` below pins the version of the source to get
rev = "2d64b85db71a17ff3277bbbf7ac9d8e81f8e416c"; rev = "2d64b85db71a17ff3277bbbf7ac9d8e81f8e416c";
goPackagePath = "github.com/MichaelMure/git-bug";
src = fetchFromGitHub { src = fetchFromGitHub {
inherit rev; inherit rev;
@ -19,9 +18,9 @@ buildGoModule rec {
buildFlagsArray = '' buildFlagsArray = ''
-ldflags= -ldflags=
-X ${goPackagePath}/commands.GitCommit=${rev} -X github.com/MichaelMure/git-bug/commands.GitCommit=${rev}
-X ${goPackagePath}/commands.GitLastTag=${version} -X github.com/MichaelMure/git-bug/commands.GitLastTag=${version}
-X ${goPackagePath}/commands.GitExactTag=${version} -X github.com/MichaelMure/git-bug/commands.GitExactTag=${version}
''; '';
postInstall = '' postInstall = ''

View File

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

View File

@ -19,14 +19,14 @@ let
}; };
}; };
in buildGoPackage rec { in buildGoPackage rec {
version = "13.0.9"; version = "13.0.12";
pname = "gitaly"; pname = "gitaly";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "gitlab-org"; owner = "gitlab-org";
repo = "gitaly"; repo = "gitaly";
rev = "v${version}"; rev = "v${version}";
sha256 = "0bw3g1c3ji78grh6fs4qq64hq1s4z2da5f18zbkac41hkkqbf1in"; sha256 = "00jzrib8f51b3wkl0zy9a9cr5j9kp6cmm49vxm27zgxpyz8k1axw";
}; };
# Fix a check which assumes that hook files are writeable by their # 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 ]; 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 = '' buildPhase = ''
mv config config.dist mv config config.dist
mv public/themes public/themes.dist mv public/themes public/themes.dist

View File

@ -9,7 +9,6 @@ let
buildWorker = src: buildGoModule { buildWorker = src: buildGoModule {
inherit src version; inherit src version;
pname = "builds-sr-ht-worker"; pname = "builds-sr-ht-worker";
goPackagePath = "git.sr.ht/~sircmpwn/builds.sr.ht/worker";
vendorSha256 = "0prdlihcy5yz760llwyby747yy2981dn3gy401a48df7ndlfj6lp"; vendorSha256 = "0prdlihcy5yz760llwyby747yy2981dn3gy401a48df7ndlfj6lp";

View File

@ -9,7 +9,6 @@ let
buildShell = src: buildGoModule { buildShell = src: buildGoModule {
inherit src version; inherit src version;
pname = "gitsrht-shell"; pname = "gitsrht-shell";
goPackagePath = "git.sr.ht/~sircmpwn/git.sr.ht/gitsrht-shell";
vendorSha256 = "1zvbqn4r940mibn4h1cqz94gbr476scm281ps361n0rfqlimw8g5"; vendorSha256 = "1zvbqn4r940mibn4h1cqz94gbr476scm281ps361n0rfqlimw8g5";
@ -19,7 +18,6 @@ let
buildDispatcher = src: buildGoModule { buildDispatcher = src: buildGoModule {
inherit src version; inherit src version;
pname = "gitsrht-dispatcher"; pname = "gitsrht-dispatcher";
goPackagePath = "git.sr.ht/~sircmpwn/git.sr.ht/gitsrht-dispatch";
vendorSha256 = "1lzkf13m54pq0gnn3bcxc80nfg76hgck4l8q8jpaicrsiwgcyrd9"; vendorSha256 = "1lzkf13m54pq0gnn3bcxc80nfg76hgck4l8q8jpaicrsiwgcyrd9";
@ -29,7 +27,6 @@ let
buildKeys = src: buildGoModule { buildKeys = src: buildGoModule {
inherit src version; inherit src version;
pname = "gitsrht-keys"; pname = "gitsrht-keys";
goPackagePath = "git.sr.ht/~sircmpwn/git.sr.ht/gitsrht-keys";
vendorSha256 = "16j7kpar318s4766pln8xn6d51xqblwig5n1jywhj0sl80qjl5cv"; vendorSha256 = "16j7kpar318s4766pln8xn6d51xqblwig5n1jywhj0sl80qjl5cv";
@ -39,7 +36,6 @@ let
buildUpdateHook = src: buildGoModule { buildUpdateHook = src: buildGoModule {
inherit src version; inherit src version;
pname = "gitsrht-update-hook"; pname = "gitsrht-update-hook";
goPackagePath = "git.sr.ht/~sircmpwn/git.sr.ht/gitsrht-update-hook";
vendorSha256 = "1rmv3p60g6w4h4v9wx99jkyx0q02snslyjrjy9n1flardjs01b63"; vendorSha256 = "1rmv3p60g6w4h4v9wx99jkyx0q02snslyjrjy9n1flardjs01b63";

View File

@ -1,9 +1,10 @@
{ stdenv, qemu }: { stdenv, installShellFiles, qemu }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "qemu-utils-${version}"; name = "qemu-utils-${version}";
version = qemu.version; version = qemu.version;
nativeBuildInputs = [ installShellFiles ];
buildInputs = [ qemu ]; buildInputs = [ qemu ];
unpackPhase = "true"; unpackPhase = "true";
@ -12,6 +13,9 @@ stdenv.mkDerivation rec {
cp "${qemu}/bin/qemu-img" "$out/bin/qemu-img" cp "${qemu}/bin/qemu-img" "$out/bin/qemu-img"
cp "${qemu}/bin/qemu-io" "$out/bin/qemu-io" cp "${qemu}/bin/qemu-io" "$out/bin/qemu-io"
cp "${qemu}/bin/qemu-nbd" "$out/bin/qemu-nbd" 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; inherit (qemu) meta;

View File

@ -8,6 +8,7 @@
{ name ? "" { name ? ""
, stdenvNoCC , stdenvNoCC
, cc ? null, libc ? null, bintools, coreutils ? null, shell ? stdenvNoCC.shell , cc ? null, libc ? null, bintools, coreutils ? null, shell ? stdenvNoCC.shell
, gccForLibs ? null
, zlib ? null , zlib ? null
, nativeTools, noLibc ? false, nativeLibc, nativePrefix ? "" , nativeTools, noLibc ? false, nativeLibc, nativePrefix ? ""
, propagateDoc ? cc != null && cc ? man , propagateDoc ? cc != null && cc ? man
@ -262,11 +263,11 @@ stdenv.mkDerivation {
## ##
## GCC libs for non-GCC support ## 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 "-B${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-cflags
echo "-L${cc.gcc}/lib/gcc/${targetPlatform.config}/${cc.gcc.version}" >> $out/nix-support/cc-ldflags echo "-L${gccForLibs}/lib/gcc/${targetPlatform.config}/${gccForLibs.version}" >> $out/nix-support/cc-ldflags
echo "-L${cc.gcc.lib}/${targetPlatform.config}/lib" >> $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 # We have a libc++ directly, we have one via "smuggled" GCC, or we have one
# bundled with the C compiler because it is GCC # 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-cxxflags"
touch "$out/nix-support/libcxx-ldflags" 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 echo "-isystem $dir" >> $out/nix-support/libcxx-cxxflags
done 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 echo "-isystem $dir" >> $out/nix-support/libcxx-cxxflags
done done
'' ''

View File

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

View File

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

View File

@ -37,8 +37,6 @@ stdenv.mkDerivation rec {
passthru = { passthru = {
isClang = true; 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; { meta = with stdenv.lib; {

View File

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

View File

@ -87,8 +87,6 @@ let
passthru = { passthru = {
isClang = true; isClang = true;
inherit llvm; 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 = { 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 , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildPackages
, buildLlvmTools # tools, but from the previous stage, for cross , buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next 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 "${cc}/lib/clang/${release_version}/include" "$rsrc"
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) '' '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
''; '';
in { in {
@ -59,7 +60,8 @@ let
libstdcxxClang = wrapCCWith rec { libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped; 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 = [ extraPackages = [
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
]; ];

View File

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

View File

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

View File

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

View File

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

View File

@ -88,8 +88,6 @@ let
passthru = { passthru = {
isClang = true; isClang = true;
inherit llvm; 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 = { 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 , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildPackages
, buildLlvmTools # tools, but from the previous stage, for cross , buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next 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 "${cc}/lib/clang/${release_version}/include" "$rsrc"
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) '' '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
''; '';
in { in {
@ -58,7 +59,8 @@ let
libstdcxxClang = wrapCCWith rec { libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped; 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 = [ extraPackages = [
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
]; ];

View File

@ -98,8 +98,6 @@ let
passthru = { passthru = {
isClang = true; isClang = true;
inherit llvm; 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 = { 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 , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildPackages
, buildLlvmTools # tools, but from the previous stage, for cross , buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next 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 "${cc}/lib/clang/${release_version}/include" "$rsrc"
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) '' '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
''; '';
in { in {
@ -59,7 +60,8 @@ let
libstdcxxClang = wrapCCWith rec { libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped; 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 = [ extraPackages = [
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
]; ];

View File

@ -93,8 +93,6 @@ let
passthru = { passthru = {
isClang = true; isClang = true;
inherit llvm; 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 = { 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 , libxml2, python3, isl, fetchurl, overrideCC, wrapCCWith, wrapBintoolsWith
, buildPackages
, buildLlvmTools # tools, but from the previous stage, for cross , buildLlvmTools # tools, but from the previous stage, for cross
, targetLlvmLibraries # libraries, but from the next 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 "${cc}/lib/clang/${release_version}/include" "$rsrc"
ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib" ln -s "${targetLlvmLibraries.compiler-rt.out}/lib" "$rsrc/lib"
echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags echo "-resource-dir=$rsrc" >> $out/nix-support/cc-cflags
'' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && tools.clang-unwrapped ? gcc && !(stdenv.targetPlatform.useLLVM or false)) '' '' + stdenv.lib.optionalString (stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.useLLVM or false)) ''
echo "--gcc-toolchain=${tools.clang-unwrapped.gcc}" >> $out/nix-support/cc-cflags echo "--gcc-toolchain=${gccForLibs}" >> $out/nix-support/cc-cflags
''; '';
in { in {
@ -59,7 +60,8 @@ let
libstdcxxClang = wrapCCWith rec { libstdcxxClang = wrapCCWith rec {
cc = tools.clang-unwrapped; 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 = [ extraPackages = [
targetLlvmLibraries.compiler-rt targetLlvmLibraries.compiler-rt
]; ];

View File

@ -2,6 +2,7 @@
, cmake , cmake
, coreutils , coreutils
, glibc , glibc
, gccForLibs
, which , which
, perl , perl
, libedit , libedit
@ -121,7 +122,7 @@ let
cmakeFlags = [ cmakeFlags = [
"-DGLIBC_INCLUDE_PATH=${stdenv.cc.libc.dev}/include" "-DGLIBC_INCLUDE_PATH=${stdenv.cc.libc.dev}/include"
"-DC_INCLUDE_DIRS=${stdenv.lib.makeSearchPathOutput "dev" "include" devInputs}:${libxml2.dev}/include/libxml2" "-DC_INCLUDE_DIRS=${stdenv.lib.makeSearchPathOutput "dev" "include" devInputs}:${libxml2.dev}/include/libxml2"
"-DGCC_INSTALL_PREFIX=${clang.cc.gcc}" "-DGCC_INSTALL_PREFIX=${gccForLibs}"
]; ];
in in
@ -199,7 +200,7 @@ stdenv.mkDerivation {
substituteInPlace swift/stdlib/public/Platform/CMakeLists.txt \ substituteInPlace swift/stdlib/public/Platform/CMakeLists.txt \
--replace '/usr/include' "${stdenv.cc.libc.dev}/include" --replace '/usr/include' "${stdenv.cc.libc.dev}/include"
substituteInPlace swift/utils/build-script-impl \ 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/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/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} 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" 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. # 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. # 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. # However, we want to use the wrapped compiler whenever possible.
export CC="${clang}/bin/clang" export CC="${clang}/bin/clang"

View File

@ -4,11 +4,11 @@
, swingSupport ? true }: , swingSupport ? true }:
let let
version = "8.28.0.1"; version = "8.48.0.53";
openjdk = "8.0.163"; openjdk = "8.0.265";
sha256_linux = "1z8s3a948nvv92wybnhkyr27ipibcy45k0zv5h5gp37ynd91df45"; sha256_linux = "ed32513524b32a83b3b388831c69d1884df5675bd5069c6d1485fd1a060be209";
sha256_darwin = "0i0prjijsgg0yyycplpp9rlfl428126rqz7bb31pchrhi6jhk699"; sha256_darwin = "36f189bfbd0255195848835819377474ba9c1c868e3c204633c451c96e21f30a";
platform = if stdenv.isDarwin then "macosx" else "linux"; platform = if stdenv.isDarwin then "macosx" else "linux";
hash = if stdenv.isDarwin then sha256_darwin else sha256_linux; hash = if stdenv.isDarwin then sha256_darwin else sha256_linux;
@ -29,7 +29,7 @@ in stdenv.mkDerivation {
pname = "zulu"; pname = "zulu";
src = fetchurl { 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; sha256 = hash;
}; };

View File

@ -4,11 +4,11 @@
, swingSupport ? true }: , swingSupport ? true }:
let let
version = "10.1+11"; version = "11.41.23";
openjdk = "10"; openjdk = "11.0.8";
sha256_linux = "0g51n2zc7inal29n5ly3mrrfj15c7vl87zb6b2r1q67n4mnbrgm8"; sha256_linux = "f8aee4ab30ca11ab3c8f401477df0e455a9d6b06f2710b2d1b1ddcf06067bc79";
sha256_darwin = "1c5ib136nv6gz7ij31mg15nhzrl6zr7kp8spm17zwm1ib82bc73y"; sha256_darwin = "643c6648cc4374f39e830e4fcb3d68f8667893d487c07eb7091df65937025cc3";
platform = if stdenv.isDarwin then "macosx" else "linux"; platform = if stdenv.isDarwin then "macosx" else "linux";
hash = if stdenv.isDarwin then sha256_darwin else sha256_linux; hash = if stdenv.isDarwin then sha256_darwin else sha256_linux;
@ -29,7 +29,7 @@ in stdenv.mkDerivation {
pname = "zulu"; pname = "zulu";
src = fetchurl { 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; sha256 = hash;
}; };

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -104,6 +104,6 @@ stdenv.mkDerivation rec {
homepage = "http://luajit.org"; homepage = "http://luajit.org";
license = licenses.mit; license = licenses.mit;
platforms = platforms.linux ++ platforms.darwin; platforms = platforms.linux ++ platforms.darwin;
maintainers = with maintainers; [ thoughtpolice smironov vcunat andir ]; maintainers = with maintainers; [ thoughtpolice smironov vcunat andir lblasc ];
} // extraMeta; } // 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 // { php73base = callPackage generic (_args // {
version = "7.3.20"; version = "7.3.20";
sha256 = "1pl9bjwvdva2yx4sh465z9cr4bnr8mvv008w71sy1kqsj6a7ivf6"; sha256 = "1pl9bjwvdva2yx4sh465z9cr4bnr8mvv008w71sy1kqsj6a7ivf6";
@ -301,8 +293,7 @@ let
php74 = php74base.withExtensions defaultPhpExtensions; php74 = php74base.withExtensions defaultPhpExtensions;
php73 = php73base.withExtensions defaultPhpExtensionsWithHash; php73 = php73base.withExtensions defaultPhpExtensionsWithHash;
php72 = php72base.withExtensions defaultPhpExtensionsWithHash;
in { 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; self = pypy27;
sourceVersion = { sourceVersion = {
major = "7"; major = "7";
minor = "1"; minor = "3";
patch = "1"; patch = "1";
}; };
sha256 = "0yq6ln1ic476sasp8zs4mg5i9524l1p96qwanp486rr1yza1grlg"; sha256 = "08ckkhd0ix6j9873a7gr507c72d4cmnv5lwvprlljdca9i8p2dzs";
pythonVersion = "2.7"; pythonVersion = "2.7";
db = db.override { dbmSupport = !stdenv.isDarwin; }; db = db.override { dbmSupport = !stdenv.isDarwin; };
python = python27; python = python27;
@ -174,10 +174,10 @@ in {
self = pypy36; self = pypy36;
sourceVersion = { sourceVersion = {
major = "7"; major = "7";
minor = "1"; minor = "3";
patch = "1"; patch = "1";
}; };
sha256 = "1hqvnran7d2dzj5555n7q680dyzhmbklz04pvkxgb5j604v7kkx1"; sha256 = "10zsk8jby8j6visk5mzikpb1cidvz27qq4pfpa26jv53klic6b0c";
pythonVersion = "3.6"; pythonVersion = "3.6";
db = db.override { dbmSupport = !stdenv.isDarwin; }; db = db.override { dbmSupport = !stdenv.isDarwin; };
python = python27; python = python27;
@ -191,13 +191,12 @@ in {
self = pythonInterpreters.pypy27_prebuilt; self = pythonInterpreters.pypy27_prebuilt;
sourceVersion = { sourceVersion = {
major = "7"; major = "7";
minor = "1"; minor = "3";
patch = "1"; patch = "1";
}; };
sha256 = "0rlx4x9xy9h989w6sy4h7lknm00956r30c5gjxwsvf8fhvq9xc3k"; # linux64 sha256 = "18xc5kwidj5hjwbr0w8v1nfpg5l4lk01z8cn804zfyyz8xjqhx5y"; # linux64
pythonVersion = "2.7"; pythonVersion = "2.7";
inherit passthruFun; inherit passthruFun;
ncurses = ncurses5;
}; };
pypy36_prebuilt = callPackage ./pypy/prebuilt.nix { pypy36_prebuilt = callPackage ./pypy/prebuilt.nix {
@ -205,13 +204,12 @@ in {
self = pythonInterpreters.pypy36_prebuilt; self = pythonInterpreters.pypy36_prebuilt;
sourceVersion = { sourceVersion = {
major = "7"; major = "7";
minor = "1"; minor = "3";
patch = "1"; patch = "1";
}; };
sha256 = "1c1xx6dm1n4xvh1vd3rcvyyixm5jm9rvzisji1a5bc9l38xzc540"; # linux64 sha256 = "04nv0mkalaliphbjw7y0pmb372bxwjzwmcsqkf9kwsik99kg2z7n"; # linux64
pythonVersion = "3.6"; pythonVersion = "3.6";
inherit passthruFun; inherit passthruFun;
ncurses = ncurses5;
}; };
graalpython37 = callPackage ./graalpython/default.nix { graalpython37 = callPackage ./graalpython/default.nix {

View File

@ -34,7 +34,7 @@ in with passthru; stdenv.mkDerivation rec {
inherit pname version; inherit pname version;
src = fetchurl { 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; inherit sha256;
}; };
@ -75,13 +75,6 @@ in with passthru; stdenv.mkDerivation rec {
postPatch = '' 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'" 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 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} ln -s $out/${executable}-c/${executable}-c $out/bin/${executable}
# other packages expect to find stuff according to libPrefix # 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} ln -s $out/${executable}-c/lib-python/${if isPy3k then "3" else pythonVersion} $out/lib/${libPrefix}
${stdenv.lib.optionalString stdenv.isDarwin '' ${stdenv.lib.optionalString stdenv.isDarwin ''

View File

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

View File

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

View File

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

View File

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

View File

@ -98,7 +98,7 @@ stdenv.mkDerivation rec {
(cd ../tests/ && python3 runner.py) (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. # a tests target. This removes them.
postInstall = '' postInstall = ''
( cd "$out/bin" ( 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; enableParallelBuilding = true;
meta = with stdenv.lib; { 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