Merge commit '92b7a814f26ee1d37e989431c18518c67285a332' into staging
This commit is contained in:
commit
2c5d915200
@ -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;
|
||||
};
|
||||
|
@ -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; };
|
||||
|
@ -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;
|
||||
};
|
||||
|
@ -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.
|
||||
|
@ -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";
|
||||
|
@ -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;
|
||||
|
@ -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.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -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).
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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.
|
||||
|
@ -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
68
nixos/tests/kafka.nix
Normal 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;
|
||||
}
|
@ -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'");
|
||||
'';
|
||||
})
|
@ -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'");
|
||||
'';
|
||||
})
|
@ -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'");
|
||||
'';
|
||||
})
|
@ -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'");
|
||||
'';
|
||||
})
|
@ -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
|
||||
|
@ -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 ];
|
||||
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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);
|
||||
|
@ -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 ];
|
||||
|
@ -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 = [
|
||||
|
@ -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
|
||||
];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 {
|
||||
|
@ -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}";
|
||||
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
@ -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;
|
||||
};
|
||||
};
|
||||
|
@ -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 ];
|
||||
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
|
@ -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|' \
|
||||
|
@ -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";
|
||||
|
@ -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)
|
@ -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;
|
||||
|
@ -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 = ".";
|
||||
|
@ -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}")
|
||||
]
|
||||
|
@ -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";
|
||||
|
@ -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" ];
|
||||
|
@ -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; {
|
||||
|
@ -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 ];
|
||||
|
@ -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" ];
|
||||
|
33
pkgs/development/libraries/librealsense/default.nix
Normal file
33
pkgs/development/libraries/librealsense/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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 ];
|
||||
|
@ -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 = [
|
||||
|
@ -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 ];
|
||||
|
@ -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
|
||||
|
@ -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 = ''
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
};
|
||||
}
|
||||
|
@ -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";
|
||||
|
@ -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";
|
||||
|
||||
|
@ -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 ];
|
||||
|
||||
|
@ -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; {
|
||||
|
@ -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
|
||||
|
42
pkgs/development/python-modules/ply/default.nix
Normal file
42
pkgs/development/python-modules/ply/default.nix
Normal 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;
|
||||
};
|
||||
}
|
@ -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
|
||||
'';
|
||||
});
|
||||
|
@ -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 = ''
|
||||
|
@ -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 = ''
|
||||
|
@ -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; [
|
||||
|
@ -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 ];
|
||||
|
@ -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 {
|
||||
|
@ -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;
|
||||
|
@ -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 ];
|
||||
|
@ -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; [ ];
|
||||
|
@ -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
|
||||
'';
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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 ];
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
@ -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;
|
@ -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
|
||||
|
@ -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
|
@ -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}"
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
};
|
||||
}
|
@ -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;
|
||||
};
|
||||
}
|
@ -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;
|
||||
};
|
||||
}
|
@ -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;
|
||||
};
|
||||
}
|
@ -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;
|
||||
};
|
||||
}
|
65
pkgs/tools/admin/ansible/default.nix
Normal file
65
pkgs/tools/admin/ansible/default.nix
Normal 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;
|
||||
}
|
@ -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; [
|
||||
|
@ -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 = ''
|
||||
|
@ -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";
|
||||
};
|
||||
|
||||
|
@ -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";
|
||||
|
@ -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 ];
|
||||
|
36
pkgs/tools/virtualization/distrobuilder/default.nix
Normal file
36
pkgs/tools/virtualization/distrobuilder/default.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
|
67
pkgs/tools/virtualization/distrobuilder/deps.nix
generated
Normal file
67
pkgs/tools/virtualization/distrobuilder/deps.nix
generated
Normal 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
Loading…
Reference in New Issue
Block a user