Merge commit '92b7a814f26ee1d37e989431c18518c67285a332' into staging

This commit is contained in:
John Ericson 2018-05-13 01:02:09 -04:00
commit 2c5d915200
102 changed files with 701 additions and 1590 deletions

View File

@ -29,8 +29,23 @@ rec {
platform = platforms.aarch64-multiplatform;
};
armv5te-android-prebuilt = rec {
config = "armv5tel-unknown-linux-androideabi";
sdkVer = "21";
platform = platforms.armv5te-android;
useAndroidPrebuilt = true;
};
armv7a-android-prebuilt = rec {
config = "armv7a-unknown-linux-androideabi";
sdkVer = "21";
platform = platforms.armv7a-android;
useAndroidPrebuilt = true;
};
aarch64-android-prebuilt = rec {
config = "aarch64-unknown-linux-android";
sdkVer = "21";
platform = platforms.aarch64-multiplatform;
useAndroidPrebuilt = true;
};

View File

@ -3,6 +3,9 @@ with import ./parse.nix { inherit lib; };
with lib.attrsets;
with lib.lists;
let abis_ = abis; in
let abis = lib.mapAttrs (_: abi: builtins.removeAttrs abi [ "assertions" ]) abis_; in
rec {
patterns = rec {
isi686 = { cpu = cpuTypes.i686; };

View File

@ -68,17 +68,17 @@ rec {
cpuTypes = with significantBytes; setTypes types.openCpuType {
arm = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv5tel = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv6m = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv6l = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv7a = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv7r = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv7m = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv7l = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv8a = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv8r = { bits = 32; significantByte = littleEndian; family = "arm"; };
armv8m = { bits = 32; significantByte = littleEndian; family = "arm"; };
aarch64 = { bits = 64; significantByte = littleEndian; family = "arm"; };
armv5tel = { bits = 32; significantByte = littleEndian; family = "arm"; version = "5"; };
armv6m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "6"; };
armv6l = { bits = 32; significantByte = littleEndian; family = "arm"; version = "6"; };
armv7a = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; };
armv7r = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; };
armv7m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; };
armv7l = { bits = 32; significantByte = littleEndian; family = "arm"; version = "7"; };
armv8a = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; };
armv8r = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; };
armv8m = { bits = 32; significantByte = littleEndian; family = "arm"; version = "8"; };
aarch64 = { bits = 64; significantByte = littleEndian; family = "arm"; version = "8"; };
i686 = { bits = 32; significantByte = littleEndian; family = "x86"; };
x86_64 = { bits = 64; significantByte = littleEndian; family = "x86"; };
@ -200,7 +200,15 @@ rec {
eabi = {};
androideabi = {};
android = {};
android = {
assertions = [
{ assertion = platform: !platform.isAarch32;
message = ''
The "android" ABI is not for 32-bit ARM. Use "androideabi" instead.
'';
}
];
};
gnueabi = { float = "soft"; };
gnueabihf = { float = "hard"; };
@ -287,7 +295,12 @@ rec {
kernel = getKernel args.kernel;
abi =
/**/ if args ? abi then getAbi args.abi
else if isLinux parsed then (if isAarch32 parsed then abis.gnueabi else abis.gnu)
else if isLinux parsed then
if isAarch32 parsed then
if lib.versionAtLeast (parsed.cpu.version or "0") "6"
then abis.gnueabihf
else abis.gnueabi
else abis.gnu
else if isWindows parsed then abis.gnu
else abis.unknown;
};

View File

@ -245,7 +245,6 @@ rec {
gcc = {
arch = "armv6";
fpu = "vfp";
float = "hard";
# TODO(@Ericson2314) what is this and is it a good idea? It was
# used in some cross compilation examples but not others.
#
@ -384,6 +383,27 @@ rec {
kernelTarget = "zImage";
};
# https://developer.android.com/ndk/guides/abis#armeabi
armv5te-android = {
name = "armeabi";
gcc = {
arch = "armv5te";
float = "soft";
float-abi = "soft";
};
};
# https://developer.android.com/ndk/guides/abis#v7a
armv7a-android = {
name = "armeabi-v7a";
gcc = {
arch = "armv7-a";
float = "hard";
float-abi = "softfp";
fpu = "vfpv3-d16";
};
};
armv7l-hf-multiplatform = {
name = "armv7l-hf-multiplatform";
kernelMajor = "2.6"; # Using "2.6" enables 2.6 kernel syscalls in glibc.

View File

@ -676,6 +676,11 @@
github = "bramd";
name = "Bram Duvigneau";
};
brian-dawn = {
email = "brian.t.dawn@gmail.com";
github = "brian-dawn";
name = "Brian Dawn";
};
bstrik = {
email = "dutchman55@gmx.com";
github = "bstrik";
@ -2373,6 +2378,11 @@
github = "meditans";
name = "Carlo Nucera";
};
megheaiulian = {
email = "iulian.meghea@gmail.com";
github = "megheaiulian";
name = "Meghea Iulian";
};
mehandes = {
email = "niewskici@gmail.com";
github = "mehandes";
@ -2486,6 +2496,11 @@
github = "mmahut";
name = "Marek Mahut";
};
mmlb = {
email = "me.mmlb@mmlb.me";
github = "mmlb";
name = "Manuel Mendez";
};
moaxcp = {
email = "moaxcp@gmail.com";
github = "moaxcp";

View File

@ -8,6 +8,11 @@ in {
imports = [ ../../../modules/virtualisation/amazon-image.nix ];
# Required to provide good EBS experience,
# https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/nvme-ebs-volumes.html#timeout-nvme-ebs-volumes
# TODO change value to 4294967295 when kernel is updated to 4.15 or later
config.boot.kernelParams = [ "nvme_core.io_timeout=255" ];
options.amazonImage = {
name = mkOption {
type = types.str;

View File

@ -449,6 +449,10 @@ in
<varname>item</varname>, and <varname>value</varname>
attribute. The syntax and semantics of these attributes
must be that described in the limits.conf(5) man page.
Note that these limits do not apply to systemd services,
whose limits can be changed via <option>systemd.extraConfig</option>
instead.
'';
};

View File

@ -15,8 +15,11 @@ with lib;
Enables storing core dumps in systemd.
Note that this alone is not enough to enable core dumps. The maximum
file size for core dumps must be specified in limits.conf as well. See
<option>security.pam.loginLimits</option> as well as the limits.conf(5)
man page.
<option>security.pam.loginLimits</option> and the limits.conf(5)
man page (these specify the core dump limits for user login sessions)
and <option>systemd.extraConfig</option> (where e.g.
<literal>DefaultLimitCORE=1000000</literal> can be specified to set
the core dump limit for systemd system-level services).
'';
};

View File

@ -30,7 +30,7 @@ with lib;
boot.initrd.postDeviceCommands = ''
rootDevice="${config.fileSystems."/".device}"
if [ -e "$rootDevice" ]; then
if waitDevice "$rootDevice"; then
rootDevice="$(readlink -f "$rootDevice")"
parentDevice="$rootDevice"
while [ "''${parentDevice%[0-9]}" != "''${parentDevice}" ]; do

View File

@ -74,6 +74,32 @@ ln -s /proc/mounts /etc/mtab # to shut up mke2fs
touch /etc/udev/hwdb.bin # to shut up udev
touch /etc/initrd-release
# Function for waiting a device to appear.
waitDevice() {
local device="$1"
# USB storage devices tend to appear with some delay. It would be
# great if we had a way to synchronously wait for them, but
# alas... So just wait for a few seconds for the device to
# appear.
if test ! -e $device; then
echo -n "waiting for device $device to appear..."
try=20
while [ $try -gt 0 ]; do
sleep 1
# also re-try lvm activation now that new block devices might have appeared
lvm vgchange -ay
# and tell udev to create nodes for the new LVs
udevadm trigger --action=add
if test -e $device; then break; fi
echo -n "."
try=$((try - 1))
done
echo
[ $try -ne 0 ]
fi
}
# Mount special file systems.
specialMount() {
local device="$1"
@ -377,31 +403,7 @@ lustrateRoot () {
exec 4>&-
}
# Function for waiting a device to appear.
waitDevice() {
local device="$1"
# USB storage devices tend to appear with some delay. It would be
# great if we had a way to synchronously wait for them, but
# alas... So just wait for a few seconds for the device to
# appear.
if test ! -e $device; then
echo -n "waiting for device $device to appear..."
try=20
while [ $try -gt 0 ]; do
sleep 1
# also re-try lvm activation now that new block devices might have appeared
lvm vgchange -ay
# and tell udev to create nodes for the new LVs
udevadm trigger --action=add
if test -e $device; then break; fi
echo -n "."
try=$((try - 1))
done
echo
[ $try -ne 0 ]
fi
}
# Try to resume - all modules are loaded now.

View File

@ -48,13 +48,6 @@ let cfg = config.ec2; in
boot.loader.grub.extraPerEntryConfig = mkIf (!cfg.hvm) "root (hd0)";
boot.loader.timeout = 0;
boot.initrd.postDeviceCommands =
''
# Force udev to exit to prevent random "Device or resource busy
# while trying to open /dev/xvda" errors from fsck.
udevadm control --exit || true
'';
boot.initrd.network.enable = true;
# Mount all formatted ephemeral disks and activate all swap devices.

View File

@ -314,10 +314,7 @@ in rec {
tests.plotinus = callTest tests/plotinus.nix {};
tests.keymap = callSubTests tests/keymap.nix {};
tests.initrdNetwork = callTest tests/initrd-network.nix {};
tests.kafka_0_9 = callTest tests/kafka_0_9.nix {};
tests.kafka_0_10 = callTest tests/kafka_0_10.nix {};
tests.kafka_0_11 = callTest tests/kafka_0_11.nix {};
tests.kafka_1_0 = callTest tests/kafka_1_0.nix {};
tests.kafka = callSubTests tests/kafka.nix {};
tests.kernel-copperhead = callTest tests/kernel-copperhead.nix {};
tests.kernel-latest = callTest tests/kernel-latest.nix {};
tests.kernel-lts = callTest tests/kernel-lts.nix {};

68
nixos/tests/kafka.nix Normal file
View File

@ -0,0 +1,68 @@
{ system ? builtins.currentSystem }:
with import ../lib/testing.nix { inherit system; };
with pkgs.lib;
let
makeKafkaTest = name: kafkaPackage: (makeTest {
inherit name;
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ nequissimus ];
};
nodes = {
zookeeper1 = { config, ... }: {
services.zookeeper = {
enable = true;
};
networking.firewall.allowedTCPPorts = [ 2181 ];
virtualisation.memorySize = 1024;
};
kafka = { config, ... }: {
services.apache-kafka = {
enable = true;
extraProperties = ''
offsets.topic.replication.factor = 1
zookeeper.session.timeout.ms = 600000
'';
package = kafkaPackage;
zookeeper = "zookeeper1:2181";
# These are the default options, but UseCompressedOops doesn't work with 32bit JVM
jvmOptions = [
"-server" "-Xmx1G" "-Xms1G" "-XX:+UseParNewGC" "-XX:+UseConcMarkSweepGC" "-XX:+CMSClassUnloadingEnabled"
"-XX:+CMSScavengeBeforeRemark" "-XX:+DisableExplicitGC" "-Djava.awt.headless=true" "-Djava.net.preferIPv4Stack=true"
] ++ optionals (! pkgs.stdenv.isi686 ) [ "-XX:+UseCompressedOops" ];
};
networking.firewall.allowedTCPPorts = [ 9092 ];
# i686 tests: qemu-system-i386 can simulate max 2047MB RAM (not 2048)
virtualisation.memorySize = 2047;
};
};
testScript = ''
startAll;
$zookeeper1->waitForUnit("default.target");
$zookeeper1->waitForUnit("zookeeper.service");
$zookeeper1->waitForOpenPort(2181);
$kafka->waitForUnit("default.target");
$kafka->waitForUnit("apache-kafka.service");
$kafka->waitForOpenPort(9092);
$kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic");
$kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic");
'' + (if name == "kafka_0_9" then ''
$kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --zookeeper zookeeper1:2181 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'");
'' else ''
$kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'");
'');
});
in with pkgs; {
kafka_0_9 = makeKafkaTest "kafka_0_9" apacheKafka_0_9;
kafka_0_10 = makeKafkaTest "kafka_0_10" apacheKafka_0_10;
kafka_0_11 = makeKafkaTest "kafka_0_11" apacheKafka_0_11;
kafka_1_0 = makeKafkaTest "kafka_1_0" apacheKafka_1_0;
}

View File

@ -1,48 +0,0 @@
import ./make-test.nix ({ pkgs, lib, ... } :
let
kafkaPackage = pkgs.apacheKafka_0_10;
in {
name = "kafka_0_10";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ nequissimus ];
};
nodes = {
zookeeper1 = { config, ... }: {
services.zookeeper = {
enable = true;
};
networking.firewall.allowedTCPPorts = [ 2181 ];
};
kafka = { config, ... }: {
services.apache-kafka = {
enable = true;
extraProperties = ''
offsets.topic.replication.factor = 1
'';
package = kafkaPackage;
zookeeper = "zookeeper1:2181";
};
networking.firewall.allowedTCPPorts = [ 9092 ];
virtualisation.memorySize = 2048;
};
};
testScript = ''
startAll;
$zookeeper1->waitForUnit("zookeeper");
$zookeeper1->waitForUnit("network.target");
$zookeeper1->waitForOpenPort(2181);
$kafka->waitForUnit("apache-kafka");
$kafka->waitForUnit("network.target");
$kafka->waitForOpenPort(9092);
$kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic");
$kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic");
$kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'");
'';
})

View File

@ -1,48 +0,0 @@
import ./make-test.nix ({ pkgs, lib, ... } :
let
kafkaPackage = pkgs.apacheKafka_0_11;
in {
name = "kafka_0_11";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ nequissimus ];
};
nodes = {
zookeeper1 = { config, ... }: {
services.zookeeper = {
enable = true;
};
networking.firewall.allowedTCPPorts = [ 2181 ];
};
kafka = { config, ... }: {
services.apache-kafka = {
enable = true;
extraProperties = ''
offsets.topic.replication.factor = 1
'';
package = kafkaPackage;
zookeeper = "zookeeper1:2181";
};
networking.firewall.allowedTCPPorts = [ 9092 ];
virtualisation.memorySize = 2048;
};
};
testScript = ''
startAll;
$zookeeper1->waitForUnit("zookeeper");
$zookeeper1->waitForUnit("network.target");
$zookeeper1->waitForOpenPort(2181);
$kafka->waitForUnit("apache-kafka");
$kafka->waitForUnit("network.target");
$kafka->waitForOpenPort(9092);
$kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic");
$kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic");
$kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'");
'';
})

View File

@ -1,48 +0,0 @@
import ./make-test.nix ({ pkgs, lib, ... } :
let
kafkaPackage = pkgs.apacheKafka_0_9;
in {
name = "kafka_0_9";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ nequissimus ];
};
nodes = {
zookeeper1 = { config, ... }: {
services.zookeeper = {
enable = true;
};
networking.firewall.allowedTCPPorts = [ 2181 ];
};
kafka = { config, ... }: {
services.apache-kafka = {
enable = true;
extraProperties = ''
offsets.topic.replication.factor = 1
'';
package = kafkaPackage;
zookeeper = "zookeeper1:2181";
};
networking.firewall.allowedTCPPorts = [ 9092 ];
virtualisation.memorySize = 2048;
};
};
testScript = ''
startAll;
$zookeeper1->waitForUnit("zookeeper");
$zookeeper1->waitForUnit("network.target");
$zookeeper1->waitForOpenPort(2181);
$kafka->waitForUnit("apache-kafka");
$kafka->waitForUnit("network.target");
$kafka->waitForOpenPort(9092);
$kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic");
$kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic");
$kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --zookeeper zookeeper1:2181 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'");
'';
})

