Merge branch 'master' into staging-next

~5k rebuilds per platform.
Hydra nixpkgs: ?compare=1518759
This commit is contained in:
Vladimír Čunát 2019-05-11 09:36:12 +02:00
commit e8f4ad0169
No known key found for this signature in database
GPG Key ID: E747DF1F9575A3AA
281 changed files with 10743 additions and 7236 deletions

View File

@ -150,6 +150,19 @@ hello-2.3 A program that produces a familiar, friendly greeting
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>changelog</varname>
</term>
<listitem>
<para>
A link or a list of links to the location of Changelog for a package.
A link may use expansion to refer to the correct changelog version.
Example:
<literal>"https://git.savannah.gnu.org/cgit/hello.git/plain/NEWS?h=v${version}"</literal>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<varname>license</varname>

View File

@ -2643,9 +2643,7 @@ addEnvHooks "$hostOffset" myBashFunction
At <filename>/var/lib/cntr</filename> the sandboxed filesystem is
mounted. All commands and files of the system are still accessible
within the shell. To execute commands from the sandbox use the cntr exec
subcommand. Note that <command>cntr</command> also needs to be executed
on the machine that is doing the build, which might not be the case when
remote builders are enabled. <command>cntr</command> is only supported
subcommand. <command>cntr</command> is only supported
on Linux-based platforms. To use it first add <literal>cntr</literal> to
your <literal>environment.systemPackages</literal> on NixOS or
alternatively to the root user on non-NixOS systems. Then in the package
@ -2657,6 +2655,16 @@ addEnvHooks "$hostOffset" myBashFunction
When a build failure happens there will be an instruction printed that
shows how to attach with <literal>cntr</literal> to the build sandbox.
</para>
<note>
<title>Caution with remote builds</title>
<para>
This won't work with remote builds as the build environment is on
a different machine and can't be accessed by <command>cntr</command>.
Remote builds can be turned off by setting <literal>--option builders ''</literal>
for <command>nix-build</command> or <literal>--builders ''</literal> for
<command>nix build</command>.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry>

View File

@ -88,6 +88,9 @@ rec {
config = "aarch64-unknown-linux-musl";
};
gnu64 = { config = "x86_64-unknown-linux-gnu"; };
gnu32 = { config = "i686-unknown-linux-gnu"; };
musl64 = { config = "x86_64-unknown-linux-musl"; };
musl32 = { config = "i686-unknown-linux-musl"; };

View File

@ -1100,6 +1100,11 @@
github = "cwoac";
name = "Oliver Matthews";
};
dalance = {
email = "dalance@gmail.com";
github = "dalance";
name = "Naoya Hatta";
};
DamienCassou = {
email = "damien@cassou.me";
github = "DamienCassou";
@ -1164,6 +1169,11 @@
github = "davorb";
name = "Davor Babic";
};
dawidsowa = {
email = "dawid_sowa@posteo.net";
github = "dawidsowa";
name = "Dawid Sowa";
};
dbohdan = {
email = "dbohdan@dbohdan.com";
github = "dbohdan";
@ -1531,6 +1541,11 @@
github = "eqyiel";
name = "Ruben Maher";
};
eraserhd = {
email = "jason.m.felice@gmail.com";
github = "eraserhd";
name = "Jason Felice";
};
ericbmerritt = {
email = "eric@afiniate.com";
github = "ericbmerritt";
@ -2588,6 +2603,11 @@
github = "knl";
name = "Nikola Knežević";
};
kolaente = {
email = "k@knt.li";
github = "kolaente";
name = "Konrad Langenberg";
};
konimex = {
email = "herdiansyah@netc.eu";
github = "konimex";
@ -4111,6 +4131,11 @@
github = "retrry";
name = "Tadas Barzdžius";
};
rexim = {
email = "reximkut@gmail.com";
github = "rexim";
name = "Alexey Kutepov";
};
rht = {
email = "rhtbot@protonmail.com";
github = "rht";

View File

@ -5,6 +5,7 @@ basexx,
dkjson
fifo
inspect
ldoc
lgi
lpeg_patterns
lpty
@ -22,6 +23,7 @@ luaevent,
luacheck
luaffi,,http://luarocks.org/dev,
luuid,
markdown,
penlight,
rapidjson,
say,

1 # nix name, luarocks name, server, version/additionnal args
5 dkjson
6 fifo
7 inspect
8 ldoc
9 lgi
10 lpeg_patterns
11 lpty
23 luacheck
24 luaffi,,http://luarocks.org/dev,
25 luuid,
26 markdown,
27 penlight,
28 rapidjson,
29 say,

View File

@ -76,11 +76,7 @@ FOOTER="
function convert_pkg () {
nix_pkg_name="$1"
lua_pkg_name="$2"
server=""
if [ ! -z "$3" ]; then
server=" --server=$3"
fi
server="${3:+--server=$3}"
version="${4:-}"
echo "looking at $lua_pkg_name (version $version) from server [$server]" >&2
@ -101,15 +97,15 @@ echo "$HEADER" | tee "$TMP_FILE"
# name,server,version
while IFS=, read -r nix_pkg_name lua_pkg_name server version
do
if [ "${nix_pkg_name:0:1}" == "#" ]; then
echo "Skipping comment ${nix_pkg_name}" >&2
continue
fi
if [ -z "$lua_pkg_name" ]; then
echo "Using nix_name as lua_pkg_name" >&2
lua_pkg_name="$nix_pkg_name"
fi
convert_pkg "$nix_pkg_name" "$lua_pkg_name" "$server" "$version"
if [ "${nix_pkg_name:0:1}" == "#" ]; then
echo "Skipping comment ${nix_pkg_name}" >&2
continue
fi
if [ -z "$lua_pkg_name" ]; then
echo "Using nix_name as lua_pkg_name" >&2
lua_pkg_name="$nix_pkg_name"
fi
convert_pkg "$nix_pkg_name" "$lua_pkg_name" "$server" "$version"
done < "$CSV_FILE"
# close the set

View File

@ -339,6 +339,7 @@
rss2email = 312;
cockroachdb = 313;
zoneminder = 314;
paperless = 315;
# When adding a uid, make sure it doesn't match an existing gid. And don't use uids above 399!
@ -638,6 +639,7 @@
rss2email = 312;
cockroachdb = 313;
zoneminder = 314;
paperless = 315;
# When adding a gid, make sure it doesn't match an existing
# uid. Users and groups with the same name should have equal

View File

@ -144,6 +144,7 @@
./programs/xonsh.nix
./programs/xss-lock.nix
./programs/yabar.nix
./programs/zmap.nix
./programs/zsh/oh-my-zsh.nix
./programs/zsh/zsh.nix
./programs/zsh/zsh-autoenv.nix
@ -435,6 +436,7 @@
./services/misc/octoprint.nix
./services/misc/osrm.nix
./services/misc/packagekit.nix
./services/misc/paperless.nix
./services/misc/parsoid.nix
./services/misc/phd.nix
./services/misc/plex.nix

View File

@ -0,0 +1,18 @@
{ pkgs, config, lib, ... }:
with lib;
let
cfg = config.programs.zmap;
in {
options.programs.zmap = {
enable = mkEnableOption "ZMap";
};
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.zmap ];
environment.etc."zmap/blacklist.conf".source = "${pkgs.zmap}/etc/zmap/blacklist.conf";
environment.etc."zmap/zmap.conf".source = "${pkgs.zmap}/etc/zmap.conf";
};
}

View File

@ -2,20 +2,30 @@
with lib;
let
cfg = config.security.rngd;
in
{
options = {
security.rngd.enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to enable the rng daemon, which adds entropy from
hardware sources of randomness to the kernel entropy pool when
available.
'';
security.rngd = {
enable = mkOption {
type = types.bool;
default = true;
description = ''
Whether to enable the rng daemon, which adds entropy from
hardware sources of randomness to the kernel entropy pool when
available.
'';
};
debug = mkOption {
type = types.bool;
default = false;
description = "Whether to enable debug output (-d).";
};
};
};
config = mkIf config.security.rngd.enable {
config = mkIf cfg.enable {
services.udev.extraRules = ''
KERNEL=="random", TAG+="systemd"
SUBSYSTEM=="cpu", ENV{MODALIAS}=="cpu:type:x86,*feature:*009E*", TAG+="systemd", ENV{SYSTEMD_WANTS}+="rngd.service"
@ -29,7 +39,10 @@ with lib;
description = "Hardware RNG Entropy Gatherer Daemon";
serviceConfig.ExecStart = "${pkgs.rng-tools}/sbin/rngd -f";
serviceConfig = {
ExecStart = "${pkgs.rng-tools}/sbin/rngd -f"
+ optionalString cfg.debug " -d";
};
};
};
}

View File