View File

@ -1,48 +0,0 @@
import ./make-test.nix ({ pkgs, lib, ... } :
let
kafkaPackage = pkgs.apacheKafka_1_0;
in {
name = "kafka_1_0";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ nequissimus ];
};
nodes = {
zookeeper1 = { config, ... }: {
services.zookeeper = {
enable = true;
};
networking.firewall.allowedTCPPorts = [ 2181 ];
};
kafka = { config, ... }: {
services.apache-kafka = {
enable = true;
extraProperties = ''
offsets.topic.replication.factor = 1
'';
package = kafkaPackage;
zookeeper = "zookeeper1:2181";
};
networking.firewall.allowedTCPPorts = [ 9092 ];
virtualisation.memorySize = 2048;
};
};
testScript = ''
startAll;
$zookeeper1->waitForUnit("zookeeper");
$zookeeper1->waitForUnit("network.target");
$zookeeper1->waitForOpenPort(2181);
$kafka->waitForUnit("apache-kafka");
$kafka->waitForUnit("network.target");
$kafka->waitForOpenPort(9092);
$kafka->waitUntilSucceeds("${kafkaPackage}/bin/kafka-topics.sh --create --zookeeper zookeeper1:2181 --partitions 1 --replication-factor 1 --topic testtopic");
$kafka->mustSucceed("echo 'test 1' | ${kafkaPackage}/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testtopic");
$kafka->mustSucceed("${kafkaPackage}/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testtopic --from-beginning --max-messages 1 | grep 'test 1'");
'';
})

View File