@ -5,11 +5,13 @@ with lib;
let
cfg = config.services.journalbeat;
lt6 = builtins.compareVersions cfg.package.version "6" < 0;
journalbeatYml = pkgs.writeText "journalbeat.yml" ''
name: ${cfg.name}
tags: ${builtins.toJSON cfg.tags}
journalbeat.cursor_state_file: ${cfg.stateDir}/cursor-state
${optionalString lt6 "journalbeat.cursor_state_file: /var/lib/${cfg.stateDir}/cursor-state"}
${cfg.extraConfig}
'';
@ -22,6 +24,16 @@ in
enable = mkEnableOption "journalbeat";
package = mkOption {
type = types.package;
default = pkgs.journalbeat;
defaultText = "pkgs.journalbeat";
example = literalExample "pkgs.journalbeat7";
description = ''
The journalbeat package to use
'';
};
name = mkOption {
type = types.str;
default = "journalbeat";
@ -36,13 +48,17 @@ in
stateDir = mkOption {
type = types.str;
default = "/var/lib/journalbeat";
description = "The state directory. Journalbeat's own logs and other data are stored here.";
default = "journalbeat";
description = ''
Directory below <literal>/var/lib/</literal> to store journalbeat's
own logs and other data. This directory will be created automatically
using systemd's StateDirectory mechanism.
'';
};
extraConfig = mkOption {
type = types.lines;
default = ''
default = optionalString lt6 ''
journalbeat:
seek_position: cursor
cursor_seek_fallback: tail
@ -61,7 +77,16 @@ in
config = mkIf cfg.enable {
systemd.services.journalbeat = with pkgs; {
assertions = [
{
assertion = !hasPrefix "/" cfg.stateDir;
message =
"The option services.journalbeat.stateDir shouldn't be an absolute directory." +
" It should be a directory relative to /var/lib/.";
}
];
systemd.services.journalbeat = {
description = "Journalbeat log shipper";
wantedBy = [ "multi-user.target" ];
preStart = ''
@ -69,7 +94,13 @@ in
mkdir -p ${cfg.stateDir}/logs
'';
serviceConfig = {
ExecStart = "${pkgs.journalbeat}/bin/journalbeat -c ${journalbeatYml} -path.data ${cfg.stateDir}/data -path.logs ${cfg.stateDir}/logs";
StateDirectory = cfg.stateDir;
ExecStart = ''
${cfg.package}/bin/journalbeat \
-c ${journalbeatYml} \
-path.data /var/lib/${cfg.stateDir}/data \
-path.logs /var/lib/${cfg.stateDir}/logs'';
Restart = "always";
};
};
};

View File

@ -0,0 +1,185 @@
{ config, pkgs, lib, ... }:
with lib;
let
cfg = config.services.paperless;
defaultUser = "paperless";
manage = cfg.package.withConfig {
config = {
PAPERLESS_CONSUMPTION_DIR = cfg.consumptionDir;
PAPERLESS_INLINE_DOC = "true";
PAPERLESS_DISABLE_LOGIN = "true";
} // cfg.extraConfig;
inherit (cfg) dataDir ocrLanguages;
paperlessPkg = cfg.package;
};
in
{
options.services.paperless = {
enable = mkOption {
type = lib.types.bool;
default = false;
description = ''
Enable Paperless.
When started, the Paperless database is automatically created if it doesn't
exist and updated if the Paperless package has changed.
Both tasks are achieved by running a Django migration.
'';
};
dataDir = mkOption {
type = types.str;
default = "/var/lib/paperless";
description = "Directory to store the Paperless data.";
};
consumptionDir = mkOption {
type = types.str;
default = "${cfg.dataDir}/consume";
defaultText = "\${dataDir}/consume";
description = "Directory from which new documents are imported.";
};
consumptionDirIsPublic = mkOption {
type = types.bool;
default = false;
description = "Whether all users can write to the consumption dir.";
};
ocrLanguages = mkOption {
type = with types; nullOr (listOf string);
default = null;
description = ''
Languages available for OCR via Tesseract, specified as
<literal>ISO 639-2/T</literal> language codes.
If unset, defaults to all available languages.
'';
example = [ "eng" "spa" "jpn" ];
};
address = mkOption {
type = types.str;
default = "localhost";
description = "Server listening address.";
};
port = mkOption {
type = types.int;
default = 28981;
description = "Server port to listen on.";
};
extraConfig = mkOption {
type = types.attrs;
default = {};
description = ''
Extra paperless config options.
The config values are evaluated as double-quoted Bash string literals.
See <literal>paperless-src/paperless.conf.example</literal> for available options.
To enable user authentication, set <literal>PAPERLESS_DISABLE_LOGIN = "false"</literal>
and run the shell command <literal>$dataDir/paperless-manage createsuperuser</literal>.
To define secret options without storing them in /nix/store, use the following pattern:
<literal>PAPERLESS_PASSPHRASE = "$(&lt; /etc/my_passphrase_file)"</literal>
'';
example = literalExample ''
{
PAPERLESS_OCR_LANGUAGE = "deu";
}
'';
};
user = mkOption {
type = types.str;
default = defaultUser;
description = "User under which Paperless runs.";
};
package = mkOption {
type = types.package;
default = pkgs.paperless;
defaultText = "pkgs.paperless";
description = "The Paperless package to use.";
};
manage = mkOption {
type = types.package;
readOnly = true;
default = manage;
description = ''
A script to manage the Paperless instance.
It wraps Django's manage.py and is also available at
<literal>$dataDir/manage-paperless</literal>
'';
};
};
config = mkIf cfg.enable {
systemd.tmpfiles.rules = [
"d '${cfg.dataDir}' - ${cfg.user} ${cfg.user} - -"
] ++ (optional cfg.consumptionDirIsPublic
"d '${cfg.consumptionDir}' 777 ${cfg.user} ${cfg.user} - -"
# If the consumption dir is not created here, it's automatically created by
# 'manage' with the default permissions.
);
systemd.services.paperless-consumer = {
description = "Paperless document consumer";
serviceConfig = {
User = cfg.user;
ExecStart = "${manage} document_consumer";
Restart = "always";
};
after = [ "systemd-tmpfiles-setup.service" ];
wantedBy = [ "multi-user.target" ];
preStart = ''
if [[ $(readlink ${cfg.dataDir}/paperless-manage) != ${manage} ]]; then
ln -sf ${manage} ${cfg.dataDir}/paperless-manage
fi
${manage.setupEnv}
# Auto-migrate on first run or if the package has changed
versionFile="$PAPERLESS_DBDIR/src-version"
if [[ $(cat "$versionFile" 2>/dev/null) != ${cfg.package} ]]; then
python $paperlessSrc/manage.py migrate
echo ${cfg.package} > "$versionFile"
fi
'';
};
systemd.services.paperless-server = {
description = "Paperless document server";
serviceConfig = {
User = cfg.user;
ExecStart = "${manage} runserver --noreload ${cfg.address}:${toString cfg.port}";
Restart = "always";
};
# Bind to `paperless-consumer` so that the server never runs
# during migrations
bindsTo = [ "paperless-consumer.service" ];
after = [ "paperless-consumer.service" ];
wantedBy = [ "multi-user.target" ];
};
users = optionalAttrs (cfg.user == defaultUser) {
users = [{
name = defaultUser;
group = defaultUser;
uid = config.ids.uids.paperless;
home = cfg.dataDir;
}];
groups = [{
name = defaultUser;
gid = config.ids.gids.paperless;
}];
};
};
}

View File

@ -28,14 +28,29 @@ in {
path = [ pkgs.coreutils ];
after = [ "network.target" ];
wantedBy = [ "multi-user.target" ];
unitConfig.documentation = "man:vnstatd(1) man:vnstat(1) man:vnstat.conf(5)";
documentation = [
"man:vnstatd(1)"
"man:vnstat(1)"
"man:vnstat.conf(5)"
];
preStart = "chmod 755 /var/lib/vnstat";
serviceConfig = {
ExecStart = "${pkgs.vnstat}/bin/vnstatd -n";
ExecReload = "${pkgs.procps}/bin/kill -HUP $MAINPID";
ProtectHome = true;
# Hardening (from upstream example service)
ProtectSystem = "strict";
StateDirectory = "vnstat";
PrivateDevices = true;
ProtectKernelTunables = true;
ProtectControlGroups = true;
ProtectHome = true;
ProtectKernelModules = true;
PrivateTmp = true;
MemoryDenyWriteExecute = true;
RestrictRealtime = true;
RestrictNamespaces = true;
User = "vnstatd";
};
};

View File

@ -189,6 +189,11 @@ in
config = mkIf cfg.enable {
assertions = [
{ assertion = xcfg.enable;
message = ''
LightDM requires services.xserver.enable to be true
'';
}
{ assertion = cfg.autoLogin.enable -> cfg.autoLogin.user != null;
message = ''
LightDM auto-login requires services.xserver.displayManager.lightdm.autoLogin.user to be set

View File

@ -195,6 +195,11 @@ in
config = mkIf cfg.enable {
assertions = [
{ assertion = xcfg.enable;
message = ''
SDDM requires services.xserver.enable to be true
'';
}
{ assertion = cfg.autoLogin.enable -> cfg.autoLogin.user != null;
message = ''
SDDM auto-login requires services.xserver.displayManager.sddm.autoLogin.user to be set
@ -264,8 +269,8 @@ in
};
environment.etc."sddm.conf".source = cfgFile;
environment.pathsToLink = [
"/share/sddm"
environment.pathsToLink = [
"/share/sddm"
];
users.groups.sddm.gid = config.ids.gids.sddm;

View File

@ -104,7 +104,7 @@ in
"VBoxNetNAT"
"VBoxSDL"
"VBoxVolInfo"
"VirtualBox"
"VirtualBoxVM"
]));
users.groups.vboxusers.gid = config.ids.gids.vboxusers;

View File

@ -189,6 +189,7 @@ in
pam-oath-login = handleTest ./pam-oath-login.nix {};
pam-u2f = handleTest ./pam-u2f.nix {};
pantheon = handleTest ./pantheon.nix {};
paperless = handleTest ./paperless.nix {};
peerflix = handleTest ./peerflix.nix {};
pgjwt = handleTest ./pgjwt.nix {};
pgmanage = handleTest ./pgmanage.nix {};

View File

@ -12,6 +12,11 @@ with pkgs.lib;
let
esUrl = "http://localhost:9200";
totalHits = message :
"curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' " +
''-d '{\"query\" : { \"match\" : { \"message\" : \"${message}\"}}}' '' +
"| jq .hits.total";
mkElkTest = name : elk :
let elasticsearchGe7 = builtins.compareVersions elk.elasticsearch.version "7" >= 0;
in makeTest {
@ -21,7 +26,7 @@ let
};
nodes = {
one =
{ pkgs, ... }: {
{ pkgs, lib, ... }: {
# Not giving the machine at least 2060MB results in elasticsearch failing with the following error:
#
# OpenJDK 64-Bit Server VM warning:
@ -40,6 +45,26 @@ let
environment.systemPackages = [ pkgs.jq ];
services = {
journalbeat = let lt6 = builtins.compareVersions
elk.journalbeat.version "6" < 0; in {
enable = true;
package = elk.journalbeat;
extraConfig = mkOptionDefault (''
logging:
to_syslog: true
level: warning
metrics.enabled: false
output.elasticsearch:
hosts: [ "127.0.0.1:9200" ]
${optionalString lt6 "template.enabled: false"}
'' + optionalString (!lt6) ''
journalbeat.inputs:
- paths: []
seek: cursor
'');
};
logstash = {
enable = true;
package = elk.logstash;
@ -107,14 +132,19 @@ let
testScript = ''
startAll;
# Wait until elasticsearch is listening for connections.
$one->waitForUnit("elasticsearch.service");
$one->waitForOpenPort(9200);
# Continue as long as the status is not "red". The status is probably
# "yellow" instead of "green" because we are using a single elasticsearch
# node which elasticsearch considers risky.
#
# TODO: extend this test with multiple elasticsearch nodes and see if the status turns "green".
$one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_cluster/health' | jq .status | grep -v red");
# TODO: extend this test with multiple elasticsearch nodes
# and see if the status turns "green".
$one->waitUntilSucceeds(
"curl --silent --show-error '${esUrl}/_cluster/health' " .
"| jq .status | grep -v red");
# Perform some simple logstash tests.
$one->waitForUnit("logstash.service");
@ -123,16 +153,28 @@ let
# See if kibana is healthy.
$one->waitForUnit("kibana.service");
$one->waitUntilSucceeds("curl --silent --show-error 'http://localhost:5601/api/status' | jq .status.overall.state | grep green");
$one->waitUntilSucceeds(
"curl --silent --show-error 'http://localhost:5601/api/status' " .
"| jq .status.overall.state | grep green");
# See if logstash messages arive in elasticsearch.
$one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' -d '{\"query\" : { \"match\" : { \"message\" : \"flowers\"}}}' | jq .hits.total | grep -v 0");
$one->waitUntilSucceeds("curl --silent --show-error '${esUrl}/_search' -H 'Content-Type: application/json' -d '{\"query\" : { \"match\" : { \"message\" : \"dragons\"}}}' | jq .hits.total | grep 0");
$one->waitUntilSucceeds("${totalHits "flowers"} | grep -v 0");
$one->waitUntilSucceeds("${totalHits "dragons"} | grep 0");
# Test if a message logged to the journal
# is ingested by elasticsearch via journalbeat.
$one->waitForUnit("journalbeat.service");
$one->execute("echo 'Supercalifragilisticexpialidocious' | systemd-cat");
$one->waitUntilSucceeds(
"${totalHits "Supercalifragilisticexpialidocious"} | grep -v 0");
'' + optionalString (!elasticsearchGe7) ''
# Test elasticsearch-curator.
$one->systemctl("stop logstash");
$one->systemctl("start elasticsearch-curator");
$one->waitUntilSucceeds("! curl --silent --show-error '${esUrl}/_cat/indices' | grep logstash | grep -q ^$1");
$one->waitUntilSucceeds(
"! curl --silent --show-error '${esUrl}/_cat/indices' " .
"| grep logstash | grep -q ^$1");
'';
};
in mapAttrs mkElkTest {
@ -140,6 +182,7 @@ in mapAttrs mkElkTest {
elasticsearch = pkgs.elasticsearch5;
logstash = pkgs.logstash5;
kibana = pkgs.kibana5;
journalbeat = pkgs.journalbeat5;
};
"ELK-6" =
if enableUnfree
@ -147,11 +190,13 @@ in mapAttrs mkElkTest {
elasticsearch = pkgs.elasticsearch6;
logstash = pkgs.logstash6;
kibana = pkgs.kibana6;
journalbeat = pkgs.journalbeat6;
}
else {
elasticsearch = pkgs.elasticsearch6-oss;
logstash = pkgs.logstash6-oss;
kibana = pkgs.kibana6-oss;
journalbeat = pkgs.journalbeat6;
};
"ELK-7" =
if enableUnfree
@ -159,10 +204,12 @@ in mapAttrs mkElkTest {
elasticsearch = pkgs.elasticsearch7;
logstash = pkgs.logstash7;
kibana = pkgs.kibana7;
journalbeat = pkgs.journalbeat7;
}
else {
elasticsearch = pkgs.elasticsearch7-oss;
logstash = pkgs.logstash7-oss;
kibana = pkgs.kibana7-oss;
journalbeat = pkgs.journalbeat7;
};
}

View File

@ -9,7 +9,7 @@ with pkgs.lib;
{
mysql = makeTest {
name = "gitea-mysql";
meta.maintainers = [ maintainers.aanderse ];
meta.maintainers = with maintainers; [ aanderse kolaente ];
machine =
{ config, pkgs, ... }:

29
nixos/tests/paperless.nix Normal file
View File

@ -0,0 +1,29 @@
import ./make-test.nix ({ lib, ... } : {
name = "paperless";
meta = with lib.maintainers; {
maintainers = [ earvstedt ];
};
machine = { pkgs, ... }: {
environment.systemPackages = with pkgs; [ imagemagick jq ];
services.paperless = {
enable = true;
ocrLanguages = [ "eng" ];
};
};
testScript = ''
$machine->waitForUnit("paperless-consumer.service");
# Create test doc
$machine->succeed('convert -size 400x40 xc:white -font "DejaVu-Sans" -pointsize 20 -fill black \
-annotate +5+20 "hello world 16-10-2005" /var/lib/paperless/consume/doc.png');
$machine->waitForUnit("paperless-server.service");
# Wait until server accepts connections
$machine->waitUntilSucceeds("curl -s localhost:28981");
# Wait until document is consumed
$machine->waitUntilSucceeds('(($(curl -s localhost:28981/api/documents/ | jq .count) == 1))');
$machine->succeed("curl -s localhost:28981/api/documents/ | jq '.results | .[0] | .created'")
=~ /2005-10-16/ or die;
'';
})

View File

@ -2,9 +2,26 @@
config ? {},
pkgs ? import ../.. { inherit system config; },
debug ? false,
enableUnfree ? false
enableUnfree ? false,
# Nested KVM virtualization (https://www.linux-kvm.org/page/Nested_Guests)
# requires a modprobe flag on the build machine: (kvm-amd for AMD CPUs)
# boot.extraModprobeConfig = "options kvm-intel nested=Y";
# Without this VirtualBox will use SW virtualization and will only be able
# to run 32-bit guests.
useKvmNestedVirt ? false,
# Whether to run 64-bit guests instead of 32-bit. Requires nested KVM.
use64bitGuest ? false,
# Whether to enable the virtual UART in VirtualBox guests, allowing to see
# the guest console. There is currently a bug in VirtualBox where this will
# cause a crash if running with SW virtualization
# (https://www.virtualbox.org/ticket/18632). If you need to debug the tests
# then enable this and nested KVM to work around the crash (see above).
enableVBoxUART ? false
}:
assert use64bitGuest -> useKvmNestedVirt;
assert enableVBoxUART -> useKvmNestedVirt; # VirtualBox bug, see above
with import ../lib/testing.nix { inherit system pkgs; };
with pkgs.lib;
@ -94,7 +111,7 @@ let
testVM = vmName: vmScript: let
cfg = (import ../lib/eval-config.nix {
system = "i686-linux";
system = if use64bitGuest then "x86_64-linux" else "i686-linux";
modules = [
../modules/profiles/minimal.nix
(testVMConfig vmName vmScript)
@ -141,13 +158,15 @@ let
sharePath = "/home/alice/vboxshare-${name}";
createFlags = mkFlags [
"--ostype Linux26"
"--ostype ${if use64bitGuest then "Linux26_64" else "Linux26"}"
"--register"
];
vmFlags = mkFlags ([
"--uart1 0x3F8 4"
"--uartmode1 client /run/virtualbox-log-${name}.sock"
vmFlags = mkFlags (
(optionals enableVBoxUART [
"--uart1 0x3F8 4"
"--uartmode1 client /run/virtualbox-log-${name}.sock"
]) ++ [
"--memory 768"
"--audio none"
] ++ (attrs.vmFlags or []));
@ -180,7 +199,7 @@ let
];
in {
machine = {
systemd.sockets."vboxtestlog-${name}" = {
systemd.sockets."vboxtestlog-${name}" = mkIf enableVBoxUART {
description = "VirtualBox Test Machine Log Socket For ${name}";
wantedBy = [ "sockets.target" ];
before = [ "multi-user.target" ];
@ -188,7 +207,7 @@ let
socketConfig.Accept = true;
};
systemd.services."vboxtestlog-${name}@" = {
systemd.services."vboxtestlog-${name}@" = mkIf enableVBoxUART {
description = "VirtualBox Test Machine Log For ${name}";
serviceConfig.StandardInput = "socket";
serviceConfig.StandardOutput = "syslog";
@ -346,6 +365,8 @@ let
vmConfigs = mapAttrsToList mkVMConf vms;
in [ ./common/user-account.nix ./common/x11.nix ] ++ vmConfigs;
virtualisation.memorySize = 2048;
virtualisation.qemu.options =
if useKvmNestedVirt then ["-cpu" "kvm64,vmx=on"] else [];
virtualisation.virtualbox.host.enable = true;
services.xserver.displayManager.auto.user = "alice";
users.users.alice.extraGroups = let
@ -412,9 +433,14 @@ in mapAttrs (mkVBoxTest false vboxVMs) {
);
$machine->sleep(5);
$machine->screenshot("gui_manager_started");
# Home to select Tools, down to move to the VM, enter to start it.
$machine->sendKeys("home");
$machine->sendKeys("down");
$machine->sendKeys("ret");
$machine->screenshot("gui_manager_sent_startup");
waitForStartup_simple (sub {
$machine->sendKeys("home");
$machine->sendKeys("down");
$machine->sendKeys("ret");
});
$machine->screenshot("gui_started");

View File

@ -1,40 +0,0 @@
--- code-r100/configure.ac 2014-09-25 23:44:41.059174904 +0200
+++ code-r100.new/configure.ac 2014-09-26 01:37:18.507017390 +0200
@@ -44,6 +44,8 @@
[AC_MSG_ERROR(CONFIG: You need libxml2-dev installed.
http://www.xmlsoft.org/)])
+PKG_CHECK_MODULES([libxml], [libxml-2.0])
+
AC_CHECK_LIB([m], [sqrt], , [AC_MSG_ERROR(CORE: You need libm installed)])
AC_CHECK_LIB([pthread], [pthread_self], , [AC_MSG_ERROR(CORE: You need libpthread installed)])
@@ -79,12 +81,12 @@
echo "--- Enabling USB LCD display --";
fi
-#SDL_VERSION=1.2.4
-#AM_PATH_SDL($SDL_VERSION,
-# :,
-# AC_MSG_ERROR([VIDEO: *** SDL version $SDL_VERSION not found!
-# http://www.libsdl.org/])
-#)
+SDL_VERSION=1.2.4
+AM_PATH_SDL($SDL_VERSION,
+ :,
+ AC_MSG_ERROR([VIDEO: *** SDL version $SDL_VERSION not found!
+ http://www.libsdl.org/])
+)
AC_CHECK_LIB([vorbis], [main], ,
[AC_MSG_ERROR(AUDIO: You need libvorbis-dev installed.
@@ -95,6 +97,9 @@
AC_CHECK_LIB([vorbisenc], [main], ,
[AC_MSG_ERROR(AUDIO: You need libvorbis-dev installed.
http://www.xiph.org/ogg/vorbis/)])
+AC_CHECK_LIB([ogg], [main], ,
+ [AC_MSG_ERROR(AUDIO: You need libogg-dev installed.
+ http://www.xiph.org/ogg/)])
AC_CHECK_LIB([sndfile], [main], ,
[AC_MSG_ERROR(AUDIO: you need libsndfile installed.

View File

@ -1,13 +0,0 @@
--- code-r100/src/Makefile.am 2014-09-25 23:44:41.043174832 +0200
+++ code-r100.new/src/Makefile.am 2014-09-26 01:21:03.750015888 +0200
@@ -24,7 +24,8 @@
fweelindir = $(datadir)/fweelin
-FWEELIN_CFLAGS = -I. -g -Wall -Wno-write-strings -Wno-non-virtual-dtor -D_REENTRANT -DPTHREADS -DNDEBUG -DVERSION=\"$(VERSION)\" -DFWEELIN_DATADIR=\"$(fweelindir)\" -DADDON_DIR=\"/usr/local/lib/jack\" -I/usr/include/freetype2 -I/usr/include/libxml2 -funroll-loops -finline-functions -fomit-frame-pointer -ffast-math -fexpensive-optimizations -fstrict-aliasing -falign-loops=2 -falign-jumps=2 -falign-functions=2 -O9
+XML_CFLAGS = `xml2-config --cflags`
+FWEELIN_CFLAGS = -I. -g -Wall -Wno-write-strings -Wno-non-virtual-dtor -D_REENTRANT -DPTHREADS -DNDEBUG -DVERSION=\"$(VERSION)\" -DFWEELIN_DATADIR=\"$(fweelindir)\" -DADDON_DIR=\"/usr/local/lib/jack\" -I/usr/include/freetype2 $(XML_CFLAGS) -funroll-loops -finline-functions -fomit-frame-pointer -ffast-math -fexpensive-optimizations -fstrict-aliasing -falign-loops=2 -falign-jumps=2 -falign-functions=2 -O9
AM_CFLAGS = $(CFLAGS) $(FWEELIN_CFLAGS)
-AM_CXXFLAGS = $(CFLAGS) $(CXXFLAGS) $(FWEELIN_CFLAGS)
+AM_CXXFLAGS = $(CFLAGS) $(CXXFLAGS) $(FWEELIN_CFLAGS) ${libxml2_CFLAGS}

View File

@ -2,11 +2,11 @@
pythonPackages.buildPythonApplication rec {
pname = "Mopidy-Iris";
version = "3.37.0";
version = "3.37.1";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "1fy802jx3817ldrm3g5inrfjbi7s8xcx96pnglbq54nvp41lzyh5";
sha256 = "0qcg456k7av0anymmmnlcn0v4642gbgk0nhic6w9bg9v5m0nj9ll";
};
propagatedBuildInputs = [

View File

@ -12,11 +12,11 @@ let
build = "183.5452501";
sha256Hash = "0i8wz9v6nxzr27a07cv2330i84v94pcl13gjwvpglp55hyzd8axd";
};
betaVersion = stableVersion;
betaVersion = latestVersion;
latestVersion = { # canary & dev
version = "3.5.0.12"; # "Android Studio 3.5 Canary 13"
build = "191.5487692";
sha256Hash = "0iwd2qa551rs9b0w4rs7wmzdbh3r4j76xvs815l6i5pilk0s47gz";
version = "3.5.0.13"; # "Android Studio 3.5 Beta 1"
build = "191.5529924";
sha256Hash = "0i710n2wr0a8lvxf1mg6a5pmdh1l72wa0hwyricyixi0mylwwc6l";
};
in rec {
# Attributes are named by their corresponding release channels

View File

@ -4,12 +4,12 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "howl-${version}";
version = "0.5.3";
version = "0.6";
# Use the release tarball containing pre-downloaded dependencies sources
src = fetchurl {
url = "https://github.com/howl-editor/howl/releases/download/0.5.3/howl-0.5.3.tgz";
sha256 = "0gnc8vr5h8mwapbcqc1zr9la62rb633awyqgy8q7pwjpiy85a03v";
url = "https://github.com/howl-editor/howl/releases/download/${version}/howl-${version}.tgz";
sha256 = "1qc58l3rkr37cj6vhf8c7bnwbz93nscyraz7jxqwjq6k4gj0cjw3";
};
sourceRoot = "./howl-${version}/src";

View File

@ -263,12 +263,12 @@ in
datagrip = buildDataGrip rec {
name = "datagrip-${version}";
version = "2019.1.1"; /* updated by script */
version = "2019.1.2"; /* updated by script */
description = "Your Swiss Army Knife for Databases and SQL";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/datagrip/${name}.tar.gz";
sha256 = "0w6hasb8vcbxdqmb0pngwr2jg0w14prqb4v7blraa5jf1xyyiayd"; /* updated by script */
sha256 = "0157ccc94pwk4a8r1pvvjzd0g4liqqns6b0cmimfjhxsh6bnarww"; /* updated by script */
};
wmClass = "jetbrains-datagrip";
update-channel = "DataGrip RELEASE";
@ -354,12 +354,12 @@ in
rider = buildRider rec {
name = "rider-${version}";
version = "2018.3.4"; /* updated by script */
version = "2019.1.1"; /* updated by script */
description = "A cross-platform .NET IDE based on the IntelliJ platform and ReSharper";
license = stdenv.lib.licenses.unfree;
src = fetchurl {
url = "https://download.jetbrains.com/rider/JetBrains.Rider-${version}.tar.gz";
sha256 = "1klmg8wgj3shp4s0n2nn7n39zsk1mch6g9ifhwn5cgywpbzgam4p"; /* updated by script */
sha256 = "0441y92b3xqf7xh8k4vc0m7dfm91psnrwlv3mjzbsv09jrk1kbq7"; /* updated by script */
};
wmClass = "jetbrains-rider";
update-channel = "Rider RELEASE";

View File

@ -21,13 +21,13 @@ let
in
stdenv.mkDerivation rec {
name = "neovim-unwrapped-${version}";
version = "0.3.4";
version = "0.3.5";
src = fetchFromGitHub {
owner = "neovim";
repo = "neovim";
rev = "v${version}";
sha256 = "07ncvgp6xfhiwc6hd7qf7zk28n3yj47p26qj1ji29vqkwnk28y3s";
sha256 = "113lrr9gwimvvzlkwlishm4cjqcf30xq9jfxn7vh41ckgnbiwf3w";
};
patches = [

View File

@ -1,15 +0,0 @@
diff --git a/src/cpp/desktop/CMakeLists.txt b/src/cpp/desktop/CMakeLists.txt
index f5701bf735..27af4148ff 100644
--- a/src/cpp/desktop/CMakeLists.txt
+++ b/src/cpp/desktop/CMakeLists.txt
@@ -112,6 +112,7 @@ find_package(Qt5WebEngine REQUIRED)
find_package(Qt5WebEngineWidgets REQUIRED)
find_package(Qt5PrintSupport REQUIRED)
find_package(Qt5Quick REQUIRED)
+find_package(Qt5QuickWidgets REQUIRED)
find_package(Qt5Positioning REQUIRED)
find_package(Qt5Sensors REQUIRED)
find_package(Qt5Svg REQUIRED)
--
2.17.1

View File

@ -8,6 +8,7 @@
, qtsvg
, qtwebengine
, akonadi-contacts
, kcalcore
, kconfigwidgets
, kcoreaddons
@ -50,14 +51,14 @@
}:
mkDerivation rec {
name = "digikam-${version}";
version = "6.0.0";
pname = "digikam";
version = "6.1.0";
src = fetchFromGitHub {
owner = "KDE";
repo = "digikam";
rev = "v${version}";
sha256 = "1ifvrn0bm7fp07d059rl4dy146qzdxafl36ipxg1fg00dkv95hh4";
sha256 = "0h0jqfgpanhxfi3r7cgip58ppypqx79z6c5jj7i7f19hp2zziip8";
};
nativeBuildInputs = [ cmake doxygen extra-cmake-modules kdoctools wrapGAppsHook ];
@ -88,6 +89,7 @@ mkDerivation rec {
qtsvg
qtwebengine
akonadi-contacts
kcalcore
kconfigwidgets
kcoreaddons
@ -112,6 +114,7 @@ mkDerivation rec {
preFixup = ''
gappsWrapperArgs+=(--prefix PATH : ${lib.makeBinPath [ gnumake hugin enblend-enfuse ]})
gappsWrapperArgs+=(--suffix DK_PLUGIN_PATH : ${placeholder "out"}/${qtbase.qtPluginPrefix}/${pname})
substituteInPlace $out/bin/digitaglinktree \
--replace "/usr/bin/perl" "${perl}/bin/perl" \
--replace "/usr/bin/sqlite3" "${sqlite}/bin/sqlite3"

View File

@ -1,4 +1,4 @@
{ stdenv, lib, symlinkJoin, gimp, makeWrapper, gimpPlugins, plugins ? null}:
{ stdenv, lib, symlinkJoin, gimp, makeWrapper, gimpPlugins, gnome3, plugins ? null}:
let
allPlugins = lib.filter (pkg: builtins.isAttrs pkg && pkg.type == "derivation" && !pkg.meta.broken or false) (lib.attrValues gimpPlugins);
@ -17,6 +17,7 @@ in symlinkJoin {
for each in gimp-${versionBranch} gimp-console-${versionBranch}; do
wrapProgram $out/bin/$each \
--set GIMP2_PLUGINDIR "$out/lib/gimp/2.0" \
--prefix GTK_PATH : "${gnome3.gnome-themes-extra}/lib/gtk-2.0" \
${toString extraArgs}
done
set +x

View File

@ -12,14 +12,14 @@ let
};
in
stdenv.mkDerivation rec {
version = "1.2";
version = "1.4";
name = "renderdoc-${version}";
src = fetchFromGitHub {
owner = "baldurk";
repo = "renderdoc";
rev = "v${version}";
sha256 = "0s1q5d58x18yz3nf94pv5i1qd2hc0a4gdj4qkpcn8s6ms2x05pz4";
sha256 = "1iann73r4yzkwnm13h4zqipqrp5i5cnkv27yyap0axz6h3npw94r";
};
buildInputs = [

View File

@ -1,9 +1,10 @@
{ config, lib, stdenv, fetchurl, CoreAudio
{ config, lib, stdenv, fetchurl, pkgconfig, CoreAudio
, enableAlsa ? true, alsaLib ? null
, enableLibao ? true, libao ? null
, enableLame ? config.sox.enableLame or false, lame ? null
, enableLibmad ? true, libmad ? null
, enableLibogg ? true, libogg ? null, libvorbis ? null
, enableOpusfile ? true, opusfile ? null
, enableFLAC ? true, flac ? null
, enablePNG ? true, libpng ? null
, enableLibsndfile ? true, libsndfile ? null
@ -22,12 +23,16 @@ stdenv.mkDerivation rec {
sha256 = "0v2znlxkxxcd3f48hf3dx9pq7i6fdhb62kgj7wv8xggz8f35jpxl";
};
# configure.ac uses pkg-config only to locate libopusfile
nativeBuildInputs = optional enableOpusfile pkgconfig;
buildInputs =
optional (enableAlsa && stdenv.isLinux) alsaLib ++
optional enableLibao libao ++
optional enableLame lame ++
optional enableLibmad libmad ++
optionals enableLibogg [ libogg libvorbis ] ++
optional enableOpusfile opusfile ++
optional enableFLAC flac ++
optional enablePNG libpng ++
optional enableLibsndfile libsndfile ++

View File

@ -0,0 +1,21 @@
{ lib, python3Packages }:
python3Packages.buildPythonApplication rec {
pname = "gallery_dl";
version = "1.8.3";
src = python3Packages.fetchPypi {
inherit pname version;
sha256 = "671ee6ff7baa3d63393d9856686313b4e0146f875dd937326942dd2fff605a72";
};
doCheck = false;
propagatedBuildInputs = with python3Packages; [ requests ];
meta = {
description = "Command-line program to download image-galleries and -collections from several image hosting sites";
homepage = https://github.com/mikf/gallery-dl;
license = lib.licenses.gpl2;
maintainers = with lib.maintainers; [ dawidsowa ];
};
}

View File

@ -1,22 +0,0 @@
diff --git a/bushnell.cc b/bushnell.cc
index 8fa844d..40707c4 100644
--- a/bushnell.cc
+++ b/bushnell.cc
@@ -135,7 +135,7 @@ bushnell_get_icon_from_name(QString name)
name = "Waypoint";
}
- for (t = bushnell_icons; t->icon > 0; t++) {
+ for (t = bushnell_icons; t->icon != 0; t++) {
if (0 == name.compare(t->icon, Qt::CaseInsensitive)) {
return t->symbol;
}
@@ -147,7 +147,7 @@ static const char*
bushnell_get_name_from_symbol(signed int s)
{
icon_mapping_t* t;
- for (t = bushnell_icons; t->icon > 0; t++) {
+ for (t = bushnell_icons; t->icon != 0; t++) {
if (s == t->symbol) {
return t->icon;
}

View File

@ -2,17 +2,16 @@
stdenv.mkDerivation rec {
name = "gpsbabel-${version}";
version = "1.5.4";
version = "1.6.0";
src = fetchFromGitHub {
owner = "gpsbabel";
repo = "gpsbabel";
rev = "gpsbabel_${lib.replaceStrings ["."] ["_"] version}";
sha256 = "0v6wpp14zkfbarmksf9dn3wmpj1araxd7xi5xp7gpl7kafb9aiwi";
sha256 = "0q17jhmaf7z5lld2ff7h6jb3v1yz8hbwd2rmaq2dsamc53dls8iw";
};
patches = [
./clang-4.patch
(fetchpatch {
url = https://sources.debian.net/data/main/g/gpsbabel/1.5.3-2/debian/patches/use_minizip;
sha256 = "03fpsmlx1wc48d1j405zkzp8j64hcp0z72islf4mk1immql3ibcr";

View File

@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
It is fully customizable.
'';
homepage = https://www.gnu.org/software/hello/manual/;
changelog = "https://git.savannah.gnu.org/cgit/hello.git/plain/NEWS?h=v${version}";
license = licenses.gpl3Plus;
maintainers = [ maintainers.eelco ];
platforms = platforms.all;

View File

@ -5,7 +5,9 @@
let
version = "1.3.1-ff75f26";
data = builtins.fromJSON (builtins.readFile ./revision.json);
inherit (data) version url sha256;
rpath = stdenv.lib.makeLibraryPath
[ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft
@ -17,10 +19,7 @@ in
stdenv.mkDerivation {
name = "hubstaff-${version}";
src = fetchurl {
url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/${version}/Hubstaff-${version}.sh";
sha256 = "0jm5l34r6lkfkg8vsdfqbr0axngxznhagwcl9y184lnyji91fmdl";
};
src = fetchurl { inherit sha256 url; };
nativeBuildInputs = [ unzip makeWrapper ];

View File

@ -0,0 +1,5 @@
{
"url": "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/1.4.5-c5b459ea/Hubstaff-1.4.5-c5b459ea.sh",
"version": "1.4.5-c5b459ea",
"sha256": "180qglbj175wln0kh8d5czhjvy7z503zxn4w6522hkz4ddz201nz"
}

View File

@ -0,0 +1,18 @@
#!/usr/bin/env nix-shell
#!nix-shell -i bash -p nix-prefetch-git curl
SCRIPT_DIR=$(dirname "$(readlink -f "$BASH_SOURCE")")
installation_script_url=$(curl --fail --head --location --silent --output /dev/null --write-out %{url_effective} https://app.hubstaff.com/download/linux)
version=$(echo "$installation_script_url" | sed -r 's/^https:\/\/hubstaff\-production\.s3\.amazonaws\.com\/downloads\/HubstaffClient\/Builds\/Release\/([^\/]+)\/Hubstaff.+$/\1/')
sha256=$(nix-prefetch-url "$installation_script_url")
cat <<EOT > $SCRIPT_DIR/revision.json
{
"url": "$installation_script_url",
"version": "$version",
"sha256": "$sha256"
}
EOT

View File

@ -1,25 +0,0 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "pstree-2.39";
src = fetchurl {
urls = [
"http://www.sfr-fresh.com/unix/misc/${name}.tar.gz"
"https://distfiles.macports.org/pstree/${name}.tar.gz"
];
sha256 = "17s7v15c4gryjpi11y1xq75022nkg4ggzvjlq2dkmyg67ssc76vw";
};
unpackPhase = "unpackFile \$src; sourceRoot=.";
buildPhase = "pwd; $CC -o pstree pstree.c";
installPhase = "mkdir -p \$out/bin; cp pstree \$out/bin";
meta = {
description = "Show the set of running processes as a tree";
license = "GPL";
maintainers = [ ];
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -1,8 +1,8 @@
{ haskell, lib, haskellPackages, fetchFromGitHub }:
let
version = "1.3.2";
sha256 = "0cyysvkl8m1ldlprmw9mpvch3r244nl25yv74dwcykga3g5mw4aa";
version = "1.4.2";
sha256 = "1kpzjsbx2xbp43hd62nq03jcknp0dqvdlxjc9gc3fagaqfbfzny2";
in (haskellPackages.mkDerivation {
pname = "taskell";
@ -35,10 +35,12 @@ in (haskellPackages.mkDerivation {
# containers
# directory
file-embed
fold-debounce
http-conduit
http-client
http-types
lens
raw-strings-qq
# mtl
# template-haskell
# text

View File

@ -1,77 +0,0 @@
# HG changeset patch
# User Michelangelo De Simone <mdesimone@mozilla.com>
# Date 1479198095 28800
# Node ID fde6e9ccfc72fbc0fcd93af7a40436b216e7ea1a
# Parent 687eac6845a77d2cac5505da9c8912885c2a9e57
Bug 1013882 - TestInterfaceJS should be packaged only if it's available. r=glandium, a=jcristau
MozReview-Commit-ID: IEHesdoU4Sz
diff --git a/b2g/installer/package-manifest.in b/b2g/installer/package-manifest.in
--- a/b2g/installer/package-manifest.in
+++ b/b2g/installer/package-manifest.in
@@ -570,17 +570,17 @@
@RESPATH@/components/InputMethod.manifest
#ifdef MOZ_B2G
@RESPATH@/components/inputmethod.xpt
#endif
@RESPATH@/components/SystemUpdate.manifest
@RESPATH@/components/SystemUpdateManager.js
-#ifdef MOZ_DEBUG
+#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
@RESPATH@/components/TestInterfaceJS.js
@RESPATH@/components/TestInterfaceJS.manifest
@RESPATH@/components/TestInterfaceJSMaplike.js
#endif
; Modules
@RESPATH@/modules/*
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
--- a/browser/installer/package-manifest.in
+++ b/browser/installer/package-manifest.in
@@ -554,17 +554,17 @@
@RESPATH@/components/PresentationControlService.js
@RESPATH@/components/PresentationDataChannelSessionTransport.js
@RESPATH@/components/PresentationDataChannelSessionTransport.manifest
; InputMethod API
@RESPATH@/components/MozKeyboard.js
@RESPATH@/components/InputMethod.manifest
-#ifdef MOZ_DEBUG
+#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
@RESPATH@/components/TestInterfaceJS.js
@RESPATH@/components/TestInterfaceJS.manifest
@RESPATH@/components/TestInterfaceJSMaplike.js
#endif
; [Extensions]
@RESPATH@/components/extensions-toolkit.manifest
@RESPATH@/browser/components/extensions-browser.manifest
diff --git a/mobile/android/installer/package-manifest.in b/mobile/android/installer/package-manifest.in
--- a/mobile/android/installer/package-manifest.in
+++ b/mobile/android/installer/package-manifest.in
@@ -381,17 +381,17 @@
@BINPATH@/components/CaptivePortalDetectComponents.manifest
@BINPATH@/components/captivedetect.js
#ifdef MOZ_WEBSPEECH
@BINPATH@/components/dom_webspeechsynth.xpt
#endif
-#ifdef MOZ_DEBUG
+#if defined(ENABLE_TESTS) && defined(MOZ_DEBUG)
@BINPATH@/components/TestInterfaceJS.js
@BINPATH@/components/TestInterfaceJS.manifest
@BINPATH@/components/TestInterfaceJSMaplike.js
#endif
@BINPATH@/components/nsAsyncShutdown.manifest
@BINPATH@/components/nsAsyncShutdown.js

View File

@ -17,10 +17,10 @@ rec {
firefox = common rec {
pname = "firefox";
ffversion = "66.0.4";
ffversion = "66.0.5";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "0mz2xrznma3hwb2b36hlv4qmnzbfcfhrxbxqhc8yyqxnc0fm4vxbbzh1pzvghp4182n98l1dignw95v11pfgi3gss7sz1zkiywz47sw";
sha512 = "18bcpbwzhc2fi6cqhxhh6jiw5akhzr7qqs6s8irjbvh7q8f3z2n046vrlvpblhbkc2kv1n0s14n49yzv432adqwa9qi8d57jnxyfqkf";
};
patches = [
@ -72,10 +72,10 @@ rec {
firefox-esr-60 = common rec {
pname = "firefox-esr";
ffversion = "60.6.2esr";
ffversion = "60.6.3esr";
src = fetchurl {
url = "mirror://mozilla/firefox/releases/${ffversion}/source/firefox-${ffversion}.source.tar.xz";
sha512 = "2gk11kffwmyq3m8dsjc86f7zfagl15msb8byrb4db4w4ssn335wax2p8m221xi4qnzf20fl0p1b30g5z8ivrxx2n19yknnwalazcjzd";
sha512 = "3zg75djd7mbr9alhkp7zqrky7g41apyf6ka0acv500dmpnhvn5v5i0wy9ks8v6vh7kcgw7bngf6msb7vbbps6whwdcqv3v4dqbg6yr2";
};
patches = [
@ -246,15 +246,15 @@ in rec {
tor-browser-8-0 = tbcommon rec {
ffversion = "60.6.1esr";
tbversion = "8.0.8";
tbversion = "8.0.9";
# FIXME: fetchFromGitHub is not ideal, unpacked source is >900Mb
src = fetchFromGitHub {
owner = "SLNOS";
repo = "tor-browser";
# branch "tor-browser-60.6.1esr-8.0-1-slnos"
rev = "dda14213c550afc522ef0bb0bb1643289c298736";
sha256 = "0lj79nczcix9mx6d0isbizg0f8apf6vgkp7r0q7id92691frj7fz";
# branch "tor-browser-60.6.1esr-8.0-1-r2-slnos"
rev = "d311540ce07f1f4f5e5789f9107f6e6ecc23988d";
sha256 = "0nz8vxv53vnqyk3ahakrr5xg6sgapvlmsb6s1pwwsb86fxk6pm5f";
};
patches = [

View File

@ -21,12 +21,12 @@ let
in python3Packages.buildPythonApplication rec {
pname = "qutebrowser";
version = "1.6.1";
version = "1.6.2";
# the release tarballs are different from the git checkout!
src = fetchurl {
url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${pname}-${version}.tar.gz";
sha256 = "1sckfp9l2jgg29p2p4vmd0g7yzbldimqy0a0jvf488yp47qj310p";
sha256 = "1yzwrpqpghlpy2d7pbjgcb73dbngw835l4xbimz5aa90mvqkbwg1";
};
# Needs tox

View File

@ -16,11 +16,11 @@ let
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
in stdenv.mkDerivation rec {
pname = "vivaldi";
version = "2.4.1488.40-1";
version = "2.5.1525.40-1";
src = fetchurl {
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
sha256 = "0w084mamy72v1kkfgg8nn2q3hmfj7v216kkvqb52f1nyycqqzb37";
sha256 = "1samrhavjz21vynv1vz8qnv9bf30mcy0da0qkpa1vhbgkga5flgy";
};
unpackPhase = ''

View File

@ -4,22 +4,22 @@
{
owner = "terraform-providers";
repo = "terraform-provider-acme";
version = "1.1.1";
sha256 = "0fva2kw82s94r4s4dpk38kcmssmcr71ia9jyg1rqmc00ifilfrzj";
version = "1.1.2";
sha256 = "1l77pckiwa72lwbwbqkjzy6m9xsgp13spmzc80gfl4q0gd3d46an";
};
alicloud =
{
owner = "terraform-providers";
repo = "terraform-provider-alicloud";
version = "1.39.0";
sha256 = "0m5fvqrvnb7v5iii67l743j3hq32rljrvnkgc7fcd46zrf38yl2h";
version = "1.41.0";
sha256 = "0bl24mgk0rangwwbz43ybymcivn3kjjg35rrvv7ashvhmx58qcf8";
};
archive =
{
owner = "terraform-providers";
repo = "terraform-provider-archive";
version = "1.2.1";
sha256 = "1avx3m0dkld0kmsi8ifqcla8254p1izh5wrziffr7r05s152r8qf";
version = "1.2.2";
sha256 = "1saprj2r74b63z03n80m3mfj3vhgvlm4gp2hzqzjbdgibxsz4jaw";
};
arukas =
{
@ -39,36 +39,36 @@
{
owner = "terraform-providers";
repo = "terraform-provider-aws";
version = "2.6.0";
sha256 = "0hpnyid5w33n8ypwcz3a43gazbvk6m60b57qll2qgx6bm1q75b19";
version = "2.9.0";
sha256 = "1gkw60ihc2b3qhb110m0mckfvb21lqgx4vc4x249mfxxk25i26s7";
};
azuread =
{
owner = "terraform-providers";
repo = "terraform-provider-azuread";
version = "0.2.0";
sha256 = "01aiynw905gbn6dv23971yhwv0kfcbckcqp4f65sypn1l8szqyjg";
version = "0.3.1";
sha256 = "1bs4m9hwdag58by49zsjpys3xvxg98nq8qims17mc82pbsz6mpag";
};
azurerm =
{
owner = "terraform-providers";
repo = "terraform-provider-azurerm";
version = "1.25.0";
sha256 = "1fhcljxz6cb5q1kd7aprxv1bga53x6fg65q5wkp985aaqnl42b8k";
version = "1.27.1";
sha256 = "0lxa84j9kzinblz7zp4gizizj0sy0vidkjvgnb99sr3861rak1x5";
};
azurestack =
{
owner = "terraform-providers";
repo = "terraform-provider-azurestack";
version = "0.5.0";
sha256 = "0pi8hjl6350ibkiz5pi86p58gkj8jf0a27ar04npsrn2wcz90k8z";
version = "0.6.0";
sha256 = "0lh0an3bz3kh2s6ncadikivr08fj8cvq7zm20csmjbgwgicq4gl8";
};
bigip =
{
owner = "terraform-providers";
repo = "terraform-provider-bigip";
version = "0.12.0";
sha256 = "0fmmlx757hph45ffm19zafjfkldg41qkw83vz0jjmvxicza1afbd";
version = "0.12.2";
sha256 = "0pplv5hi1kjli0jpya12crb5dkc6bkzvm8094rwhjbxb4f65ca5d";
};
bitbucket =
{
@ -81,8 +81,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-brightbox";
version = "1.1.1";
sha256 = "03fh287fmbg9jxsiniwj3sn6nsjdm46qv82b5aaqny3qmhjddjvq";
version = "1.1.2";
sha256 = "0k9qs7kpjznascads5llajzx2xkm4hdil2n4wl0fqy43s6dkvbbf";
};
chef =
{
@ -144,15 +144,15 @@
{
owner = "terraform-providers";
repo = "terraform-provider-datadog";
version = "1.8.0";
sha256 = "1pmz4gxhfynj7mjcl07n2ggz00vccw4bv6cmp7na3ssbpnjiy1wx";
version = "1.9.0";
sha256 = "0c5s9ywd6p4qjd964y33rcqcgfqz225x5rp0jlsqxbv9i2r91fb0";
};
digitalocean =
{
owner = "terraform-providers";
repo = "terraform-provider-digitalocean";
version = "1.1.0";
sha256 = "1w5xslm8939rz13bsiv9hfcl8cyvi03gr0h24c0ybwj8alxmxhb4";
version = "1.3.0";
sha256 = "1bi482s6s3v7sqknwwchscwwncwrhr4jl4gl4l25bngp1kd7cp7i";
};
dme =
{
@ -165,8 +165,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-dns";
version = "2.0.0";
sha256 = "1km0pq1wp0bdccb612z9n0kj9w7hn1yvhk7xszwp2mzs8qmd7flv";
version = "2.1.1";
sha256 = "1iyfsx1fbpvp3zjrkq8c46nr6d80z40mzkfc4axfpqyrp9xqiy8j";
};
dnsimple =
{
@ -193,8 +193,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-external";
version = "1.1.1";
sha256 = "110kqp4gsag3l8h9hwjdq98s9rz9f5w31mrs50rygdc0yd43hq8z";
version = "1.1.2";
sha256 = "12wdzm3y0fd840bdf0dczvvmdmfwpfwfwnf0j4g6n9asdcvjaqlh";
};
fastly =
{
@ -207,36 +207,36 @@
{
owner = "terraform-providers";
repo = "terraform-provider-flexibleengine";
version = "1.4.0";
sha256 = "1gj3y9xw9zzh2fs2i6q0afw591lhy1lvcn80xac4da08r5l3si6g";
version = "1.5.0";
sha256 = "17dksrqkh35wf0clqcd4v6ggmzc7xmrw8q7q0qa9n9zqyg1zibqk";
};
github =
{
owner = "terraform-providers";
repo = "terraform-provider-github";
version = "1.3.0";
sha256 = "1k7816dbpsjjbm3pa6l0qlrxw5hh8z5iwdr8mp1mp5liidhl6bqs";
version = "2.0.0";
sha256 = "1lvizak27qxgggp5xb15s8f504cjgr633889cv2jsr2rn64z4jv5";
};
gitlab =
{
owner = "terraform-providers";
repo = "terraform-provider-gitlab";
version = "1.2.0";
sha256 = "11j84kyw2lsqsn6ya070hx0k6igb3hhjl8zlnr4q3gpmv51y23qc";
version = "1.3.0";
sha256 = "0lh1v20msahcfjc22v7yf1cwinaq0zy2m8f7sl5jfn294j9nbam8";
};
google =
{
owner = "terraform-providers";
repo = "terraform-provider-google";
version = "2.4.0";
sha256 = "153pr01m7clvdq9c09xhvlivagn12nlxhykh1x9yya9ixkg0zrrv";
version = "2.6.0";
sha256 = "0y93hfwhzbk7dl7cw5lw2gwf5hdbc7rs9gh10b39vxgv9jrj4kqv";
};
google-beta =
{
owner = "terraform-providers";
repo = "terraform-provider-google-beta";
version = "2.4.0";
sha256 = "08vbj9m6x0byf7x77a5b5isg0kmlxvc9gswgilzi6djgwg0j6wwd";
version = "2.6.0";
sha256 = "1bm3nrv2pa6mf6l4vn5b0hads7bhp67bnhc5y72yingfky7kva5h";
};
grafana =
{
@ -263,8 +263,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-helm";
version = "0.9.0";
sha256 = "1psqabifb1kabg268ca1x4l79z1xga1pr2sf8x9lrd7z856v18l9";
version = "0.9.1";
sha256 = "189w8zz2fv0qfggzxmppaw8814c7kylgb11m1r9mqii3phsgnlz1";
};
heroku =
{
@ -277,8 +277,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-http";
version = "1.0.1";
sha256 = "1bnqrx4xya3lm5wp4byy6npazll6w1g6bv4rawgncswsgx08zqng";
version = "1.1.1";
sha256 = "0ah4wi9gm5m7z0wyy6vn3baz2iw2sq7ah7q0lb9srwr887aai3x0";
};
huaweicloud =
{
@ -312,8 +312,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-kubernetes";
version = "1.5.2";
sha256 = "0g1f5cbmzrd46abwd0rdyrf8wj8w9bx1251gf4s9z41adrxjy2lp";
version = "1.6.2";
sha256 = "14jql78a1rw1wl97myry29lgmqkcdn44qgmzjrfky958afnkgiig";
};
librato =
{
@ -333,8 +333,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-local";
version = "1.2.1";
sha256 = "1hi2bxa79fbdf2n6z59xdfs7bx8cg7q2l84hrxdh3cqbnb8jvsbr";
version = "1.2.2";
sha256 = "0azrw62clki002nlv7ws3kzfsbqkadm713534i4xgvix2m08d1cx";
};
logentries =
{
@ -389,8 +389,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-ns1";
version = "1.3.0";
sha256 = "1h21a4z7js2iwg0gj217lq4d7wccxhjmi5k37asfj18ch0x37c7v";
version = "1.3.1";
sha256 = "04ibq5dgxqb5lpnvqxg4xkb498w77p2sbjfyy9zj7m5i62xrwg79";
};
nsxt =
{
@ -403,22 +403,22 @@
{
owner = "terraform-providers";
repo = "terraform-provider-null";
version = "2.1.1";
sha256 = "0sw7j2cz9d5207l1v32ahqahmsk1dzzsf83zqivaa5jk3w4bfnjz";
version = "2.1.2";
sha256 = "0di1hxmd3s80sz8hl5q2i425by8fbk15f0r4jmnm6vra0cq89jw2";
};
nutanix =
{
owner = "terraform-providers";
repo = "terraform-provider-nutanix";
version = "1.0.0";
sha256 = "16nky5ryyjvv7vny18ymxvy20ivwmqw7lagnz48pq8mnwwrp5541";
version = "1.0.1";
sha256 = "1g7p6qg32g75x8fgspgxcdsa086mz3yabdgv1k68rykhw3zbri5d";
};
oci =
{
owner = "terraform-providers";
repo = "terraform-provider-oci";
version = "3.23.0-rc1";
sha256 = "11h8na7czj4iqm9z3pd8im06qqp3mng62h8ha5afvz2phv1g096h";
version = "3.24.1";
sha256 = "1yhcxwg3ivrgzasdsf5yq8v6h4j1lprnm881xfm4h1rpq465y1mj";
};
oneandone =
{
@ -431,22 +431,22 @@
{
owner = "terraform-providers";
repo = "terraform-provider-opc";
version = "1.3.3";
sha256 = "1hwbwyhjrs16cy66przs44znni0x3nwfsx18glxbikb2zx1ph93n";
version = "1.3.6";
sha256 = "1b11837j0d8s59pjkankbm3p5l87aw1s17mn2q7nvy65kgzalsra";
};
openstack =
{
owner = "terraform-providers";
repo = "terraform-provider-openstack";
version = "1.17.0";
sha256 = "1a3asmkf3w1ndy5rpyn09msp5l1sm2cdm3ca7cx5v00pjvww9f52";
version = "1.18.0";
sha256 = "05sr6vra4fsrysrz7a77vaa5zklhxf4hl8g029y9l1fln7vdpssg";
};
opentelekomcloud =
{
owner = "terraform-providers";
repo = "terraform-provider-opentelekomcloud";
version = "1.7.0";
sha256 = "15p5xvl6ryj5silpd2yrmjjh0d4qf89v8x6zbq8x7j351a1fljak";
version = "1.8.0";
sha256 = "068ap0sw17xmrfvri1yx70qdi8i5h0qhsm9bakm532xjxlgmaxpv";
};
opsgenie =
{
@ -459,8 +459,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-oraclepaas";
version = "1.5.1";
sha256 = "0xyyhr2n1aw1qn90535llv72cdgdqpni9l4gn8sj0ligpjhba7qz";
version = "1.5.2";
sha256 = "0m886wfg5ski8s1zr7g1h1m6q5ai08jk35ymipxpb6ipx781qvvk";
};
ovh =
{
@ -473,8 +473,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-packet";
version = "1.7.2";
sha256 = "103r0k626ham8wh7rwlx1hald4rik17mv2mcfjz9za65v7z139vr";
version = "2.1.0";
sha256 = "0hj8av0yry0wsi8fwgs0z9x9jxcnxz8imsanbdsrhb8lsj70n25v";
};
pagerduty =
{
@ -529,8 +529,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-random";
version = "2.1.1";
sha256 = "0ivmxacb9pzz7av2rr6jal5vwdv24689a2806nqvvzdy2s8mlzd3";
version = "2.1.2";
sha256 = "102bgd8s9yhm2ny2akv04mhwf5mphqhsxx9vxjbg7ygqnz9ka5nw";
};
rightscale =
{
@ -585,8 +585,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-spotinst";
version = "1.11.0";
sha256 = "10q1w66gbx6863797n6n15xx4llflmavrz2qk23pb8qd5pbni9bk";
version = "1.13.2";
sha256 = "1v3vgnspg3g0hvwzfplyvl37jxpc9m6hcsnmw6lkfqr57dy4dhlc";
};
statuscake =
{
@ -606,15 +606,15 @@
{
owner = "terraform-providers";
repo = "terraform-provider-template";
version = "2.1.1";
sha256 = "182kdkbmnihpawvgfpxavg8vbczizw5mlkwp828ap0baqs09ai8i";
version = "2.1.2";
sha256 = "18w1mmma81m9j7yf6q500w8v9ss28w6sw2ynssl99pyw2gwmd04q";
};
tencentcloud =
{
owner = "terraform-providers";
repo = "terraform-provider-tencentcloud";
version = "1.4.0";
sha256 = "1gqxvd5ss2cg49856nj3srirny1298l3fla506r7v8xf9ybkzpb4";
version = "1.5.0";
sha256 = "04psgirl78klbpzllcvzl510j66jcavxmi9zxnwmmmw128a3dig2";
};
terraform =
{
@ -634,8 +634,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-tls";
version = "1.2.0";
sha256 = "0hvj00j8a820j18yi90xzhd635pkffivp1116d84wyqxya5acd4p";
version = "2.0.1";
sha256 = "08fh4k5fvkijl2ds8mxdc5fxlwhs11y5s48vvxdskklvkjhygzc7";
};
triton =
{
@ -662,8 +662,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-vault";
version = "1.7.0";
sha256 = "133ximk510kchr34zicpnp4da27nxvzab2nd8dqpf4sqg2z83i0y";
version = "1.8.0";
sha256 = "1g9cw14mzslb445yhj04dzs0s4cbhi4cxycd50vc3f9yyg6sz1rr";
};
vcd =
{
@ -683,8 +683,8 @@
{
owner = "terraform-providers";
repo = "terraform-provider-yandex";
version = "0.4.1";
sha256 = "0lvj7xlzqc6wfv1xpc4qc1gnk3wvcvnifbf4mqgjglz35cf697bb";
version = "0.5.2";
sha256 = "1fa1jicirww0zxg5kw4343ndzq86x0m7gkfj8yx7l6lb6gcrkbic";
};
matchbox =
{

View File

@ -97,8 +97,8 @@ in rec {
terraform_0_11-full = terraform_0_11.full;
terraform_0_12 = pluggable (generic {
version = "0.12.0-beta1";
sha256 = "0djakf2agbhpfqis4x0lf2i8s1ahvrdyfkcgr6lzp0nsks652rcm";
version = "0.12.0-rc1";
sha256 = "1ap1q5bixkzshnwy8xyfh768qwg3y4pcjzaiajzn2icjf4ay5nqm";
patches = [ ./provider-path.patch ];
passthru = { inherit plugins; };
});

View File

@ -0,0 +1,28 @@
{ stdenv, pkgconfig, fetchFromGitHub, qtbase, qtsvg, qtmultimedia, qmake, boost, openssl }:
stdenv.mkDerivation rec {
pname = "chatterino2";
version = "unstable-2019-05-11";
src = fetchFromGitHub {
owner = "fourtf";
repo = pname;
rev = "8c46cbf571dc8fd77287bf3186445ff52b1d1aaf";
sha256 = "0i2385hamhd9i7jdy906cfrd81cybw524j92l87c8pzrkxphignk";
fetchSubmodules = true;
};
nativeBuildInputs = [ qmake pkgconfig ];
buildInputs = [ qtbase qtsvg qtmultimedia boost openssl ];
meta = with stdenv.lib; {
description = "A chat client for Twitch chat";
longDescription = ''
Chatterino is a chat client for Twitch chat. It aims to be an
improved/extended version of the Twitch web chat. Chatterino 2 is
the second installment of the Twitch chat client series
"Chatterino".
'';
homepage = "https://github.com/fourtf/chatterino2";
license = licenses.mit;
platforms = platforms.unix;
maintainers = with maintainers; [ rexim ];
};
}

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
name = "rambox-bare-${version}";
version = "0.6.6";
version = "0.6.7";
src = fetchFromGitHub {
owner = "ramboxapp";
repo = "community-edition";
rev = version;
sha256 = "15cy8krzl66b6sfazhff41adq4kf2857sj4h0qvzmadv85dy301v";
sha256 = "1fsp4jxiypl6zkh5wgf9amyiyx9dqv6h8rsjn5xjp9bna27s0d3b";
};
nativeBuildInputs = [ nodejs-8_x ruby sencha ];
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
inherit src;
nodejs = nodejs-8_x;
sha256 = "0ifk0fzw4zhi4195jlmiq5k57bdmf912372r4bwa4z500wipikq3";
sha256 = "0qsgr8cq81yismal5sqr02skakqpynwwzk5s98dr5bg91y361fgy";
};
patches = [ ./isDev.patch ];

View File

@ -1,7 +1,7 @@
{ darkMode ? false, stdenv, fetchurl, dpkg, makeWrapper
, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib
, gnome2, gtk3, gdk_pixbuf, libnotify, libxcb, nspr, nss, pango
, systemd, xorg, at-spi2-atk }:
{ darkMode ? false, stdenv, fetchurl, dpkg, makeWrapper , alsaLib, atk, cairo,
cups, curl, dbus, expat, fontconfig, freetype, glib , gnome2, gtk3, gdk_pixbuf,
libappindicator-gtk3, libnotify, libxcb, nspr, nss, pango , systemd, xorg,
at-spi2-atk }:
let
@ -25,6 +25,7 @@ let
pango
libnotify
libxcb
libappindicator-gtk3
nspr
nss
stdenv.cc.cc

View File

@ -4,11 +4,11 @@ let
mkTelegram = args: qt5.callPackage (import ./generic.nix args) { };
stableVersion = {
stable = true;
version = "1.6.7";
sha256Hash = "1537div6pky7wz3lansz67vsx2h6b653cx91xg9sswnxfsf8nrql";
version = "1.7.0";
sha256Hash = "1plfby243hf65wjmppq1qnqmp25pgi4x3awqd4h83ly9hn8qdwfk";
# svn log svn://svn.archlinux.org/community/telegram-desktop/trunk
archPatchesRevision = "429149";
archPatchesHash = "1ylpi9kb6hk27x9wmna4ing8vzn9b7247iya91pyxxrpxrcrhpli";
archPatchesRevision = "464796";
archPatchesHash = "1bq7r69k3i9p1csdsca0w41jyz6fbyn4qriv3lg7s28j9s803kw8";
};
in {
stable = mkTelegram stableVersion;

View File

@ -12,7 +12,7 @@
with stdenv.lib;
stdenv.mkDerivation rec {
version = "0.28.3";
version = "0.28.4"; # not really, git
name = "notmuch-${version}";
passthru = {
@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "https://notmuchmail.org/releases/${name}.tar.gz";
sha256 = "1v0ff6qqwj42p3n6qw30czzqi52nvgf3dn05vd7a03g39a5js8af";
sha256 = "1jjnhs4xs4gksvg0a9qn68rxrj41im5bh58snka2pkj20nxwmcds";
};
nativeBuildInputs = [ pkgconfig ];
@ -52,13 +52,13 @@ stdenv.mkDerivation rec {
--replace '-install_name $(libdir)' "-install_name $out/lib"
'';
configureFlags = [ "--zshcompletiondir=$(out)/share/zsh/site-functions" ];
configureFlags = [ "--zshcompletiondir=${placeholder "out"}/share/zsh/site-functions" ];
# Notmuch doesn't use autoconf and consequently doesn't tag --bindir and
# friends
setOutputFlags = false;
enableParallelBuilding = true;
makeFlags = "V=1";
makeFlags = [ "V=1" ];
preCheck = let
test-database = fetchurl {
@ -75,7 +75,7 @@ stdenv.mkDerivation rec {
gdb man
];
installTargets = "install install-man";
installTargets = [ "install" "install-man" ];
dontGzipMan = true; # already compressed

View File

@ -1,20 +1,25 @@
{ stdenv, fetchurl, gd, ncurses, sqlite }:
{ stdenv, fetchurl, pkgconfig, gd, ncurses, sqlite, check }:
stdenv.mkDerivation rec {
name = "vnstat-${version}";
pname = "vnstat";
version = "2.2";
src = fetchurl {
sha256 = "0b7020rlc568pz6vkiy28kl8493z88wzrn18wv9b0iq2bv1pn2n6";
url = "https://humdi.net/vnstat/${name}.tar.gz";
url = "https://humdi.net/${pname}/${pname}-${version}.tar.gz";
};
buildInputs = [ gd ncurses sqlite ];
postPatch = ''
substituteInPlace src/cfg.c --replace /usr/local $out
'';
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ gd ncurses sqlite ];
checkInputs = [ check ];
doCheck = true;
meta = with stdenv.lib; {
description = "Console-based network statistics utility for Linux";
longDescription = ''

View File

@ -5,6 +5,8 @@
, kcmutils, kcontacts, kdewebkit, kdiagram, kholidays, kidentitymanagement
, kitemmodels, libical, libofx, qgpgme
, sqlcipher
# Needed for running tests:
, qtbase, xvfb_run
@ -14,20 +16,13 @@
stdenv.mkDerivation rec {
name = "kmymoney-${version}";
version = "5.0.1";
version = "5.0.4";
src = fetchurl {
url = "mirror://kde/stable/kmymoney/${version}/src/${name}.tar.xz";
sha256 = "1c9apnvc07y17pzy4vygry1dai5ass2z7j354lrcppa85b18yvnx";
sha256 = "06lbavhl9b8cybnss2mmy3g5w8qn2vl6zhipvbl11lsr3j9bsa8q";
};
# Fix build with Qt 5.11.
patches = lib.singleton (fetchpatch {
url = "https://cgit.kde.org/kmymoney.git/patch/?id="
+ "e5198a902996b27bf9abde0ad24af82d55ab5dc1";
sha256 = "1h2f1xznf7343s26fh94x8n2ci0pijk5j86f24lvghawsw848316";
});
# Hidden dependency that wasn't included in CMakeLists.txt:
NIX_CFLAGS_COMPILE = "-I${kitemmodels.dev}/include/KF5";
@ -41,6 +36,7 @@ stdenv.mkDerivation rec {
akonadi alkimia aqbanking gmp gwenhywfar kactivities karchive kcmutils
kcontacts kdewebkit kdiagram kholidays kidentitymanagement kitemmodels
libical libofx qgpgme
sqlcipher
# Put it into buildInputs so that CMake can find it, even though we patch
# it into the interface later.

View File

@ -1,25 +0,0 @@
diff --git a/shell/source/unix/exec/shellexec.cxx b/shell/source/unix/exec/shellexec.cxx
--- a/shell/source/unix/exec/shellexec.cxx
+++ b/shell/source/unix/exec/shellexec.cxx
@@ -150,7 +150,7 @@ void SAL_CALL ShellExec::execute( const OUString& aCommand, const OUString& aPar
if (std::getenv("LIBO_FLATPAK") != nullptr) {
aBuffer.append("/app/bin/xdg-open");
} else {
- aBuffer.append("/usr/bin/xdg-open");
+ aBuffer.append("xdg-open");
}
#endif
aBuffer.append(" ");
diff --git a/shell/source/unix/misc/senddoc.sh b/shell/source/unix/misc/senddoc.sh
index 4519e01f26e2..8985711a2c01 100755
--- a/shell/source/unix/misc/senddoc.sh
+++ b/shell/source/unix/misc/senddoc.sh
@@ -393,6 +393,8 @@ case `basename "$MAILER" | sed 's/-.*$//'` in
MAILER=/usr/bin/kde-open
elif [ -x /usr/bin/xdg-open ] ; then
MAILER=/usr/bin/xdg-open
+ elif type -p xdg-open >/dev/null 2>&1 ; then
+ MAILER="$(type -p xdg-open)"
else
echo "Unsupported mail client: `basename $MAILER | sed 's/-.*^//'`"
exit 2

View File

@ -42,14 +42,14 @@ let
then "i386"
else "amd64";
shortVersion = "1.19.1-stable";
shortVersion = "1.19.5-stable";
version = "${shortVersion}_${arch}";
url = "http://desktop-download.mendeley.com/download/apt/pool/main/m/mendeleydesktop/mendeleydesktop_${version}.deb";
sha256 = if stdenv.hostPlatform.system == arch32
then "0fcyl5i8xdgb5j0x1643qc0j74d8p11jczvqmgqkqh0wgid1y1ad"
else "1dzwa2cnn9xakrhhq159fhh71gw5wlbf017rrikdlia694m8akq6";
then "01x83a44qlxi937b128y8y0px0q4w37g72z652lc42kv50dhyy3f"
else "1cagqq0xziznaj97z30bqfhrwjv3a4h83ckhwigq35nhk1ggq1ry";
deps = [
qtbase

View File

@ -0,0 +1,170 @@
{ stdenv
, lib
, fetchFromGitHub
, makeWrapper
, callPackage
, python3
, file
, imagemagick7
, ghostscript
, optipng
, poppler
, tesseract
, unpaper
}:
## Usage
# ${paperless}/bin/paperless wraps manage.py
# ${paperless}/share/paperless/setup-env.sh can be sourced from a
# shell script to setup a Paperless environment
# paperless.withConfig is a convenience function to setup a
# configured Paperless instance. (See ./withConfig.nix)
# For WSGI with gunicorn, use a shell script like this:
# let
# pythonEnv = paperless.python.withPackages (ps: paperless.runtimePackages ++ [ ps.gunicorn ]);
# in
# writers.writeBash "run-gunicorn" ''
# source ${paperless}/share/paperless/setup-env.sh
# PYTHONPATH=$paperlessSrc ${pythonEnv}/bin/gunicorn paperless.wsgi
# ''
let
paperless = stdenv.mkDerivation rec {
name = "paperless-${version}";
version = "2.7.0";
src = fetchFromGitHub {
owner = "the-paperless-project";
repo = "paperless";
rev = version;
sha256 = "0pkmyky1crjnsg7r0gfk0fadisfsgzlsq6afpz16wx4hp6yvkkf7";
};
nativeBuildInputs = [ makeWrapper ];
doCheck = true;
dontInstall = true;
pythonEnv = python.withPackages (_: runtimePackages);
pythonCheckEnv = python.withPackages (_: (runtimePackages ++ checkPackages));
unpackPhase = ''
srcDir=$out/share/paperless
mkdir -p $srcDir
cp -r --no-preserve=mode $src/src/* $src/LICENSE $srcDir
'';
buildPhase = let
# Paperless has explicit runtime checks that expect these binaries to be in PATH
extraBin = lib.makeBinPath [ imagemagick7 ghostscript optipng tesseract unpaper ];
in ''
${python.interpreter} -m compileall $srcDir
makeWrapper $pythonEnv/bin/python $out/bin/paperless \
--set PATH ${extraBin} --add-flags $out/share/paperless/manage.py
# A shell snippet that can be sourced to setup a paperless env
cat > $out/share/paperless/setup-env.sh <<EOF
export PATH="$pythonEnv/bin:${extraBin}''${PATH:+:}$PATH"
export paperlessSrc=$out/share/paperless
EOF
'';
checkPhase = ''
source $out/share/paperless/setup-env.sh
tmpDir=$(realpath testsTmp)
mkdir $tmpDir
export HOME=$tmpDir
export PAPERLESS_MEDIADIR=$tmpDir
cd $paperlessSrc
# Prevent tests from writing to the derivation output
chmod -R -w $out
# Disable cache to silence a pytest warning ("could not create cache")
$pythonCheckEnv/bin/pytest -p no:cacheprovider
'';
passthru = {
withConfig = callPackage ./withConfig.nix {};
inherit python runtimePackages checkPackages tesseract;
};
meta = with lib; {
description = "Scan, index, and archive all of your paper documents";
homepage = https://github.com/the-paperless-project/paperless;
license = licenses.gpl3;
maintainers = [ maintainers.earvstedt ];
};
};
python = python3.override {
packageOverrides = self: super: {
# Paperless only supports Django 2.0
django = django_2_0 super;
pyocr = pyocrWithUserTesseract super;
# These are pre-release versions, hence they are private to this pkg
django-filter = self.callPackage ./python-modules/django-filter.nix {};
django-crispy-forms = self.callPackage ./python-modules/django-crispy-forms.nix {};
};
};
django_2_0 = pyPkgs: pyPkgs.django_2_1.overrideDerivation (_: rec {
pname = "Django";
version = "2.0.12";
name = "${pname}-${version}";
src = pyPkgs.fetchPypi {
inherit pname version;
sha256 = "15s8z54k0gf9brnz06521bikm60ddw5pn6v3nbvnl47j1jjsvwz2";
};
});
runtimePackages = with python.pkgs; [
dateparser
dateutil
django
django-cors-headers
django-crispy-forms
django-filter
django_extensions
djangoql
djangorestframework
factory_boy
filemagic
fuzzywuzzy
langdetect
pdftotext
pillow
psycopg2
pyocr
python-dotenv
python-gnupg
pytz
termcolor
] ++ (lib.optional stdenv.isLinux inotify-simple);
checkPackages = with python.pkgs; [
pytest
pytest-django
pytest-env
pytest_xdist
];
pyocrWithUserTesseract = pyPkgs:
let
pyocr = pyPkgs.pyocr.override { inherit tesseract; };
in
if pyocr.outPath == pyPkgs.pyocr.outPath then
pyocr
else
# The user has provided a custom tesseract derivation that might be
# missing some languages that are required for PyOCR's tests. Disable them to
# avoid build errors.
pyocr.overridePythonAttrs (attrs: {
doCheck = false;
});
in
paperless

View File

@ -0,0 +1,36 @@
{ lib, buildPythonPackage, fetchFromGitHub
, pytest, pytest-django, django }:
buildPythonPackage rec {
pname = "django-crispy-forms";
version = "2019.04.21";
src = fetchFromGitHub {
owner = "django-crispy-forms";
repo = "django-crispy-forms";
rev = "e25a5326697e5b545689b3a914e516404a6911bb";
sha256 = "12zqa76q6i7j47aqvhilivpbdplgp9zw2q8zfcjzlgclrqafaj39";
};
# For reasons unknown, the source dir must contain a dash
# for the tests to run successfully
postUnpack = ''
mv $sourceRoot source-
export sourceRoot=source-
'';
checkInputs = [ pytest pytest-django django ];
checkPhase = ''
PYTHONPATH="$(pwd):$PYTHONPATH" \
DJANGO_SETTINGS_MODULE=crispy_forms.tests.test_settings \
pytest crispy_forms/tests
'';
meta = with lib; {
description = "The best way to have DRY Django forms";
homepage = https://github.com/maraujop/django-crispy-forms;
license = licenses.mit;
maintainers = with maintainers; [ earvstedt ];
};
}

View File

@ -0,0 +1,26 @@
{ lib, buildPythonPackage, python, pythonOlder, fetchFromGitHub
, django, django-crispy-forms, djangorestframework, mock, pytz }:
buildPythonPackage rec {
pname = "django-filter";
version = "2.1.0-pre";
disabled = pythonOlder "3.4";
src = fetchFromGitHub {
owner = "carltongibson";
repo = pname;
rev = "24adad8c48bc9e7c7539b6510ffde4ce4effdc29";
sha256 = "0hv4w95jnlzp9vdximl6bb27fyi75001jhvsbs0ikkd8amq8iaj7";
};
checkInputs = [ django django-crispy-forms djangorestframework mock pytz ];
checkPhase = "${python.interpreter} runtests.py";
meta = with lib; {
description = "A reusable Django application for allowing users to filter querysets dynamically.";
homepage = https://github.com/carltongibson/django-filter;
license = licenses.bsd3;
maintainers = with maintainers; [ earvstedt ];
};
}

View File

@ -0,0 +1,68 @@
{ paperless, lib, writers }:
## Usage
#
# nix-build --out-link ./paperless -E '
# (import <nixpkgs> {}).paperless.withConfig {
# dataDir = /tmp/paperless-data;
# config = {
# PAPERLESS_DISABLE_LOGIN = "true";
# };
# }'
#
# Setup DB
# ./paperless migrate
#
# Consume documents in ${dataDir}/consume
# ./paperless document_consumer --oneshot
#
# Start web interface
# ./paperless runserver --noreload localhost:8000
{ config ? {}, dataDir ? null, ocrLanguages ? null
, paperlessPkg ? paperless, extraCmds ? "" }:
with lib;
let
paperless = if ocrLanguages == null then
paperlessPkg
else
(paperlessPkg.override {
tesseract = paperlessPkg.tesseract.override {
enableLanguages = ocrLanguages;
};
}).overrideDerivation (_: {
# `ocrLanguages` might be missing some languages required by the tests.
doCheck = false;
});
envVars = (optionalAttrs (dataDir != null) {
PAPERLESS_CONSUMPTION_DIR = "${dataDir}/consume";
PAPERLESS_MEDIADIR = "${dataDir}/media";
PAPERLESS_STATICDIR = "${dataDir}/static";
PAPERLESS_DBDIR = "${dataDir}";
}) // config;
envVarDefs = mapAttrsToList (n: v: ''export ${n}="${toString v}"'') envVars;
setupEnvVars = builtins.concatStringsSep "\n" envVarDefs;
setupEnv = ''
source ${paperless}/share/paperless/setup-env.sh
${setupEnvVars}
${optionalString (dataDir != null) ''
mkdir -p "$PAPERLESS_CONSUMPTION_DIR" \
"$PAPERLESS_MEDIADIR" \
"$PAPERLESS_STATICDIR" \
"$PAPERLESS_DBDIR"
''}
'';
runPaperless = writers.writeBash "paperless" ''
set -e
${setupEnv}
${extraCmds}
exec python $paperlessSrc/manage.py "$@"
'';
in
runPaperless // {
inherit paperless setupEnv;
}

View File

@ -6,8 +6,8 @@ stdenv.mkDerivation rec {
src = fetchurl {
urls = [
"http://www.cs.miami.edu/~tptp/TPTP/Distribution/TPTP-v${version}.tgz"
"http://www.cs.miami.edu/~tptp/TPTP/Archive/TPTP-v${version}.tgz"
"http://tptp.cs.miami.edu/TPTP/Distribution/TPTP-v${version}.tgz"
"http://tptp.cs.miami.edu/TPTP/Archive/TPTP-v${version}.tgz"
];
sha256 = "0yq8452b6mym4yscy46pshg0z2my8xi74b5bp2qlxd5bjwcrg6rl";
};

View File

@ -8,9 +8,9 @@ stdenv.mkDerivation rec {
owner = "vprover";
repo = "vampire";
rev = version;
sha256 = "0d1klprlgqrcn8r5ywgvsahr4qz96ayl67ry5jks946v0k94m1k1";
fetchSubmodules = true;
leaveDotGit = true;
sha256 = "03dqjxr3cwz4h6sn9074kc6b6wjz12kpsvsi0mq2w0j5l9f8d80y";
#fetchSubmodules = true;
#leaveDotGit = true;
};
nativeBuildInputs = [ git ];

View File

@ -1,140 +0,0 @@
From fffc383c10c7c194e427d78c83802c3b910fa1c2 Mon Sep 17 00:00:00 2001
From: Patrick Callahan <pxcallahan@gmail.com>
Date: Thu, 24 Mar 2016 18:17:57 -0700
Subject: [PATCH] fix gcc cmath namespace issues
---
src/Vehicle/Vehicle.cc | 6 +++---
src/comm/QGCFlightGearLink.cc | 4 ++--
src/comm/QGCJSBSimLink.cc | 4 ++--
src/uas/UAS.cc | 8 ++++----
src/ui/QGCDataPlot2D.cc | 4 ++--
5 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/src/Vehicle/Vehicle.cc b/src/Vehicle/Vehicle.cc
index a0d3605..205b1de 100644
--- a/src/Vehicle/Vehicle.cc
+++ b/src/Vehicle/Vehicle.cc
@@ -638,17 +638,17 @@ void Vehicle::setLongitude(double longitude){
void Vehicle::_updateAttitude(UASInterface*, double roll, double pitch, double yaw, quint64)
{
- if (isinf(roll)) {
+ if (std::isinf(roll)) {
_rollFact.setRawValue(0);
} else {
_rollFact.setRawValue(roll * (180.0 / M_PI));
}
- if (isinf(pitch)) {
+ if (std::isinf(pitch)) {
_pitchFact.setRawValue(0);
} else {
_pitchFact.setRawValue(pitch * (180.0 / M_PI));
}
- if (isinf(yaw)) {
+ if (std::isinf(yaw)) {
_headingFact.setRawValue(0);
} else {
yaw = yaw * (180.0 / M_PI);
diff --git a/src/comm/QGCFlightGearLink.cc b/src/comm/QGCFlightGearLink.cc
index 2a520fb..886aecf 100644
--- a/src/comm/QGCFlightGearLink.cc
+++ b/src/comm/QGCFlightGearLink.cc
@@ -230,7 +230,7 @@ void QGCFlightGearLink::updateControls(quint64 time, float rollAilerons, float p
Q_UNUSED(systemMode);
Q_UNUSED(navMode);
- if(!isnan(rollAilerons) && !isnan(pitchElevator) && !isnan(yawRudder) && !isnan(throttle))
+ if(!std::isnan(rollAilerons) && !std::isnan(pitchElevator) && !std::isnan(yawRudder) && !std::isnan(throttle))
{
QString state("%1\t%2\t%3\t%4\t%5\n");
state = state.arg(rollAilerons).arg(pitchElevator).arg(yawRudder).arg(true).arg(throttle);
@@ -240,7 +240,7 @@ void QGCFlightGearLink::updateControls(quint64 time, float rollAilerons, float p
}
else
{
- qDebug() << "HIL: Got NaN values from the hardware: isnan output: roll: " << isnan(rollAilerons) << ", pitch: " << isnan(pitchElevator) << ", yaw: " << isnan(yawRudder) << ", throttle: " << isnan(throttle);
+ qDebug() << "HIL: Got NaN values from the hardware: std::isnan output: roll: " << std::isnan(rollAilerons) << ", pitch: " << std::isnan(pitchElevator) << ", yaw: " << std::isnan(yawRudder) << ", throttle: " << std::isnan(throttle);
}
}
diff --git a/src/comm/QGCJSBSimLink.cc b/src/comm/QGCJSBSimLink.cc
index 1210621..89db371 100644
--- a/src/comm/QGCJSBSimLink.cc
+++ b/src/comm/QGCJSBSimLink.cc
@@ -242,7 +242,7 @@ void QGCJSBSimLink::updateControls(quint64 time, float rollAilerons, float pitch
Q_UNUSED(systemMode);
Q_UNUSED(navMode);
- if(!isnan(rollAilerons) && !isnan(pitchElevator) && !isnan(yawRudder) && !isnan(throttle))
+ if(!std::isnan(rollAilerons) && !std::isnan(pitchElevator) && !std::isnan(yawRudder) && !std::isnan(throttle))
{
QString state("%1\t%2\t%3\t%4\t%5\n");
state = state.arg(rollAilerons).arg(pitchElevator).arg(yawRudder).arg(true).arg(throttle);
@@ -250,7 +250,7 @@ void QGCJSBSimLink::updateControls(quint64 time, float rollAilerons, float pitch
}
else
{
- qDebug() << "HIL: Got NaN values from the hardware: isnan output: roll: " << isnan(rollAilerons) << ", pitch: " << isnan(pitchElevator) << ", yaw: " << isnan(yawRudder) << ", throttle: " << isnan(throttle);
+ qDebug() << "HIL: Got NaN values from the hardware: isnan output: roll: " << std::isnan(rollAilerons) << ", pitch: " << std::isnan(pitchElevator) << ", yaw: " << std::isnan(yawRudder) << ", throttle: " << std::isnan(throttle);
}
//qDebug() << "Updated controls" << state;
}
diff --git a/src/uas/UAS.cc b/src/uas/UAS.cc
index 4d5c1c2..ac88852 100644
--- a/src/uas/UAS.cc
+++ b/src/uas/UAS.cc
@@ -558,7 +558,7 @@ void UAS::receiveMessage(mavlink_message_t message)
setAltitudeAMSL(hud.alt);
setGroundSpeed(hud.groundspeed);
- if (!isnan(hud.airspeed))
+ if (!std::isnan(hud.airspeed))
setAirSpeed(hud.airspeed);
speedZ = -hud.climb;
emit altitudeChanged(this, altitudeAMSL, altitudeRelative, -speedZ, time);
@@ -654,7 +654,7 @@ void UAS::receiveMessage(mavlink_message_t message)
float vel = pos.vel/100.0f;
// Smaller than threshold and not NaN
- if ((vel < 1000000) && !isnan(vel) && !isinf(vel)) {
+ if ((vel < 1000000) && !std::isnan(vel) && !std::isinf(vel)) {
setGroundSpeed(vel);
emit speedChanged(this, groundSpeed, airSpeed, time);
} else {
@@ -1439,8 +1439,8 @@ void UAS::setExternalControlSetpoint(float roll, float pitch, float yaw, float t
if (countSinceLastTransmission++ >= 5) {
sendCommand = true;
countSinceLastTransmission = 0;
- } else if ((!isnan(roll) && roll != manualRollAngle) || (!isnan(pitch) && pitch != manualPitchAngle) ||
- (!isnan(yaw) && yaw != manualYawAngle) || (!isnan(thrust) && thrust != manualThrust) ||
+ } else if ((!std::isnan(roll) && roll != manualRollAngle) || (!std::isnan(pitch) && pitch != manualPitchAngle) ||
+ (!std::isnan(yaw) && yaw != manualYawAngle) || (!std::isnan(thrust) && thrust != manualThrust) ||
buttons != manualButtons) {
sendCommand = true;
diff --git a/src/ui/QGCDataPlot2D.cc b/src/ui/QGCDataPlot2D.cc
index 2e530b2..9d5a774 100644
--- a/src/ui/QGCDataPlot2D.cc
+++ b/src/ui/QGCDataPlot2D.cc
@@ -535,7 +535,7 @@ void QGCDataPlot2D::loadCsvLog(QString file, QString xAxisName, QString yAxisFil
{
bool okx = true;
x = text.toDouble(&okx);
- if (okx && !isnan(x) && !isinf(x))
+ if (okx && !std::isnan(x) && !std::isinf(x))
{
headerfound = true;
}
@@ -561,7 +561,7 @@ void QGCDataPlot2D::loadCsvLog(QString file, QString xAxisName, QString yAxisFil
y = text.toDouble(&oky);
// Only INF is really an issue for the plot
// NaN is fine
- if (oky && !isnan(y) && !isinf(y) && text.length() > 0 && text != " " && text != "\n" && text != "\r" && text != "\t")
+ if (oky && !std::isnan(y) && !std::isinf(y) && text.length() > 0 && text != " " && text != "\n" && text != "\r" && text != "\t")
{
// Only append definitely valid values
xValues.value(curveName)->append(x);
--
2.7.4

View File

@ -1,12 +0,0 @@
diff -ru recoll-1.21.3-orig/recollinstall.in recoll-1.21.3/recollinstall.in
--- recoll-1.21.3-orig/recollinstall.in 2015-09-28 08:08:42.000000000 +0100
+++ recoll-1.21.3/recollinstall.in 2015-12-13 22:48:30.361776374 +0000
@@ -45,9 +45,6 @@
mandir=$DESTDIR/$mandir
ROOTFORPYTHON="--root=${DESTDIR}"
fi
-if test -f /etc/debian_version ; then
- OPTSFORPYTHON=--install-layout=deb
-fi
echo "Installing to $PREFIX"

View File

@ -1,12 +0,0 @@
diff -ru recoll-1.21.3-orig/filters/rclpdf recoll-1.21.3/filters/rclpdf
--- recoll-1.21.3-orig/filters/rclpdf 2015-09-28 08:08:15.000000000 +0100
+++ recoll-1.21.3/filters/rclpdf 2015-12-14 21:37:01.984945925 +0000
@@ -129,7 +129,7 @@
{
# Test poppler version: at some point before 0.24, poppler began
# to properly escape text inside the header (but not the body).
- XYZ=`pdftotext -v 2>&1 | awk '/pdftotext/{print $3}'`
+ XYZ=`pdftotext -v 2>&1 | awk '/version/{print $3}'`
MAJOR=`echo $XYZ | cut -d. -f 1`
MINOR=`echo $XYZ | cut -d. -f 2`
escapeheader=1

View File

@ -8,13 +8,13 @@ with stdenv.lib;
buildGoPackage rec {
pname = "gitea";
version = "1.8.0";
version = "1.8.1";
src = fetchFromGitHub {
owner = "go-gitea";
repo = "gitea";
rev = "v${version}";
sha256 = "1x5r732rh1g23smgvvk10nlqbv14m7cf3y6zgwwl2bwkvax4z49b";
sha256 = "1gsismjhcgz7zk8zvyva4cgnq4wsh4cs7mdabpas9djz34sa1nr1";
# Required to generate the same checksum on MacOS due to unicode encoding differences
# More information: https://github.com/NixOS/nixpkgs/pull/48128
extraPostFetch = ''
@ -64,6 +64,6 @@ buildGoPackage rec {
description = "Git with a cup of tea";
homepage = https://gitea.io;
license = licenses.mit;
maintainers = [ maintainers.disassembler ];
maintainers = with maintainers; [ disassembler kolaente ];
};
}

View File

@ -38,9 +38,10 @@ let
patches = [ ./apr-1.patch ];
# SVN build seems broken on gcc5:
# https://gcc.gnu.org/gcc-5/porting_to.html
CPPFLAGS = "-P";
# We are hitting the following issue even with APR 1.6.x
# -> https://issues.apache.org/jira/browse/SVN-4813
# "-P" CPPFLAG is needed to build Python bindings and subversionClient
CPPFLAGS = [ "-P" ];
configureFlags = [
(stdenv.lib.withFeature bdbSupport "berkeley-db")
@ -110,14 +111,9 @@ let
});
in {
subversion18 = common {
version = "1.8.19";
sha256 = "1gp6426gkdza6ni2whgifjcmjb4nq34ljy07yxkrhlarvfq6ks2n";
};
subversion19 = common {
version = "1.9.9";
sha256 = "1ll13ychbkp367c7zsrrpda5nygkryma5k18qfr8wbaq7dbvxzcd";
version = "1.9.10";
sha256 = "1mwwbjs8nqr8qyc0xzy7chnylh4q3saycvly8rzq32swadbcca5f";
};
subversion_1_10 = common {
@ -126,9 +122,9 @@ in {
extraBuildInputs = [ lz4 utf8proc ];
};
subversion_1_11 = common {
version = "1.11.1";
sha256 = "1fv0psjxx5nxb4zmddyrma2bnv1bfff4p8ii6j8fqwjdr982gzcy";
subversion = common {
version = "1.12.0";
sha256 = "1prfbrd1jnndb5fcsvwnzvdi7c0bpirb6pmfq03w21x0v1rprbkz";
extraBuildInputs = [ lz4 utf8proc ];
};
}

View File

@ -0,0 +1,40 @@
{ stdenv, fetchFromGitHub, pkgconfig, which, qmake,
qtbase, qtmultimedia, frei0r, opencolorio, hicolor-icon-theme, ffmpeg-full,
CoreFoundation }:
stdenv.mkDerivation rec {
pname = "olive-editor";
version = "0.1.0";
src = fetchFromGitHub {
owner = "olive-editor";
repo = "olive";
rev = version;
sha256 = "191nk4c35gys4iypykcidn6h27c3sbjfy117q7h9h1qilz2wm94z";
};
nativeBuildInputs = [
pkgconfig
which
qmake
];
buildInputs = [
ffmpeg-full
frei0r
opencolorio
qtbase
qtmultimedia
qtmultimedia.dev
hicolor-icon-theme
] ++ stdenv.lib.optional stdenv.isDarwin CoreFoundation;
meta = with stdenv.lib; {
description = "Professional open-source NLE video editor";
homepage = "https://www.olivevideoeditor.org/";
downloadPage = "https://www.olivevideoeditor.org/download.php";
license = licenses.gpl3;
maintainers = [ maintainers.balsoft ];
platforms = platforms.unix;
};
}

View File

@ -1,11 +1,11 @@
{ config, stdenv, fetchurl, lib, fetchpatch, iasl, dev86, pam, libxslt, libxml2
{ config, stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2
, libX11, xorgproto, libXext, libXcursor, libXmu, qt5, libIDL, SDL, libcap
, libpng, glib, lvm2, libXrandr, libXinerama, libopus
, pkgconfig, which, docbook_xsl, docbook_xml_dtd_43
, alsaLib, curl, libvpx, nettools, dbus
, makeself, perl
, javaBindings ? false, jdk ? null
, pythonBindings ? false, python2 ? null
, pythonBindings ? false, python3 ? null
, extensionPack ? null, fakeroot ? null
, pulseSupport ? config.pulseaudio or stdenv.isLinux, libpulseaudio ? null
, enableHardening ? false
@ -17,12 +17,12 @@
with stdenv.lib;
let
python = python2;
python = python3;
buildType = "release";
# Remember to change the extpackRev and version in extpack.nix and
# guest-additions/default.nix as well.
main = "0jmrbyhs92lyarpvylxqn2ajxdg9b290w5nd4g0i4h83d28bwbw0";
version = "5.2.28";
main = "0lp584a350ya1zn03lhgmdbi91yp8yfja9hlg2jz1xyfj2dc869l";
version = "6.0.6";
in stdenv.mkDerivation {
name = "virtualbox-${version}";
@ -76,11 +76,12 @@ in stdenv.mkDerivation {
optional enableHardening ./hardened.patch
++ [
./qtx11extras.patch
(fetchpatch {
name = "010-qt-5.11.patch";
url = "https://git.archlinux.org/svntogit/community.git/plain/trunk/010-qt-5.11.patch?h=packages/virtualbox";
sha256 = "0hjx99pg40wqyggnrpylrp5zngva4xrnk7r90i0ynrqc7n84g9pn";
})
# https://www.virtualbox.org/ticket/18620
./fix_kbuild.patch
# https://www.virtualbox.org/ticket/18621
./fix_module_makefile_sed.patch
# https://forums.virtualbox.org/viewtopic.php?f=7&t=92815
./fix_printk_test.patch
];
postPatch = ''
@ -192,6 +193,6 @@ in stdenv.mkDerivation {
license = licenses.gpl2;
homepage = https://www.virtualbox.org/;
maintainers = with maintainers; [ flokli sander ];
platforms = [ "x86_64-linux" "i686-linux" ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -2,7 +2,7 @@
with lib;
let version = "5.2.28";
let version = "6.0.6";
in
fetchurl rec {
name = "Oracle_VM_VirtualBox_Extension_Pack-${version}.vbox-extpack";
@ -10,7 +10,7 @@ fetchurl rec {
sha256 =
# Manually sha256sum the extensionPack file, must be hex!
# Thus do not use `nix-prefetch-url` but instead plain old `sha256sum`.
let value = "376e07cbf2ff2844c95c800346c8e4697d7bc671ae0e21e46153b2e7b4ccc1d6";
let value = "794f023a186bd217c29c3d30bd1434b6e9de3b242c7bf740d06d10f2d3d981c6";
in assert (builtins.stringLength value) == 64; value;
meta = {
@ -18,6 +18,6 @@ fetchurl rec {
license = licenses.virtualbox-puel;
homepage = https://www.virtualbox.org/;
maintainers = with maintainers; [ flokli sander cdepillabout ];
platforms = [ "x86_64-linux" "i686-linux" ];
platforms = [ "x86_64-linux" ];
};
}

View File

@ -0,0 +1,12 @@
diff -urN a/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile b/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile
--- a/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile
+++ b/src/VBox/HostDrivers/VBoxNetAdp/linux/Makefile
@@ -58,7 +58,7 @@
RT_WITH_VBOX \
VBOX_WITH_HARDENING \
VBOX_WITH_64_BITS_GUESTS # <-- must be consistent with Config.kmk!
-VBOXMOD_CFLAGS = -include $(KBUILD_EXTMOD)/include/VBox/SUPDrvMangling.h -fno-pie -Wno-declaration-after-statement
+VBOXMOD_CFLAGS = -include $(VBOXNETADPT_DIR)include/VBox/SUPDrvMangling.h -fno-pie -Wno-declaration-after-statement
include $(obj)/Makefile-footer.gmk

View File

@ -0,0 +1,36 @@
diff -urN VirtualBox-6.0.6/src/VBox/HostDrivers/VBoxNetAdp/Makefile.kmk VirtualBox-6.0.6.new/src/VBox/HostDrivers/VBoxNetAdp/Makefile.kmk
--- VirtualBox-6.0.6/src/VBox/HostDrivers/VBoxNetAdp/Makefile.kmk 2019-04-16 12:16:38.000000000 +0200
+++ VirtualBox-6.0.6.new/src/VBox/HostDrivers/VBoxNetAdp/Makefile.kmk 2019-05-04 15:19:14.545497602 +0200
@@ -175,7 +175,7 @@
| $$(dir $$@)
$(QUIET)$(RM) -f -- $@
ifndef VBOX_WITH_HARDENING
- $(QUIET)$(SED) -e "s;-DVBOX_WITH_HARDENING;;g" --output $@ $<
+ $(QUIET)$(SED) -e "s;VBOX_WITH_HARDENING;;g" --output $@ $<
else
$(QUIET)$(CP) -f $< $@
endif
diff -urN VirtualBox-6.0.6/src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk VirtualBox-6.0.6.new/src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk
--- VirtualBox-6.0.6/src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk 2019-04-16 12:16:39.000000000 +0200
+++ VirtualBox-6.0.6.new/src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk 2019-05-04 15:19:13.809493324 +0200
@@ -525,7 +525,7 @@
| $$(dir $$@)
$(QUIET)$(RM) -f -- $@
ifndef VBOX_WITH_HARDENING
- $(QUIET)$(SED) -e "s;-DVBOX_WITH_HARDENING;;g" --output $@ $<
+ $(QUIET)$(SED) -e "s;VBOX_WITH_HARDENING;;g" --output $@ $<
else
$(QUIET)$(CP) -f $< $@
endif
diff -urN VirtualBox-6.0.6/src/VBox/HostDrivers/VBoxPci/Makefile.kmk VirtualBox-6.0.6.new/src/VBox/HostDrivers/VBoxPci/Makefile.kmk
--- VirtualBox-6.0.6/src/VBox/HostDrivers/VBoxPci/Makefile.kmk 2019-04-16 12:16:40.000000000 +0200
+++ VirtualBox-6.0.6.new/src/VBox/HostDrivers/VBoxPci/Makefile.kmk 2019-05-04 15:42:12.029664987 +0200
@@ -67,7 +67,7 @@
| $$(dir $$@)
$(QUIET)$(RM) -f -- $@
ifndef VBOX_WITH_HARDENING
- $(QUIET)$(SED) -e "s;-DVBOX_WITH_HARDENING;;g" --output $@ $<
+ $(QUIET)$(SED) -e "s;VBOX_WITH_HARDENING;;g" --output $@ $<
else
$(QUIET)$(CP) -f $< $@
endif

View File

@ -0,0 +1,14 @@
diff -urN VirtualBox-6.0.6/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c VirtualBox-6.0.6.new/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c
--- VirtualBox-6.0.6/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c 2019-04-16 12:16:37.000000000 +0200
+++ VirtualBox-6.0.6.new/src/VBox/HostDrivers/Support/linux/SUPDrv-linux.c 2019-05-04 15:59:44.439905223 +0200
@@ -426,10 +426,8 @@
int rc;
PSUPDRVSESSION pSession;
Log(("VBoxDrvLinuxCreate: pFilp=%p pid=%d/%d %s\n", pFilp, RTProcSelf(), current->pid, current->comm));
- printk("test1\n");
#ifdef VBOX_WITH_HARDENING
- printk("test2\n");
/*
* Only root is allowed to access the unrestricted device, enforce it!
*/

View File

@ -1,5 +1,5 @@
{ stdenv, fetchurl, lib, patchelf, cdrkit, kernel, which, makeWrapper
, xorg, dbus, virtualbox }:
, zlib, xorg, dbus, virtualbox }:
let
version = virtualbox.version;
@ -19,32 +19,23 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
sha256 = "0cwdmdgcd1jysyw7c9b3cdk1ngk5nq7slh1zkhxkvvq142cnm1v9";
sha256 = "1srcsf9264l5yxbq2x83z66j38blbfrywq5lkzwb5kih6sv548c3";
};
KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
KERN_INCL = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/source/include";
patchFlags = [ "-p1" "-d" "install/src/vboxguest-${version}" ];
patches = [
./fix_kerndir.patch
./fix_kernincl.patch
];
# If you add a patch you probably need this.
#patchFlags = [ "-p1" "-d" "install/src/vboxguest-${version}" ];
hardeningDisable = [ "pic" ];
NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration";
nativeBuildInputs = [ patchelf makeWrapper ];
buildInputs = [ cdrkit dbus ] ++ kernel.moduleBuildDependencies;
buildInputs = [ cdrkit ] ++ kernel.moduleBuildDependencies;
installPhase = ''
mkdir -p $out
cp -r install/* $out
'';
buildCommand = with xorg; ''
unpackPhase = ''
${if stdenv.hostPlatform.system == "i686-linux" || stdenv.hostPlatform.system == "x86_64-linux" then ''
isoinfo -J -i $src -x /VBoxLinuxAdditions.run > ./VBoxLinuxAdditions.run
chmod 755 ./VBoxLinuxAdditions.run
@ -63,39 +54,30 @@ stdenv.mkDerivation {
''
else throw ("Architecture: "+stdenv.hostPlatform.system+" not supported for VirtualBox guest additions")
}
'';
cd ../
patchPhase
cd install/src
# Build kernel modules
export INSTALL_MOD_PATH=$out
doConfigure = false;
buildPhase = ''
# Build kernel modules.
cd src
find . -type f | xargs sed 's/depmod -a/true/' -i
cd vboxguest-${version}
# Run just make first. If we only did make install, we get symbol warnings during build.
make
cd ../..
# Change the interpreter for various binaries
for i in sbin/VBoxService bin/{VBoxClient,VBoxControl} other/mount.vboxsf
do
${if stdenv.hostPlatform.system == "i686-linux" then ''
patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $i
''
else if stdenv.hostPlatform.system == "x86_64-linux" then ''
patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux-x86-64.so.2 $i
''
else throw ("Architecture: "+stdenv.hostPlatform.system+" not supported for VirtualBox guest additions")
}
patchelf --set-rpath ${lib.makeLibraryPath [ stdenv.cc.cc dbus libX11 libXt libXext libXmu libXfixes libXrandr libXcursor ]} $i
for i in sbin/VBoxService bin/{VBoxClient,VBoxControl} other/mount.vboxsf; do
patchelf --set-interpreter ${stdenv.cc.bintools.dynamicLinker} $i
patchelf --set-rpath ${lib.makeLibraryPath [ stdenv.cc.cc stdenv.cc.libc zlib
xorg.libX11 xorg.libXt xorg.libXext xorg.libXmu xorg.libXfixes xorg.libXrandr xorg.libXcursor ]} $i
done
for i in lib/VBoxOGL*.so
do
patchelf --set-rpath ${lib.makeLibraryPath [ "$out" dbus libXcomposite libXdamage libXext libXfixes ]} $i
patchelf --set-rpath ${lib.makeLibraryPath [ "$out"
xorg.libXcomposite xorg.libXdamage xorg.libXext xorg.libXfixes ]} $i
done
# FIXME: Virtualbox 4.3.22 moved VBoxClient-all (required by Guest Additions
@ -105,6 +87,13 @@ stdenv.mkDerivation {
# Remove references to /usr from various scripts and files
sed -i -e "s|/usr/bin|$out/bin|" other/vboxclient.desktop
sed -i -e "s|/usr/bin|$out/bin|" bin/VBoxClient-all
'';
installPhase = ''
# Install kernel modules.
cd src/vboxguest-${version}
make install INSTALL_MOD_PATH=$out
cd ../..
# Install binaries
install -D -m 755 other/mount.vboxsf $out/bin/mount.vboxsf
@ -131,21 +120,18 @@ stdenv.mkDerivation {
# Install Xorg drivers
mkdir -p $out/lib/xorg/modules/{drivers,input}
install -m 644 other/vboxvideo_drv_${xserverABI}.so $out/lib/xorg/modules/drivers/vboxvideo_drv.so
'';
# Install kernel modules
cd src
# Stripping breaks these binaries for some reason.
dontStrip = true;
for i in *
do
cd $i
kernelVersion=$(cd ${kernel.dev}/lib/modules; ls)
export MODULE_DIR=$out/lib/modules/$kernelVersion/misc
find . -type f | xargs sed -i -e "s|-o root||g" \
-e "s|-g root||g"
make install
cd ..
# Some code dlopen() libdbus, patch RUNPATH in fixupPhase so it isn't stripped.
postFixup = ''
for i in $(grep -F libdbus-1.so -l -r $out/{lib,bin}); do
origRpath=$(patchelf --print-rpath "$i")
patchelf --set-rpath "$origRpath:${lib.makeLibraryPath [ dbus ]}" "$i"
done
''; # */
'';
meta = {
description = "Guest additions for VirtualBox";

View File

@ -1,38 +0,0 @@
diff --git a/vboxsf/Makefile.include.header b/vboxsf/Makefile.include.header
index 8df1eb4d25..5a3e5604e7 100644
--- a/vboxsf/Makefile.include.header
+++ b/vboxsf/Makefile.include.header
@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
endif # neq($(KERNELRELEASE),)
# Kernel build folder
-KERN_DIR := /lib/modules/$(KERN_VER)/build
ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
$(error Error: unable to find the headers of the Linux kernel to build against. \
Specify KERN_VER=<version> and run Make again)
diff --git a/vboxguest/Makefile.include.header b/vboxguest/Makefile.include.header
index 8df1eb4d25..5a3e5604e7 100644
--- a/vboxguest/Makefile.include.header
+++ b/vboxguest/Makefile.include.header
@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
endif # neq($(KERNELRELEASE),)
# Kernel build folder
-KERN_DIR := /lib/modules/$(KERN_VER)/build
ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
$(error Error: unable to find the headers of the Linux kernel to build against. \
Specify KERN_VER=<version> and run Make again)
diff --git a/vboxvideo/Makefile.include.header b/vboxvideo/Makefile.include.header
index 8df1eb4d25..5a3e5604e7 100644
--- a/vboxvideo/Makefile.include.header
+++ b/vboxvideo/Makefile.include.header
@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
endif # neq($(KERNELRELEASE),)
# Kernel build folder
-KERN_DIR := /lib/modules/$(KERN_VER)/build
ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
$(error Error: unable to find the headers of the Linux kernel to build against. \
Specify KERN_VER=<version> and run Make again)

View File

@ -1,12 +0,0 @@
diff --git a/vboxvideo/Makefile.include.header b/vboxvideo/Makefile.include.header
index 8df1eb4d25..5a3e5604e7 100644
--- a/vboxvideo/Makefile.include.header
+++ b/vboxvideo/Makefile.include.header
@@ -122,7 +122,6 @@ ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
Specify KERN_VER=<version> and run Make again)
endif
# Kernel include folder
-KERN_INCL := $(KERN_DIR)/include
# module install folder
INSTALL_MOD_DIR ?= misc
MODULE_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KERN_VER)/$(INSTALL_MOD_DIR)

View File

@ -2,30 +2,15 @@ diff --git a/kBuild/units/qt5.kmk b/kBuild/units/qt5.kmk
index 71b96a3..73391f0 100644
--- a/kBuild/units/qt5.kmk
+++ b/kBuild/units/qt5.kmk
@@ -1019,9 +1019,10 @@ else
@@ -1054,9 +1054,9 @@ else
$(eval $(target)_LIBS += $(PATH_SDK_QT5_LIB)/$(qt_prefix)qtmain$(qt_infix)$(SUFF_LIB) )
endif
else
- $(eval $(target)_LIBS += $(foreach module,$(qt_modules), $(PATH_SDK_QT5_LIB)/lib$(qt_prefix)Qt5$(module)$(qt_infix)$(SUFF_DLL)) )
+ $(eval $(target)_LIBS += $(foreach module,$(qt_modules), $(PATH_SDK_QT5_LIB)/lib$(qt_prefix)Qt5$(module)$(qt_infix)$(SUFF_DLL)) \
+ $(PATH_QT5_X11_EXTRAS_LIB)/lib$(qt_prefix)Qt5X11Extras$(qt_infix)$(SUFF_DLL))
+ $(eval $(target)_LIBS += $(foreach module,$(qt_modules), $(if $(filter X11Extras,$(module)),$(PATH_QT5_X11_EXTRAS_LIB),$(PATH_SDK_QT5_LIB))/lib$(qt_prefix)Qt5$(module)$(qt_infix)$(SUFF_DLL)) )
endif
- $(eval $(target)_INCS += $(addprefix $(PATH_SDK_QT5_INC)/Qt,$(qt_modules)) $(PATH_SDK_QT5_INC) )
+ $(eval $(target)_INCS += $(addprefix $(PATH_SDK_QT5_INC)/Qt,$(qt_modules)) $(PATH_SDK_QT5_INC) $(PATH_QT5_X11_EXTRAS_INC)/QtX11Extras )
endif
$(eval $(target)_DEFS += $(foreach module,$(toupper $(qt_modules)), QT_$(module)_LIB) )
diff --git a/src/VBox/Frontends/VirtualBox/Makefile.kmk b/src/VBox/Frontends/VirtualBox/Makefile.kmk
index 3295bfefe7..796370623c 100644
--- a/src/VBox/Frontends/VirtualBox/Makefile.kmk
+++ b/src/VBox/Frontends/VirtualBox/Makefile.kmk
@@ -916,9 +916,6 @@ endif
# The Qt modules we're using.
# (The include directory and lib/framework for each module will be added by the Qt unit.)
VirtualBox_QT_MODULES = Core Gui Widgets PrintSupport
-VirtualBox_QT_MODULES.linux += X11Extras
-VirtualBox_QT_MODULES.solaris += X11Extras
-VirtualBox_QT_MODULES.freebsd += X11Extras
VirtualBox_QT_MODULES.darwin += MacExtras
VirtualBox_QT_MODULES.win += WinExtras
if defined(VBOX_WITH_VIDEOHWACCEL) || defined(VBOX_GUI_USE_QGL)

View File

@ -5,6 +5,7 @@
, xmlto, docbook_xml_dtd_45, docbook_xsl, findXMLCatalogs
, libxkbcommon, xcbutilxrm, hicolor-icon-theme
, asciidoctor
, fontsConf
}:
with luaPackages; stdenv.mkDerivation rec {
@ -27,8 +28,13 @@ with luaPackages; stdenv.mkDerivation rec {
xmlto docbook_xml_dtd_45
docbook_xsl findXMLCatalogs
asciidoctor
ldoc
];
outputs = [ "out" "doc" ];
FONTCONFIG_FILE = toString fontsConf;
propagatedUserEnvPkgs = [ hicolor-icon-theme ];
buildInputs = [ cairo librsvg dbus gdk_pixbuf gobject-introspection
git lgi libpthreadstubs libstartup_notification

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, libmatchbox, pkgconfig}:
{ stdenv, fetchurl, pkgconfig, libmatchbox, libX11, libXext }:
stdenv.mkDerivation rec {
name = "matchbox-${version}";
@ -6,6 +6,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ libmatchbox ];
NIX_LDFLAGS = "-lX11 -L${libX11}/lib -lXext -L${libXext}/lib";
src = fetchurl {
url = "https://downloads.yoctoproject.org/releases/matchbox/matchbox-window-manager/${version}/matchbox-window-manager-${version}.tar.bz2";
@ -14,7 +15,7 @@ stdenv.mkDerivation rec {
meta = {
description = "X window manager for non-desktop embedded systems";
homepage = http://matchbox-project.org/;
homepage = "https://www.yoctoproject.org/software-item/matchbox/";
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
};

View File

@ -1,234 +0,0 @@
diff --git a/config.def.h b/config.def.h
index b3da7f0..ce43686 100644
--- a/config.def.h
+++ b/config.def.h
@@ -1,7 +1,7 @@
/* See LICENSE file for copyright and license details. */
/* appearance */
-static const char font[] = "-*-*-medium-*-*-*-14-*-*-*-*-*-*-*";
+static const char font[] = "monospace-9";
static const char* normbgcolor = "#222222";
static const char* normfgcolor = "#cccccc";
static const char* selbgcolor = "#555555";
diff --git a/config.mk b/config.mk
index dd741e4..ed3a2e9 100644
--- a/config.mk
+++ b/config.mk
@@ -9,7 +9,7 @@ MANPREFIX = ${PREFIX}/share/man
# includes and libs
INCS = -I. -I/usr/include
-LIBS = -L/usr/lib -lc -lX11
+LIBS = -L/usr/lib -lc -lXft -lX11
# flags
CPPFLAGS = -DVERSION=\"${VERSION}\" -D_DEFAULT_SOURCE
diff --git a/tabbed.c b/tabbed.c
index b15f9cb..6e50c41 100644
--- a/tabbed.c
+++ b/tabbed.c
@@ -15,6 +15,7 @@
#include <X11/Xproto.h>
#include <X11/Xutil.h>
#include <X11/XKBlib.h>
+#include <X11/Xft/Xft.h>
#include "arg.h"
@@ -64,17 +65,16 @@ typedef struct {
typedef struct {
int x, y, w, h;
- unsigned long norm[ColLast];
- unsigned long sel[ColLast];
- unsigned long urg[ColLast];
+ XftColor norm[ColLast];
+ XftColor sel[ColLast];
+ XftColor urg[ColLast];
Drawable drawable;
GC gc;
struct {
int ascent;
int descent;
int height;
- XFontSet set;
- XFontStruct *xfont;
+ XftFont *xfont;
} font;
} DC; /* draw context */
@@ -97,7 +97,7 @@ static void unmapnotify(const XEvent *e);
static void destroynotify(const XEvent *e);
static void die(const char *errstr, ...);
static void drawbar(void);
-static void drawtext(const char *text, unsigned long col[ColLast]);
+static void drawtext(const char *text, XftColor col[ColLast]);
static void *ecalloc(size_t n, size_t size);
static void *erealloc(void *o, size_t size);
static void expose(const XEvent *e);
@@ -107,7 +107,7 @@ static void focusonce(const Arg *arg);
static void fullscreen(const Arg *arg);
static char* getatom(int a);
static int getclient(Window w);
-static unsigned long getcolor(const char *colstr);
+static XftColor getcolor(const char *colstr);
static int getfirsttab(void);
static Bool gettextprop(Window w, Atom atom, char *text, unsigned int size);
static void initfont(const char *fontstr);
@@ -220,12 +220,6 @@ cleanup(void) {
free(clients);
clients = NULL;
- if(dc.font.set) {
- XFreeFontSet(dpy, dc.font.set);
- } else {
- XFreeFont(dpy, dc.font.xfont);
- }
-
XFreePixmap(dpy, dc.drawable);
XFreeGC(dpy, dc.gc);
XDestroyWindow(dpy, win);
@@ -315,7 +309,7 @@ die(const char *errstr, ...) {
void
drawbar(void) {
- unsigned long *col;
+ XftColor *col;
int c, cc, fc, width;
char *name = NULL;
@@ -368,12 +362,13 @@ drawbar(void) {
}
void
-drawtext(const char *text, unsigned long col[ColLast]) {
+drawtext(const char *text, XftColor col[ColLast]) {
int i, x, y, h, len, olen;
char buf[256];
+ XftDraw *d;
XRectangle r = { dc.x, dc.y, dc.w, dc.h };
- XSetForeground(dpy, dc.gc, col[ColBG]);
+ XSetForeground(dpy, dc.gc, col[ColBG].pixel);
XFillRectangles(dpy, dc.drawable, dc.gc, &r, 1);
if(!text)
return;
@@ -394,13 +389,12 @@ drawtext(const char *text, unsigned long col[ColLast]) {
for(i = len; i && i > len - 3; buf[--i] = '.');
}
- XSetForeground(dpy, dc.gc, col[ColFG]);
- if(dc.font.set) {
- XmbDrawString(dpy, dc.drawable, dc.font.set,
- dc.gc, x, y, buf, len);
- } else {
- XDrawString(dpy, dc.drawable, dc.gc, x, y, buf, len);
- }
+ XSetForeground(dpy, dc.gc, col[ColFG].pixel);
+
+ d = XftDrawCreate(dpy, dc.drawable, DefaultVisual(dpy, screen), DefaultColormap(dpy,screen));
+
+ XftDrawStringUtf8(d, &col[ColFG], dc.font.xfont, x, y, (XftChar8 *) buf, len);
+ XftDrawDestroy(d);
}
void *
@@ -537,15 +531,14 @@ getclient(Window w) {
return -1;
}
-unsigned long
+XftColor
getcolor(const char *colstr) {
- Colormap cmap = DefaultColormap(dpy, screen);
- XColor color;
+ XftColor color;
- if(!XAllocNamedColor(dpy, cmap, colstr, &color, &color))
+ if(!XftColorAllocName(dpy, DefaultVisual(dpy, screen), DefaultColormap(dpy, screen), colstr, &color))
die("tabbed: cannot allocate color '%s'\n", colstr);
- return color.pixel;
+ return color;
}
int
@@ -594,41 +587,11 @@ gettextprop(Window w, Atom atom, char *text, unsigned int size) {
void
initfont(const char *fontstr) {
- char *def, **missing, **font_names;
- int i, n;
- XFontStruct **xfonts;
-
- missing = NULL;
- if(dc.font.set)
- XFreeFontSet(dpy, dc.font.set);
-
- dc.font.set = XCreateFontSet(dpy, fontstr, &missing, &n, &def);
- if(missing) {
- while(n--)
- fprintf(stderr, "tabbed: missing fontset: %s\n", missing[n]);
- XFreeStringList(missing);
- }
-
- if(dc.font.set) {
- dc.font.ascent = dc.font.descent = 0;
- n = XFontsOfFontSet(dc.font.set, &xfonts, &font_names);
- for(i = 0, dc.font.ascent = 0, dc.font.descent = 0; i < n; i++) {
- dc.font.ascent = MAX(dc.font.ascent, (*xfonts)->ascent);
- dc.font.descent = MAX(dc.font.descent,(*xfonts)->descent);
- xfonts++;
- }
- } else {
- if(dc.font.xfont)
- XFreeFont(dpy, dc.font.xfont);
- dc.font.xfont = NULL;
- if(!(dc.font.xfont = XLoadQueryFont(dpy, fontstr))
- && !(dc.font.xfont = XLoadQueryFont(dpy, "fixed"))) {
- die("tabbed: cannot load font: '%s'\n", fontstr);
- }
+ if(!(dc.font.xfont = XftFontOpenName(dpy,screen,fontstr)) && !(dc.font.xfont = XftFontOpenName(dpy,screen,"fixed")))
+ die("error, cannot load font: '%s'\n", fontstr);
- dc.font.ascent = dc.font.xfont->ascent;
- dc.font.descent = dc.font.xfont->descent;
- }
+ dc.font.ascent = dc.font.xfont->ascent;
+ dc.font.descent = dc.font.xfont->descent;
dc.font.height = dc.font.ascent + dc.font.descent;
}
@@ -1000,11 +963,9 @@ setup(void) {
dc.drawable = XCreatePixmap(dpy, root, ww, wh,
DefaultDepth(dpy, screen));
dc.gc = XCreateGC(dpy, root, 0, 0);
- if(!dc.font.set)
- XSetFont(dpy, dc.gc, dc.font.xfont->fid);
win = XCreateSimpleWindow(dpy, root, wx, wy, ww, wh, 0,
- dc.norm[ColFG], dc.norm[ColBG]);
+ dc.norm[ColFG].pixel, dc.norm[ColBG].pixel);
XMapRaised(dpy, win);
XSelectInput(dpy, win, SubstructureNotifyMask|FocusChangeMask|
ButtonPressMask|ExposureMask|KeyPressMask|PropertyChangeMask|
@@ -1070,15 +1031,9 @@ spawn(const Arg *arg) {
int
textnw(const char *text, unsigned int len) {
- XRectangle r;
-
- if(dc.font.set) {
- XmbTextExtents(dc.font.set, text, len, NULL, &r);
-
- return r.width;
- }
-
- return XTextWidth(dc.font.xfont, text, len);
+ XGlyphInfo ext;
+ XftTextExtentsUtf8(dpy, dc.font.xfont, (XftChar8 *) text, len, &ext);
+ return ext.xOff;
}
void

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "man-pages-${version}";
version = "5.00";
version = "5.01";
src = fetchurl {
url = "mirror://kernel/linux/docs/man-pages/${name}.tar.xz";
sha256 = "006rcqhs4ay9q8wip2kbgk3065gwvfbzrqgv2dsydwvcnwv50bss";
sha256 = "09xn8d8xxwgms6h1bvjlgn3mxz51vxf3ra0ry9f5dqi29qry3z3x";
};
makeFlags = [ "MANDIR=$(out)/share/man" ];

View File

@ -1,7 +1,7 @@
{ stdenv, fetchzip }:
let
version = "5.8.1";
version = "5.8.2";
in fetchzip rec {
name = "font-awesome-${version}";
@ -12,7 +12,7 @@ in fetchzip rec {
unzip -j $downloadedFile "Font-Awesome-${version}/otfs/*.otf" -d $out/share/fonts/opentype
'';
sha256 = "1fc177sgf4qd231dmpr7cwr1j03wzb927ylpng2gn94iksln924d";
sha256 = "1h0qhvkfyfs4579jvrk3gwc7dp4i9s46bkj406b493dvmxxhv986";
meta = with stdenv.lib; {
description = "Font Awesome - OTF font";

View File

@ -0,0 +1,24 @@
{ stdenv, fetchzip }:
let
version = "1.003";
in fetchzip rec {
name = "public-sans-${version}";
url = "https://github.com/uswds/public-sans/releases/download/v${version}/public-sans-v${version}.zip";
postFetch = ''
mkdir -p $out/share
unzip $downloadedFile fonts/{otf,variable}/\*.\[ot\]tf -d $out/share/
'';
sha256 = "02ranwr1bw4n9n1ljw234nzhj2a0hgradniib37nh10maark5wg3";
meta = with stdenv.lib; {
description = "A strong, neutral, principles-driven, open source typeface for text or display";
homepage = https://public-sans.digital.gov/;
license = licenses.ofl;
maintainers = with maintainers; [ dtzWill ];
platforms = platforms.all;
};
}

View File

@ -1,6 +1,6 @@
{ fetchurl }:
fetchurl {
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/3f0c3944190bf34286e4e80620fede11dd688f68.tar.gz";
sha256 = "1i4k4wjm6w8hgwia1axwdr3ij0ckxh3ikc1f0nlk8sb0j3yrmxa6";
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/00d16ba60110e6956b6f7d31d520d0a34377b047.tar.gz";
sha256 = "1f6d0a06g51r01mgg6fm9b8nd2bzkijf6jm6ljm5c62qgi4fkc7k";
}

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
pname = "osinfo-db";
version = "20190301";
version = "20190504";
src = fetchurl {
url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.xz";
sha256 = "1rjqizsglgdcjxi7kpbwm26krdkrlxacinjp9684sfzhqwdqi4as";
sha256 = "1yik26gbm3y3wviyabfpyx7pnqx72z5j7267hdgfscdvrwwmyi5z";
};
nativeBuildInputs = [ osinfo-db-tools intltool libxml2 ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "matcha-${version}";
version = "2018-12-24";
version = "2019_05_09";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = "matcha";
rev = version;
sha256 = "178y5s5jfprkw8y6clqb8ss4kvfswivfrh6cn67fk4z7wg72i3yc";
sha256 = "0xnv89appivrnbppyjqaa35pls120mkz253p2lblyxzbvi5kgn73";
};
buildInputs = [ gdk_pixbuf librsvg ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
pname = "shades-of-gray-theme";
version = "1.1.6";
version = "1.1.7";
src = fetchFromGitHub {
owner = "WernerFP";
repo = pname;
rev = version;
sha256 = "0jp4p0wdmac5dkz1hqhzqmn59zgxqd77gn0napy3wbqr5yc60pp1";
sha256 = "09r26izbx9sj9czc95cn4r0c1v9yj2qm84zdl047fiqa49czwbzq";
};
buildInputs = [ gtk_engines ];

View File

@ -1,6 +1,6 @@
{ stdenv, fetchFromGitHub, pkgconfig, intltool, libtool, vala, gnome3,
bamf, clutter-gtk, pantheon, libgee, libcanberra-gtk3, libwnck3,
deepin-menu, deepin-mutter, deepin-wallpapers,
dbus, bamf, clutter-gtk, pantheon, libgee, libcanberra-gtk3,
libwnck3, deepin-menu, deepin-mutter, deepin-wallpapers,
deepin-desktop-schemas, wrapGAppsHook, deepin }:
stdenv.mkDerivation rec {
@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
buildInputs = [
bamf
clutter-gtk
dbus
deepin-desktop-schemas
deepin-menu
deepin-mutter
@ -40,10 +41,15 @@ stdenv.mkDerivation rec {
];
postPatch = ''
searchHardCodedPaths
fixPath ${deepin-wallpapers} /usr/share/backgrounds src/Background/BackgroundSource.vala
searchHardCodedPaths # debugging
# fix background path
fixPath ${deepin-wallpapers} /usr/share/backgrounds src/Background/BackgroundSource.vala
sed -i 's|default_background.jpg|deepin/desktop.jpg|' src/Background/BackgroundSource.vala
# fix executable paths in desktop files
sed -i -e "s,Exec=dbus-send,Exec=${dbus}/bin/dbus-send," data/gala-multitaskingview.desktop.in
sed -i -e "s,Exec=deepin-wm,Exec=$out/bin/deepin-wm," data/gala.desktop
'';
NIX_CFLAGS_COMPILE = "-DWNCK_I_KNOW_THIS_IS_UNSTABLE";
@ -52,6 +58,10 @@ stdenv.mkDerivation rec {
NOCONFIGURE=1 ./autogen.sh
'';
postFixup = ''
searchHardCodedPaths $out # debugging
'';
enableParallelBuilding = true;
passthru.updateScript = deepin.updateScript { inherit name; };

View File

@ -1,18 +0,0 @@
--- a/elementary.pc.in 2015-05-16 21:08:14.321148417 +0200
+++ b/elementary.pc.in 2015-05-16 21:08:30.643412725 +0200
@@ -14,4 +14,4 @@
Requires.private: @requirement_elm_pc@
Version: @VERSION@
Libs: -L${libdir} -lelementary @ELEMENTARY_PC_LIBS@
-Cflags: -I${includedir}/elementary-@VMAJ@
+Cflags: -I${includedir}/elementary-@VMAJ@ @ELEMENTARY_PC_CFLAGS@
--- a/Makefile.am 2015-05-16 21:08:14.322148433 +0200
+++ b/Makefile.am 2015-05-16 21:08:30.643412725 +0200
@@ -84,6 +84,7 @@
-e 's,@requirement_elm_pc\@,$(requirement_elm_pc),g' \
-e 's,@ELEMENTARY_LIBS\@,$(ELEMENTARY_LIBS),g' \
-e 's,@ELEMENTARY_PC_LIBS\@,$(ELEMENTARY_PC_LIBS),g' \
+-e 's,@ELEMENTARY_PC_CFLAGS\@,$(ELEMENTARY_PC_CFLAGS),g' \
< $< > $@ || rm $@
pc_verbose = $(pc_verbose_@AM_V@)

View File

@ -1,14 +0,0 @@
diff -c gnustep-back-0.24.0/Tools/GNUmakefile.preamble gnustep-back-0.24.0.patched/Tools/GNUmakefile.preamble
--- gnustep-back-0.24.0/Tools/GNUmakefile.preamble 2013-07-04 22:44:28.000000000 +0600
+++ gnustep-back-0.24.0.patched/Tools/GNUmakefile.preamble 2014-12-01 16:40:37.000000000 +0600
@@ -52,6 +52,9 @@
# Additional libraries when linking applications
#ADDITIONAL_GUI_LIBS +=
+# Additional libraries when linking tools
+gpbs_TOOL_LIBS += -lgnustep-gui -lgnustep-base $(SYSTEM_LIBS)
+
#
# Flags dealing with installing and uninstalling
#

View File

@ -1,29 +0,0 @@
--- gnustep-base-1.24.7/Makefile.postamble 2011-07-15 19:53:45.000000000 +0600
+++ gnustep-base-1.24.7.patched/Makefile.postamble 2014-11-29 22:25:07.000000000 +0600
@@ -38,13 +38,13 @@
# Things to do after compiling
# after-all::
-$(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional:
- $(ECHO_CREATING)$(MKDIRS) $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional$(END_ECHO)
+$(DESTDIR_GNUSTEP_MAKEFILES)/Additional:
+ $(ECHO_CREATING)$(MKDIRS) $(DESTDIR_GNUSTEP_MAKEFILES)/Additional$(END_ECHO)
# Things to do before installing
-before-install:: $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional
+before-install:: $(DESTDIR_GNUSTEP_MAKEFILES)/Additional
$(ECHO_NOTHING)$(INSTALL_DATA) base.make \
- $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO)
+ $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO)
# Things to do after installing
# after-install::
@@ -54,7 +54,7 @@
# Things to do after uninstalling
after-uninstall::
- $(ECHO_NOTHING)rm -f $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO)
+ $(ECHO_NOTHING)rm -f $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/base.make$(END_ECHO)
# Things to do before cleaning
# before-clean::

View File

@ -1,27 +0,0 @@
diff -ru gorm-1.2.20/GNUmakefile gorm-1.2.20.patched/GNUmakefile
--- gorm-1.2.20/GNUmakefile 2010-05-30 12:55:26.000000000 +0600
+++ gorm-1.2.20.patched/GNUmakefile 2014-12-10 22:21:18.000000000 +0600
@@ -24,6 +24,23 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#
+ifeq ($(GNUSTEP_MAKEFILES),)
+ GNUSTEP_MAKEFILES := $(shell gnustep-config --variable=GNUSTEP_MAKEFILES 2>/dev/null)
+ ifeq ($(GNUSTEP_MAKEFILES),)
+ $(warning )
+ $(warning Unable to obtain GNUSTEP_MAKEFILES setting from gnustep-config!)
+ $(warning Perhaps gnustep-make is not properly installed,)
+ $(warning so gnustep-config is not in your PATH.)
+ $(warning )
+ $(warning Your PATH is currently $(PATH))
+ $(warning )
+ endif
+endif
+
+ifeq ($(GNUSTEP_MAKEFILES),)
+ $(error You need to set GNUSTEP_MAKEFILES before compiling!)
+endif
+
PACKAGE_NAME = gorm
export PACKAGE_NAME
include $(GNUSTEP_MAKEFILES)/common.make

View File

@ -1,28 +0,0 @@
--- gnustep-gui-0.24.0/GNUmakefile.postamble 2010-05-17 22:38:59.000000000 +0600
+++ gnustep-gui-0.24.0.patched/GNUmakefile.postamble 2014-12-01 13:44:05.000000000 +0600
@@ -40,20 +40,20 @@
# The following rule is important mainly for packaging, because in that case
# you install into a fake system tree, and the directory is not there.
#
-$(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional:
- $(MKDIRS) $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional
+$(DESTDIR_GNUSTEP_MAKEFILES)/Additional:
+ $(MKDIRS) $(DESTDIR_GNUSTEP_MAKEFILES)/Additional
# Things to do before installing
-before-install:: $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional
+before-install:: $(DESTDIR_GNUSTEP_MAKEFILES)/Additional
$(INSTALL_DATA) gui.make \
- $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/gui.make
+ $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/gui.make
# Things to do after installing
# after-install::
# Things to do before uninstalling
before-uninstall::
- rm -f $(DESTDIR)$(GNUSTEP_MAKEFILES)/Additional/gui.make
+ rm -f $(DESTDIR_GNUSTEP_MAKEFILES)/Additional/gui.make
# Things to do after uninstalling
# after-uninstall::

View File

@ -1,11 +0,0 @@
--- gnustep-gui-0.24.0/TextConverters/RTF/GNUmakefile.preamble 2008-06-10 10:01:49.000000000 +0600
+++ gnustep-gui-0.24.0.patched/TextConverters/RTF/GNUmakefile.preamble 2014-12-01 13:02:11.000000000 +0600
@@ -49,7 +49,7 @@
ADDITIONAL_INCLUDE_DIRS +=-I../../Headers/Additions -I../../Headers
# Additional LDFLAGS to pass to the linker
-#ADDITIONAL_LDFLAGS +=
+ADDITIONAL_LDFLAGS += -lgnustep-gui
# Additional library directories the linker should search
ADDITIONAL_LIB_DIRS += -L../../Source/$(GNUSTEP_OBJ_DIR)

View File

@ -1,14 +0,0 @@
--- gnustep-gui-0.24.0/Tools/GNUmakefile.preamble 2006-02-22 12:43:48.000000000 +0600
+++ gnustep-gui-0.24.0.patched/Tools/GNUmakefile.preamble 2014-12-01 12:52:41.000000000 +0600
@@ -32,9 +32,11 @@
ADDITIONAL_LIB_DIRS += -L../Source/$(GNUSTEP_OBJ_DIR) -L../Model/$(GNUSTEP_OBJ_DIR)
# Additional libraries when linking tools
+make_services_TOOL_LIBS += -lgnustep-base
gpbs_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS)
set_show_service_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS)
gopen_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS)
+gclose_TOOL_LIBS += -lgnustep-base
gcloseall_TOOL_LIBS += -lgnustep-gui $(SYSTEM_LIBS)
GSspell_TOOL_LIBS += $(ADDITIONAL_DEPENDS)

View File

@ -1,145 +0,0 @@
diff -ru gnustep-make-2.6.6/common.make gnustep-make-2.6.6.patched/common.make
--- gnustep-make-2.6.6/common.make 2013-03-04 17:21:55.000000000 +0600
+++ gnustep-make-2.6.6.patched/common.make 2014-12-09 21:29:10.000000000 +0600
@@ -135,7 +135,9 @@
endif
# Then include makefiles with flags/config options installed by the
# libraries themselves
--include $(GNUSTEP_MAKEFILES)/Additional/*.make
+ifneq ($(NIX_GNUSTEP_MAKEFILES_ADDITIONAL),)
+-include $(NIX_GNUSTEP_MAKEFILES_ADDITIONAL)
+endif
#
# Determine target specific settings
diff -ru gnustep-make-2.6.6/GNUmakefile.in gnustep-make-2.6.6.patched/GNUmakefile.in
--- gnustep-make-2.6.6/GNUmakefile.in 2013-09-20 12:13:15.000000000 +0600
+++ gnustep-make-2.6.6.patched/GNUmakefile.in 2014-12-07 20:35:27.000000000 +0600
@@ -173,7 +173,6 @@
"$(makedir)/$(GNUSTEP_TARGET_CPU)" \
"$(makedir)/$(GNUSTEP_TARGET_DIR)" \
"$(makedir)/$(GNUSTEP_TARGET_LDIR)" \
- "$(makedir)/Additional" \
"$(makedir)/Auxiliary" \
"$(makedir)/Master" \
"$(makedir)/Instance" \
@@ -314,7 +313,6 @@
-rmdir "$(makedir)/Instance"
-rmdir "$(makedir)/Master"
-rmdir "$(makedir)/Auxiliary"
- -rmdir "$(makedir)/Additional"
-rmdir "$(makedir)/$(GNUSTEP_TARGET_LDIR)"
-rmdir "$(makedir)/$(GNUSTEP_TARGET_DIR)"
-rmdir "$(makedir)/$(GNUSTEP_TARGET_CPU)"
diff -ru gnustep-make-2.6.6/gnustep-config.in gnustep-make-2.6.6.patched/gnustep-config.in
--- gnustep-make-2.6.6/gnustep-config.in 2013-07-02 16:06:24.000000000 +0600
+++ gnustep-make-2.6.6.patched/gnustep-config.in 2014-12-09 21:29:49.000000000 +0600
@@ -66,6 +66,7 @@
echo " --variable=OBJCXX"
echo " --variable=GNUMAKE"
echo " --variable=GNUSTEP_MAKEFILES"
+ echo " --variable=NIX_GNUSTEP_MAKEFILES_ADDITIONAL"
echo " --variable=GNUSTEP_USER_DEFAULTS_DIR"
echo " --variable=GNUSTEP_HOST"
echo " --variable=GNUSTEP_HOST_CPU"
@@ -153,6 +154,8 @@
export GNUSTEP_MAKEFILES
+export NIX_GNUSTEP_MAKEFILES_ADDITIONAL
+
#
# If all they want to know if GNUSTEP_MAKEFILES or anything that
# we can compute only using GNUSTEP_MAKEFILES, we can print it out
@@ -168,6 +171,8 @@
exit 0;;
--variable=GNUSTEP_MAKEFILES) echo "$GNUSTEP_MAKEFILES"
exit 0;;
+ --variable=NIX_GNUSTEP_MAKEFILES_ADDITIONAL) echo "$NIX_GNUSTEP_MAKEFILES_ADDITIONAL"
+ exit 0;;
--variable=GNUMAKE) echo "@GNUMAKE@"
exit 0;;
--debug-flags) @GNUMAKE@ -s -f "$GNUSTEP_MAKEFILES/empty.make" print-gnustep-make-objc-flags quiet=yes debug=yes 2>/dev/null
diff -ru gnustep-make-2.6.6/GNUstep.csh.in gnustep-make-2.6.6.patched/GNUstep.csh.in
--- gnustep-make-2.6.6/GNUstep.csh.in 2011-05-03 13:40:10.000000000 +0600
+++ gnustep-make-2.6.6.patched/GNUstep.csh.in 2014-12-09 20:14:05.000000000 +0600
@@ -130,6 +130,10 @@
setenv GNUSTEP_MAKEFILES "@GNUSTEP_MAKEFILES@"
endif
+if ( ! ${?NIX_GNUSTEP_MAKEFILES_ADDITIONAL} ) then
+ setenv NIX_GNUSTEP_MAKEFILES_ADDITIONAL "@NIX_GNUSTEP_MAKEFILES_ADDITIONAL@"
+endif
+
if ( "${GNUSTEP_MAKE_STRICT_V2_MODE}" == "yes" ) then
unsetenv GNUSTEP_USER_DIR
unsetenv GNUSTEP_USER_ROOT
diff -ru gnustep-make-2.6.6/GNUstep.sh.in gnustep-make-2.6.6.patched/GNUstep.sh.in
--- gnustep-make-2.6.6/GNUstep.sh.in 2012-02-21 20:21:38.000000000 +0600
+++ gnustep-make-2.6.6.patched/GNUstep.sh.in 2014-12-09 20:14:19.000000000 +0600
@@ -173,6 +173,10 @@
fi
export GNUSTEP_MAKEFILES
+if [ -z "$NIX_GNUSTEP_MAKEFILES_ADDITIONAL" ]; then
+ NIX_GNUSTEP_MAKEFILES_ADDITIONAL=@NIX_GNUSTEP_MAKEFILES_ADDITIONAL@
+fi
+export NIX_GNUSTEP_MAKEFILES_ADDITIONAL
if [ "$GNUSTEP_MAKE_STRICT_V2_MODE" = "yes" ]; then
# Make sure this is never set in gnustep-make v2 strict mode; it
diff -ru gnustep-make-2.6.6/GNUstep-strict-v2.conf.in gnustep-make-2.6.6.patched/GNUstep-strict-v2.conf.in
--- gnustep-make-2.6.6/GNUstep-strict-v2.conf.in 2008-01-15 20:35:36.000000000 +0600
+++ gnustep-make-2.6.6.patched/GNUstep-strict-v2.conf.in 2014-12-07 22:04:56.000000000 +0600
@@ -47,7 +47,6 @@
# Traditionally, this is /usr/GNUstep/System/Library/Makefiles
GNUSTEP_MAKEFILES=@GNUSTEP_MAKEFILES@
-
# This is where the user home directories are. Only used to provide
# NSUserDirectory in gnustep-base. Never used anywhere else.
GNUSTEP_SYSTEM_USERS_DIR=@GNUSTEP_SYSTEM_USERS_DIR@
diff -ru gnustep-make-2.6.6/library-combo.make gnustep-make-2.6.6.patched/library-combo.make
--- gnustep-make-2.6.6/library-combo.make 2012-02-21 19:53:02.000000000 +0600
+++ gnustep-make-2.6.6.patched/library-combo.make 2014-12-09 20:15:05.000000000 +0600
@@ -142,7 +142,7 @@
#
# Third-party foundations not using make package
# Our own foundation will install a base.make file into
-# $GNUSTEP_MAKEFILES/Additional/ to set the needed flags
+# $NIX_GNUSTEP_MAKEFILES_ADDITIONAL to set the needed flags
#
ifeq ($(FOUNDATION_LIB), nx)
# -framework Foundation is used both to find headers, and to link
@@ -166,7 +166,7 @@
#
# FIXME - Ask Helge to move this inside his libFoundation, and have
-# it installed as a $(GNUSTEP_MAKEFILES)/Additional/libFoundation.make
+# it installed as a $(NIX_GNUSTEP_MAKEFILES_ADDITIONAL)/libFoundation.make
#
ifeq ($(FOUNDATION_LIB),fd)
-include $(GNUSTEP_MAKEFILES)/libFoundation.make
@@ -193,7 +193,7 @@
GUI_LIBS =
#
# Third-party GUI libraries - our own sets its flags into
-# $(GNUSTEP_MAKEFILES)/Additional/gui.make
+# $(NIX_GNUSTEP_MAKEFILES_ADDITIONAL)/gui.make
#
ifeq ($(GUI_LIB), nx)
GUI_DEFINE = -DNeXT_GUI_LIBRARY=1
diff -ru gnustep-make-2.6.6/rules.make gnustep-make-2.6.6.patched/rules.make
--- gnustep-make-2.6.6/rules.make 2013-07-04 16:05:44.000000000 +0600
+++ gnustep-make-2.6.6.patched/rules.make 2014-12-09 21:31:04.000000000 +0600
@@ -667,7 +667,9 @@
exit 1$(END_ECHO)
endif
-$(GNUSTEP_MAKEFILES)/Additional/*.make: ;
+ifneq ($(NIX_GNUSTEP_MAKEFILES_ADDITIONAL),)
+$(NIX_GNUSTEP_MAKEFILES_ADDITIONAL): ;
+endif
$(GNUSTEP_MAKEFILES)/Master/*.make: ;

View File

@ -1,14 +0,0 @@
diff -c ProjectCenter-0.6.2/GNUmakefile.preamble ProjectCenter-0.6.2.patched/GNUmakefile.preamble
--- ProjectCenter-0.6.2/GNUmakefile.preamble 2010-08-08 03:56:04.000000000 +0600
+++ artyom/ProjectCenter-0.6.2.patched/GNUmakefile.preamble 2014-12-01 20:08:31.000000000 +0600
@@ -39,7 +39,7 @@
ADDITIONAL_INCLUDE_DIRS += -I./ -I./Headers
# Additional LDFLAGS to pass to the linker
-ADDITIONAL_LDFLAGS +=
+ADDITIONAL_LDFLAGS += -lgnustep-base -lgnustep-gui
# Additional library directories the linker should search
ADDITIONAL_LIB_DIRS += -L./Framework/ProjectCenter.framework/$(GNUSTEP_TARGET_LDIR)
Diff finished. Mon Dec 1 20:08:50 2014

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