@ -23,17 +23,25 @@ import ./make-test.nix ({ pkgs, ... } : {
testScript =
'' startAll;
# Delete backup file that may be left over from a previous test run.
# This is not needed on Hydra but useful for repeated local test runs.
$master->execute("rm -f /var/backup/mysql/testdb.gz");
# Need to have mysql started so that it can be populated with data.
$master->waitForUnit("mysql.service");
# Wait for testdb to be populated.
$master->sleep(10);
# Wait for testdb to be fully populated (5 rows).
$master->waitUntilSucceeds("mysql -u root -D testdb -N -B -e 'select count(id) from tests' | grep -q 5");
# Do a backup and wait for it to finish.
# Do a backup and wait for it to start
$master->startJob("mysql-backup.service");
$master->waitForJob("mysql-backup.service");
# Check that data appears in backup
# wait for backup to fail, because of database 'doesnotexist'
$master->waitUntilFails("systemctl is-active -q mysql-backup.service");
# wait for backup file and check that data appears in backup
$master->waitForFile("/var/backup/mysql/testdb.gz");
$master->succeed("${pkgs.gzip}/bin/zcat /var/backup/mysql/testdb.gz | grep hello");
# Check that a failed backup is logged

View File

@ -3,7 +3,7 @@
stdenv.mkDerivation rec {
name = "cava-${version}";
version = "0.6.0";
version = "0.6.1";
buildInputs = [
alsaLib
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
owner = "karlstav";
repo = "cava";
rev = version;
sha256 = "01maaq5pfd4a7zilgarwr1nl7jbqyrvir6w7ikchggsckrlk23wr";
sha256 = "1kvhqgijs29909w3sq9m0bslx2zxxn4b3i07kdz4hb0dqkppxpjy";
};
nativeBuildInputs = [ autoreconfHook ];

View File

@ -2,11 +2,11 @@
pythonPackages.buildPythonApplication rec {
pname = "Mopidy-Iris";
version = "3.17.5";
version = "3.18.0";
src = pythonPackages.fetchPypi {
inherit pname version;
sha256 = "011bccvjy1rdrc43576hgfb7md404ziqmkam6na2z6v9km1b9gwr";
sha256 = "0j56pj7cqymdk22bjw33c9rz4n36k693gs3w6kg6y68as8l6qpvb";
};
propagatedBuildInputs = [

View File

@ -9,11 +9,11 @@
mkDerivation rec {
name = "krita-${version}";
version = "4.0.1";
version = "4.0.2";
src = fetchurl {
url = "https://download.kde.org/stable/krita/${version}/${name}.tar.gz";
sha256 = "0k55ybvna40dx4fqygnix7bnhjaanak3ckb108hny2k7sspy62pc";
sha256 = "136nia6z8l9czk3ls2c9dpk617cvfilfhx0s838g5nrqxh4kn0cf";
};
nativeBuildInputs = [ cmake extra-cmake-modules ];

View File

@ -6,13 +6,13 @@
stdenv.mkDerivation rec {
name = "dunst-${version}";
version = "1.3.1";
version = "1.3.2";
src = fetchFromGitHub {
owner = "dunst-project";
repo = "dunst";
rev = "v${version}";
sha256 = "0i518v2z9fklzl5w60gkwwmg30yz3bd0k4rxjrxjabx73pvxm1mz";
sha256 = "1kqlshaflp306yrjjmc28pghi1y5p24vdx4bxf8i4n9khdawb514";
};
nativeBuildInputs = [ perl pkgconfig which systemd ];

View File

@ -2,11 +2,11 @@
, desktop-file-utils, libSM, imagemagick }:
stdenv.mkDerivation rec {
version = "18.03.1";
version = "18.05";
name = "mediainfo-gui-${version}";
src = fetchurl {
url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
sha256 = "1mpwbqvw6awni5jq7i5yqvf6wgwjc37sl42q20rdq2agdlslqrkr";
sha256 = "0rgsfplisf729n1j3fyg82wpw88aahisrddn5wq9yx8hz6m96h6r";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }:
stdenv.mkDerivation rec {
version = "18.03.1";
version = "18.05";
name = "mediainfo-${version}";
src = fetchurl {
url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
sha256 = "1mpwbqvw6awni5jq7i5yqvf6wgwjc37sl42q20rdq2agdlslqrkr";
sha256 = "0rgsfplisf729n1j3fyg82wpw88aahisrddn5wq9yx8hz6m96h6r";
};
nativeBuildInputs = [ autoreconfHook pkgconfig ];

View File

@ -4,13 +4,13 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "nnn-${version}";
version = "1.7";
version = "1.8";
src = fetchFromGitHub {
owner = "jarun";
repo = "nnn";
rev = "v${version}";
sha256 = "03cgsdj4l19gla5fx9d1ydqirpsah9d7gx9jaik73x38zqsabr89";
sha256 = "0sd8djig56163k0b0y4a7kg3malxlg08gayjw4zmvqaihvbbkc6v";
};
configFile = optionalString (conf!=null) (builtins.toFile "nnn.h" conf);

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec {
name = "opencpn-${version}";
version = "4.8.2";
version = "4.8.4";
src = fetchFromGitHub {
owner = "OpenCPN";
repo = "OpenCPN";
rev = "v${version}";
sha256 = "0r6a279xhhf4jrmjb2xi5arxb4xd5wvqbs4hyyildlgpr1x7bd09";
sha256 = "0v4klprzddmpq7w8h2pm69sgbshirdmjrlzhz62b606gbr58fazf";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
name = "${product}-${version}";
product = "pdfpc";
version = "4.1.1";
version = "4.1.2";
src = fetchFromGitHub {
repo = "pdfpc";
owner = "pdfpc";
rev = "v${version}";
sha256 = "1yjh9rx49d24wlwg44r2a6b5scybp8l1fi9wyf05sig6zfziw1mm";
sha256 = "01c2bswvxqk4biidpfj3hzf0kdk69i56ibk2wfi8v50qm105psli";
};
nativeBuildInputs = [

View File

@ -1,6 +1,6 @@
{ cairo, cmake, fetchgit, libXdmcp, libpthreadstubs, libxcb, pcre, pkgconfig
, python2 , stdenv, xcbproto, xcbutil, xcbutilimage, xcbutilrenderutil
, xcbutilwm, xcbutilxrm, fetchpatch
, xcbutilwm, xcbutilxrm, fetchpatch, makeWrapper
# optional packages-- override the variables ending in 'Support' to enable or
# disable modules
@ -52,8 +52,15 @@ stdenv.mkDerivation rec {
(if i3Support || i3GapsSupport then jsoncpp else null)
(if i3Support then i3 else null)
(if i3GapsSupport then i3-gaps else null)
(if i3Support || i3GapsSupport then makeWrapper else null)
];
fixupPhase = if (i3Support || i3GapsSupport) then ''
wrapProgram $out/bin/polybar \
--prefix PATH : "${if i3Support then i3 else i3-gaps}/bin"
'' else null;
nativeBuildInputs = [
cmake pkgconfig
];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "sakura-${version}";
version = "3.5.0";
version = "3.6.0";
src = fetchurl {
url = "http://launchpad.net/sakura/trunk/${version}/+download/${name}.tar.bz2";
sha256 = "0fhcn3540iw22l5zg3njh5z8cj0g2n9p6fvagjqa5zc323jfsc7b";
sha256 = "1q463qm41ym7jb3kbzjz7b6x549vmgkb70arpkhsf86yxly1y5m1";
};
nativeBuildInputs = [ cmake perl pkgconfig ];

View File

@ -2,13 +2,13 @@
python3Packages.buildPythonApplication rec {
name = "urh-${version}";
version = "2.0.2";
version = "2.0.4";
src = fetchFromGitHub {
owner = "jopohl";
repo = "urh";
rev = "v${version}";
sha256 = "1qqb31y65rd85rf3gvxxxy06hm89ary00km1ac84qz5bwm6n5fyb";
sha256 = "1b796lfwasp02q1340g43z0gmza5y6jn1ga6nb22vfas0yvqpz6p";
};
buildInputs = [ hackrf rtl-sdr ];

View File

@ -4,13 +4,13 @@
stdenv.mkDerivation rec {
name = "xmrig-${version}";
version = "2.6.1";
version = "2.6.2";
src = fetchFromGitHub {
owner = "xmrig";
repo = "xmrig";
rev = "v${version}";
sha256 = "05gd3jl8nvj2b73l4x72rfbbxrkw3r8q1h761ly4z35v4f3lahk8";
sha256 = "09dcjvnm74j1d26mvdiz0sl1qwns5xfkdwx46nqd4xlgvg9x4rpx";
};
nativeBuildInputs = [ cmake ];

View File

@ -10,14 +10,14 @@
stdenv.mkDerivation rec {
name = "palemoon-${version}";
version = "27.9.0";
version = "27.9.1";
src = fetchFromGitHub {
name = "palemoon-src";
owner = "MoonchildProductions";
repo = "Pale-Moon";
rev = version + "_Release";
sha256 = "181g1hy4k9xr6nlrw8jamp541gr5znny4mmpwwaa1lzq5v1w1sw6";
sha256 = "1cjd0liy3x7iqx8g8mbwdrr0f2aiqjiaifzzkngcvx3vfmphj97k";
};
desktopItem = makeDesktopItem {

View File

@ -40,13 +40,13 @@ in
stdenv.mkDerivation rec {
name = "signal-desktop-${version}";
version = "1.10.0";
version = "1.10.1";
src =
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
sha256 = "0fjc5zf3lr5pmlc57yv3spjk2hq4b3lxngc6iw6c73ficnz4ij7i";
sha256 = "1ndk2in9mbsm5i2k7pgpbd6smbgpswxmjvr12zmbmw893ay015h3";
}
else
throw "Signal for Desktop is not currently supported on ${stdenv.system}";

View File

@ -1,21 +1,29 @@
{ stdenv, fetchFromGitHub }:
{ libsmbios, stdenv, autoreconfHook, fetchFromGitHub }:
stdenv.mkDerivation rec {
name = "netperf-2.7.0";
name = "netperf-20180504";
src = fetchFromGitHub {
owner = "HewlettPackard";
repo = "netperf";
rev = name;
sha256 = "034indn3hicwbvyzgw9f32bv2i7c5iv8b4a11imyn03pw97jzh10";
rev = "c0a0d9f31f9940abf375a41b43a343cdbf87caab";
sha256 = "0wfj9kkhar6jb5639f5wxpwsraxw4v9yzg71rsdidvj5fyncjjq2";
};
buildInputs = [ libsmbios ];
nativeBuildInputs = [ autoreconfHook ];
autoreconfPhase = ''
autoreconf -i -I src/missing/m4
'';
configureFlags = [ "--enable-demo" ];
enableParallelBuilding = true;
meta = {
description = "Benchmark to measure the performance of many different types of networking";
homepage = http://www.netperf.org/netperf/;
license = "Hewlett-Packard BSD-like license";
platforms = stdenv.lib.platforms.linux;
maintainers = [];
maintainers = [ stdenv.lib.maintainers.mmlb ];
};
}

View File

@ -1,93 +0,0 @@
{ stdenv, fetchsvn, libextractor, libmicrohttpd, libgcrypt
, zlib, gmp, curl, libtool, adns, sqlite, pkgconfig
, libxml2, ncurses, gettext, libunistring, libidn
, makeWrapper, autoconf, automake
, withVerbose ? false }:
let
rev = "27840";
in
stdenv.mkDerivation rec {
name = "gnunet-svn-${rev}";
src = fetchsvn {
url = https://gnunet.org/svn/gnunet;
inherit rev;
sha256 = "0zhxvvj5rbhca2ykfx3g93dv94xyhqsnj011a6gql7zd5vfhaf6v";
};
buildInputs = [
libextractor libmicrohttpd libgcrypt gmp curl libtool
zlib adns sqlite libxml2 ncurses libidn
pkgconfig gettext libunistring makeWrapper
autoconf automake
];
configureFlags = stdenv.lib.optional withVerbose "--enable-logging=verbose ";
preConfigure = ''
# Brute force: since nix-worker chroots don't provide
# /etc/{resolv.conf,hosts}, replace all references to `localhost'
# by their IPv4 equivalent.
for i in $(find . \( -name \*.c -or -name \*.conf \) \
-exec grep -l '\<localhost\>' {} \;)
do
echo "$i: substituting \`127.0.0.1' to \`localhost'..."
sed -i "$i" -e's/\<localhost\>/127.0.0.1/g'
done
# Make sure the tests don't rely on `/tmp', for the sake of chroot
# builds.
for i in $(find . \( -iname \*test\*.c -or -name \*.conf \) \
-exec grep -l /tmp {} \;)
do
echo "$i: replacing references to \`/tmp' by \`$TMPDIR'..."
substituteInPlace "$i" --replace "/tmp" "$TMPDIR"
done
# Ensure NSS installation works fine
configureFlags="$configureFlags --with-nssdir=$out/lib"
patchShebangs src/gns/nss/install-nss-plugin.sh
sh contrib/pogen.sh
sh bootstrap
'';
doCheck = false;
/* FIXME: Tests must be run this way, but there are still a couple of
failures.
postInstall =
'' export GNUNET_PREFIX="$out"
export PATH="$out/bin:$PATH"
make -k check
'';
*/
meta = {
description = "GNUnet, GNU's decentralized anonymous and censorship-resistant P2P framework";
longDescription = ''
GNUnet is a framework for secure peer-to-peer networking that
does not use any centralized or otherwise trusted services. A
first service implemented on top of the networking layer
allows anonymous censorship-resistant file-sharing. Anonymity
is provided by making messages originating from a peer
indistinguishable from messages that the peer is routing. All
peers act as routers and use link-encrypted connections with
stable bandwidth utilization to communicate with each other.
GNUnet uses a simple, excess-based economic model to allocate
resources. Peers in GNUnet monitor each others behavior with
respect to resource usage; peers that contribute to the
network are rewarded with better service.
'';
homepage = https://gnunet.org/;
license = stdenv.lib.licenses.gpl2Plus;
maintainers = with stdenv.lib.maintainers; [ viric ];
platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux;
};
}

View File

@ -91,6 +91,17 @@ let
x86hash = "117fwynpxfnrw98933y8z8v2q4g6ycs1sngvpbki2qj09bjkwmag";
x64suffix = "102";
x86suffix = "102";
homepage = https://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-latest.html; # This version has disappeared from Citrix's website... *sigh*
};
"13.9.1" = {
major = "13";
minor = "9";
patch = "1";
x64hash = "A9A9157CE8C287E8AA11447A0E3C3AB7C227330E9D8882C6F7B938A4DD5925BC";
x86hash = "A93E9770FD10FDD3586A2D47448559EA037265717A7000B9BD2B1DCCE7B0A483";
x64suffix = "6";
x86suffix = "6";
homepage = https://www.citrix.com/downloads/citrix-receiver/linux/receiver-for-linux-latest.html;
};
};

View File

@ -9,11 +9,11 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "znc-${version}";
version = "1.6.6";
version = "1.7.0";
src = fetchurl {
url = "http://znc.in/releases/archive/${name}.tar.gz";
sha256 = "09cmsnxvi7jg9a0dicf60fxnxdff4aprw7h8vjqlj5ywf6y43f3z";
sha256 = "0vxra50418bsjfdpf8vl70fijv8syvasjqdxfyjliff6k91k2zn0";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -7,11 +7,11 @@
mkDerivation rec {
name = "skrooge-${version}";
version = "2.12.0";
version = "2.13.0";
src = fetchurl {
url = "http://download.kde.org/stable/skrooge/${name}.tar.xz";
sha256 = "0f7jwl05y4gjwasjcbsx2rrva81abyf0hgdbkh7h3dl7nxz9h6g1";
sha256 = "1f1k0fkfhism1jyx3yxi8rdf1jrmp2vaphmz7fgh9hk18ndvss7d";
};
nativeBuildInputs = [

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "picard-tools-${version}";
version = "2.18.3";
version = "2.18.4";
src = fetchurl {
url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
sha256 = "0w4v30vnyr549hd9lhj1sm69whssabqvhfrbavxfjbl2k9fw83qf";
sha256 = "0qwalb49g8s6dswhhk12ny33xzzj38xa2rj6p6ar0hrwh7aijlqc";
};
buildInputs = [ jre makeWrapper ];

View File

@ -12,13 +12,13 @@ with stdenv.lib;
stdenv.mkDerivation rec {
name = "mkvtoolnix-${version}";
version = "22.0.0";
version = "23.0.0";
src = fetchFromGitLab {
owner = "mbunkus";
repo = "mkvtoolnix";
rev = "release-${version}";
sha256 = "07nggqkpl6dkfcqli8y9dn0jbznldz03nqj2l3fgj3vhqa0phlab";
sha256 = "13n2jvwws87bws483dncvhf9vqsjy3l0lxh7x741g71075299w73";
};
nativeBuildInputs = [

View File

@ -1,14 +1,14 @@
{ stdenv, pythonPackages, fetchFromGitHub, rtmpdump, ffmpeg }:
pythonPackages.buildPythonApplication rec {
version = "0.10.0";
version = "0.12.1";
name = "streamlink-${version}";
src = fetchFromGitHub {
owner = "streamlink";
repo = "streamlink";
rev = "${version}";
sha256 = "1p9gkwcvqlnv09ihqh71nh82nnmq9ybp1v8d8kd2vhkg1vm5ximn";
sha256 = "0r63fjp5qhnbp5kr4w2nn3gnj0wr0ik1pw1gyry8jl9rp2jq9db5";
};
checkInputs = with pythonPackages; [ pytest mock requests-mock ];

View File

@ -21,10 +21,10 @@ let
buildType = "release";
# Manually sha256sum the extensionPack file, must be hex!
# Do not forget to update the hash in ./guest-additions/default.nix!
extpack = "5eef217dbe0a8e8caf383ea8db83344517af0f9093041b5345c8468a427b327b";
extpackRev = "122406";
main = "1k14ngz1gcz02qwbpzfp4kgxv8s24js8pwd5nyyqs6jpxx6557pd";
version = "5.2.10";
extpack = "4c36d129f17dcab2bb37292022f1b1adfefa5f32a3161b0d5d40784bc8acf4d0";
extpackRev = "122591";
main = "0n1lip8lkz4qqq5ml47xldsx41919ncfh060i7yj51bhas604q6s";
version = "5.2.12";
# See https://github.com/NixOS/nixpkgs/issues/672 for details
extensionPack = requireFile rec {
@ -94,7 +94,9 @@ in stdenv.mkDerivation {
patches =
optional enableHardening ./hardened.patch
++ [ ./qtx11extras.patch ./kernpcidev.patch ];
++ [ ./qtx11extras.patch ];
postPatch = ''
sed -i -e 's|/sbin/ifconfig|${nettools}/bin/ifconfig|' \

View File

@ -19,7 +19,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
sha256 = "78a4f18eb0968c7d14dbfe9decf96759c3f85d28f7e3e7ae339266f4a0b22bd1";
sha256 = "b81d283d9ef88a44e7ac8983422bead0823c825cbfe80417423bd12de91b8046";
};
KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";

View File

@ -1,18 +0,0 @@
diff --git a/src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c b/src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c
index b8019f7..b7d2e39 100644
--- a/src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c
+++ b/src/VBox/HostDrivers/VBoxPci/linux/VBoxPci-linux.c
@@ -73,8 +73,11 @@ MODULE_LICENSE("GPL");
MODULE_VERSION(VBOX_VERSION_STRING);
#endif
-
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 20)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 17, 0)
+# define PCI_DEV_GET(v,d,p) pci_get_device(v,d,p)
+# define PCI_DEV_PUT(x) pci_dev_put(x)
+# define PCI_DEV_GET_SLOT(bus, devfn) pci_get_domain_bus_and_slot(0, bus, devfn)
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 20)
# define PCI_DEV_GET(v,d,p) pci_get_device(v,d,p)
# define PCI_DEV_PUT(x) pci_dev_put(x)
# define PCI_DEV_GET_SLOT(bus, devfn) pci_get_bus_and_slot(bus, devfn)

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "wireless-regdb-${version}";
version = "2017.12.23";
version = "2018.05.09";
src = fetchurl {
url = "https://www.kernel.org/pub/software/network/wireless-regdb/${name}.tar.xz";
sha256 = "1faa394frq0126h2z28kp4dwknx6zqm5nar4552g7rwqvl2yclqf";
sha256 = "0db4p8m194cjydrv9q7ygx62v202sighb9pizbn8a29anvm0cmzd";
};
dontBuild = true;

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "closure-compiler-${version}";
version = "20180402";
version = "20180506";
src = fetchurl {
url = "https://dl.google.com/closure-compiler/compiler-${version}.tar.gz";
sha256 = "1xbr2wvppzhq189z9m70zqry2a3hh6cdydwbc1jm2z7imsg1i6c1";
sha256 = "10w9vs61fs14k8g3wlng0ifj0knfm0xfc4rsnd2c75464hkdxvr9";
};
sourceRoot = ".";

View File

@ -1,13 +1,13 @@
{ lib, targetPlatform }:
let
p = targetPlatform.platform.gcc or {};
float = p.float or (targetPlatform.parsed.abi.float or null);
p = targetPlatform.platform.gcc or {}
// targetPlatform.parsed.abi;
in lib.concatLists [
(lib.optional (p ? arch) "--with-arch=${p.arch}")
(lib.optional (p ? cpu) "--with-cpu=${p.cpu}")
(lib.optional (p ? abi) "--with-abi=${p.abi}")
(lib.optional (p ? fpu) "--with-fpu=${p.fpu}")
(lib.optional (float != null) "--with-float=${float}")
(lib.optional (p ? float) "--with-float=${p.float}")
(lib.optional (p ? mode) "--with-mode=${p.mode}")
]

View File

@ -4,10 +4,10 @@
stdenv.mkDerivation rec {
name = "bobcat-${version}";
version = "4.07.00";
version = "4.08.03";
src = fetchFromGitHub {
sha256 = "0ja6rgdw4ng10acp2c0cv9k72i5sgng03i3xi2yshlm2811lgxcs";
sha256 = "163mdl8hxids7123bjxmqhcaqyc1dv7hv8k33s713ac6lzawarq2";
rev = version;
repo = "bobcat";
owner = "fbb-git";

View File

@ -3,11 +3,11 @@
}:
stdenv.mkDerivation rec {
name = "ldb-1.1.31";
name = "ldb-1.3.3";
src = fetchurl {
url = "mirror://samba/ldb/${name}.tar.gz";
sha256 = "04d53e2ab5b35688f5ed7a4471f5b273da121016e1af0630b36a36506afaeb46" ;
sha256 = "14gsrm7dvyjpbpnc60z75j6fz2p187abm2h353lq95kx2bv70c1b" ;
};
outputs = [ "out" "dev" ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "libfilezilla-${version}";
version = "0.12.1";
version = "0.12.2";
src = fetchurl {
url = "http://download.filezilla-project.org/libfilezilla/${name}.tar.bz2";
sha256 = "1gbqm42dd0m3fvqz3bk53889479dvn8679zp6ba8a9q2br2wkvv0";
sha256 = "1v461hwdk74whp89s490dj1z18gfqf9bz9140m5f11rsvrpid33p";
};
meta = with stdenv.lib; {

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "libpqxx-${version}";
version = "6.2.2";
version = "6.2.3";
src = fetchFromGitHub {
owner = "jtv";
repo = "libpqxx";
rev = version;
sha256 = "0f7mkl29v6d47kkdpl2gkb9xc5lnih2pq9pk3cq6nc2j6w758yp5";
sha256 = "130mkkq46l23aaxfc2bnlf9mi3qxfn5465ziz0048bxymbxa7b58";
};
nativeBuildInputs = [ gnused python2 ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "libraw-${version}";
version = "0.18.10";
version = "0.18.11";
src = fetchurl {
url = "http://www.libraw.org/data/LibRaw-${version}.tar.gz";
sha256 = "0klrzg1cn8ksxqbhx52dldi5bbmad190npnhhgkyr2jzpgrbpj88";
sha256 = "07a7k83hx7icahh6jaxfbd7pw5jjm5i11xcqjj31b28d1aj29xvw";
};
outputs = [ "out" "lib" "dev" "doc" ];

View File

@ -0,0 +1,33 @@
{ stdenv, fetchFromGitHub, cmake, libusb, ninja, pkgconfig}:
stdenv.mkDerivation rec {
name = "librealsense-${version}";
version = "2.11.0";
src = fetchFromGitHub {
owner = "IntelRealSense";
repo = "librealsense";
rev = "v${version}";
sha256 = "11vzs2m6jh9v1xbffr2k541pymmih6g4w641mp8rll8qzqfh89i0";
};
buildInputs = [
libusb
];
nativeBuildInputs = [
cmake
ninja
pkgconfig
];
cmakeFlags = [ "-DBUILD_EXAMPLES=false" ];
meta = with stdenv.lib; {
description = "A cross-platform library for Intel® RealSense depth cameras (D400 series and the SR300)";
homepage = https://github.com/IntelRealSense/librealsense;
license = licenses.asl20;
maintainers = with maintainers; [ brian-dawn ];
platforms = platforms.unix;
};
}

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "libwebsockets-${version}";
version = "2.4.2";
version = "3.0.0";
src = fetchFromGitHub {
owner = "warmcat";
repo = "libwebsockets";
rev = "v${version}";
sha256 = "0gbprzsi054f9gr31ihcf0cq7zfkybrmdp6894pmzb5hcv4wnh9i";
sha256 = "0cz4f05qd9b2bm27h5pkwym2cl7ff73lgirzwjppwf9b18if58yv";
};
buildInputs = [ cmake openssl zlib libuv ];

View File

@ -13,13 +13,13 @@
stdenv.mkDerivation rec {
name = "opendht-${version}";
version = "1.7.1";
version = "1.7.2";
src = fetchFromGitHub {
owner = "savoirfairelinux";
repo = "opendht";
rev = "${version}";
sha256 = "1702abnsaf473c56pz18xjgvc2pjhba8dyfryir5dg34zw1c94sc";
sha256 = "0nia3gkn5jqs7lf0v6jkhh1c0czdx9743imgi77kcvn98k2n6sjc";
};
buildInputs = [

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "rabbitmq-c-${version}";
version = "0.8.0";
version = "0.9.0";
src = fetchFromGitHub {
owner = "alanxz";
repo = "rabbitmq-c";
rev = "v${version}";
sha256 = "0vjh1q3hyzrq1iiddy28vvwpwwn4px00mjc2hqp4zgfpis2xlqbj";
sha256 = "1mhzxyh9pmpxjjbyy8hd34gm39sxf73r1ldk8zjfsfbs26ggrppz";
};
buildInputs = [ cmake openssl popt xmlto ];

View File

@ -3,14 +3,14 @@
}:
let
version = "2.4.2";
version = "2.5.0";
in
stdenv.mkDerivation rec {
name = "sfml-${version}";
src = fetchurl {
url = "https://github.com/SFML/SFML/archive/${version}.tar.gz";
sha256 = "cf268fb487e4048c85e5b2f53d62596854762c98cba1c1b61ccd91f78253ef4b";
sha256 = "1x3yvhdrln5b6h4g5r4mds76gq8zsxw6icxqpwqkmxsqcq5yviab";
};
buildInputs = [ cmake libX11 freetype libjpeg openal flac libvorbis glew
libXrandr libXrender udev xcbutilimage

View File

@ -3,12 +3,12 @@
stdenv.mkDerivation rec {
pname = "sundials";
version = "3.1.0";
version = "3.1.1";
name = "${pname}-${version}";
src = fetchurl {
url = "https://computation.llnl.gov/projects/${pname}/download/${pname}-${version}.tar.gz";
sha256 = "0fnlrpj6qjamxahd70r4vsgv85kxbgh93gxqk5xzf9ln6a7jzm8q";
sha256 = "090s8ymhd0g1s1d44fa73r5yi32hb4biwahhbfi327zd64yn8kd2";
};
preConfigure = ''

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchFromGitHub, libtool, pkgconfig, perl }:
{ stdenv, lib, fetchFromGitHub, libtool, pkgconfig, perl, ncurses }:
stdenv.mkDerivation rec {
name = "unibilium-${version}";
@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
++ stdenv.lib.optional stdenv.isDarwin "LIBTOOL=${libtool}/bin/libtool";
nativeBuildInputs = [ pkgconfig perl ];
buildInputs = [ libtool ];
buildInputs = [ libtool ncurses ];
meta = with lib; {
description = "A very basic terminfo library";

View File

@ -15,7 +15,12 @@ let
"x86_64-unknown-linux-gnu" = {
double = "linux-x86_64";
};
"arm-unknown-linux-androideabi" = {
"armv5tel-unknown-linux-androideabi" = {
arch = "arm";
triple = "arm-linux-androideabi";
gccVer = "4.8";
};
"armv7a-unknown-linux-androideabi" = {
arch = "arm";
triple = "arm-linux-androideabi";
gccVer = "4.8";
@ -59,9 +64,29 @@ rec {
cc = binaries;
bintools = binutils;
libc = targetAndroidndkPkgs.libraries;
extraBuildCommands =
extraBuildCommands = lib.optionalString targetPlatform.isAarch32 (let
p = targetPlatform.platform.gcc or {}
// targetPlatform.parsed.abi;
flags = lib.concatLists [
(lib.optional (p ? arch) "-march=${p.arch}")
(lib.optional (p ? cpu) "-mcpu=${p.cpu}")
(lib.optional (p ? abi) "-mabi=${p.abi}")
(lib.optional (p ? fpu) "-mfpu=${p.fpu}")
(lib.optional (p ? float) "-mfloat=${p.float}")
(lib.optional (p ? float-abi) "-mfloat-abi=${p.float-abi}")
(lib.optional (p ? mode) "-mmode=${p.mode}")
];
in ''
sed -E -i \
$out/bin/${targetPlatform.config}-cc \
$out/bin/${targetPlatform.config}-c++ \
$out/bin/${targetPlatform.config}-gcc \
$out/bin/${targetPlatform.config}-g++ \
-e '130i extraBefore+=(-Wl,--fix-cortex-a8)' \
-e 's|^(extraBefore=)\(\)$|\1(${builtins.toString flags})|'
'')
# GCC 4.9 is the first relase with "-fstack-protector"
lib.optionalString (lib.versionOlder targetInfo.gccVer "4.9") ''
+ lib.optionalString (lib.versionOlder targetInfo.gccVer "4.9") ''
sed -E \
-i $out/nix-support/add-hardening.sh \
-e 's|(-fstack-protector)-strong|\1|g'
@ -76,7 +101,7 @@ rec {
libraries = {
name = "bionic-prebuilt";
type = "derivation";
outPath = "${buildAndroidndk}/libexec/${buildAndroidndk.name}/platforms/android-21/arch-${hostInfo.arch}/usr/";
outPath = "${buildAndroidndk}/libexec/${buildAndroidndk.name}/platforms/android-${hostPlatform.sdkVer}/arch-${hostInfo.arch}/usr/";
drvPath = throw "fake derivation, build ${buildAndroidndk} to use";
};
}

View File

@ -1,5 +1,9 @@
{ stdenv, fetchFromGitHub, ocaml, findlib, jbuilder, opam, ocurl, cryptokit, ocaml_extlib, yojson, ocamlnet, xmlm }:
if !stdenv.lib.versionAtLeast ocaml.version "4.02"
then throw "gapi-ocaml is not available for OCaml ${ocaml.version}"
else
stdenv.mkDerivation rec {
name = "gapi-ocaml-${version}";
version = "0.3.6";

View File

@ -1,5 +1,9 @@
{stdenv, fetchurl, ocaml_pcre, ocamlnet, ocaml, findlib, camlp4}:
if stdenv.lib.versionAtLeast ocaml.version "4.06"
then throw "ocaml-http is not available for OCaml ${ocaml.version}"
else
stdenv.mkDerivation {
name = "ocaml-http-0.1.5";

View File

@ -1,23 +1,17 @@
{ stdenv, fetchurl, pkgconfig, ncurses, ocaml, findlib, ocaml_pcre, camlzip
, gnutls, nettle, fetchpatch
, gnutls, nettle
}:
let version = "4.1.5"; in
let version = "4.1.6"; in
stdenv.mkDerivation {
name = "ocaml${ocaml.version}-ocamlnet-${version}";
src = fetchurl {
url = "http://download.camlcity.org/download/ocamlnet-${version}.tar.gz";
sha256 = "1ppcd2zjhj6s3ib9q8dngnr53qlmkhvv7a8hzp88r79k6jygn4cm";
sha256 = "1j0k0drybcjpysvs8xpq3cnpg3wqk6d5sy7y1h5rq8jk7hrirf0k";
};
patches = [ (fetchpatch {
url = "https://raw.githubusercontent.com/ocaml/opam-repository/master/packages/ocamlnet/ocamlnet.4.1.5/files/netgzip.patch";
sha256 = "1say7zzgk24qcy9m91gcfgvz4fv7nksx4j5qnbxyq8wqw0g88ba0";
})
];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ ncurses ocaml findlib ocaml_pcre camlzip gnutls nettle ];

View File

@ -1,21 +1,19 @@
{stdenv, buildOcaml, fetchurl, pcre, ocaml, findlib}:
{ stdenv, fetchurl, pcre, ocaml, findlib, ocamlbuild }:
buildOcaml {
name = "pcre";
stdenv.mkDerivation rec {
name = "ocaml${ocaml.version}-pcre-${version}";
version = "7.2.3";
src = fetchurl {
url = "https://github.com/mmottl/pcre-ocaml/releases/download/v7.2.3/pcre-ocaml-7.2.3.tar.gz";
url = "https://github.com/mmottl/pcre-ocaml/releases/download/v${version}/pcre-ocaml-${version}.tar.gz";
sha256 = "0rj6dw79px4sj2kq0iss2nzq3rnsn9wivvc0f44wa1mppr6njfb3";
};
buildInputs = [ocaml findlib];
buildInputs = [ ocaml findlib ocamlbuild ];
propagatedBuildInputs = [pcre];
createFindlibDestdir = true;
hasSharedObjects = true;
configurePhase = "true"; # Skip configure phase
meta = with stdenv.lib; {

View File

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "deluge-client";
version = "1.3.0";
version = "1.4.0";
src = fetchPypi {
inherit pname version;
sha256 = "27a7f4c6da8f057e03171a493f17340f39f288199a21beb3226a188ab3c02cea";
sha256 = "86979ebcb9f1f991554308e88c7a57469cbf339958b44c71cbdcba128291b043";
};
# it will try to connect to a running instance

View File

@ -0,0 +1,42 @@
{ lib
, buildPythonPackage
, fetchPypi
, python
}:
buildPythonPackage rec {
pname = "ply";
version = "3.11";
src = fetchPypi {
inherit pname version;
sha256 = "00c7c1aaa88358b9c765b6d3000c6eec0ba42abca5351b095321aef446081da3";
};
checkPhase = ''
${python.interpreter} test/testlex.py
${python.interpreter} test/testyacc.py
'';
# Test suite appears broken
doCheck = false;
meta = {
homepage = http://www.dabeaz.com/ply/;
description = "PLY (Python Lex-Yacc), an implementation of the lex and yacc parsing tools for Python";
longDescription = ''
PLY is an implementation of lex and yacc parsing tools for Python.
In a nutshell, PLY is nothing more than a straightforward lex/yacc
implementation. Here is a list of its essential features: It's
implemented entirely in Python; It uses LR-parsing which is
reasonably efficient and well suited for larger grammars; PLY
provides most of the standard lex/yacc features including support for
empty productions, precedence rules, error recovery, and support for
ambiguous grammars; PLY is straightforward to use and provides very
extensive error checking; PLY doesn't try to do anything more or less
than provide the basic lex/yacc functionality. In other words, it's
not a large parsing framework or a component of some larger system.
'';
license = lib.licenses.bsd3;
};
}

View File

@ -392,7 +392,7 @@ let
nat = [ pkgs.which ];
nat_nblast = [ pkgs.which ];
nat_templatebrains = [ pkgs.which ];
pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.binutils.bintools ];
pbdZMQ = lib.optionals stdenv.isDarwin [ pkgs.darwin.binutils ];
RMark = [ pkgs.which ];
RPushbullet = [ pkgs.which ];
qtpaint = [ pkgs.cmake ];
@ -409,7 +409,7 @@ let
fftw = [ pkgs.pkgconfig ];
geoCount = [ pkgs.pkgconfig ];
gdtools = [ pkgs.pkgconfig ];
JuniperKernel = lib.optionals stdenv.isDarwin [ pkgs.binutils.bintools ];
JuniperKernel = lib.optionals stdenv.isDarwin [ pkgs.darwin.binutils ];
kza = [ pkgs.pkgconfig ];
magick = [ pkgs.pkgconfig ];
mwaved = [ pkgs.pkgconfig ];
@ -759,7 +759,7 @@ let
JuniperKernel = old.JuniperKernel.overrideDerivation (attrs: {
postPatch = ''
for file in {R,src}/*.R; do
sed -i 's#system("which \(otool\|install_name_tool\)"[^)]*)#"${pkgs.binutils.bintools}/bin/\1"#g' $file
sed -i 's#system("which \(otool\|install_name_tool\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file
done
'';
preConfigure = ''
@ -774,7 +774,7 @@ let
pbdZMQ = old.pbdZMQ.overrideDerivation (attrs: {
postPatch = lib.optionalString stdenv.isDarwin ''
for file in R/*.{r,r.in}; do
sed -i 's#system("which \(\w\+\)"[^)]*)#"${pkgs.binutils.bintools}/bin/\1"#g' $file
sed -i 's#system("which \(\w\+\)"[^)]*)#"${pkgs.darwin.cctools}/bin/\1"#g' $file
done
'';
});

View File

@ -4,14 +4,14 @@
with lib;
stdenv.mkDerivation rec {
version = "0.71.0";
version = "0.72.0";
name = "flow-${version}";
src = fetchFromGitHub {
owner = "facebook";
repo = "flow";
rev = "v${version}";
sha256 = "1z9qf3kahaincy3i3ynqx7gr1sf470ym8h690a0kc7ah5fwsyr5w";
sha256 = "1lfnl1crwkygzbv3l85n30dqsfz627xrnmn4z3zxh7lazir5h8b8";
};
installPhase = ''

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "pmd-${version}";
version = "6.2.0";
version = "6.3.0";
buildInputs = [ unzip ];
src = fetchurl {
url = "mirror://sourceforge/pmd/pmd-bin-${version}.zip";
sha256 = "12j6m6lhp4xw27x0x8jcy0vlwbanjwks7w6zl56xihv6r8cm40fz";
sha256 = "09x6mpqz4z583lvliipkmvlv3qmmwi7zjzgfjhwyp27faf2pz1ym";
};
installPhase = ''

View File

@ -2,13 +2,13 @@
python3Packages.buildPythonApplication rec {
pname = "remarshal";
version = "0.7.0";
version = "0.8.0";
src = fetchFromGitHub {
owner = "dbohdan";
repo = "remarshal";
rev = "v${version}";
sha256 = "1wsgvzfp40lvly7nyyhv9prip4vi32rfc8kdji587jpw28zc1dfb";
sha256 = "192r1mfd5yj6kg6fqmkjngdlgn25g5rkvm0p6xaflpvavnhvhnsj";
};
propagatedBuildInputs = with python3Packages; [

View File

@ -4,13 +4,13 @@
rustPlatform.buildRustPackage rec {
name = "rust-bindgen-${version}";
version = "0.36.0";
version = "0.36.1";
src = fetchFromGitHub {
owner = "rust-lang-nursery";
repo = "rust-bindgen";
rev = "v${version}";
sha256 = "1bpya490qh2jvq99mdlcifj6mgn3yxr0sqas6y5xw842b46g6hi6";
sha256 = "0y99dvkbkd4vhac26dmc3bwf6z2m85p2il7mndvv8liam012pkbz";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = "${project}-${version}";
project = "rocksndiamonds";
version = "4.0.1.4";
version = "4.1.0.0";
src = fetchurl {
url = "https://www.artsoft.org/RELEASES/unix/${project}/${name}.tar.gz";
sha256 = "0rvi4crfh4rfczpsflzcfj6nqrg49mhm163k6ms9gxz97xj2jp3g";
sha256 = "0bmszf2hqyh76p3lzmhljcjwlx7jzpirwx9zyzgfvwqcapf5i6af";
};
desktopItem = makeDesktopItem {

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "adapta-gtk-theme-${version}";
version = "3.93.1.1";
version = "3.93.1.14";
src = fetchFromGitHub {
owner = "adapta-project";
repo = "adapta-gtk-theme";
rev = version;
sha256 = "00k67qpq62swz7p6dk4g8ak31h97lxyddpyr6xii1jpbygwkk9zc";
sha256 = "11iviw9gj4jwp6v32a3y1n6hq8m9pf14drfqxhp3dnygylvxxdr2";
};
preferLocalBuild = true;

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
name = "powerdns-${version}";
version = "4.1.1";
version = "4.1.2";
src = fetchurl {
url = "http://downloads.powerdns.com/releases/pdns-${version}.tar.bz2";
sha256 = "1fh4zgj0gxgcnnhnih8k6fbw18hb9brkkrfpx3mj8b4a3hr8ilq8";
sha256 = "15anf9x4h3acf7rhvaim4595v2hrz7mn4va9qv18bfnif40vxn46";
};
nativeBuildInputs = [ pkgconfig ];

View File

@ -2,7 +2,7 @@
# Do not edit!
{
version = "0.68.1";
version = "0.69.0";
components = {
"abode" = ps: with ps; [ ];
"ads" = ps: with ps; [ ];
@ -165,6 +165,7 @@
"lock.sesame" = ps: with ps; [ ];
"lutron" = ps: with ps; [ ];
"lutron_caseta" = ps: with ps; [ ];
"matrix" = ps: with ps; [ matrix-client ];
"maxcube" = ps: with ps; [ ];
"media_extractor" = ps: with ps; [ ];
"media_player.anthemav" = ps: with ps; [ ];
@ -239,7 +240,6 @@
"notify.lametric" = ps: with ps; [ ];
"notify.mailgun" = ps: with ps; [ ];
"notify.mastodon" = ps: with ps; [ ];
"notify.matrix" = ps: with ps; [ matrix-client ];
"notify.message_bird" = ps: with ps; [ ];
"notify.pushbullet" = ps: with ps; [ pushbullet ];
"notify.pushetta" = ps: with ps; [ ];
@ -261,6 +261,7 @@
"qwikswitch" = ps: with ps; [ ];
"rainbird" = ps: with ps; [ ];
"raincloud" = ps: with ps; [ ];
"rainmachine" = ps: with ps; [ ];
"raspihats" = ps: with ps; [ ];
"recorder" = ps: with ps; [ sqlalchemy ];
"remember_the_milk" = ps: with ps; [ httplib2 ];
@ -299,6 +300,7 @@
"sensor.dsmr" = ps: with ps; [ ];
"sensor.dweet" = ps: with ps; [ ];
"sensor.eddystone_temperature" = ps: with ps; [ construct ];
"sensor.eliqonline" = ps: with ps; [ ];
"sensor.envirophat" = ps: with ps; [ ];
"sensor.etherscan" = ps: with ps; [ ];
"sensor.fastdotcom" = ps: with ps; [ ];
@ -333,6 +335,7 @@
"sensor.mfi" = ps: with ps; [ ];
"sensor.mhz19" = ps: with ps; [ ];
"sensor.miflora" = ps: with ps; [ ];
"sensor.mitemp_bt" = ps: with ps; [ ];
"sensor.modem_callerid" = ps: with ps; [ ];
"sensor.mopar" = ps: with ps; [ ];
"sensor.mvglive" = ps: with ps; [ PyMVGLive ];
@ -345,6 +348,7 @@
"sensor.plex" = ps: with ps; [ ];
"sensor.pocketcasts" = ps: with ps; [ ];
"sensor.pollen" = ps: with ps; [ ];
"sensor.postnl" = ps: with ps; [ ];
"sensor.pushbullet" = ps: with ps; [ pushbullet ];
"sensor.qnap" = ps: with ps; [ ];
"sensor.ripple" = ps: with ps; [ ];
@ -360,6 +364,7 @@
"sensor.sma" = ps: with ps; [ ];
"sensor.snmp" = ps: with ps; [ pysnmp ];
"sensor.sochain" = ps: with ps; [ ];
"sensor.socialblade" = ps: with ps; [ ];
"sensor.speedtest" = ps: with ps; [ ];
"sensor.spotcrime" = ps: with ps; [ ];
"sensor.sql" = ps: with ps; [ sqlalchemy ];
@ -412,7 +417,6 @@
"switch.netio" = ps: with ps; [ ];
"switch.orvibo" = ps: with ps; [ ];
"switch.rachio" = ps: with ps; [ ];
"switch.rainmachine" = ps: with ps; [ ];
"switch.rpi_rf" = ps: with ps; [ ];
"switch.snmp" = ps: with ps; [ pysnmp ];
"switch.thinkingcleaner" = ps: with ps; [ ];

View File

@ -28,11 +28,18 @@ let
sha256 = "af7315c9fa99e0bfd195a21106c82c81619b42f0bd9b6e287b797c6b6b6a9918";
};
});
astral = super.astral.overridePythonAttrs (oldAttrs: rec {
version = "1.6";
attrs = super.attrs.overridePythonAttrs (oldAttrs: rec {
version = "18.1.0";
src = oldAttrs.src.override {
inherit version;
sha256 = "874b397ddbf0a4c1d8d644b21c2481e8a96b61343f820ad52d8a322d61a15083";
sha256 = "e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b";
};
});
astral = super.astral.overridePythonAttrs (oldAttrs: rec {
version = "1.6.1";
src = oldAttrs.src.override {
inherit version;
sha256 = "ab0c08f2467d35fcaeb7bad15274743d3ac1ad18b5391f64a0058a9cd192d37d";
};
});
async-timeout = super.async-timeout.overridePythonAttrs (oldAttrs: rec {
@ -42,6 +49,15 @@ let
sha256 = "00cff4d2dce744607335cba84e9929c3165632da2d27970dbc55802a0c7873d0";
};
});
# used by check_config script
# can be unpinned once https://github.com/home-assistant/home-assistant/issues/11917 is resolved
colorlog = super.colorlog.overridePythonAttrs (oldAttrs: rec {
version = "3.1.4";
src = oldAttrs.src.override {
inherit version;
sha256 = "418db638c9577f37f0fae4914074f395847a728158a011be2a193ac491b9779d";
};
});
hass-frontend = super.callPackage ./frontend.nix { };
};
};
@ -58,7 +74,7 @@ let
extraBuildInputs = extraPackages py.pkgs;
# Don't forget to run parse-requirements.py after updating
hassVersion = "0.68.1";
hassVersion = "0.69.0";
in with py.pkgs; buildPythonApplication rec {
pname = "homeassistant";
@ -73,7 +89,7 @@ in with py.pkgs; buildPythonApplication rec {
owner = "home-assistant";
repo = "home-assistant";
rev = version;
sha256 = "103py7hfdanr8zk3cl93rm7ngjz0n95kwjbphq7iy8l8hqpzs1m8";
sha256 = "05hagifi1338law2mwwik2gjjw1ckjdjh0lg9l8ldsz999dkc2zz";
};
propagatedBuildInputs = [
@ -91,8 +107,7 @@ in with py.pkgs; buildPythonApplication rec {
# The components' dependencies are not included, so they cannot be tested
py.test --ignore tests/components
# Some basic components should be tested however
# test_not_log_password fails because nothing is logged at all
py.test -k "not test_not_log_password" \
py.test \
tests/components/{group,http} \
tests/components/test_{api,configurator,demo,discovery,frontend,init,introduction,logger,script,shell_command,system_log,websocket_api}.py
'';

View File

@ -2,11 +2,11 @@
buildPythonPackage rec {
pname = "home-assistant-frontend";
version = "20180426.0";
version = "20180509.0";
src = fetchPypi {
inherit pname version;
sha256 = "60ff4e0b0c4538fa0be0db9407f95333546940e119a8d3edb9b0d7e1c86b1f3b";
sha256 = "11d9c4a07565358e6ee001f5c57c8393b4aaadac0d993a0a39a0387a33644fba";
};
propagatedBuildInputs = [ user-agents ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "jackett-${version}";
version = "0.8.929";
version = "0.8.953";
src = fetchurl {
url = "https://github.com/Jackett/Jackett/releases/download/v${version}/Jackett.Binaries.Mono.tar.gz";
sha256 = "1dq69734f6x8iw1jpvln5lq7bykpwky6iiwz8iwwamwg8143f20p";
sha256 = "0jc7c0z315wh73b75fxz1ad2qy1z5nsvpr7iml4998k15sl7w7mi";
};
buildInputs = [ makeWrapper ];

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec {
name = "tsearch-extras-${version}";
version = "0.2";
version = "0.3";
src = fetchFromGitHub {
owner = "zulip";
repo = "tsearch_extras";
rev = version;
sha256 = "1ivg9zn7f1ks31ixxwywifwhzxn6py8s5ky1djyxnb0s60zckfjg";
sha256 = "0i3i99lw80jwd4xflgdqabxmn1dnm1gm7dzf1mqv2drllxcy3yix";
};
nativenativeBuildInputs = [ pkgconfig ];

View File

@ -1,41 +0,0 @@
From 91971455ee46b1059de75260ef0d1a45170d8b65 Mon Sep 17 00:00:00 2001
From: Jeremy Huddleston <jeremyhu@apple.com>
Date: Fri, 13 Jan 2012 12:00:57 -0800
Subject: [PATCH 2/6] sdksyms.sh: Use CPPFLAGS, not CFLAGS
CFLAGS can include flags which are not useful to the preprocessor
or can even cause it to fail. This fixes a build issue on darwin
when building for more than one architecture.
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
---
hw/xfree86/Makefile.am | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/hw/xfree86/Makefile.am b/hw/xfree86/Makefile.am
index 27f2cc6..d898c43 100644
--- a/hw/xfree86/Makefile.am
+++ b/hw/xfree86/Makefile.am
@@ -48,8 +48,7 @@ DIST_SUBDIRS = common ddc i2c x86emu int10 fbdevhw os-support \
bin_PROGRAMS = Xorg
nodist_Xorg_SOURCES = sdksyms.c
-AM_CFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@
-AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
+AM_CPPFLAGS = $(DIX_CFLAGS) @XORG_CFLAGS@ $(XORG_INCS) -I$(srcdir)/parser -I$(top_srcdir)/miext/cw \
-I$(srcdir)/ddc -I$(srcdir)/i2c -I$(srcdir)/modes -I$(srcdir)/ramdac \
-I$(srcdir)/dri -I$(srcdir)/dri2 -I$(top_srcdir)/dri3
@@ -135,7 +134,7 @@ CLEANFILES = sdksyms.c sdksyms.dep Xorg.sh
EXTRA_DIST += sdksyms.sh
sdksyms.dep sdksyms.c: sdksyms.sh
- $(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CFLAGS) $(AM_CFLAGS) $(AM_CPPFLAGS)
+ $(AM_V_GEN)CPP='$(CPP)' AWK='$(AWK)' $(SHELL) $(srcdir)/sdksyms.sh $(top_srcdir) $(CPPFLAGS) $(AM_CPPFLAGS)
SDKSYMS_DEP = sdksyms.dep
-include $(SDKSYMS_DEP)
--
2.3.2 (Apple Git-55)

View File

@ -1,297 +0,0 @@
From b229a04bde765424542eeba17a7e2bc25785a890 Mon Sep 17 00:00:00 2001
From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Date: Sat, 2 Nov 2013 11:00:23 -0700
Subject: [PATCH 4/6] Use old miTrapezoids and miTriangles routines
Reverts commits:
788ccb9a8bcf6a4fb4054c507111eec3338fb969
566f1931ee2916269e164e114bffaf2da1d039d1
http://xquartz.macosforge.org/trac/ticket/525
Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
---
fb/fbpict.c | 2 -
render/mipict.c | 4 +-
render/mipict.h | 27 ++++++++++++++
render/mitrap.c | 111 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
render/mitri.c | 61 +++++++++++++++++++++++++++++++
5 files changed, 201 insertions(+), 4 deletions(-)
diff --git a/fb/fbpict.c b/fb/fbpict.c
index c8378ad..cafb027 100644
--- a/fb/fbpict.c
+++ b/fb/fbpict.c
@@ -499,10 +499,8 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
ps->UnrealizeGlyph = fbUnrealizeGlyph;
ps->CompositeRects = miCompositeRects;
ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
- ps->Trapezoids = fbTrapezoids;
ps->AddTraps = fbAddTraps;
ps->AddTriangles = fbAddTriangles;
- ps->Triangles = fbTriangles;
return TRUE;
}
diff --git a/render/mipict.c b/render/mipict.c
index a725104..e14293a 100644
--- a/render/mipict.c
+++ b/render/mipict.c
@@ -575,8 +575,8 @@ miPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
ps->Composite = 0; /* requires DDX support */
ps->Glyphs = miGlyphs;
ps->CompositeRects = miCompositeRects;
- ps->Trapezoids = 0;
- ps->Triangles = 0;
+ ps->Trapezoids = miTrapezoids;
+ ps->Triangles = miTriangles;
ps->RasterizeTrapezoid = 0; /* requires DDX support */
ps->AddTraps = 0; /* requires DDX support */
diff --git a/render/mipict.h b/render/mipict.h
index 23ce9e8..e0f1d4c 100644
--- a/render/mipict.h
+++ b/render/mipict.h
@@ -122,6 +122,16 @@ miCompositeRects(CARD8 op,
xRenderColor * color, int nRect, xRectangle *rects);
extern _X_EXPORT void
+miTriangles (CARD8 op,
+ PicturePtr pSrc,
+ PicturePtr pDst,
+ PictFormatPtr maskFormat,
+ INT16 xSrc,
+ INT16 ySrc,
+ int ntri,
+ xTriangle *tris);
+
+extern _X_EXPORT void
miTriStrip(CARD8 op,
PicturePtr pSrc,
@@ -137,10 +147,27 @@ miTriFan(CARD8 op,
PictFormatPtr maskFormat,
INT16 xSrc, INT16 ySrc, int npoints, xPointFixed * points);
+extern _X_EXPORT PicturePtr
+miCreateAlphaPicture (ScreenPtr pScreen,
+ PicturePtr pDst,
+ PictFormatPtr pPictFormat,
+ CARD16 width,
+ CARD16 height);
+
extern _X_EXPORT void
miTrapezoidBounds(int ntrap, xTrapezoid * traps, BoxPtr box);
extern _X_EXPORT void
+miTrapezoids (CARD8 op,
+ PicturePtr pSrc,
+ PicturePtr pDst,
+ PictFormatPtr maskFormat,
+ INT16 xSrc,
+ INT16 ySrc,
+ int ntrap,
+ xTrapezoid *traps);
+
+extern _X_EXPORT void
miPointFixedBounds(int npoint, xPointFixed * points, BoxPtr bounds);
extern _X_EXPORT void
diff --git a/render/mitrap.c b/render/mitrap.c
index 17b6dcd..71c1857 100644
--- a/render/mitrap.c
+++ b/render/mitrap.c
@@ -34,6 +34,55 @@
#include "picturestr.h"
#include "mipict.h"
+PicturePtr
+miCreateAlphaPicture (ScreenPtr pScreen,
+ PicturePtr pDst,
+ PictFormatPtr pPictFormat,
+ CARD16 width,
+ CARD16 height)
+{
+ PixmapPtr pPixmap;
+ PicturePtr pPicture;
+ GCPtr pGC;
+ int error;
+ xRectangle rect;
+
+ if (width > 32767 || height > 32767)
+ return 0;
+
+ if (!pPictFormat)
+ {
+ if (pDst->polyEdge == PolyEdgeSharp)
+ pPictFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
+ else
+ pPictFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
+ if (!pPictFormat)
+ return 0;
+ }
+
+ pPixmap = (*pScreen->CreatePixmap) (pScreen, width, height,
+ pPictFormat->depth, 0);
+ if (!pPixmap)
+ return 0;
+ pGC = GetScratchGC (pPixmap->drawable.depth, pScreen);
+ if (!pGC)
+ {
+ (*pScreen->DestroyPixmap) (pPixmap);
+ return 0;
+ }
+ ValidateGC (&pPixmap->drawable, pGC);
+ rect.x = 0;
+ rect.y = 0;
+ rect.width = width;
+ rect.height = height;
+ (*pGC->ops->PolyFillRect)(&pPixmap->drawable, pGC, 1, &rect);
+ FreeScratchGC (pGC);
+ pPicture = CreatePicture (0, &pPixmap->drawable, pPictFormat,
+ 0, 0, serverClient, &error);
+ (*pScreen->DestroyPixmap) (pPixmap);
+ return pPicture;
+}
+
static xFixed
miLineFixedX(xLineFixed * l, xFixed y, Bool ceil)
{
@@ -79,3 +128,65 @@ miTrapezoidBounds(int ntrap, xTrapezoid * traps, BoxPtr box)
box->x2 = x2;
}
}
+
+
+void
+miTrapezoids (CARD8 op,
+ PicturePtr pSrc,
+ PicturePtr pDst,
+ PictFormatPtr maskFormat,
+ INT16 xSrc,
+ INT16 ySrc,
+ int ntrap,
+ xTrapezoid *traps)
+{
+ ScreenPtr pScreen = pDst->pDrawable->pScreen;
+ PictureScreenPtr ps = GetPictureScreen(pScreen);
+
+ /*
+ * Check for solid alpha add
+ */
+ if (op == PictOpAdd && miIsSolidAlpha (pSrc))
+ {
+ for (; ntrap; ntrap--, traps++)
+ (*ps->RasterizeTrapezoid) (pDst, traps, 0, 0);
+ }
+ else if (maskFormat)
+ {
+ PicturePtr pPicture;
+ BoxRec bounds;
+ INT16 xDst, yDst;
+ INT16 xRel, yRel;
+
+ xDst = traps[0].left.p1.x >> 16;
+ yDst = traps[0].left.p1.y >> 16;
+
+ miTrapezoidBounds (ntrap, traps, &bounds);
+ if (bounds.y1 >= bounds.y2 || bounds.x1 >= bounds.x2)
+ return;
+ pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat,
+ bounds.x2 - bounds.x1,
+ bounds.y2 - bounds.y1);
+ if (!pPicture)
+ return;
+ for (; ntrap; ntrap--, traps++)
+ (*ps->RasterizeTrapezoid) (pPicture, traps,
+ -bounds.x1, -bounds.y1);
+ xRel = bounds.x1 + xSrc - xDst;
+ yRel = bounds.y1 + ySrc - yDst;
+ CompositePicture (op, pSrc, pPicture, pDst,
+ xRel, yRel, 0, 0, bounds.x1, bounds.y1,
+ bounds.x2 - bounds.x1,
+ bounds.y2 - bounds.y1);
+ FreePicture (pPicture, 0);
+ }
+ else
+ {
+ if (pDst->polyEdge == PolyEdgeSharp)
+ maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
+ else
+ maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
+ for (; ntrap; ntrap--, traps++)
+ miTrapezoids (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, traps);
+ }
+}
diff --git a/render/mitri.c b/render/mitri.c
index 922f22a..bdca9ca 100644
--- a/render/mitri.c
+++ b/render/mitri.c
@@ -65,3 +65,64 @@ miTriangleBounds(int ntri, xTriangle * tris, BoxPtr bounds)
{
miPointFixedBounds(ntri * 3, (xPointFixed *) tris, bounds);
}
+
+
+void
+miTriangles (CARD8 op,
+ PicturePtr pSrc,
+ PicturePtr pDst,
+ PictFormatPtr maskFormat,
+ INT16 xSrc,
+ INT16 ySrc,
+ int ntri,
+ xTriangle *tris)
+{
+ ScreenPtr pScreen = pDst->pDrawable->pScreen;
+ PictureScreenPtr ps = GetPictureScreen(pScreen);
+
+ /*
+ * Check for solid alpha add
+ */
+ if (op == PictOpAdd && miIsSolidAlpha (pSrc))
+ {
+ (*ps->AddTriangles) (pDst, 0, 0, ntri, tris);
+ }
+ else if (maskFormat)
+ {
+ BoxRec bounds;
+ PicturePtr pPicture;
+ INT16 xDst, yDst;
+ INT16 xRel, yRel;
+
+ xDst = tris[0].p1.x >> 16;
+ yDst = tris[0].p1.y >> 16;
+
+ miTriangleBounds (ntri, tris, &bounds);
+ if (bounds.x2 <= bounds.x1 || bounds.y2 <= bounds.y1)
+ return;
+ pPicture = miCreateAlphaPicture (pScreen, pDst, maskFormat,
+ bounds.x2 - bounds.x1,
+ bounds.y2 - bounds.y1);
+ if (!pPicture)
+ return;
+ (*ps->AddTriangles) (pPicture, -bounds.x1, -bounds.y1, ntri, tris);
+
+ xRel = bounds.x1 + xSrc - xDst;
+ yRel = bounds.y1 + ySrc - yDst;
+ CompositePicture (op, pSrc, pPicture, pDst,
+ xRel, yRel, 0, 0, bounds.x1, bounds.y1,
+ bounds.x2 - bounds.x1, bounds.y2 - bounds.y1);
+ FreePicture (pPicture, 0);
+ }
+ else
+ {
+ if (pDst->polyEdge == PolyEdgeSharp)
+ maskFormat = PictureMatchFormat (pScreen, 1, PICT_a1);
+ else
+ maskFormat = PictureMatchFormat (pScreen, 8, PICT_a8);
+
+ for (; ntri; ntri--, tris++)
+ miTriangles (op, pSrc, pDst, maskFormat, xSrc, ySrc, 1, tris);
+ }
+}
+
--
2.3.2 (Apple Git-55)

View File

@ -1,243 +0,0 @@
From 4c7572abafeac9b2dcd884c444c5a5bae5b302c3 Mon Sep 17 00:00:00 2001
From: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
Date: Sat, 31 May 2014 13:14:20 -0700
Subject: [PATCH 6/6] fb: Revert fb changes that broke XQuartz
http://bugs.freedesktop.org/show_bug.cgi?id=26124
Revert "Use new pixman_glyph_cache_t API that will be in pixman 0.28.0"
Revert "fb: Fix origin of source picture in fbGlyphs"
Revert "fb: Publish fbGlyphs and fbUnrealizeGlyph"
This reverts commit 9cbcb5bd6a5360a128d15b77a02d8d3351f74366.
This reverts commit 983e30361f49a67252d0b5d82630e70724d69dbf.
This reverts commit 3c2c59eed3c68c0e5a93c38cf01eedad015e3157.
---
fb/fb.h | 3 --
fb/fbpict.c | 149 +---------------------------------------------------------
fb/fbpict.h | 11 +----
fb/fbscreen.c | 1 -
4 files changed, 2 insertions(+), 162 deletions(-)
diff --git a/fb/fb.h b/fb/fb.h
index 59eaac3..046b948 100644
--- a/fb/fb.h
+++ b/fb/fb.h
@@ -1116,9 +1116,6 @@ extern _X_EXPORT void
extern _X_EXPORT Bool
fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats);
-extern _X_EXPORT void
-fbDestroyGlyphCache(void);
-
/*
* fbpixmap.c
*/
diff --git a/fb/fbpict.c b/fb/fbpict.c
index 6ee63e9..9c4cc42 100644
--- a/fb/fbpict.c
+++ b/fb/fbpict.c
@@ -65,152 +65,6 @@ fbComposite(CARD8 op,
free_pixman_pict(pDst, dest);
}
-static pixman_glyph_cache_t *glyphCache;
-
-void
-fbDestroyGlyphCache(void)
-{
- if (glyphCache)
- {
- pixman_glyph_cache_destroy (glyphCache);
- glyphCache = NULL;
- }
-}
-
-static void
-fbUnrealizeGlyph(ScreenPtr pScreen,
- GlyphPtr pGlyph)
-{
- if (glyphCache)
- pixman_glyph_cache_remove (glyphCache, pGlyph, NULL);
-}
-
-void
-fbGlyphs(CARD8 op,
- PicturePtr pSrc,
- PicturePtr pDst,
- PictFormatPtr maskFormat,
- INT16 xSrc,
- INT16 ySrc, int nlist,
- GlyphListPtr list,
- GlyphPtr *glyphs)
-{
-#define N_STACK_GLYPHS 512
- ScreenPtr pScreen = pDst->pDrawable->pScreen;
- pixman_glyph_t stack_glyphs[N_STACK_GLYPHS];
- pixman_glyph_t *pglyphs = stack_glyphs;
- pixman_image_t *srcImage, *dstImage;
- int srcXoff, srcYoff, dstXoff, dstYoff;
- GlyphPtr glyph;
- int n_glyphs;
- int x, y;
- int i, n;
- int xDst = list->xOff, yDst = list->yOff;
-
- miCompositeSourceValidate(pSrc);
-
- n_glyphs = 0;
- for (i = 0; i < nlist; ++i)
- n_glyphs += list[i].len;
-
- if (!glyphCache)
- glyphCache = pixman_glyph_cache_create();
-
- pixman_glyph_cache_freeze (glyphCache);
-
- if (n_glyphs > N_STACK_GLYPHS) {
- if (!(pglyphs = malloc (n_glyphs * sizeof (pixman_glyph_t))))
- goto out;
- }
-
- i = 0;
- x = y = 0;
- while (nlist--) {
- x += list->xOff;
- y += list->yOff;
- n = list->len;
- while (n--) {
- const void *g;
-
- glyph = *glyphs++;
-
- if (!(g = pixman_glyph_cache_lookup (glyphCache, glyph, NULL))) {
- pixman_image_t *glyphImage;
- PicturePtr pPicture;
- int xoff, yoff;
-
- pPicture = GetGlyphPicture(glyph, pScreen);
- if (!pPicture) {
- n_glyphs--;
- goto next;
- }
-
- if (!(glyphImage = image_from_pict(pPicture, FALSE, &xoff, &yoff)))
- goto out;
-
- g = pixman_glyph_cache_insert(glyphCache, glyph, NULL,
- glyph->info.x,
- glyph->info.y,
- glyphImage);
-
- free_pixman_pict(pPicture, glyphImage);
-
- if (!g)
- goto out;
- }
-
- pglyphs[i].x = x;
- pglyphs[i].y = y;
- pglyphs[i].glyph = g;
- i++;
-
- next:
- x += glyph->info.xOff;
- y += glyph->info.yOff;
- }
- list++;
- }
-
- if (!(srcImage = image_from_pict(pSrc, FALSE, &srcXoff, &srcYoff)))
- goto out;
-
- if (!(dstImage = image_from_pict(pDst, TRUE, &dstXoff, &dstYoff)))
- goto out_free_src;
-
- if (maskFormat) {
- pixman_format_code_t format;
- pixman_box32_t extents;
-
- format = maskFormat->format | (maskFormat->depth << 24);
-
- pixman_glyph_get_extents(glyphCache, n_glyphs, pglyphs, &extents);
-
- pixman_composite_glyphs(op, srcImage, dstImage, format,
- xSrc + srcXoff + extents.x1 - xDst, ySrc + srcYoff + extents.y1 - yDst,
- extents.x1, extents.y1,
- extents.x1 + dstXoff, extents.y1 + dstYoff,
- extents.x2 - extents.x1,
- extents.y2 - extents.y1,
- glyphCache, n_glyphs, pglyphs);
- }
- else {
- pixman_composite_glyphs_no_mask(op, srcImage, dstImage,
- xSrc + srcXoff - xDst, ySrc + srcYoff - yDst,
- dstXoff, dstYoff,
- glyphCache, n_glyphs, pglyphs);
- }
-
- free_pixman_pict(pDst, dstImage);
-
-out_free_src:
- free_pixman_pict(pSrc, srcImage);
-
-out:
- pixman_glyph_cache_thaw(glyphCache);
- if (pglyphs != stack_glyphs)
- free(pglyphs);
-}
-
static pixman_image_t *
create_solid_fill_image(PicturePtr pict)
{
@@ -461,8 +315,7 @@ fbPictureInit(ScreenPtr pScreen, PictFormatPtr formats, int nformats)
return FALSE;
ps = GetPictureScreen(pScreen);
ps->Composite = fbComposite;
- ps->Glyphs = fbGlyphs;
- ps->UnrealizeGlyph = fbUnrealizeGlyph;
+ ps->Glyphs = miGlyphs;
ps->CompositeRects = miCompositeRects;
ps->RasterizeTrapezoid = fbRasterizeTrapezoid;
ps->AddTraps = fbAddTraps;
diff --git a/fb/fbpict.h b/fb/fbpict.h
index 5cb8663..110f32d 100644
--- a/fb/fbpict.h
+++ b/fb/fbpict.h
@@ -65,20 +65,11 @@ fbTrapezoids(CARD8 op,
INT16 xSrc, INT16 ySrc, int ntrap, xTrapezoid * traps);
extern _X_EXPORT void
+
fbTriangles(CARD8 op,
PicturePtr pSrc,
PicturePtr pDst,
PictFormatPtr maskFormat,
INT16 xSrc, INT16 ySrc, int ntris, xTriangle * tris);
-extern _X_EXPORT void
-fbGlyphs(CARD8 op,
- PicturePtr pSrc,
- PicturePtr pDst,
- PictFormatPtr maskFormat,
- INT16 xSrc,
- INT16 ySrc, int nlist,
- GlyphListPtr list,
- GlyphPtr *glyphs);
-
#endif /* _FBPICT_H_ */
diff --git a/fb/fbscreen.c b/fb/fbscreen.c
index 71bcc5d..55330fc 100644
--- a/fb/fbscreen.c
+++ b/fb/fbscreen.c
@@ -32,7 +32,6 @@ fbCloseScreen(ScreenPtr pScreen)
int d;
DepthPtr depths = pScreen->allowedDepths;
- fbDestroyGlyphCache();
for (d = 0; d < pScreen->numDepths; d++)
free(depths[d].vids);
free(depths);
--
2.3.2 (Apple Git-55)

View File

@ -1,118 +0,0 @@
cstrahan:
This patch makes it possible (and necessary) to specify the default
shell, xterm client, and startx script from environment variables. These
defaults are used when launching the XQuartz.app, which in turn needs to know
how to start the X server. I've patched `command_from_prefs' so that it ignores
the preferences settings and immediately sets them to whatever the environment
variables are.
When developing an installable package for XQuartz/XQuartz.app, we'll need to
set an `LSEnvironment' entry in the plist for the XQuartz.app, we'll also need
to wrap the XQuartz.app/Contents/MacOS/X11 script (the Xquartz server will
invoke this script during initialization. See stub.patch for more details.).
diff --git a/hw/xquartz/mach-startup/bundle-main.c b/hw/xquartz/mach-startup/bundle-main.c
index b403662..b1e2070 100644
--- a/hw/xquartz/mach-startup/bundle-main.c
+++ b/hw/xquartz/mach-startup/bundle-main.c
@@ -77,13 +77,7 @@ FatalError(const char *f, ...) _X_ATTRIBUTE_PRINTF(1, 2) _X_NORETURN;
extern int noPanoramiXExtension;
-#define DEFAULT_CLIENT X11BINDIR "/xterm"
-#define DEFAULT_STARTX X11BINDIR "/startx -- " X11BINDIR "/Xquartz"
-#define DEFAULT_SHELL "/bin/sh"
-
-#ifndef BUILD_DATE
#define BUILD_DATE ""
-#endif
#ifndef XSERVER_VERSION
#define XSERVER_VERSION "?"
#endif
@@ -718,14 +712,14 @@ main(int argc, char **argv, char **envp)
pid_t child1, child2;
int status;
- pref_app_to_run = command_from_prefs("app_to_run", DEFAULT_CLIENT);
+ pref_app_to_run = command_from_prefs("app_to_run", getenv("XQUARTZ_DEFAULT_CLIENT"));
assert(pref_app_to_run);
- pref_login_shell = command_from_prefs("login_shell", DEFAULT_SHELL);
+ pref_login_shell = command_from_prefs("login_shell", getenv("XQUARTZ_DEFAULT_SHELL"));
assert(pref_login_shell);
pref_startx_script = command_from_prefs("startx_script",
- DEFAULT_STARTX);
+ getenv("XQUARTZ_DEFAULT_STARTX"));
assert(pref_startx_script);
/* Do the fork-twice trick to avoid having to reap zombies */
@@ -804,10 +798,12 @@ execute(const char *command)
static char *
command_from_prefs(const char *key, const char *default_value)
{
+ if (default_value == NULL)
+ return NULL;
+
char *command = NULL;
CFStringRef cfKey;
- CFPropertyListRef PlistRef;
if (!key)
return NULL;
@@ -817,40 +813,24 @@ command_from_prefs(const char *key, const char *default_value)
if (!cfKey)
return NULL;
- PlistRef = CFPreferencesCopyAppValue(cfKey,
- kCFPreferencesCurrentApplication);
+ CFStringRef cfDefaultValue = CFStringCreateWithCString(
+ NULL, default_value, kCFStringEncodingASCII);
+ int len = strlen(default_value) + 1;
- if ((PlistRef == NULL) ||
- (CFGetTypeID(PlistRef) != CFStringGetTypeID())) {
- CFStringRef cfDefaultValue = CFStringCreateWithCString(
- NULL, default_value, kCFStringEncodingASCII);
- int len = strlen(default_value) + 1;
+ if (!cfDefaultValue)
+ goto command_from_prefs_out;
- if (!cfDefaultValue)
- goto command_from_prefs_out;
+ CFPreferencesSetAppValue(cfKey, cfDefaultValue,
+ kCFPreferencesCurrentApplication);
+ CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication);
+ CFRelease(cfDefaultValue);
- CFPreferencesSetAppValue(cfKey, cfDefaultValue,
- kCFPreferencesCurrentApplication);
- CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication);
- CFRelease(cfDefaultValue);
-
- command = (char *)malloc(len * sizeof(char));
- if (!command)
- goto command_from_prefs_out;
- strcpy(command, default_value);
- }
- else {
- int len = CFStringGetLength((CFStringRef)PlistRef) + 1;
- command = (char *)malloc(len * sizeof(char));
- if (!command)
- goto command_from_prefs_out;
- CFStringGetCString((CFStringRef)PlistRef, command, len,
- kCFStringEncodingASCII);
- }
+ command = (char *)malloc(len * sizeof(char));
+ if (!command)
+ goto command_from_prefs_out;
+ strcpy(command, default_value);
command_from_prefs_out:
- if (PlistRef)
- CFRelease(PlistRef);
if (cfKey)
CFRelease(cfKey);
return command;

View File

@ -1,12 +0,0 @@
diff --git a/hw/xquartz/xpr/x-list.new.h b/hw/xquartz/xpr/x-list.h
index 28385fd..71f9d26 100644
--- a/hw/xquartz/xpr/x-list.new.h
+++ b/hw/xquartz/xpr/x-list.h
@@ -45,6 +45,7 @@ struct x_list_struct {
#endif
#ifndef X_EXTERN
+#define __private_extern__ extern
#define X_EXTERN __private_extern__
#endif

View File

@ -1,80 +0,0 @@
cstrahan:
When the X / Xquartz server initiallizes, it starts the XQuartz.app and
hands-off the display FD. To start the XQuartz.app, Xquartz normally uses some
system calls to get the path of the application by app bundle id, and then
executes the Contents/MacOS/X11 script contained inside, which in turn executes
Contents/MacOS/X11.bin (the actual app).
This patch replaces that discovery technique with a simple call to
`getenv'. In order to make Xquartz actually work, we'll need another wrapper
that sets the `XQUARTZ_X11' environment variable to point to the `X11' script.
diff --git a/hw/xquartz/mach-startup/stub.c b/hw/xquartz/mach-startup/stub.c
index 756e4ef..3313a55 100644
--- a/hw/xquartz/mach-startup/stub.c
+++ b/hw/xquartz/mach-startup/stub.c
@@ -61,54 +61,16 @@ aslclient aslc;
static void
set_x11_path(void)
{
-#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050
-
- CFURLRef appURL = NULL;
- OSStatus osstatus =
- LSFindApplicationForInfo(kLSUnknownCreator, CFSTR(
- kX11AppBundleId), nil, nil, &appURL);
-
- switch (osstatus) {
- case noErr:
- if (appURL == NULL) {
- asl_log(
- aslc, NULL, ASL_LEVEL_ERR,
- "Xquartz: Invalid response from LSFindApplicationForInfo(%s)",
- kX11AppBundleId);
- exit(1);
- }
-
- if (!CFURLGetFileSystemRepresentation(appURL, true,
- (unsigned char *)x11_path,
- sizeof(x11_path))) {
- asl_log(aslc, NULL, ASL_LEVEL_ERR,
- "Xquartz: Error resolving URL for %s",
- kX11AppBundleId);
- exit(3);
- }
-
- strlcat(x11_path, kX11AppBundlePath, sizeof(x11_path));
- asl_log(aslc, NULL, ASL_LEVEL_INFO, "Xquartz: X11.app = %s", x11_path);
- break;
-
- case kLSApplicationNotFoundErr:
- asl_log(aslc, NULL, ASL_LEVEL_ERR,
- "Xquartz: Unable to find application for %s",
- kX11AppBundleId);
- exit(10);
-
- default:
- asl_log(aslc, NULL, ASL_LEVEL_ERR,
- "Xquartz: Unable to find application for %s, error code = %d",
- kX11AppBundleId,
- (int)osstatus);
- exit(11);
+ char *xquartzX11 = getenv("XQUARTZ_X11");
+ if (xquartzX11) {
+ strlcpy(x11_path, xquartzX11,
+ sizeof(x11_path));
+ } else {
+ asl_log(
+ aslc, NULL, ASL_LEVEL_ERR,
+ "Xquartz: XQUARTZ_X11 environment variable not set");
+ exit(1);
}
-#else
- /* TODO: Make Tiger smarter... but TBH, this should never get called on Tiger... */
- strlcpy(x11_path, "/Applications/Utilities/X11.app/Contents/MacOS/X11",
- sizeof(x11_path));
-#endif
}
static int

View File

@ -456,7 +456,7 @@ in
};
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ];
postPatch = "sed '1i#include <malloc.h>' -i include/os.h";
postPatch = stdenv.lib.optionalString stdenv.isLinux "sed '1i#include <malloc.h>' -i include/os.h";
meta.platforms = stdenv.lib.platforms.unix;
} else throw "unsupported xorg abiCompat ${args.abiCompat} for ${attrs_passed.name}";
@ -465,7 +465,7 @@ in
version = (builtins.parseDrvName attrs.name).version;
commonBuildInputs = attrs.buildInputs ++ [ xtrans ];
commonPropagatedBuildInputs = [
args.zlib args.libGL args.mesa_noglu args.dbus
args.zlib args.libGL args.libGLU args.dbus
xf86bigfontproto glproto xf86driproto
compositeproto scrnsaverproto resourceproto
xf86dgaproto
@ -526,6 +526,7 @@ in
'';
passthru.version = version; # needed by virtualbox guest additions
} else {
nativeBuildInputs = attrs.nativeBuildInputs ++ [ args.autoreconfHook xorg.utilmacros xorg.fontutil ];
buildInputs = commonBuildInputs ++ [
args.bootstrap_cmds args.automake args.autoconf
args.apple_sdk.libs.Xplugin
@ -535,16 +536,31 @@ in
propagatedBuildInputs = commonPropagatedBuildInputs ++ [
libAppleWM applewmproto
];
# Patches can be pulled from the server-*-apple branches of:
# http://cgit.freedesktop.org/~jeremyhu/xserver/
# XQuartz patchset
patches = commonPatches ++ [
./darwin/0002-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch
./darwin/0004-Use-old-miTrapezoids-and-miTriangles-routines.patch
./darwin/0006-fb-Revert-fb-changes-that-broke-XQuartz.patch
./darwin/private-extern.patch
./darwin/bundle_main.patch
./darwin/stub.patch
(args.fetchpatch {
url = "https://github.com/XQuartz/xorg-server/commit/e88fd6d785d5be477d5598e70d105ffb804771aa.patch";
sha256 = "1q0a30m1qj6ai924afz490xhack7rg4q3iig2gxsjjh98snikr1k";
name = "use-cppflags-not-cflags.patch";
})
(args.fetchpatch {
url = "https://github.com/XQuartz/xorg-server/commit/75ee9649bcfe937ac08e03e82fd45d9e18110ef4.patch";
sha256 = "1vlfylm011y00j8mig9zy6gk9bw2b4ilw2qlsc6la49zi3k0i9fg";
name = "use-old-mitrapezoids-and-mitriangles-routines.patch";
})
(args.fetchpatch {
url = "https://github.com/XQuartz/xorg-server/commit/c58f47415be79a6564a9b1b2a62c2bf866141e73.patch";
sha256 = "19sisqzw8x2ml4lfrwfvavc2jfyq2bj5xcf83z89jdxg8g1gdd1i";
name = "revert-fb-changes-1.patch";
})
(args.fetchpatch {
url = "https://github.com/XQuartz/xorg-server/commit/56e6f1f099d2821e5002b9b05b715e7b251c0c97.patch";
sha256 = "0zm9g0g1jvy79sgkvy0rjm6ywrdba2xjd1nsnjbxjccckbr6i396";
name = "revert-fb-changes-2.patch";
})
];
configureFlags = [
# note: --enable-xquartz is auto
"CPPFLAGS=-I${./darwin/dri}"

View File

@ -26,9 +26,7 @@ stdenv.mkDerivation {
fi;
done;
cd $out/share/X11-fonts/
rm fonts.dir
rm fonts.scale
rm fonts.alias
rm -f fonts.dir fonts.scale fonts.alias
mkfontdir
mkfontscale
cat $( find ${xorg.fontalias}/ -name fonts.alias) >fonts.alias

View File

@ -1,55 +0,0 @@
{ stdenv
, fetchurl
, fetchFromGitHub
, pythonPackages
, windowsSupport ? false
}:
with pythonPackages;
let
jinja = jinja2.overridePythonAttrs (old: rec {
version = "2.8.1";
name = "${old.pname}-${version}";
src = fetchFromGitHub {
owner = "pallets";
repo = "jinja";
rev = version;
sha256 = "0m6g6fx6flxb6hrkw757mbx1gxyrmj50w27m2afdsvmvz0zpdi2a";
};
});
in buildPythonPackage rec {
pname = "ansible";
version = "2.1.4.0";
name = "${pname}-${version}";
src = fetchurl {
url = "http://releases.ansible.com/ansible/${name}.tar.gz";
sha256 = "05nc68900qrzqp88970j2lmyvclgrjki66xavcpzyzamaqrh7wg9";
};
prePatch = ''
sed -i "s,/usr/,$out," lib/ansible/constants.py
'';
doCheck = false;
dontStrip = true;
dontPatchELF = true;
dontPatchShebangs = false;
propagatedBuildInputs = [
pycrypto paramiko jinja pyyaml httplib2 boto six netaddr dnspython
] ++ stdenv.lib.optional windowsSupport pywinrm;
meta = with stdenv.lib; {
homepage = http://www.ansible.com;
description = "A simple automation tool";
license = with licenses; [ gpl3] ;
maintainers = with maintainers; [
jgeerds
joamaki
];
platforms = with platforms; linux ++ darwin;
};
}

View File

@ -1,57 +0,0 @@
{ stdenv
, fetchurl
, fetchFromGitHub
, pythonPackages
, windowsSupport ? false
}:
with pythonPackages;
let
# Shouldn't be needed anymore in next version
# https://github.com/NixOS/nixpkgs/pull/22345#commitcomment-20718521
jinja = jinja2.overridePythonAttrs (old: rec {
version = "2.8.1";
name = "${old.pname}-${version}";
src = fetchFromGitHub {
owner = "pallets";
repo = "jinja";
rev = version;
sha256 = "0m6g6fx6flxb6hrkw757mbx1gxyrmj50w27m2afdsvmvz0zpdi2a";
};
});
in buildPythonPackage rec {
pname = "ansible";
version = "2.2.1.0";
name = "${pname}-${version}";
src = fetchurl {
url = "http://releases.ansible.com/ansible/${name}.tar.gz";
sha256 = "0gz9i30pdmkchi936ijy873k8di6fmf3v5rv551hxyf0hjkjx8b3";
};
prePatch = ''
sed -i "s,/usr/,$out," lib/ansible/constants.py
'';
doCheck = false;
dontStrip = true;
dontPatchELF = true;
dontPatchShebangs = false;
propagatedBuildInputs = [
pycrypto paramiko jinja pyyaml httplib2 boto six netaddr dnspython
] ++ stdenv.lib.optional windowsSupport pywinrm;
meta = with stdenv.lib; {
homepage = http://www.ansible.com;
description = "A simple automation tool";
license = with licenses; [ gpl3] ;
maintainers = with maintainers; [
jgeerds
joamaki
];
platforms = with platforms; linux ++ darwin;
};
}

View File

@ -1,40 +0,0 @@
{ stdenv
, fetchurl
, pythonPackages
, windowsSupport ? false
}:
pythonPackages.buildPythonPackage rec {
pname = "ansible";
version = "2.3.2.0";
name = "${pname}-${version}";
src = fetchurl {
url = "http://releases.ansible.com/ansible/${name}.tar.gz";
sha256 = "1sv8666vw6fi93jlgkwd4lxkfn75yqczfvk129zlh8ll4wjv8qq5";
};
prePatch = ''
sed -i "s,/usr/,$out," lib/ansible/constants.py
'';
doCheck = false;
dontStrip = true;
dontPatchELF = true;
dontPatchShebangs = false;
propagatedBuildInputs = with pythonPackages; [
pycrypto paramiko jinja2 pyyaml httplib2 boto six netaddr dnspython
] ++ stdenv.lib.optional windowsSupport pywinrm;
meta = with stdenv.lib; {
homepage = http://www.ansible.com;
description = "A simple automation tool";
license = with licenses; [ gpl3 ] ;
maintainers = with maintainers; [
jgeerds
joamaki
];
platforms = with platforms; linux ++ darwin;
};
}

View File

@ -1,40 +0,0 @@
{ stdenv
, fetchurl
, pythonPackages
, windowsSupport ? false
}:
pythonPackages.buildPythonPackage rec {
pname = "ansible";
version = "2.4.2.0";
name = "${pname}-${version}";
src = fetchurl {
url = "http://releases.ansible.com/ansible/${name}.tar.gz";
sha256 = "0n3n9py4s3aykiii31xq8g4wmd6693jvby0424pjrg0bna01apri";
};
prePatch = ''
sed -i "s,/usr/,$out," lib/ansible/constants.py
'';
doCheck = false;
dontStrip = true;
dontPatchELF = true;
dontPatchShebangs = false;
propagatedBuildInputs = with pythonPackages; [
pycrypto paramiko jinja2 pyyaml httplib2 boto six netaddr dnspython
] ++ stdenv.lib.optional windowsSupport pywinrm;
meta = with stdenv.lib; {
homepage = http://www.ansible.com;
description = "A simple automation tool";
license = with licenses; [ gpl3 ];
maintainers = with maintainers; [
jgeerds
joamaki
];
platforms = with platforms; linux ++ darwin;
};
}

View File

@ -1,40 +0,0 @@
{ stdenv
, fetchurl
, pythonPackages
, windowsSupport ? false
}:
pythonPackages.buildPythonPackage rec {
pname = "ansible";
version = "2.5.1";
name = "${pname}-${version}";
src = fetchurl {
url = "http://releases.ansible.com/ansible/${name}.tar.gz";
sha256 = "06h0cmz0cgj1xszzn6rsypfc8lkazgh5g1yxyss1yx242d0wkw2i";
};
prePatch = ''
sed -i "s,/usr/,$out," lib/ansible/constants.py
'';
doCheck = false;
dontStrip = true;
dontPatchELF = true;
dontPatchShebangs = false;
propagatedBuildInputs = with pythonPackages; [
pycrypto paramiko jinja2 pyyaml httplib2 boto six netaddr dnspython
] ++ stdenv.lib.optional windowsSupport pywinrm;
meta = with stdenv.lib; {
homepage = http://www.ansible.com;
description = "A simple automation tool";
license = with licenses; [ gpl3 ];
maintainers = with maintainers; [
jgeerds
joamaki
];
platforms = with platforms; linux ++ darwin;
};
}

View File

@ -0,0 +1,65 @@
{ stdenv, fetchurl, fetchFromGitHub, python2
, windowsSupport ? false
}:
let
oldJinja = python2.override {
packageOverrides = self: super: {
jinja2 = super.jinja2.overridePythonAttrs (oldAttrs: rec {
version = "2.8.1";
src = oldAttrs.src.override {
inherit version;
sha256 = "14aqmhkc9rw5w0v311jhixdm6ym8vsm29dhyxyrjfqxljwx1yd1m";
};
doCheck = false;
});
};
};
generic = { version, sha256, py ? python2 }: py.pkgs.buildPythonPackage rec {
pname = "ansible";
inherit version;
src = fetchurl {
url = "http://releases.ansible.com/ansible/${pname}-${version}.tar.gz";
inherit sha256;
};
prePatch = ''
sed -i "s,/usr/,$out," lib/ansible/constants.py
'';
doCheck = false;
dontStrip = true;
dontPatchELF = true;
dontPatchShebangs = false;
propagatedBuildInputs = with py.pkgs; [
pycrypto paramiko jinja2 pyyaml httplib2 boto six netaddr dnspython
] ++ stdenv.lib.optional windowsSupport pywinrm;
meta = with stdenv.lib; {
homepage = http://www.ansible.com;
description = "A simple automation tool";
license = with licenses; [ gpl3 ] ;
maintainers = with maintainers; [ jgeerds joamaki ];
platforms = with platforms; linux ++ darwin;
};
};
in rec {
# We will carry all the supported versions
ansible_2_4 = generic {
version = "2.4.4.0";
sha256 = "0n1k6h0h6av74nw8vq98fmh6q4pq6brpwmx45282vh3bkdmpa0ib";
};
ansible_2_5 = generic {
version = "2.5.2";
sha256 = "1r9sq30xz3jrvx6yqssj5wmkml1f75rx1amd7g89f3ryngrq6m59";
};
ansible2 = ansible_2_5;
ansible = ansible2;
}

View File

@ -19,11 +19,11 @@ let
in
python2Packages.buildPythonApplication rec {
pname = "salt";
version = "2017.7.4";
version = "2018.3.0";
src = python2Packages.fetchPypi {
inherit pname version;
sha256 = "15xfvclk3ns8vk17j7bfy4alq7ab5x3y3jnpqzp5583bfyak0mqx";
sha256 = "0cbbnmaynnpfknmppzlz04mqw4d3d2ay1dqrli11b5pnzli5v950";
};
propagatedBuildInputs = with python2Packages; [

View File

@ -5,13 +5,13 @@
stdenv.mkDerivation rec {
name = "ibus-table-${version}";
version = "1.9.18";
version = "1.9.20";
src = fetchFromGitHub {
owner = "kaio";
repo = "ibus-table";
rev = version;
sha256 = "0isxgz7f6xhrcv5qrdd6gm3ysmqp3mi5ngnbqz08f7pclllaridp";
sha256 = "12rsbg8pfh567bd0n376qciclq5jr63h5gwcm54cs796bxls4w2j";
};
postPatch = ''

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, iptables, libuuid, pkgconfig }:
stdenv.mkDerivation rec {
name = "miniupnpd-2.0.20180503";
name = "miniupnpd-2.1";
src = fetchurl {
url = "http://miniupnp.free.fr/files/download.php?file=${name}.tar.gz";
sha256 = "031aw66b09ij2yv640xjbp302vkwr8ima5cz7a0951jzhqbfs6xn";
sha256 = "1hg0zzvvzfgpnmngmd3ffnsk9x18lwlxlpw5jgh7y6b1jrvr824m";
name = "${name}.tar.gz";
};

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "acpica-tools-${version}";
version = "20180427";
version = "20180508";
src = fetchurl {
url = "https://acpica.org/sites/acpica/files/acpica-unix-${version}.tar.gz";
sha256 = "05hczn82dpn7irh8zy9m17hm8r3ngwrbmk69zsldr4k1w3cv40df";
sha256 = "1n7lqmv77kg28drahvxzybwl9v4hzwi8i7xkpgliclfcp5ff909b";
};
NIX_CFLAGS_COMPILE = "-O3";

View File

@ -11,11 +11,11 @@ in
stdenv.mkDerivation rec {
name = "${pname}-${version}";
version = "3.14.1";
version = "3.15.1";
src = fetchurl {
url = "https://github.com/balabit/${pname}/releases/download/${name}/${name}.tar.gz";
sha256 = "0i79qib47cwg6kd5h4w277h942d6ahb1aj09243rlallr46jci82";
sha256 = "1vzrg6s30wc2as2s42h7a1qvyxqx26nq895r9y75aasfcwlbvnm2";
};
nativeBuildInputs = [ pkgconfig which ];

View File

@ -0,0 +1,36 @@
{ stdenv, lib, pkgconfig, buildGoPackage, fetchFromGitHub
, makeWrapper, coreutils, gnupg, gnutar, squashfsTools}:
buildGoPackage rec {
name = "distrobuilder-${version}";
version = "2018_04_28";
rev = "406fd5fe7dec4a969ec08bdf799c8ae483d37489";
goPackagePath = "github.com/lxc/distrobuilder";
src = fetchFromGitHub {
inherit rev;
owner = "lxc";
repo = "distrobuilder";
sha256 = "11bd600g36pf89vza9jl7fp7cjy5h67nfvhxlnwghb3z40pq9lnc";
};
goDeps = ./deps.nix;
postInstall = ''
wrapProgram $bin/bin/distrobuilder --prefix PATH ":" ${stdenv.lib.makeBinPath [
coreutils gnupg gnutar squashfsTools
]}
'';
nativeBuildInputs = [ pkgconfig makeWrapper ];
meta = with stdenv.lib; {
description = "System container image builder for LXC and LXD";
homepage = "https://github.com/lxc/distrobuilder";
license = licenses.asl20;
maintainers = with maintainers; [ megheaiulian ];
platforms = platforms.linux;
};
}

View File

@ -0,0 +1,67 @@
# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
[
{
goPackagePath = "github.com/gorilla/websocket";
fetch = {
type = "git";
url = "https://github.com/gorilla/websocket";
rev = "21ab95fa12b9bdd8fecf5fa3586aad941cc98785";
sha256 = "1ygg6cr84461d6k3nzbja0dxhcgf5zvry2w10f6i7291ghrcwhyy";
};
}
{
goPackagePath = "github.com/lxc/lxd";
fetch = {
type = "git";
url = "https://github.com/lxc/lxd";
rev = "a81aac803bc22dcb14982b80dce005444e2b22f1";
sha256 = "1pjwgh6551mjzkdzmvxx065sxxn8ixb3vdq2i6g1pyb56h5hnayi";
};
}
{
goPackagePath = "github.com/pkg/errors";
fetch = {
type = "git";
url = "https://github.com/pkg/errors";
rev = "816c9085562cd7ee03e7f8188a1cfd942858cded";
sha256 = "1ws5crb7c70wdicavl6qr4g03nn6m92zd6wwp9n2ygz5c8rmxh8k";
};
}
{
goPackagePath = "github.com/spf13/cobra";
fetch = {
type = "git";
url = "https://github.com/spf13/cobra";
rev = "ef82de70bb3f60c65fb8eebacbb2d122ef517385";
sha256 = "1q1nsx05svyv9fv3fy6xv6gs9ffimkyzsfm49flvl3wnvf1ncrkd";
};
}
{
goPackagePath = "github.com/spf13/pflag";
fetch = {
type = "git";
url = "https://github.com/spf13/pflag";
rev = "583c0c0531f06d5278b7d917446061adc344b5cd";
sha256 = "0nr4mdpfhhk94hq4ymn5b2sxc47b29p1akxd8b0hx4dvdybmipb5";
};
}
{
goPackagePath = "gopkg.in/flosch/pongo2.v3";
fetch = {
type = "git";
url = "https://gopkg.in/flosch/pongo2.v3";
rev = "5e81b817a0c48c1c57cdf1a9056cf76bdee02ca9";
sha256 = "0fd7d79644zmcirsb1gvhmh0l5vb5nyxmkzkvqpmzzcg6yfczph8";
};
}
{
goPackagePath = "gopkg.in/yaml.v2";
fetch = {
type = "git";
url = "https://gopkg.in/yaml.v2";
rev = "5420a8b6744d3b0345ab293f6fcba19c978f1183";
sha256 = "0dwjrs2lp2gdlscs7bsrmyc5yf6mm4fvgw71bzr9mv2qrd2q73s1";
};
}
]

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