Merge master into staging-next

This commit is contained in:
Frederik Rietdijk 2018-12-07 15:22:35 +01:00
commit 5f554279ec
224 changed files with 5366 additions and 4075 deletions

View File

@ -49,12 +49,12 @@ texlive.combine {
</listitem> </listitem>
<listitem> <listitem>
<para> <para>
You can list packages e.g. by <command>nix-repl</command>. You can list packages e.g. by <command>nix repl</command>.
<programlisting> <programlisting><![CDATA[
$ nix-repl $ nix repl
nix-repl> :l &lt;nixpkgs> nix-repl> :l <nixpkgs>
nix-repl> texlive.collection-&lt;TAB> nix-repl> texlive.collection-<TAB>
</programlisting> ]]></programlisting>
</para> </para>
</listitem> </listitem>
<listitem> <listitem>

View File

@ -2464,6 +2464,11 @@
github = "listx"; github = "listx";
name = "Linus Arver"; name = "Linus Arver";
}; };
lionello = {
email = "lio@lunesu.com";
github = "lionello";
name = "Lionello Lunesu";
};
lluchs = { lluchs = {
email = "lukas.werling@gmail.com"; email = "lukas.werling@gmail.com";
github = "lluchs"; github = "lluchs";
@ -3935,6 +3940,11 @@
github = "seppeljordan"; github = "seppeljordan";
name = "Sebastian Jordan"; name = "Sebastian Jordan";
}; };
seqizz = {
email = "seqizz@gmail.com";
github = "seqizz";
name = "Gurkan Gur";
};
sfrijters = { sfrijters = {
email = "sfrijters@gmail.com"; email = "sfrijters@gmail.com";
github = "sfrijters"; github = "sfrijters";

View File

@ -113,12 +113,10 @@ $ nixos-option <xref linkend="opt-boot.kernelModules"/>
[ "tun" "ipv6" "loop" <replaceable>...</replaceable> ] [ "tun" "ipv6" "loop" <replaceable>...</replaceable> ]
</screen> </screen>
Interactive exploration of the configuration is possible using Interactive exploration of the configuration is possible using
<command <command>nix repl</command>, a read-eval-print loop for Nix expressions.
xlink:href="https://github.com/edolstra/nix-repl">nix-repl</command>, A typical use:
a read-eval-print loop for Nix expressions. Its not installed by default;
run <literal>nix-env -i nix-repl</literal> to get it. A typical use:
<screen> <screen>
$ nix-repl '&lt;nixpkgs/nixos>' $ nix repl '&lt;nixpkgs/nixos>'
nix-repl> config.<xref linkend="opt-networking.hostName"/> nix-repl> config.<xref linkend="opt-networking.hostName"/>
"mandark" "mandark"

View File

@ -94,5 +94,24 @@ pkgs.stdenv.mkDerivation {
cat errorlog cat errorlog
return 1 return 1
fi fi
(
# Resizes **snugly** to its actual limits (or closer to)
free=$(dumpe2fs $out | grep '^Free blocks:')
blocksize=$(dumpe2fs $out | grep '^Block size:')
blocks=$(dumpe2fs $out | grep '^Block count:')
blocks=$((''${blocks##*:})) # format the number.
blocksize=$((''${blocksize##*:})) # format the number.
# System can't boot with 0 blocks free.
# Add 16MiB of free space
fudge=$(( 16 * 1024 * 1024 / blocksize ))
size=$(( blocks - ''${free##*:} + fudge ))
echo "Resizing from $blocks blocks to $size blocks. (~ $((size*blocksize/1024/1024))MiB)"
EXT2FS_NO_MTAB_OK=yes resize2fs $out -f $size
)
# And a final fsck, because of the previous truncating.
fsck.ext4 -n -f $out
''; '';
} }

View File

@ -42,6 +42,18 @@ in {
type = types.str; type = types.str;
description = '' description = ''
User token in Jenkins used to reload config. User token in Jenkins used to reload config.
WARNING: This token will be world readable in the Nix store. To keep
it secret, use the <option>accessTokenFile</option> option instead.
'';
};
accessTokenFile = mkOption {
default = "";
type = types.str;
example = "/run/keys/jenkins-job-builder-access-token";
description = ''
File containing the API token for the <option>accessUser</option>
user.
''; '';
}; };
@ -103,6 +115,21 @@ in {
}; };
config = mkIf (jenkinsCfg.enable && cfg.enable) { config = mkIf (jenkinsCfg.enable && cfg.enable) {
assertions = [
{ assertion =
if cfg.accessUser != ""
then (cfg.accessToken != "" && cfg.accessTokenFile == "") ||
(cfg.accessToken == "" && cfg.accessTokenFile != "")
else true;
message = ''
One of accessToken and accessTokenFile options must be non-empty
strings, but not both. Current values:
services.jenkins.jobBuilder.accessToken = "${cfg.accessToken}"
services.jenkins.jobBuilder.accessTokenFile = "${cfg.accessTokenFile}"
'';
}
];
systemd.services.jenkins-job-builder = { systemd.services.jenkins-job-builder = {
description = "Jenkins Job Builder Service"; description = "Jenkins Job Builder Service";
# JJB can run either before or after jenkins. We chose after, so we can # JJB can run either before or after jenkins. We chose after, so we can
@ -128,8 +155,13 @@ in {
ownerStamp = ".config-xml-managed-by-nixos-jenkins-job-builder"; ownerStamp = ".config-xml-managed-by-nixos-jenkins-job-builder";
reloadScript = '' reloadScript = ''
echo "Asking Jenkins to reload config" echo "Asking Jenkins to reload config"
CRUMB=$(curl -s 'http://${cfg.accessUser}:${cfg.accessToken}@${jenkinsCfg.listenAddress}:${toString jenkinsCfg.port}${jenkinsCfg.prefix}/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)') curl_opts="--silent --fail --show-error"
curl --silent -X POST -H "$CRUMB" http://${cfg.accessUser}:${cfg.accessToken}@${jenkinsCfg.listenAddress}:${toString jenkinsCfg.port}${jenkinsCfg.prefix}/reload access_token=${if cfg.accessTokenFile != ""
then "$(cat '${cfg.accessTokenFile}')"
else cfg.accessToken}
jenkins_url="http://${cfg.accessUser}:$access_token@${jenkinsCfg.listenAddress}:${toString jenkinsCfg.port}${jenkinsCfg.prefix}"
crumb=$(curl $curl_opts "$jenkins_url"'/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)')
curl $curl_opts -X POST -H "$crumb" "$jenkins_url"/reload
''; '';
in in
'' ''

View File

@ -13,7 +13,7 @@ let
[ # Basic startup [ # Basic startup
"${crdb}/bin/cockroach start" "${crdb}/bin/cockroach start"
"--logtostderr" "--logtostderr"
"--store=${cfg.dataDir}" "--store=/var/lib/cockroachdb"
(ifNotNull cfg.locality "--locality='${cfg.locality}'") (ifNotNull cfg.locality "--locality='${cfg.locality}'")
# WebUI settings # WebUI settings
@ -41,7 +41,7 @@ let
}; };
port = mkOption { port = mkOption {
type = types.int; type = types.port;
default = defaultPort; default = defaultPort;
description = "Port to bind to for ${descr}"; description = "Port to bind to for ${descr}";
}; };
@ -70,10 +70,12 @@ in
like datacenter. The tiers and order must be the same on all nodes. like datacenter. The tiers and order must be the same on all nodes.
Including more tiers is better than including fewer. For example: Including more tiers is better than including fewer. For example:
<literal>
country=us,region=us-west,datacenter=us-west-1b,rack=12 country=us,region=us-west,datacenter=us-west-1b,rack=12
country=ca,region=ca-east,datacenter=ca-east-2,rack=4 country=ca,region=ca-east,datacenter=ca-east-2,rack=4
planet=earth,province=manitoba,colo=secondary,power=3 planet=earth,province=manitoba,colo=secondary,power=3
</literal>
''; '';
}; };
@ -83,12 +85,6 @@ in
description = "The addresses for connecting the node to a cluster."; description = "The addresses for connecting the node to a cluster.";
}; };
dataDir = mkOption {
type = types.path;
default = "/var/lib/cockroachdb";
description = "Location where CockroachDB stores its table files";
};
insecure = mkOption { insecure = mkOption {
type = types.bool; type = types.bool;
default = false; default = false;
@ -126,9 +122,12 @@ in
The total size for caches. The total size for caches.
This can be a percentage, expressed with a fraction sign or as a This can be a percentage, expressed with a fraction sign or as a
decimal-point number, or any bytes-based unit. For example, "25%", decimal-point number, or any bytes-based unit. For example,
"0.25" both represent 25% of the available system memory. The values <literal>"25%"</literal>, <literal>"0.25"</literal> both represent
"1000000000" and "1GB" both represent 1 gigabyte of memory. 25% of the available system memory. The values
<literal>"1000000000"</literal> and <literal>"1GB"</literal> both
represent 1 gigabyte of memory.
''; '';
}; };
@ -140,9 +139,11 @@ in
data for SQL queries. data for SQL queries.
This can be a percentage, expressed with a fraction sign or as a This can be a percentage, expressed with a fraction sign or as a
decimal-point number, or any bytes-based unit. For example, "25%", decimal-point number, or any bytes-based unit. For example,
"0.25" both represent 25% of the available system memory. The values <literal>"25%"</literal>, <literal>"0.25"</literal> both represent
"1000000000" and "1GB" both represent 1 gigabyte of memory. 25% of the available system memory. The values
<literal>"1000000000"</literal> and <literal>"1GB"</literal> both
represent 1 gigabyte of memory.
''; '';
}; };
@ -193,27 +194,21 @@ in
requires = [ "time-sync.target" ]; requires = [ "time-sync.target" ];
wantedBy = [ "multi-user.target" ]; wantedBy = [ "multi-user.target" ];
unitConfig.RequiresMountsFor = "${cfg.dataDir}"; unitConfig.RequiresMountsFor = "/var/lib/cockroachdb";
preStart = ''
if ! test -e ${cfg.dataDir}; then
mkdir -m 0700 -p ${cfg.dataDir}
chown -R ${cfg.user} ${cfg.dataDir}
fi
'';
serviceConfig = serviceConfig =
{ ExecStart = startupCommand; { ExecStart = startupCommand;
Type = "notify"; Type = "notify";
User = cfg.user; User = cfg.user;
PermissionsStartOnly = true; StateDirectory = "cockroachdb";
StateDirectoryMode = "0700";
Restart = "always"; Restart = "always";
TimeoutStopSec="60";
RestartSec="10"; # A conservative-ish timeout is alright here, because for Type=notify
StandardOutput="syslog"; # cockroach will send systemd pings during startup to keep it alive
StandardError="syslog"; TimeoutStopSec = 60;
SyslogIdentifier="cockroach"; RestartSec = 10;
}; };
}; };
}; };

View File

@ -127,7 +127,7 @@ let
serviceConfig.Restart = mkDefault "always"; serviceConfig.Restart = mkDefault "always";
serviceConfig.PrivateTmp = mkDefault true; serviceConfig.PrivateTmp = mkDefault true;
serviceConfig.WorkingDirectory = mkDefault /tmp; serviceConfig.WorkingDirectory = mkDefault /tmp;
} serviceOpts ] ++ optional (serviceOpts.serviceConfig.DynamicUser or false) { } serviceOpts ] ++ optional (!(serviceOpts.serviceConfig.DynamicUser or false)) {
serviceConfig.User = conf.user; serviceConfig.User = conf.user;
serviceConfig.Group = conf.group; serviceConfig.Group = conf.group;
}); });

View File

@ -36,5 +36,10 @@ in
${concatStringsSep " \\\n " cfg.extraFlags} ${concatStringsSep " \\\n " cfg.extraFlags}
''; '';
}; };
# CPython requires a process to either have $HOME defined or run as a UID
# defined in /etc/passwd. The latter is false with DynamicUser, so define a
# dummy $HOME. https://bugs.python.org/issue10496
environment = { HOME = "/var/empty"; };
}; };
} }

View File

@ -202,7 +202,7 @@ let
}; };
script = '' script = ''
modprobe wireguard ${optionalString (!config.boot.isContainer) "modprobe wireguard"}
${values.preSetup} ${values.preSetup}

View File

@ -83,11 +83,11 @@ let
# Unpack Mediawiki and put the config file in its root directory. # Unpack Mediawiki and put the config file in its root directory.
mediawikiRoot = pkgs.stdenv.mkDerivation rec { mediawikiRoot = pkgs.stdenv.mkDerivation rec {
name= "mediawiki-1.29.1"; name= "mediawiki-1.31.1";
src = pkgs.fetchurl { src = pkgs.fetchurl {
url = "https://releases.wikimedia.org/mediawiki/1.29/${name}.tar.gz"; url = "https://releases.wikimedia.org/mediawiki/1.31/${name}.tar.gz";
sha256 = "03mpazbxvb011s2nmlw5p6dc43yjgl5yrsilmj1imyykm57bwb3m"; sha256 = "13x48clij21cmysjkpnx68vggchrdasqp7b290j87xlfgjhdhnnf";
}; };
skins = config.skins; skins = config.skins;
@ -111,7 +111,7 @@ let
sed -i \ sed -i \
-e 's|/bin/bash|${pkgs.bash}/bin/bash|g' \ -e 's|/bin/bash|${pkgs.bash}/bin/bash|g' \
-e 's|/usr/bin/timeout|${pkgs.coreutils}/bin/timeout|g' \ -e 's|/usr/bin/timeout|${pkgs.coreutils}/bin/timeout|g' \
$out/includes/limit.sh \ $out/includes/shell/limit.sh \
$out/includes/GlobalFunctions.php $out/includes/GlobalFunctions.php
''; '';
}; };

View File

@ -36,7 +36,7 @@ let
#! ${pkgs.runtimeShell} -e #! ${pkgs.runtimeShell} -e
# Initialise the container side of the veth pair. # Initialise the container side of the veth pair.
if [ "$PRIVATE_NETWORK" = 1 ]; then if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ]; then
ip link set host0 name eth0 ip link set host0 name eth0
ip link set dev eth0 up ip link set dev eth0 up
@ -85,6 +85,10 @@ let
cp --remove-destination /etc/resolv.conf "$root/etc/resolv.conf" cp --remove-destination /etc/resolv.conf "$root/etc/resolv.conf"
if [ "$PRIVATE_NETWORK" = 1 ]; then if [ "$PRIVATE_NETWORK" = 1 ]; then
extraFlags+=" --private-network"
fi
if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ]; then
extraFlags+=" --network-veth" extraFlags+=" --network-veth"
if [ -n "$HOST_BRIDGE" ]; then if [ -n "$HOST_BRIDGE" ]; then
extraFlags+=" --network-bridge=$HOST_BRIDGE" extraFlags+=" --network-bridge=$HOST_BRIDGE"
@ -153,7 +157,7 @@ let
# Clean up existing machined registration and interfaces. # Clean up existing machined registration and interfaces.
machinectl terminate "$INSTANCE" 2> /dev/null || true machinectl terminate "$INSTANCE" 2> /dev/null || true
if [ "$PRIVATE_NETWORK" = 1 ]; then if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ]; then
ip link del dev "ve-$INSTANCE" 2> /dev/null || true ip link del dev "ve-$INSTANCE" 2> /dev/null || true
ip link del dev "vb-$INSTANCE" 2> /dev/null || true ip link del dev "vb-$INSTANCE" 2> /dev/null || true
fi fi
@ -200,7 +204,7 @@ let
''; '';
in in
'' ''
if [ "$PRIVATE_NETWORK" = 1 ]; then if [ -n "$HOST_ADDRESS" ] || [ -n "$LOCAL_ADDRESS" ]; then
if [ -z "$HOST_BRIDGE" ]; then if [ -z "$HOST_BRIDGE" ]; then
ifaceHost=ve-$INSTANCE ifaceHost=ve-$INSTANCE
ip link set dev $ifaceHost up ip link set dev $ifaceHost up
@ -352,7 +356,7 @@ let
List of forwarded ports from host to container. Each forwarded port List of forwarded ports from host to container. Each forwarded port
is specified by protocol, hostPort and containerPort. By default, is specified by protocol, hostPort and containerPort. By default,
protocol is tcp and hostPort and containerPort are assumed to be protocol is tcp and hostPort and containerPort are assumed to be
the same if containerPort is not explicitly given. the same if containerPort is not explicitly given.
''; '';
}; };
@ -457,6 +461,16 @@ in
{ boot.isContainer = true; { boot.isContainer = true;
networking.hostName = mkDefault name; networking.hostName = mkDefault name;
networking.useDHCP = false; networking.useDHCP = false;
assertions = [
{
assertion = config.privateNetwork -> stringLength name < 12;
message = ''
Container name `${name}` is too long: When `privateNetwork` is enabled, container names can
not be longer than 11 characters, because the container's interface name is derived from it.
This might be fixed in the future. See https://github.com/NixOS/nixpkgs/issues/38509
'';
}
];
}; };
in [ extraConfig ] ++ (map (x: x.value) defs); in [ extraConfig ] ++ (map (x: x.value) defs);
prefix = [ "containers" name ]; prefix = [ "containers" name ];
@ -699,7 +713,7 @@ in
# container so that container@.target can get the container # container so that container@.target can get the container
# configuration. # configuration.
environment.etc = environment.etc =
let mkPortStr = p: p.protocol + ":" + (toString p.hostPort) + ":" + (if p.containerPort == null then toString p.hostPort else toString p.containerPort); let mkPortStr = p: p.protocol + ":" + (toString p.hostPort) + ":" + (if p.containerPort == null then toString p.hostPort else toString p.containerPort);
in mapAttrs' (name: cfg: nameValuePair "containers/${name}.conf" in mapAttrs' (name: cfg: nameValuePair "containers/${name}.conf"
{ text = { text =
'' ''

View File

@ -62,5 +62,9 @@ import ./make-test.nix ({ pkgs, ... }: {
# Ensure Layered Docker images work # Ensure Layered Docker images work
$docker->succeed("docker load --input='${pkgs.dockerTools.examples.layered-image}'"); $docker->succeed("docker load --input='${pkgs.dockerTools.examples.layered-image}'");
$docker->succeed("docker run --rm ${pkgs.dockerTools.examples.layered-image.imageName}"); $docker->succeed("docker run --rm ${pkgs.dockerTools.examples.layered-image.imageName}");
# Ensure building an image on top of a layered Docker images work
$docker->succeed("docker load --input='${pkgs.dockerTools.examples.layered-on-top}'");
$docker->succeed("docker run --rm ${pkgs.dockerTools.examples.layered-on-top.imageName}");
''; '';
}) })

View File

@ -8,7 +8,7 @@ import ./make-test.nix ({ pkgs, lib, ...} : with lib; {
nodes = { nodes = {
gitlab = { ... }: { gitlab = { ... }: {
virtualisation.memorySize = 4096; virtualisation.memorySize = 2047;
systemd.services.gitlab.serviceConfig.Restart = mkForce "no"; systemd.services.gitlab.serviceConfig.Restart = mkForce "no";
systemd.services.gitlab-workhorse.serviceConfig.Restart = mkForce "no"; systemd.services.gitlab-workhorse.serviceConfig.Restart = mkForce "no";
systemd.services.gitaly.serviceConfig.Restart = mkForce "no"; systemd.services.gitaly.serviceConfig.Restart = mkForce "no";

View File

@ -31,6 +31,9 @@ in {
latitude = "0.0"; latitude = "0.0";
longitude = "0.0"; longitude = "0.0";
elevation = 0; elevation = 0;
auth_providers = [
{ type = "legacy_api_password"; }
];
}; };
frontend = { }; frontend = { };
http.api_password = apiPassword; http.api_password = apiPassword;

View File

@ -40,7 +40,7 @@ let
networking.firewall.allowedTCPPorts = [ 9092 ]; networking.firewall.allowedTCPPorts = [ 9092 ];
# i686 tests: qemu-system-i386 can simulate max 2047MB RAM (not 2048) # i686 tests: qemu-system-i386 can simulate max 2047MB RAM (not 2048)
virtualisation.memorySize = 2047; virtualisation.memorySize = 2047;
}; };
}; };
@ -70,4 +70,6 @@ in with pkgs; {
kafka_0_11 = makeKafkaTest "kafka_0_11" apacheKafka_0_11; kafka_0_11 = makeKafkaTest "kafka_0_11" apacheKafka_0_11;
kafka_1_0 = makeKafkaTest "kafka_1_0" apacheKafka_1_0; kafka_1_0 = makeKafkaTest "kafka_1_0" apacheKafka_1_0;
kafka_1_1 = makeKafkaTest "kafka_1_1" apacheKafka_1_1; kafka_1_1 = makeKafkaTest "kafka_1_1" apacheKafka_1_1;
kafka_2_0 = makeKafkaTest "kafka_2_0" apacheKafka_2_0;
kafka_2_1 = makeKafkaTest "kafka_2_1" apacheKafka_2_1;
} }

View File

@ -10,11 +10,14 @@ let
drv = pkgs.hello; drv = pkgs.hello;
machine = { ... }: { /* services.sshd.enable = true; */ }; machine = { ... }: { /* services.sshd.enable = true; */ };
}; };
in pkgs.runCommand "verify-output" { inherit output; } ''
if [ ! -e "$output/bin/hello" ]; then test = pkgs.runCommand "verify-output" { inherit output; } ''
echo "Derivation built using runInMachine produced incorrect output:" >&2 if [ ! -e "$output/bin/hello" ]; then
ls -laR "$output" >&2 echo "Derivation built using runInMachine produced incorrect output:" >&2
exit 1 ls -laR "$output" >&2
fi exit 1
"$output/bin/hello" > "$out" fi
'' "$output/bin/hello" > "$out"
'';
in test // { inherit test; } # To emulate behaviour of makeTest

View File

@ -4,7 +4,7 @@
}: }:
let let
version = "0.12.6.0"; version = "0.12.8.0";
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "aeon-${version}"; name = "aeon-${version}";
@ -14,7 +14,7 @@ stdenv.mkDerivation {
repo = "aeon"; repo = "aeon";
rev = "v${version}-aeon"; rev = "v${version}-aeon";
fetchSubmodules = true; fetchSubmodules = true;
sha256 = "19r1snqwixccl27jwv6i0s86qck036pdlhyhl891bbiyvi55h14n"; sha256 = "1qmlz820mjs0b60d7i90lxcwwxmsdy6swq67v6n8mbb79zmcx8ii";
}; };
nativeBuildInputs = [ cmake pkgconfig git doxygen graphviz ]; nativeBuildInputs = [ cmake pkgconfig git doxygen graphviz ];

View File

@ -2,7 +2,7 @@
buildGoPackage rec { buildGoPackage rec {
name = "go-ethereum-${version}"; name = "go-ethereum-${version}";
version = "1.8.17"; version = "1.8.19";
goPackagePath = "github.com/ethereum/go-ethereum"; goPackagePath = "github.com/ethereum/go-ethereum";
# Fix for usb-related segmentation faults on darwin # Fix for usb-related segmentation faults on darwin
@ -16,13 +16,13 @@ buildGoPackage rec {
owner = "ethereum"; owner = "ethereum";
repo = "go-ethereum"; repo = "go-ethereum";
rev = "v${version}"; rev = "v${version}";
sha256 = "0vm526gbyi8bygqwwki9hx7gf5g3xk2s1biyvwjidrydzj9i46zd"; sha256 = "0shp8ak44v52ynlyawfh53wczd3zch7ydf6bmbrhm5rpbribirwr";
}; };
meta = with stdenv.lib; { meta = with stdenv.lib; {
homepage = https://ethereum.github.io/go-ethereum/; homepage = https://ethereum.github.io/go-ethereum/;
description = "Official golang implementation of the Ethereum protocol"; description = "Official golang implementation of the Ethereum protocol";
license = with licenses; [ lgpl3 gpl3 ]; license = with licenses; [ lgpl3 gpl3 ];
maintainers = [ maintainers.adisbladis ]; maintainers = [ maintainers.adisbladis maintainers.lionello ];
}; };
} }

View File

@ -0,0 +1,16 @@
commit 4ec09e6f6e00e40622a5207ed24dc657da9a9090
Author: Pavol Rusnak <stick@gk2.sk>
Date: Tue Dec 4 12:06:22 2018 +0100
build: add install: true to executable in meson.build
diff --git a/meson.build b/meson.build
index 050e1b1..9224ed5 100644
--- a/meson.build
+++ b/meson.build
@@ -39,4 +39,5 @@ endforeach
# compile the main project
executable('luppp', luppp_src + [version_hxx],
+ install: true,
dependencies: deps)

View File

@ -0,0 +1,40 @@
{ stdenv, fetchFromGitHub
, meson
, ninja
, pkgconfig
, jack2
, cairo
, liblo
, libsndfile
, libsamplerate
, ntk
}:
stdenv.mkDerivation rec {
pname = "luppp";
version = "1.2.0";
patches = [ ./build-install.patch ];
src = fetchFromGitHub {
owner = "openAVproductions";
repo = "openAV-Luppp";
rev = "release-${version}";
sha256 = "194yq0lqc2psq9vyxmzif40ccawcvd9jndcn18mkz4f8h5w5rc1a";
};
nativeBuildInputs = [
meson ninja pkgconfig
];
buildInputs = [
jack2 cairo liblo libsndfile libsamplerate ntk
];
meta = with stdenv.lib; {
homepage = http://openavproductions.com/luppp/;
description = "A music creation tool, intended for live use";
license = licenses.gpl3Plus;
maintainers = with maintainers; [ prusnak ];
platforms = platforms.linux;
};
}

View File

@ -5,14 +5,14 @@
let let
# TO UPDATE: just execute the ./update.sh script (won't do anything if there is no update) # TO UPDATE: just execute the ./update.sh script (won't do anything if there is no update)
# "rev" decides what is actually being downloaded # "rev" decides what is actually being downloaded
version = "1.0.93.242.gc2341a27-15"; version = "1.0.94.262.g3d5c231c-9";
# To get the latest stable revision: # To get the latest stable revision:
# curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated' # curl -H 'X-Ubuntu-Series: 16' 'https://api.snapcraft.io/api/v1/snaps/details/spotify?channel=stable' | jq '.download_url,.version,.last_updated'
# To get general information: # To get general information:
# curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.' # curl -H 'Snap-Device-Series: 16' 'https://api.snapcraft.io/v2/snaps/info/spotify' | jq '.'
# More examples of api usage: # More examples of api usage:
# https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py # https://github.com/canonical-websites/snapcraft.io/blob/master/webapp/publisher/snaps/views.py
rev = "24"; rev = "28";
deps = [ deps = [
@ -65,7 +65,7 @@ stdenv.mkDerivation {
# https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334 # https://community.spotify.com/t5/Desktop-Linux/Redistribute-Spotify-on-Linux-Distributions/td-p/1695334
src = fetchurl { src = fetchurl {
url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap"; url = "https://api.snapcraft.io/api/v1/snaps/download/pOBIoZ2LrCB3rDohMxoYGnbN14EHOgD7_${rev}.snap";
sha512 = "920d55b3dcad4ac6acd9bc73c8ad8eb1668327a175da465ce3d8bba2430da47aaefa5218659315fab43b5182611eb03047d4e2679c1345c57380b7def7a1212d"; sha512 = "ca8e2eb45ea7ef6396382298822969994aca86cca8ba122ec1521c593e621161267943fe5515bb8747037ecbbfbd05cffbbca017f8f4b1c9fbd216e1d6a9e8cb";
}; };
buildInputs = [ squashfsTools makeWrapper ]; buildInputs = [ squashfsTools makeWrapper ];

View File

@ -98,6 +98,6 @@ stdenv.mkDerivation rec {
license = licenses.unfree; license = licenses.unfree;
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
maintainers = with maintainers; [ xvapx ]; maintainers = with maintainers; [ xvapx ];
broken = true; # 2018-12-06
}; };
} }

View File

@ -13,14 +13,14 @@ let
sha256Hash = "117skqjax1xz9plarhdnrw2rwprjpybdc7mx7wggxapyy920vv5r"; sha256Hash = "117skqjax1xz9plarhdnrw2rwprjpybdc7mx7wggxapyy920vv5r";
}; };
betaVersion = { betaVersion = {
version = "3.3.0.17"; # "Android Studio 3.3 RC 1" version = "3.3.0.18"; # "Android Studio 3.3 RC 2"
build = "182.5138683"; build = "182.5160847";
sha256Hash = "0apc566l4gwkwvfgj50d4qxm2gw26rxdlyr8kj3kfcra9a33c2b7"; sha256Hash = "05rjwvcph0wx0p0hai5z6n9lnyhk3i5yvbvhr51jc8s3k3b6jyi5";
}; };
latestVersion = { # canary & dev latestVersion = { # canary & dev
version = "3.4.0.5"; # "Android Studio 3.4 Canary 6" version = "3.4.0.6"; # "Android Studio 3.4 Canary 7"
build = "183.5146016"; build = "183.5159543";
sha256Hash = "1z2asimpsw15iild7c4aqicph6v327qx3ffjgvl2n8vr5rspsns1"; sha256Hash = "0r685qqx4w1hwbd8jgrh7ks8bw9m7823ffhd3x6pl7j4b9hpc858";
}; };
in rec { in rec {
# Old alias # Old alias

View File

@ -44,8 +44,7 @@ let
buildCommand = '' buildCommand = ''
mkdir -p $out/usr/ mkdir -p $out/usr/
ar p $src data.tar.xz | tar -C $out -xJ ./usr ar p $src data.tar.xz | tar -C $out -xJ ./usr
substituteInPlace $out/usr/share/applications/${pname}.desktop \ sed -i -e "s|Exec=.*$|Exec=$out/bin/${pname}|" $out/usr/share/applications/${pname}.desktop
--replace /usr/share/${pname} $out/bin
mv $out/usr/* $out/ mv $out/usr/* $out/
rm -r $out/share/lintian rm -r $out/share/lintian
rm -r $out/usr/ rm -r $out/usr/

View File

@ -1,14 +1,14 @@
{buildVersion, x32sha256, x64sha256}: {buildVersion, x32sha256, x64sha256}:
{ fetchurl, stdenv, glib, xorg, cairo, gtk2, pango, makeWrapper, openssl, bzip2, { fetchurl, stdenv, glib, xorg, cairo, gtk2, gtk3, pango, makeWrapper, wrapGAppsHook, openssl, bzip2,
pkexecPath ? "/run/wrappers/bin/pkexec", libredirect, pkexecPath ? "/run/wrappers/bin/pkexec", libredirect,
gksuSupport ? false, gksu, unzip, zip, bash}: gksuSupport ? false, gksu, unzip, zip, bash}:
assert gksuSupport -> gksu != null; assert gksuSupport -> gksu != null;
let let
legacy = stdenv.lib.versionOlder buildVersion "3181";
libPath = stdenv.lib.makeLibraryPath [glib xorg.libX11 gtk2 cairo pango]; libPath = stdenv.lib.makeLibraryPath [ glib xorg.libX11 (if legacy then gtk2 else gtk3) cairo pango ];
redirects = [ "/usr/bin/pkexec=${pkexecPath}" ] redirects = [ "/usr/bin/pkexec=${pkexecPath}" ]
++ stdenv.lib.optional gksuSupport "/usr/bin/gksudo=${gksu}/bin/gksudo"; ++ stdenv.lib.optional gksuSupport "/usr/bin/gksudo=${gksu}/bin/gksudo";
in let in let
@ -36,11 +36,14 @@ in let
dontStrip = true; dontStrip = true;
dontPatchELF = true; dontPatchELF = true;
buildInputs = [ makeWrapper zip unzip ]; buildInputs = stdenv.lib.optionals (!legacy) [ glib gtk3 ]; # for GSETTINGS_SCHEMAS_PATH
nativeBuildInputs = [ makeWrapper zip unzip ] ++ stdenv.lib.optional (!legacy) wrapGAppsHook;
# make exec.py in Default.sublime-package use own bash with # make exec.py in Default.sublime-package use own bash with
# an LD_PRELOAD instead of "/bin/bash" # an LD_PRELOAD instead of "/bin/bash"
patchPhase = '' patchPhase = ''
runHook prePatch
mkdir Default.sublime-package-fix mkdir Default.sublime-package-fix
( cd Default.sublime-package-fix ( cd Default.sublime-package-fix
unzip -q ../Packages/Default.sublime-package unzip -q ../Packages/Default.sublime-package
@ -50,9 +53,13 @@ in let
zip -q ../Packages/Default.sublime-package **/* zip -q ../Packages/Default.sublime-package **/*
) )
rm -r Default.sublime-package-fix rm -r Default.sublime-package-fix
runHook postPatch
''; '';
buildPhase = '' buildPhase = ''
runHook preBuild
for i in sublime_text plugin_host crash_reporter; do for i in sublime_text plugin_host crash_reporter; do
patchelf \ patchelf \
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
@ -62,9 +69,13 @@ in let
# Rewrite pkexec|gksudo argument. Note that we can't delete bytes in binary. # Rewrite pkexec|gksudo argument. Note that we can't delete bytes in binary.
sed -i -e 's,/bin/cp\x00,cp\x00\x00\x00\x00\x00\x00,g' sublime_text sed -i -e 's,/bin/cp\x00,cp\x00\x00\x00\x00\x00\x00,g' sublime_text
runHook postBuild
''; '';
installPhase = '' installPhase = ''
runHook preInstall
# Correct sublime_text.desktop to exec `sublime' instead of /opt/sublime_text # Correct sublime_text.desktop to exec `sublime' instead of /opt/sublime_text
sed -e "s,/opt/sublime_text/sublime_text,$out/sublime_text," -i sublime_text.desktop sed -e "s,/opt/sublime_text/sublime_text,$out/sublime_text," -i sublime_text.desktop
@ -74,12 +85,20 @@ in let
# We can't just call /usr/bin/env bash because a relocation error occurs # We can't just call /usr/bin/env bash because a relocation error occurs
# when trying to run a build from within Sublime Text # when trying to run a build from within Sublime Text
ln -s ${bash}/bin/bash $out/sublime_bash ln -s ${bash}/bin/bash $out/sublime_bash
runHook postInstall
'';
dontWrapGApps = true; # non-standard location, need to wrap the executables manually
postFixup = ''
wrapProgram $out/sublime_bash \ wrapProgram $out/sublime_bash \
--set LD_PRELOAD "${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1" --set LD_PRELOAD "${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1"
wrapProgram $out/sublime_text \ wrapProgram $out/sublime_text \
--set LD_PRELOAD "${libredirect}/lib/libredirect.so" \ --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
--set NIX_REDIRECTS ${builtins.concatStringsSep ":" redirects} --set NIX_REDIRECTS ${builtins.concatStringsSep ":" redirects} \
${stdenv.lib.optionalString (!legacy) ''"''${gappsWrapperArgs[@]}"''}
# Without this, plugin_host crashes, even though it has the rpath # Without this, plugin_host crashes, even though it has the rpath
wrapProgram $out/plugin_host --prefix LD_PRELOAD : ${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1:${openssl.out}/lib/libssl.so:${bzip2.out}/lib/libbz2.so wrapProgram $out/plugin_host --prefix LD_PRELOAD : ${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1:${openssl.out}/lib/libssl.so:${bzip2.out}/lib/libbz2.so

View File

@ -5,9 +5,9 @@ let
in in
rec { rec {
sublime3-dev = common { sublime3-dev = common {
buildVersion = "3176"; buildVersion = "3183";
x32sha256 = "08asz13888d4ddsz81cfk7k3319dabzz1kgbnshw0756pvyrvr23"; x32sha256 = "0rgah7iq9y3afbawcb723d2b7m56lz0ji5l8klxvkp59c9rphqxh";
x64sha256 = "0cppkh5jx2g8f6jyy1bs81fpb90l0kn5m7y3skackpjdxhd7rwbl"; x64sha256 = "1n3zarkhs22p2vi32fswb0fvcn9fzivmziw6zcvjy02c0rmxmdkz";
} {}; } {};
sublime3 = common { sublime3 = common {

View File

@ -1,9 +1,9 @@
{ stdenv, lib, fetchurl, unzip, atomEnv, makeDesktopItem, { stdenv, lib, fetchurl, unzip, atomEnv, makeDesktopItem,
gtk2, wrapGAppsHook, libXScrnSaver, libxkbfile, libsecret }: gtk2, wrapGAppsHook, libXScrnSaver, libxkbfile, libsecret,
isInsiders ? false }:
let let
version = "1.29.1"; executableName = "code" + lib.optionalString isInsiders "-insiders";
channel = "stable";
plat = { plat = {
"i686-linux" = "linux-ia32"; "i686-linux" = "linux-ia32";
@ -31,19 +31,24 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "vscode-${version}"; name = "vscode-${version}";
version = "1.29.1";
src = fetchurl { src = fetchurl {
name = "VSCode_${version}_${plat}.${archive_fmt}"; name = "VSCode_${version}_${plat}.${archive_fmt}";
url = "https://vscode-update.azurewebsites.net/${version}/${plat}/${channel}"; url = "https://vscode-update.azurewebsites.net/${version}/${plat}/stable";
inherit sha256; inherit sha256;
}; };
passthru = {
inherit executableName;
};
desktopItem = makeDesktopItem { desktopItem = makeDesktopItem {
name = "code"; name = executableName;
exec = "code"; exec = executableName;
icon = "code"; icon = "@out@/share/pixmaps/code.png";
comment = "Code editor redefined and optimized for building and debugging modern web and cloud applications"; comment = "Code editor redefined and optimized for building and debugging modern web and cloud applications";
desktopName = "Visual Studio Code"; desktopName = "Visual Studio Code" + lib.optionalString isInsiders " Insiders";
genericName = "Text Editor"; genericName = "Text Editor";
categories = "GNOME;GTK;Utility;TextEditor;Development;"; categories = "GNOME;GTK;Utility;TextEditor;Development;";
}; };
@ -56,17 +61,18 @@ in
if stdenv.hostPlatform.system == "x86_64-darwin" then '' if stdenv.hostPlatform.system == "x86_64-darwin" then ''
mkdir -p $out/lib/vscode $out/bin mkdir -p $out/lib/vscode $out/bin
cp -r ./* $out/lib/vscode cp -r ./* $out/lib/vscode
ln -s $out/lib/vscode/Contents/Resources/app/bin/code $out/bin ln -s $out/lib/vscode/Contents/Resources/app/bin/${executableName} $out/bin
'' else '' '' else ''
mkdir -p $out/lib/vscode $out/bin mkdir -p $out/lib/vscode $out/bin
cp -r ./* $out/lib/vscode cp -r ./* $out/lib/vscode
substituteInPlace $out/lib/vscode/bin/code --replace '"$CLI" "$@"' '"$CLI" "--skip-getting-started" "$@"' substituteInPlace $out/lib/vscode/bin/${executableName} --replace '"$CLI" "$@"' '"$CLI" "--skip-getting-started" "$@"'
ln -s $out/lib/vscode/bin/code $out/bin ln -s $out/lib/vscode/bin/${executableName} $out/bin
mkdir -p $out/share/applications mkdir -p $out/share/applications
cp $desktopItem/share/applications/* $out/share/applications substitute $desktopItem/share/applications/${executableName}.desktop $out/share/applications/${executableName}.desktop \
--subst-var out
mkdir -p $out/share/pixmaps mkdir -p $out/share/pixmaps
cp $out/lib/vscode/resources/app/resources/linux/code.png $out/share/pixmaps/code.png cp $out/lib/vscode/resources/app/resources/linux/code.png $out/share/pixmaps/code.png
@ -76,7 +82,7 @@ in
patchelf \ patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \ --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${rpath}" \ --set-rpath "${rpath}" \
$out/lib/vscode/code $out/lib/vscode/${executableName}
patchelf \ patchelf \
--set-rpath "${rpath}" \ --set-rpath "${rpath}" \

View File

@ -1,4 +1,4 @@
{ stdenv, lib, runCommand, buildEnv, vscode, which, writeScript { stdenv, lib, runCommand, buildEnv, vscode, makeWrapper
, vscodeExtensions ? [] }: , vscodeExtensions ? [] }:
/* /*
@ -43,6 +43,7 @@
let let
inherit (vscode) executableName;
wrappedPkgVersion = lib.getVersion vscode; wrappedPkgVersion = lib.getVersion vscode;
wrappedPkgName = lib.removeSuffix "-${wrappedPkgVersion}" vscode.name; wrappedPkgName = lib.removeSuffix "-${wrappedPkgVersion}" vscode.name;
@ -51,22 +52,12 @@ let
paths = vscodeExtensions; paths = vscodeExtensions;
}; };
wrappedExeName = "code";
exeName = wrappedExeName;
wrapperExeFile = writeScript "${exeName}" ''
#!${stdenv.shell}
exec ${vscode}/bin/${wrappedExeName} \
--extensions-dir "${combinedExtensionsDrv}/share/${wrappedPkgName}/extensions" \
"$@"
'';
in in
# When no extensions are requested, we simply redirect to the original # When no extensions are requested, we simply redirect to the original
# non-wrapped vscode executable. # non-wrapped vscode executable.
runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" { runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" {
buildInputs = [ vscode which ]; buildInputs = [ vscode makeWrapper ];
dontPatchELF = true; dontPatchELF = true;
dontStrip = true; dontStrip = true;
meta = vscode.meta; meta = vscode.meta;
@ -75,13 +66,9 @@ runCommand "${wrappedPkgName}-with-extensions-${wrappedPkgVersion}" {
mkdir -p "$out/share/applications" mkdir -p "$out/share/applications"
mkdir -p "$out/share/pixmaps" mkdir -p "$out/share/pixmaps"
ln -sT "${vscode}/share/applications/code.desktop" "$out/share/applications/code.desktop"
ln -sT "${vscode}/share/pixmaps/code.png" "$out/share/pixmaps/code.png" ln -sT "${vscode}/share/pixmaps/code.png" "$out/share/pixmaps/code.png"
${if [] == vscodeExtensions ln -sT "${vscode}/share/applications/${executableName}.desktop" "$out/share/applications/${executableName}.desktop"
then '' makeWrapper "${vscode}/bin/${executableName}" "$out/bin/${executableName}" \
ln -sT "${vscode}/bin/${wrappedExeName}" "$out/bin/${exeName}" --add-flags \
'' "--extensions-dir ${combinedExtensionsDrv}/share/${wrappedPkgName}/extensions"
else ''
ln -sT "${wrapperExeFile}" "$out/bin/${exeName}"
''}
'' ''

View File

@ -3,7 +3,7 @@
, libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, shared-mime-info , libmng, librsvg, libwmf, zlib, libzip, ghostscript, aalib, shared-mime-info
, python2Packages, libexif, gettext, xorg, glib-networking, libmypaint, gexiv2 , python2Packages, libexif, gettext, xorg, glib-networking, libmypaint, gexiv2
, harfbuzz, mypaint-brushes, libwebp, libheif, libgudev, openexr , harfbuzz, mypaint-brushes, libwebp, libheif, libgudev, openexr
, AppKit, Cocoa, gtk-mac-integration }: , AppKit, Cocoa, gtk-mac-integration-gtk2, cf-private }:
let let
inherit (python2Packages) pygtk wrapPython python; inherit (python2Packages) pygtk wrapPython python;
@ -23,8 +23,11 @@ in stdenv.mkDerivation rec {
freetype fontconfig lcms libpng libjpeg poppler poppler_data libtiff openexr freetype fontconfig lcms libpng libjpeg poppler poppler_data libtiff openexr
libmng librsvg libwmf zlib libzip ghostscript aalib shared-mime-info libwebp libheif libmng librsvg libwmf zlib libzip ghostscript aalib shared-mime-info libwebp libheif
python pygtk libexif xorg.libXpm glib-networking libmypaint mypaint-brushes python pygtk libexif xorg.libXpm glib-networking libmypaint mypaint-brushes
] ++ stdenv.lib.optionals stdenv.isDarwin [ AppKit Cocoa gtk-mac-integration ] ] ++ stdenv.lib.optionals stdenv.isDarwin [
++ stdenv.lib.optionals stdenv.isLinux [ libgudev ]; # cf-private is needed to get some things not in swift-corefoundation.
# For instance _OBJC_CLASS_$_NSArray is missing.
AppKit Cocoa gtk-mac-integration-gtk2 cf-private
] ++ stdenv.lib.optionals stdenv.isLinux [ libgudev ];
pythonPath = [ pygtk ]; pythonPath = [ pygtk ];
@ -69,7 +72,9 @@ in stdenv.mkDerivation rec {
"--with-icc-directory=/var/run/current-system/sw/share/color/icc" "--with-icc-directory=/var/run/current-system/sw/share/color/icc"
]; ];
doCheck = true; # on Darwin,
# test-eevl.c:64:36: error: initializer element is not a compile-time constant
doCheck = !stdenv.isDarwin;
enableParallelBuilding = true; enableParallelBuilding = true;

View File

@ -0,0 +1,21 @@
{ stdenv, fetchurl, libjpeg }:
stdenv.mkDerivation rec {
name = "jpeginfo-${version}";
version = "1.6.1";
src = fetchurl {
url = "https://www.kokkonen.net/tjko/src/${name}.tar.gz";
sha256 = "0lvn3pnylyj56158d3ix9w1gas1s29klribw9bz1xym03p7k37k2";
};
buildInputs = [ libjpeg ];
meta = with stdenv.lib; {
description = "Prints information and tests integrity of JPEG/JFIF files";
homepage = "https://www.kokkonen.net/tjko/projects.html";
license = licenses.gpl2Plus;
maintainers = [ maintainers.bjornfor ];
platforms = platforms.all;
};
}

View File

@ -1,16 +1,15 @@
{ stdenv, requireFile, makeWrapper, unzip, jre }: { stdenv, fetchzip, makeWrapper, unzip, jre }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "yEd-${version}"; name = "yEd-${version}";
version = "3.18.1.1"; version = "3.18.2";
src = requireFile { src = fetchzip {
name = "${name}.zip"; url = "https://www.yworks.com/resources/yed/demo/${name}.zip";
url = "https://www.yworks.com/en/products/yfiles/yed/"; sha256 = "1csj19j9mfx4jfc949sz672h8lnfj217nn32d54cxj8llks82ycy";
sha256 = "0jl0c18jkmy21ka5xgki8dqq2v8cy63qvmx3x01wrhiplmczn97y";
}; };
nativeBuildInputs = [ unzip makeWrapper ]; nativeBuildInputs = [ makeWrapper unzip ];
installPhase = '' installPhase = ''
mkdir -p $out/yed mkdir -p $out/yed

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "dmrconfig-${version}"; name = "dmrconfig-${version}";
version = "2018-11-07"; version = "1.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "sergev"; owner = "sergev";
repo = "dmrconfig"; repo = "dmrconfig";
rev = "b58985d3c848b927e91699d97f96d9de014c3fc7"; rev = version;
sha256 = "083f21hz6vqjpndkn27nsjnhnc5a4bw0cr26ryfqcvz275rj4k18"; sha256 = "1bb3hahfdb5phxyzp1m5ibqwz3mcqplzaibb1aq7w273xcfrd9l9";
}; };
buildInputs = [ buildInputs = [
@ -17,7 +17,10 @@ stdenv.mkDerivation rec {
]; ];
preConfigure = '' preConfigure = ''
substituteInPlace Makefile --replace /usr/local/bin/dmrconfig $out/bin/dmrconfig substituteInPlace Makefile \
--replace /usr/local/bin/dmrconfig $out/bin/dmrconfig \
--replace "\$(shell git describe --tags --abbrev=0)" ${version} \
--replace "\$(shell git rev-list HEAD --count)" 0
''; '';
installPhase = '' installPhase = ''

View File

@ -0,0 +1,21 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "hivemind-${version}";
version = "1.0.4";
goPackagePath = "github.com/DarthSim/hivemind";
src = fetchFromGitHub {
owner = "DarthSim";
repo = "hivemind";
rev = "v${version}";
sha256 = "1z2izvyf0j3gi0cas5v22kkmkls03sg67182k8v3p6kwhzn0jw67";
};
meta = with stdenv.lib; {
homepage = https://github.com/DarthSim/;
description = "Process manager for Procfile-based applications";
license = with licenses; [ mit ];
maintainers = [ maintainers.sveitser ];
};
}

View File

@ -1,91 +1,62 @@
{ stdenv, fetchFromGitHub, python2 }: { stdenv, lib, fetchFromGitHub, python2 }:
let let
mkOverride = attrname: version: sha256:
pythonPackages = python2.pkgs.override { self: super: {
overrides = self: super: with self; { ${attrname} = super.${attrname}.overridePythonAttrs (oldAttrs: {
backports_ssl_match_hostname = super.backports_ssl_match_hostname.overridePythonAttrs (oldAttrs: rec { inherit version;
version = "3.4.0.2";
src = oldAttrs.src.override { src = oldAttrs.src.override {
inherit version; inherit version sha256;
sha256 = "07410e7fb09aab7bdaf5e618de66c3dac84e2e3d628352814dc4c37de321d6ae";
};
});
flask = super.flask.overridePythonAttrs (oldAttrs: rec {
version = "0.12.4";
src = oldAttrs.src.override {
inherit version;
sha256 = "2ea22336f6d388b4b242bc3abf8a01244a8aa3e236e7407469ef78c16ba355dd";
};
});
tornado = buildPythonPackage rec {
pname = "tornado";
version = "4.0.2";
propagatedBuildInputs = [ backports_ssl_match_hostname certifi ];
src = fetchPypi {
inherit pname version;
sha256 = "1yhvn8i05lp3b1953majg48i8pqsyj45h34aiv59hrfvxcj5234h";
};
};
flask_login = buildPythonPackage rec {
pname = "Flask-Login";
version = "0.2.2";
src = fetchPypi {
inherit pname version;
sha256 = "09ygn0r3i3jz065a5psng6bhlsqm78msnly4z6x39bs48r5ww17p";
};
propagatedBuildInputs = [ flask ];
checkInputs = [ nose ];
# No tests included
doCheck = false;
};
jinja2 = buildPythonPackage rec {
pname = "Jinja2";
version = "2.8.1";
src = fetchPypi {
inherit pname version;
sha256 = "14aqmhkc9rw5w0v311jhixdm6ym8vsm29dhyxyrjfqxljwx1yd1m";
};
propagatedBuildInputs = [ markupsafe ];
# No tests included
doCheck = false;
};
pylru = super.pylru.overridePythonAttrs (oldAttrs: rec {
version = "1.0.9";
src = oldAttrs.src.override {
inherit version;
sha256 = "71376192671f0ad1690b2a7427d39a29b1df994c8469a9b46b03ed7e28c0172c";
}; };
}); });
}; };
py = python2.override {
packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) ([
(mkOverride "flask" "0.10.1" "0wrkavjdjndknhp8ya8j850jq7a1cli4g5a93mg8nh1xz2gq50sc")
(mkOverride "flask_login" "0.2.11" "1rg3rsjs1gwi2pw6vr9jmhaqm9b3vc9c4hfcsvp4y8agbh7g3mc3")
(mkOverride "jinja2" "2.8.1" "14aqmhkc9rw5w0v311jhixdm6ym8vsm29dhyxyrjfqxljwx1yd1m")
(mkOverride "pylru" "1.0.9" "0b0pq0l7xv83dfsajsc49jcxzc99kb9jfx1a1dlx22hzcy962dvi")
(mkOverride "sarge" "0.1.4" "08s8896973bz1gg0pkr592w6g4p6v47bkfvws5i91p9xf8b35yar")
(mkOverride "tornado" "4.5.3" "02jzd23l4r6fswmwxaica9ldlyc2p6q8dk6dyff7j58fmdzf853d")
]);
}; };
in pythonPackages.buildPythonApplication rec { ignoreVersionConstraints = [
"Click"
"Flask-Assets"
"Flask-Babel"
"Flask-Principal"
"PyYAML"
"emoji"
"flask"
"future"
"futures"
"pkginfo"
"psutil"
"pyserial"
"python-dateutil"
"requests"
"rsa"
"scandir"
"semantic_version"
"websocket-client"
"werkzeug"
"wrapt"
];
in py.pkgs.buildPythonApplication rec {
pname = "OctoPrint"; pname = "OctoPrint";
version = "1.3.8"; version = "1.3.9";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "foosel"; owner = "foosel";
repo = "OctoPrint"; repo = "OctoPrint";
rev = version; rev = version;
sha256 = "00zd5yrlihwfd3ly0mxibr77ffa8r8vkm6jhml2ml43dqb99caa3"; sha256 = "1yqbsfmkx4wiykjrh66a05lhn15qhpc9ay67l37kv8bhdqf2xkj4";
}; };
# We need old Tornado propagatedBuildInputs = with py.pkgs; [
propagatedBuildInputs = with pythonPackages; [
awesome-slugify flask_assets rsa requests pkginfo watchdog awesome-slugify flask_assets rsa requests pkginfo watchdog
semantic-version flask_principal werkzeug flaskbabel tornado semantic-version flask_principal werkzeug flaskbabel tornado
psutil pyserial flask_login netaddr markdown sockjs-tornado psutil pyserial flask_login netaddr markdown sockjs-tornado
@ -94,31 +65,13 @@ in pythonPackages.buildPythonApplication rec {
frozendict frozendict
]; ];
checkInputs = with pythonPackages; [ nose mock ddt ]; checkInputs = with py.pkgs; [ nose mock ddt ];
# Jailbreak dependencies.
postPatch = '' postPatch = ''
sed -i \ sed -r -i \
-e 's,pkginfo>=[^"]*,pkginfo,g' \ ${lib.concatStringsSep "\n" (map (e:
-e 's,Flask-Principal>=[^"]*,Flask-Principal,g' \ ''-e 's@${e}[<>=]+.*@${e}",@g' \''
-e 's,websocket-client>=[^"]*,websocket-client,g' \ ) ignoreVersionConstraints)}
-e 's,Click>=[^"]*,Click,g' \
-e 's,rsa>=[^"]*,rsa,g' \
-e 's,flask>=[^"]*,flask,g' \
-e 's,Flask-Babel>=[^"]*,Flask-Babel,g' \
-e 's,Flask-Assets>=[^"]*,Flask-Assets,g' \
-e 's,PyYAML>=[^"]*,PyYAML,g' \
-e 's,scandir>=[^"]*,scandir,g' \
-e 's,werkzeug>=[^"]*,werkzeug,g' \
-e 's,psutil==[^"]*,psutil,g' \
-e 's,requests>=[^"]*,requests,g' \
-e 's,future>=[^"]*,future,g' \
-e 's,pyserial>=[^"]*,pyserial,g' \
-e 's,semantic_version>=[^"]*,semantic_version,g' \
-e 's,wrapt>=[^"]*,wrapt,g' \
-e 's,python-dateutil>=[^"]*,python-dateutil,g' \
-e 's,emoji>=[^"]*,emoji,g' \
-e 's,futures>=[^"]*,futures,g' \
setup.py setup.py
''; '';

View File

@ -1,8 +1,10 @@
{ stdenv, fetchFromGitHub, octoprint, pythonPackages }: { stdenv, fetchFromGitHub, octoprint, python2Packages }:
let let
buildPlugin = args: pythonPackages.buildPythonApplication (args // { buildPlugin = args: python2Packages.buildPythonPackage (args // {
buildInputs = (args.buildInputs or []) ++ [ octoprint ]; propagatedBuildInputs = (args.propagatedBuildInputs or []) ++ [ octoprint ];
# none of the following have tests
doCheck = false;
}); });
self = { self = {
@ -42,6 +44,28 @@ let
}; };
}; };
mqtt = buildPlugin rec {
name = "OctoPrint-MQTT-${version}";
version = "0.8.0";
src = fetchFromGitHub {
owner = "OctoPrint";
repo = "OctoPrint-MQTT";
rev = version;
sha256 = "1318pgwy39gkdqgll3q5lwm7avslgdwyiwb5v8m23cgyh5w8cjq7";
};
propagatedBuildInputs = with python2Packages; [ paho-mqtt ];
meta = with stdenv.lib; {
homepage = https://github.com/OctoPrint/OctoPrint-MQTT;
description = "Publish printer status MQTT";
platforms = platforms.all;
license = licenses.agpl3;
maintainers = with maintainers; [ peterhoeg ];
};
};
titlestatus = buildPlugin rec { titlestatus = buildPlugin rec {
name = "OctoPrint-TitleStatus-${version}"; name = "OctoPrint-TitleStatus-${version}";
version = "0.0.4"; version = "0.0.4";

View File

@ -10,12 +10,12 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "polar-bookshelf-${version}"; name = "polar-bookshelf-${version}";
version = "1.0.13"; version = "1.1.0";
# fetching a .deb because there's no easy way to package this Electron app # fetching a .deb because there's no easy way to package this Electron app
src = fetchurl { src = fetchurl {
url = "https://github.com/burtonator/polar-bookshelf/releases/download/v${version}/polar-bookshelf-${version}-amd64.deb"; url = "https://github.com/burtonator/polar-bookshelf/releases/download/v${version}/polar-bookshelf-${version}-amd64.deb";
sha256 = "0dh7pw8ncm8kr9anb6jqw7rr4lxgmq8a40c9zlrhzyswdpvnp1g7"; sha256 = "13h6c9sqbc7c5p1rc1wm7wza249sh0j04aq67n6gnqg5p22a7pmw";
}; };
buildInputs = [ buildInputs = [

View File

@ -25,7 +25,7 @@ mkDerivation rec {
patchShebangs . patchShebangs .
sed -i -e '/unix:!macx:INSTALLROOT += \/usr/d' \ sed -i -e '/unix:!macx:INSTALLROOT += \/usr/d' \
-e "s@\$\$LIBSDIR/qt4/plugins@''${qtPluginPrefix}@" \ -e "s@\$\$LIBSDIR/qt4/plugins@''${qtPluginPrefix}@" \
-e "s@/etc/udev/rules.d@''${out}/lib/udev@" \ -e "s@/etc/udev/rules.d@''${out}/lib/udev/rules.d@" \
variables.pri variables.pri
''; '';

View File

@ -0,0 +1,30 @@
{ stdenv, fetchFromGitHub, cmake, pkgconfig
, rtl-sdr, soapysdr
} :
let
version = "0.2.5";
in stdenv.mkDerivation {
name = "soapyrtlsdr-${version}";
src = fetchFromGitHub {
owner = "pothosware";
repo = "SoapyRTLSDR";
rev = "soapy-rtlsdr-${version}";
sha256 = "1wyghfqq3vcbjn5w06h5ik62m6555inrlkyrsnk2r78865xilkv3";
};
nativeBuildInputs = [ cmake pkgconfig ];
buildInputs = [ rtl-sdr soapysdr ];
cmakeFlags = [ "-DSoapySDR_DIR=${soapysdr}/share/cmake/SoapySDR/" ];
meta = with stdenv.lib; {
homepage = https://github.com/pothosware/SoapyRTLSDR;
description = "SoapySDR plugin for RTL-SDR devices";
license = licenses.mit;
maintainers = with maintainers; [ ragge ];
platforms = platforms.linux;
};
}

View File

@ -100,11 +100,11 @@ let
flash = stdenv.mkDerivation rec { flash = stdenv.mkDerivation rec {
name = "flashplayer-ppapi-${version}"; name = "flashplayer-ppapi-${version}";
version = "31.0.0.153"; version = "32.0.0.101";
src = fetchzip { src = fetchzip {
url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz"; url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/${version}/flash_player_ppapi_linux.x86_64.tar.gz";
sha256 = "0c7vh1h9lzx09njf7w1acvj2v91girlzflqxzli8nxza7pd1zb2v"; sha256 = "1bmmjraqzdz03jzbgs1l932gka1zhiyiis06r4yi4f93mdy31w72";
stripRoot = false; stripRoot = false;
}; };

View File

@ -1,18 +1,18 @@
# This file is autogenerated from update.sh in the same directory. # This file is autogenerated from update.sh in the same directory.
{ {
beta = { beta = {
sha256 = "0nxxqfncw9ci3rhg8fiqaxy6zvh9x3j10lw8yw7c0cg2yni10qsp"; sha256 = "03ddfxxzh8pxil9n28y8nkzl8x0kb5bzzjy4mihg448dflh3anq2";
sha256bin64 = "0frcaplyzhkxzzcfcf0vigqpzixar4jg9hhrh4i8z8vx2gnxkwwy"; sha256bin64 = "147lh1way8db0j0m6wbpfzmfsvvlsjb29cjgf7s9hljb00wqv6ay";
version = "71.0.3578.53"; version = "71.0.3578.80";
}; };
dev = { dev = {
sha256 = "11bsn77kvjqdwpiwjf4gaindfj0sx932wp6g7cald0638wdz7pqv"; sha256 = "0whw1kq5gd07k061ycfdn7bygahbl6zqa54wkz2lqh73yknbbnj4";
sha256bin64 = "1j5pd8imc35ch7l3jmnmjm2yda2xzdwha5im34240wm6rrdr2v2j"; sha256bin64 = "0hlfzzf7kx90jw0zin685c4haiv262hf9a4sj6fmb2yhj21hbp87";
version = "72.0.3610.2"; version = "72.0.3622.0";
}; };
stable = { stable = {
sha256 = "0bwlq5xii26b3yngwkwb7l2mx03c30ffpym4xg0hcci8ry7zhpj4"; sha256 = "03ddfxxzh8pxil9n28y8nkzl8x0kb5bzzjy4mihg448dflh3anq2";
sha256bin64 = "1gnhjbpkp2gn3y5pingwv153bakidq60pr4fj2iq1kniyllsmmpg"; sha256bin64 = "1rnw3whn2aaxxb4w3s2nf0wb91qjrq099550j42wig7xa71j6rz4";
version = "70.0.3538.110"; version = "71.0.3578.80";
}; };
} }

View File

@ -74,25 +74,25 @@ let
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "flashplayer-${version}"; name = "flashplayer-${version}";
version = "31.0.0.153"; version = "32.0.0.101";
src = fetchurl { src = fetchurl {
url = url =
if debug then if debug then
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/31/flash_player_npapi_linux_debug.${arch}.tar.gz" "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_npapi_linux_debug.${arch}.tar.gz"
else else
"https://fpdownload.adobe.com/get/flashplayer/pdc/${version}/flash_player_npapi_linux.${arch}.tar.gz"; "https://fpdownload.adobe.com/get/flashplayer/pdc/${version}/flash_player_npapi_linux.${arch}.tar.gz";
sha256 = sha256 =
if debug then if debug then
if arch == "x86_64" then if arch == "x86_64" then
"0d3ch1ksxra8hvbqnzj5fmbvlz6hq42b3rncx4vpjlwrcjd9ggy9" "0383r5pl1jrspy06mpxq50kkip5q5v052kz9aymk4qylgy1dwpn2"
else else
"1qldcashv1x64cvpbx1741hz32rmc0dp7i3ayhpbi15rvf95qx8f" "1vx2map0wlj6bj8dqyxxaymmz9awjjfhi6097knpmqp6j8dj7l5g"
else else
if arch == "x86_64" then if arch == "x86_64" then
"114n3kvdyfmn2w6w6zbijx29fz10x3cbjyy3ci05n0y07lhq1grc" "003mr9mqkg0agj3zlmci5a1m3lnhj27mnvqswjaffdg5rlihvxyi"
else else
"0sxvjf3xylm4bmhianyfy54gzbm4gkq1i9q8gg4fn3nb3c0z7327"; "1smmdsnnlsssakzqas5268svyv3rk717zr7kwpkj4rd5d1pqwcps";
}; };
nativeBuildInputs = [ unzip ]; nativeBuildInputs = [ unzip ];

View File

@ -50,19 +50,19 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "flashplayer-standalone-${version}"; name = "flashplayer-standalone-${version}";
version = "31.0.0.153"; version = "32.0.0.101";
src = fetchurl { src = fetchurl {
url = url =
if debug then if debug then
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/31/flash_player_sa_linux_debug.x86_64.tar.gz" "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux_debug.x86_64.tar.gz"
else else
"https://fpdownload.macromedia.com/pub/flashplayer/updaters/31/flash_player_sa_linux.x86_64.tar.gz"; "https://fpdownload.macromedia.com/pub/flashplayer/updaters/32/flash_player_sa_linux.x86_64.tar.gz";
sha256 = sha256 =
if debug then if debug then
"1k78nwrz5zbsj5jvn340n2y4dz1zxrcb7f7955d8dra15w0zax1k" "1i59vfhxrlksxwmr3kj3dfbasfjgnx9aimmv400z07fw3zmdrbpw"
else else
"0ajg3p4c36xzvvjl2hpbzn2g3xwjgf2xy6x4478aq7fxfgb0vf6s"; "0fz9zhp0qn9xda5pg37dfnvx04n8d7156h1qayf2l3la94apsacq";
}; };
nativeBuildInputs = [ unzip ]; nativeBuildInputs = [ unzip ];

View File

@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb"; url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb";
sha256 = "08x6abyz65vx4ycj8ys8sib9z1adb8ybmnrqjck69b30kbz78rj2"; sha256 = "00rxp6rardxjg17g2b28y2rj8szqlainp4ga6c58z981zkxvdlls";
}; };
unpackPhase = '' unpackPhase = ''

View File

@ -0,0 +1,32 @@
{ stdenv, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "kube-router-${version}";
version = "0.2.3";
rev = "v${version}";
goPackagePath = "github.com/cloudnativelabs/kube-router";
src = fetchFromGitHub {
inherit rev;
owner = "cloudnativelabs";
repo = "kube-router";
sha256 = "1dsr76dq6sycwgh75glrcb4scv52lrrd0aivskhc7mwq30plafcj";
};
buildFlagsArray = ''
-ldflags=
-X
${goPackagePath}/pkg/cmd.version=${version}
-X
${goPackagePath}/pkg/cmd.buildDate=Nix
'';
meta = with stdenv.lib; {
homepage = "https://www.kube-router.io/";
description = "All-in-one router, firewall and service proxy for Kubernetes";
license = licenses.asl20;
maintainers = with maintainers; [ colemickens johanot ];
platforms = platforms.linux;
};
}

View File

@ -15,13 +15,13 @@ with lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "kubernetes-${version}"; name = "kubernetes-${version}";
version = "1.12.2"; version = "1.12.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "kubernetes"; owner = "kubernetes";
repo = "kubernetes"; repo = "kubernetes";
rev = "v${version}"; rev = "v${version}";
sha256 = "14w77yw8pd2y5d764byh31vv9203y38zlvcr1a9wylrs00kgzwfw"; sha256 = "0y227qzv7hsibf0sil5ylfdvkfsd43qlsyprc1dwgbj8igjl6q2d";
}; };
buildInputs = [ removeReferencesTo makeWrapper which go_1_10 rsync go-bindata ]; buildInputs = [ removeReferencesTo makeWrapper which go_1_10 rsync go-bindata ];

View File

@ -0,0 +1,26 @@
{ lib, buildGoPackage, fetchFromGitHub }:
buildGoPackage rec {
name = "${pname}-${version}";
pname = "terraform-docs";
version = "0.5.0";
goPackagePath = "github.com/segmentio/${pname}";
src = fetchFromGitHub {
owner = "segmentio";
repo = pname;
rev = "v${version}";
sha256 = "12w2yr669hk5kxdb9rrzsn8hwvx8rzrc1rmn8hs9l8z1bkfhr4gg";
};
preBuild = ''
buildFlagsArray+=("-ldflags" "-X main.version=${version}")
'';
meta = with lib; {
description = "A utility to generate documentation from Terraform modules in various output formats";
homepage = "https://github.com/segmentio/terraform-docs/";
license = licenses.mit;
maintainers = with maintainers; [ zimbatm ];
};
}

View File

@ -11,8 +11,8 @@
{ {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-alicloud"; repo = "terraform-provider-alicloud";
version = "1.23.0"; version = "1.25.0";
sha256 = "14hs58lqlj9vkmr4bxbyga8yz4h6mrx6zla587sqwgj5bjrg5vld"; sha256 = "09f0vdzkifj2mk1qccacpnlqiihbhhb2sfd21rpxbqscmj6a7vj1";
}; };
archive = archive =
{ {
@ -39,8 +39,8 @@
{ {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-aws"; repo = "terraform-provider-aws";
version = "1.46.0"; version = "1.51.0";
sha256 = "1xp02cwyl9sf8swl7x3wah3bg0ssm7y0svq8bkfki6632nfw9vzi"; sha256 = "1hx4zbmwcbaslq2pj01m3y8b44gipw9gg235jsv7454nrd3jhvhg";
}; };
azurerm = azurerm =
{ {
@ -137,8 +137,8 @@
{ {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-datadog"; repo = "terraform-provider-datadog";
version = "1.5.0"; version = "1.6.0";
sha256 = "0wr44rqmg0hffgb2g4h03lk4pg9i244c13kyrc3m89b3biwdcydz"; sha256 = "16rp6kqax7i8fnl4id3sg0jmhjswx7wrnn1mp4z29gca46ji1nfh";
}; };
digitalocean = digitalocean =
{ {
@ -235,8 +235,8 @@
{ {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-hcloud"; repo = "terraform-provider-hcloud";
version = "1.5.0"; version = "1.6.0";
sha256 = "135h811qh1l1kn66n371f00b422xi4zw15cgs3id866za5cavxf3"; sha256 = "19kax1l2l6vr8cwgy14ahhafnvlxgkw86xx2g9ajfg70d0q4zs3g";
}; };
helm = helm =
{ {
@ -270,8 +270,8 @@
{ {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-icinga2"; repo = "terraform-provider-icinga2";
version = "0.1.1"; version = "0.2.0";
sha256 = "0z7lxrspm33j7bkkm2n7ac0jgyaz3y3lql3gd30p10nvpilrg07v"; sha256 = "02ladn2w75k35vn8llj3zh9hbpnnnvpm47c9f29zshfs04acwbq0";
}; };
ignition = ignition =
{ {
@ -291,8 +291,8 @@
{ {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-kubernetes"; repo = "terraform-provider-kubernetes";
version = "1.3.0"; version = "1.4.0";
sha256 = "0fhh0r92whcxqz4z2kb6qx9dyygms5mz7ifhb9c7s2r22jnfz1j3"; sha256 = "14bhqrpx0z4qn51xwcklafva46ipx05q6myy7xh5wf6wpjz69j9p";
}; };
librato = librato =
{ {
@ -305,8 +305,8 @@
{ {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-linode"; repo = "terraform-provider-linode";
version = "1.2.0"; version = "1.3.0";
sha256 = "1wnl48qi8lhrxnrdgnhw7cb7mqv6141g4i648wb7cni5vlqy3i5l"; sha256 = "1683nkpq7wnc67pphablcmaifq2l1pz3gc9y5y9jbslllphy92v5";
}; };
local = local =
{ {
@ -396,8 +396,8 @@
{ {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-oci"; repo = "terraform-provider-oci";
version = "3.7.0"; version = "3.9.0";
sha256 = "10d8hvcr019cr8fh54klnr9xhi0y3l5w4nb2h9bny84nv2rznk38"; sha256 = "1mm6q9crn2izx1il6fk3mhi9is1zrrsy7rnldcj05bzyywnq3r97";
}; };
oneandone = oneandone =
{ {
@ -459,8 +459,8 @@
{ {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-pagerduty"; repo = "terraform-provider-pagerduty";
version = "1.2.0"; version = "1.2.1";
sha256 = "037mdcvpcpjj0dpwg0nny862j631ajhv472a847p2ajgk02bq1wf"; sha256 = "1b0fbzqalcxngnxk51afxkhs82bj68sjakvb28p0im0x1lblxj0n";
}; };
panos = panos =
{ {
@ -536,8 +536,15 @@
{ {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-scaleway"; repo = "terraform-provider-scaleway";
version = "1.7.0"; version = "1.8.0";
sha256 = "0gsjvpwfw2sc6ncy8v3j6gs0aanq3b08j3gid43687mfd782f4gk"; sha256 = "1vr3im5jas7m3yn5529m6ghhx4lxf2lksqbznpwyi351sbsn4ji2";
};
selvpc =
{
owner = "terraform-providers";
repo = "terraform-provider-selvpc";
version = "0.3.0";
sha256 = "1s1p0qa9x007hq26i4h0gcqpyx54jnwvg8d6ya044gm7gghhviz4";
}; };
softlayer = softlayer =
{ {
@ -592,8 +599,8 @@
{ {
owner = "terraform-providers"; owner = "terraform-providers";
repo = "terraform-provider-tfe"; repo = "terraform-provider-tfe";
version = "0.3.0"; version = "0.4.0";
sha256 = "125k1hgpzwlsgslnz2nwz4mc5yl3hqyg48xdcn7bxvmvaf6kw9gd"; sha256 = "02qvxc4ljb6s8bkw521wdsxhp53pmk7sbk3dyjbrwpz9xdg8dscn";
}; };
tls = tls =
{ {
@ -651,4 +658,11 @@
version = "0.0.1"; version = "0.0.1";
sha256 = "00vz6qjq1pk39iqg4356b8g3c6slla9jifkv2knk46gc9q93q0lf"; sha256 = "00vz6qjq1pk39iqg4356b8g3c6slla9jifkv2knk46gc9q93q0lf";
}; };
secret =
{
owner = "tweag";
repo = "terraform-provider-secret";
version = "0.0.1";
sha256 = "1mqs1il8y97hf9havcmxdfwjcpkrxa1hpkifzzy4rjc88m2m4q9r";
};
} }

View File

@ -7,10 +7,13 @@
# <organisation>/<repo> - include only the named repository. # <organisation>/<repo> - include only the named repository.
# include all terraform-providers # include all terraform-providers
terraform-providers terraform-provider- terraform-provider-\\(azure-classic\\|scaffolding\\|google-beta\\) terraform-providers terraform-provider- terraform-provider-\\(azure-classic\\|scaffolding\\|google-beta\\|skytap\\)
# include terraform-provider-matchbox # include terraform-provider-matchbox
coreos/terraform-provider-matchbox coreos/terraform-provider-matchbox
# include terraform-provider-nixos # include terraform-provider-nixos
tweag/terraform-provider-nixos tweag/terraform-provider-nixos
# include terraform-provider-secret
tweag/terraform-provider-secret

View File

@ -14,13 +14,13 @@
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "dino-unstable-2018-11-27"; name = "dino-unstable-2018-11-29";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "dino"; owner = "dino";
repo = "dino"; repo = "dino";
rev = "141db9e40a3a81cfa3ad3587dc47f69c541d0fde"; rev = "680d28360c781ff29e810821801cfaba0493c526";
sha256 = "006r1x7drlz39jjxlfdnxgrnambw9amhl9jcgf6p1dx71h1x8221"; sha256 = "1w08xc842p2nggdxf0dwqw8izhwsrqah10w3s0v1i7dp33yhycln";
fetchSubmodules = true; fetchSubmodules = true;
}; };
@ -57,6 +57,8 @@ stdenv.mkDerivation rec {
gettext gettext
]; ];
enableParallelBuilding = true;
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "Modern Jabber/XMPP Client using GTK+/Vala"; description = "Modern Jabber/XMPP Client using GTK+/Vala";
homepage = https://github.com/dino/dino; homepage = https://github.com/dino/dino;

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "rambox-bare-${version}"; name = "rambox-bare-${version}";
version = "0.6.2"; version = "0.6.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "ramboxapp"; owner = "ramboxapp";
repo = "community-edition"; repo = "community-edition";
rev = version; rev = version;
sha256 = "150vf62cp739l9dgpnksgpkffabs2wi15q217m3nai34irhwzk8m"; sha256 = "1ghk29d0x6i3j8b1b4xxgyf961lp17qsvvhnilnkh1nhmvxpwmw5";
}; };
nativeBuildInputs = [ nodejs-8_x ruby sencha ]; nativeBuildInputs = [ nodejs-8_x ruby sencha ];
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
inherit src; inherit src;
nodejs = nodejs-8_x; nodejs = nodejs-8_x;
sha256 = "0hbw47653wh159c34f0rlj3p7xy0lvsyp0wh2hl35kv3fnsfbbm0"; sha256 = "03h1kfiaflwbrvcd8v0bsymn7n2dxi3yj4pxkwcigqg4jgcf56k6";
}; };
patches = [ ./isDev.patch ]; patches = [ ./isDev.patch ];

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, dpkg, makeWrapper { darkMode ? false, stdenv, fetchurl, dpkg, makeWrapper
, alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib , alsaLib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, glib
, gnome2, gtk3, gdk_pixbuf, libnotify, libxcb, nspr, nss, pango , gnome2, gtk3, gdk_pixbuf, libnotify, libxcb, nspr, nss, pango
, systemd, xorg }: , systemd, xorg }:
@ -88,6 +88,21 @@ in stdenv.mkDerivation {
substituteInPlace $out/share/applications/slack.desktop \ substituteInPlace $out/share/applications/slack.desktop \
--replace /usr/bin/ $out/bin/ \ --replace /usr/bin/ $out/bin/ \
--replace /usr/share/ $out/share/ --replace /usr/share/ $out/share/
'' + stdenv.lib.optionalString darkMode ''
cat <<EOF >> $out/lib/slack/resources/app.asar.unpacked/src/static/ssb-interop.js
document.addEventListener('DOMContentLoaded', function() {
let tt__customCss = ".menu ul li a:not(.inline_menu_link) {color: #fff !important;}"
$.ajax({
url: 'https://cdn.rawgit.com/laCour/slack-night-mode/master/css/raw/black.css',
success: function(css) {
\$("<style></style>").appendTo('head').html(css + tt__customCss);
\$("<style></style>").appendTo('head').html('#reply_container.upload_in_threads .inline_message_input_container {background: padding-box #545454}');
\$("<style></style>").appendTo('head').html('.p-channel_sidebar {background: #363636 !important}');
\$("<style></style>").appendTo('head').html('#client_body:not(.onboarding):not(.feature_global_nav_layout):before {background: inherit;}');
}
});
});
EOF
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -13,8 +13,8 @@ let
in { in {
stable = mkTelegram stableVersion; stable = mkTelegram stableVersion;
preview = mkTelegram (stableVersion // { preview = mkTelegram (stableVersion // {
version = "1.4.7"; version = "1.4.8";
sha256Hash = "00kjirikywdbigm4zdnm50s3wxfn9bw1yx13xz4k4ppz6amq9nrp"; sha256Hash = "0jn7nyvx5kmva418hi1x1awbycmhgk82gazx49kmdxspdd4nsrgj";
stable = false; stable = false;
}); });
} }

View File

@ -8,7 +8,15 @@
with lib; with lib;
mkDerivation rec { let
# TODO: Not optimal (maybe we should only package the stable versions)
previewPatches = fetchFromGitHub {
owner = "primeos";
repo = "nixpkgs-tdesktop-patches";
rev = "b3c0cbce1b412443a8712c90069932bbcae87fb6";
sha256 = "1bymrciaci6plghaz7a6qwsidjm8rg5fqdh158cdp70il4g7kmw9";
};
in mkDerivation rec {
name = "telegram-desktop-${version}"; name = "telegram-desktop-${version}";
inherit version; inherit version;
@ -29,7 +37,10 @@ mkDerivation rec {
}; };
# TODO: libtgvoip.patch no-gtk2.patch # TODO: libtgvoip.patch no-gtk2.patch
patches = [ "${archPatches}/tdesktop.patch" ] patches =
(if stable
then [ "${archPatches}/tdesktop.patch" ]
else [ "${previewPatches}/tdesktop.patch" ])
# TODO: Only required to work around a compiler bug. # TODO: Only required to work around a compiler bug.
# This should be fixed in GCC 7.3.1 (or later?) # This should be fixed in GCC 7.3.1 (or later?)
++ [ ./fix-internal-compiler-error.patch ]; ++ [ ./fix-internal-compiler-error.patch ];

View File

@ -13,11 +13,11 @@ assert pulseaudioSupport -> libpulseaudio != null;
let let
inherit (stdenv.lib) concatStringsSep makeBinPath optional; inherit (stdenv.lib) concatStringsSep makeBinPath optional;
version = "2.4.129780.0915"; version = "2.5.146186.1130";
srcs = { srcs = {
x86_64-linux = fetchurl { x86_64-linux = fetchurl {
url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz"; url = "https://zoom.us/client/${version}/zoom_x86_64.tar.xz";
sha256 = "0s4014ymc92rwpagcwjhmwwfz0vq35wiq2nhh6nlxcrr6jl4wd78"; sha256 = "1644xs7xg8a27xg7bgb7856hvlvfh2lin749alds782i52p9rsjr";
}; };
}; };

View File

@ -2,7 +2,6 @@
, ncurses, openssl, aspell, gnutls , ncurses, openssl, aspell, gnutls
, zlib, curl, pkgconfig, libgcrypt , zlib, curl, pkgconfig, libgcrypt
, cmake, makeWrapper, libobjc, libresolv, libiconv , cmake, makeWrapper, libobjc, libresolv, libiconv
, writeScriptBin # for withPlugins
, asciidoctor # manpages , asciidoctor # manpages
, guileSupport ? true, guile , guileSupport ? true, guile
, luaSupport ? true, lua5 , luaSupport ? true, lua5
@ -11,8 +10,6 @@
, rubySupport ? true, ruby , rubySupport ? true, ruby
, tclSupport ? true, tcl , tclSupport ? true, tcl
, extraBuildInputs ? [] , extraBuildInputs ? []
, configure ? { availablePlugins, ... }: { plugins = builtins.attrValues availablePlugins; }
, runCommand, buildEnv
}: }:
let let
@ -27,7 +24,7 @@ let
]; ];
enabledPlugins = builtins.filter (p: p.enabled) plugins; enabledPlugins = builtins.filter (p: p.enabled) plugins;
weechat = in
assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins; assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "2.3"; version = "2.3";
@ -82,72 +79,4 @@ let
maintainers = with stdenv.lib.maintainers; [ lovek323 garbas the-kenny lheckemann ma27 ]; maintainers = with stdenv.lib.maintainers; [ lovek323 garbas the-kenny lheckemann ma27 ];
platforms = stdenv.lib.platforms.unix; platforms = stdenv.lib.platforms.unix;
}; };
}; }
in if configure == null then weechat else
let
perlInterpreter = perl;
availablePlugins = let
simplePlugin = name: {pluginFile = "${weechat.${name}}/lib/weechat/plugins/${name}.so";};
in rec {
python = {
pluginFile = "${weechat.python}/lib/weechat/plugins/python.so";
withPackages = pkgsFun: (python // {
extraEnv = ''
export PYTHONHOME="${pythonPackages.python.withPackages pkgsFun}"
'';
});
};
perl = (simplePlugin "perl") // {
extraEnv = ''
export PATH="${perlInterpreter}/bin:$PATH"
'';
withPackages = pkgsFun: (perl // {
extraEnv = ''
${perl.extraEnv}
export PERL5LIB=${lib.makeFullPerlPath (pkgsFun perlPackages)}
'';
});
};
tcl = simplePlugin "tcl";
ruby = simplePlugin "ruby";
guile = simplePlugin "guile";
lua = simplePlugin "lua";
};
config = configure { inherit availablePlugins; };
plugins = config.plugins or (builtins.attrValues availablePlugins);
pluginsDir = runCommand "weechat-plugins" {} ''
mkdir -p $out/plugins
for plugin in ${lib.concatMapStringsSep " " (p: p.pluginFile) plugins} ; do
ln -s $plugin $out/plugins
done
'';
init = let
init = builtins.replaceStrings [ "\n" ] [ ";" ] (config.init or "");
mkScript = drv: lib.flip map drv.scripts (script: "/script load ${drv}/share/${script}");
scripts = builtins.concatStringsSep ";" (lib.foldl (scripts: drv: scripts ++ mkScript drv)
[ ] (config.scripts or []));
in "${scripts};${init}";
mkWeechat = bin: (writeScriptBin bin ''
#!${stdenv.shell}
export WEECHAT_EXTRA_LIBDIR=${pluginsDir}
${lib.concatMapStringsSep "\n" (p: lib.optionalString (p ? extraEnv) p.extraEnv) plugins}
exec ${weechat}/bin/${bin} "$@" --run-command ${lib.escapeShellArg init}
'') // {
inherit (weechat) name meta;
unwrapped = weechat;
};
in buildEnv {
name = "weechat-bin-env-${weechat.version}";
paths = [
(mkWeechat "weechat")
(mkWeechat "weechat-headless")
];
meta = weechat.meta;
}

View File

@ -0,0 +1,80 @@
{ stdenv, lib, runCommand, writeScriptBin, buildEnv
, pythonPackages, perl, perlPackages
}:
weechat:
let
wrapper = {
configure ? { availablePlugins, ... }: { plugins = builtins.attrValues availablePlugins; }
}:
let
perlInterpreter = perl;
availablePlugins = let
simplePlugin = name: {pluginFile = "${weechat.${name}}/lib/weechat/plugins/${name}.so";};
in rec {
python = {
pluginFile = "${weechat.python}/lib/weechat/plugins/python.so";
withPackages = pkgsFun: (python // {
extraEnv = ''
export PYTHONHOME="${pythonPackages.python.withPackages pkgsFun}"
'';
});
};
perl = (simplePlugin "perl") // {
extraEnv = ''
export PATH="${perlInterpreter}/bin:$PATH"
'';
withPackages = pkgsFun: (perl // {
extraEnv = ''
${perl.extraEnv}
export PERL5LIB=${lib.makeFullPerlPath (pkgsFun perlPackages)}
'';
});
};
tcl = simplePlugin "tcl";
ruby = simplePlugin "ruby";
guile = simplePlugin "guile";
lua = simplePlugin "lua";
};
config = configure { inherit availablePlugins; };
plugins = config.plugins or (builtins.attrValues availablePlugins);
pluginsDir = runCommand "weechat-plugins" {} ''
mkdir -p $out/plugins
for plugin in ${lib.concatMapStringsSep " " (p: p.pluginFile) plugins} ; do
ln -s $plugin $out/plugins
done
'';
init = let
init = builtins.replaceStrings [ "\n" ] [ ";" ] (config.init or "");
mkScript = drv: lib.flip map drv.scripts (script: "/script load ${drv}/share/${script}");
scripts = builtins.concatStringsSep ";" (lib.foldl (scripts: drv: scripts ++ mkScript drv)
[ ] (config.scripts or []));
in "${scripts};${init}";
mkWeechat = bin: (writeScriptBin bin ''
#!${stdenv.shell}
export WEECHAT_EXTRA_LIBDIR=${pluginsDir}
${lib.concatMapStringsSep "\n" (p: lib.optionalString (p ? extraEnv) p.extraEnv) plugins}
exec ${weechat}/bin/${bin} "$@" --run-command ${lib.escapeShellArg init}
'') // {
inherit (weechat) name meta;
unwrapped = weechat;
};
in buildEnv {
name = "weechat-bin-env-${weechat.version}";
paths = [
(mkWeechat "weechat")
(mkWeechat "weechat-headless")
];
meta = weechat.meta;
};
in lib.makeOverridable wrapper

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgconfig, intltool, glib, gtk3, gmime, gnutls, { stdenv, fetchurl, pkgconfig, intltool, glib, gtk3, gmime, gnutls,
webkitgtk, libesmtp, openssl, libnotify, enchant, gpgme, webkitgtk, libesmtp, openssl, libnotify, gtkspell3, gpgme,
libcanberra-gtk3, libsecret, gtksourceview, gobject-introspection, libcanberra-gtk3, libsecret, gtksourceview, gobjectIntrospection,
hicolor-icon-theme, wrapGAppsHook hicolor-icon-theme, wrapGAppsHook
}: }:
@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
webkitgtk webkitgtk
openssl openssl
libnotify libnotify
enchant gtkspell3
gpgme gpgme
libcanberra-gtk3 libcanberra-gtk3
gtksourceview gtksourceview
@ -45,6 +45,7 @@ stdenv.mkDerivation rec {
"--with-ssl" "--with-ssl"
"--with-unique" "--with-unique"
"--without-gnome" "--without-gnome"
"--with-spell-checker=gtkspell"
]; ];
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0"; NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";

View File

@ -1,21 +1,20 @@
{ stdenv, fetchurl, cups, libssh, libXpm, nxproxy, openldap, openssh, { stdenv, fetchgit, cups, libssh, libXpm, nxproxy, openldap, openssh
makeWrapper, qtbase, qtsvg, qtx11extras, qttools, phonon }: , makeWrapper, qtbase, qtsvg, qtx11extras, qttools, phonon, pkgconfig }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "x2goclient-${version}"; pname = "x2goclient";
version = "4.1.2.1"; version = "unstable-2018-11-30";
src = fetchurl { src = fetchgit {
url = "https://code.x2go.org/releases/source/x2goclient/${name}.tar.gz"; url = "git://code.x2go.org/x2goclient.git";
sha256 = "1bzjzz2m9bqqndnk1p9p522cfapsqgkb0wllvqj9d4ir18grh60w"; rev = "659655675f11ffd361ab9fb48fa77a01a1536fe8";
sha256 = "05gfs11m259bchy3k0ihqpwg9wf8lp94rbca5dzla9fjzrb7pyy4";
}; };
buildInputs = [ cups libssh libXpm nxproxy openldap openssh buildInputs = [ cups libssh libXpm nxproxy openldap openssh
qtbase qtsvg qtx11extras qttools phonon ]; qtbase qtsvg qtx11extras qttools phonon pkgconfig ];
nativeBuildInputs = [ makeWrapper ]; nativeBuildInputs = [ makeWrapper ];
patches = [ ./qt511.patch ];
postPatch = '' postPatch = ''
substituteInPlace Makefile \ substituteInPlace Makefile \
--replace "SHELL=/bin/bash" "SHELL=$SHELL" \ --replace "SHELL=/bin/bash" "SHELL=$SHELL" \

View File

@ -1,15 +0,0 @@
diff --git a/src/printwidget.cpp b/src/printwidget.cpp
index 58a8af7..131d340 100644
--- a/src/printwidget.cpp
+++ b/src/printwidget.cpp
@@ -23,6 +23,7 @@
#include "x2gosettings.h"
#include "x2gologdebug.h"
#include <QDir>
+#include <QButtonGroup>
#ifdef Q_OS_WIN
#include "wapi.h"
#endif
--
2.17.1

View File

@ -5,14 +5,14 @@
with stdenv.lib; with stdenv.lib;
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "6.2.7"; version = "6.2.8";
name = "seafile-client-${version}"; name = "seafile-client-${version}";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "haiwen"; owner = "haiwen";
repo = "seafile-client"; repo = "seafile-client";
rev = "v${version}"; rev = "v${version}";
sha256 = "16ikl6vkp9v16608bq2sfg48idn2p7ik3q8n6j866zxkmgdvkpsg"; sha256 = "1y57cw789cmssgl39kj94q259kba08v5i1yc1cmx7qxyigrpwyv6";
}; };
nativeBuildInputs = [ pkgconfig cmake makeWrapper ]; nativeBuildInputs = [ pkgconfig cmake makeWrapper ];

View File

@ -7,13 +7,13 @@ with stdenv.lib;
buildGoPackage rec { buildGoPackage rec {
name = "gitea-${version}"; name = "gitea-${version}";
version = "1.5.3"; version = "1.6.0";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "go-gitea"; owner = "go-gitea";
repo = "gitea"; repo = "gitea";
rev = "v${version}"; rev = "v${version}";
sha256 = "1f8cbsd3kn4v2a6c57rwh9slgvss7gnxs96yhcy2ddwyycf6i04d"; sha256 = "01nqf8pnpa0n72brqh499z15rys6f0ck7l2cnpbiqgg3kir8b21p";
# Required to generate the same checksum on MacOS due to unicode encoding differences # Required to generate the same checksum on MacOS due to unicode encoding differences
# More information: https://github.com/NixOS/nixpkgs/pull/48128 # More information: https://github.com/NixOS/nixpkgs/pull/48128
extraPostFetch = '' extraPostFetch = ''

View File

@ -1,32 +1,32 @@
{ {
"ce": { "ce": {
"version": "11.5.0", "version": "11.5.1",
"repo_hash": "0cjkkap3n9g9zahrxk99a330ahyb6cvx97dsnrxcdsn0cbrsxsrb", "repo_hash": "0drfan4yncvpcbmmb0lcr1zgk2bav2bzza70mwv3a65habhsy0x5",
"deb_hash": "0kn7mg1lk4gvc3x76z4rbh0j03b0wk6x1p5938wx8sc50k0bgrcp", "deb_hash": "04v5xqimj985718csjzfx7rmnmbfbrm2bp05i4s3x7byrzkl8w9d",
"deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_11.5.0-ce.0_amd64.deb/download.deb", "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/stretch/gitlab-ce_11.5.1-ce.0_amd64.deb/download.deb",
"owner": "gitlab-org", "owner": "gitlab-org",
"repo": "gitlab-ce", "repo": "gitlab-ce",
"rev": "v11.5.0", "rev": "v11.5.1",
"passthru": { "passthru": {
"GITALY_SERVER_VERSION": "0.129.0", "GITALY_SERVER_VERSION": "0.129.0",
"GITLAB_PAGES_VERSION": "1.3.0", "GITLAB_PAGES_VERSION": "1.3.1",
"GITLAB_SHELL_VERSION": "8.4.1", "GITLAB_SHELL_VERSION": "8.4.1",
"GITLAB_WORKHORSE_VERSION": "7.1.0" "GITLAB_WORKHORSE_VERSION": "7.1.3"
} }
}, },
"ee": { "ee": {
"version": "11.5.0", "version": "11.5.1",
"repo_hash": "1s2jr7vhbpklpcfjxgxnmq0zq14hh2aa6akdsb7ld7fj5lmzp00z", "repo_hash": "150f7lnci88d821qxxla0dhwly3w59s3yzgvakzfc6p6iy07m9jp",
"deb_hash": "108mgmlf947h200qrwg71ilhq5ihr4awxns6lqs2wa90ph9yq25c", "deb_hash": "0gg3p4r6xscilw6igjk6l9mcxj3d7npnzg872r5y44p0q8faafhg",
"deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_11.5.0-ee.0_amd64.deb/download.deb", "deb_url": "https://packages.gitlab.com/gitlab/gitlab-ee/packages/debian/stretch/gitlab-ee_11.5.1-ee.0_amd64.deb/download.deb",
"owner": "gitlab-org", "owner": "gitlab-org",
"repo": "gitlab-ee", "repo": "gitlab-ee",
"rev": "v11.5.0-ee", "rev": "v11.5.1-ee",
"passthru": { "passthru": {
"GITALY_SERVER_VERSION": "0.129.0", "GITALY_SERVER_VERSION": "0.129.0",
"GITLAB_PAGES_VERSION": "1.3.0", "GITLAB_PAGES_VERSION": "1.3.1",
"GITLAB_SHELL_VERSION": "8.4.1", "GITLAB_SHELL_VERSION": "8.4.1",
"GITLAB_WORKHORSE_VERSION": "7.1.0" "GITLAB_WORKHORSE_VERSION": "7.1.3"
} }
} }
} }

View File

@ -25,7 +25,7 @@ index 435cb29..078c1df 100644
func NewFromDir(dir string) (*Config, error) { func NewFromDir(dir string) (*Config, error) {
- return newFromFile(path.Join(dir, configFile)) - return newFromFile(path.Join(dir, configFile))
+ return newFromFile(path.Join(dir, "shell-config.yml")) + return newFromFile("/run/gitlab/shell-config.yml")
} }
func newFromFile(filename string) (*Config, error) { func newFromFile(filename string) (*Config, error) {

View File

@ -3,13 +3,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "gitlab-workhorse-${version}"; name = "gitlab-workhorse-${version}";
version = "7.1.0"; version = "7.1.3";
src = fetchFromGitLab { src = fetchFromGitLab {
owner = "gitlab-org"; owner = "gitlab-org";
repo = "gitlab-workhorse"; repo = "gitlab-workhorse";
rev = "v${version}"; rev = "v${version}";
sha256 = "1jq28z2kf58wnbv8jkwfx2bm8ki22hpm9ssdy2ymza22gq0zx00g"; sha256 = "1r75jj0xb4jv5fq2ihxk0vlv43gsk523zx86076mwph1g75gi1nz";
}; };
buildInputs = [ git go ]; buildInputs = [ git go ];

View File

@ -79,13 +79,6 @@ gem 'gpgme'
gem 'gitlab_omniauth-ldap', '~> 2.0.4', require: 'omniauth-ldap' gem 'gitlab_omniauth-ldap', '~> 2.0.4', require: 'omniauth-ldap'
gem 'net-ldap' gem 'net-ldap'
# Git Wiki
# Only used to compute wiki page slugs
gem 'gitlab-gollum-lib', '~> 4.2', require: false
# Language detection
gem 'github-linguist', '~> 5.3.3', require: 'linguist'
# API # API
gem 'grape', '~> 1.1' gem 'grape', '~> 1.1'
gem 'grape-entity', '~> 0.7.1' gem 'grape-entity', '~> 0.7.1'
@ -146,6 +139,7 @@ gem 'rouge', '~> 3.1'
gem 'truncato', '~> 0.7.9' gem 'truncato', '~> 0.7.9'
gem 'bootstrap_form', '~> 2.7.0' gem 'bootstrap_form', '~> 2.7.0'
gem 'nokogiri', '~> 1.8.2' gem 'nokogiri', '~> 1.8.2'
gem 'escape_utils', '~> 1.1'
# Calendar rendering # Calendar rendering
gem 'icalendar' gem 'icalendar'
@ -159,6 +153,11 @@ group :unicorn do
gem 'unicorn-worker-killer', '~> 0.4.4' gem 'unicorn-worker-killer', '~> 0.4.4'
end end
group :puma do
gem 'puma', '~> 3.12', require: false
gem 'puma_worker_killer', require: false
end
# State machine # State machine
gem 'state_machines-activerecord', '~> 0.5.1' gem 'state_machines-activerecord', '~> 0.5.1'
@ -212,7 +211,7 @@ gem 'hipchat', '~> 1.5.0'
gem 'jira-ruby', '~> 1.4' gem 'jira-ruby', '~> 1.4'
# Flowdock integration # Flowdock integration
gem 'gitlab-flowdock-git-hook', '~> 1.0.1' gem 'flowdock', '~> 0.7'
# Slack integration # Slack integration
gem 'slack-notifier', '~> 1.5.1' gem 'slack-notifier', '~> 1.5.1'
@ -245,9 +244,6 @@ gem 'rack-attack', '~> 4.4.1'
# Ace editor # Ace editor
gem 'ace-rails-ap', '~> 4.1.0' gem 'ace-rails-ap', '~> 4.1.0'
# Keyboard shortcuts
gem 'mousetrap-rails', '~> 1.4.6'
# Detect and convert string character encoding # Detect and convert string character encoding
gem 'charlock_holmes', '~> 0.7.5' gem 'charlock_holmes', '~> 0.7.5'
@ -420,11 +416,10 @@ group :ed25519 do
end end
# Gitaly GRPC client # Gitaly GRPC client
gem 'gitaly-proto', '~> 0.118.1', require: 'gitaly' gem 'gitaly-proto', '~> 0.123.0', require: 'gitaly'
gem 'grpc', '~> 1.11.0' gem 'grpc', '~> 1.15.0'
# Locked until https://github.com/google/protobuf/issues/4210 is closed gem 'google-protobuf', '~> 3.6'
gem 'google-protobuf', '= 3.5.1'
gem 'toml-rb', '~> 1.0.0', require: false gem 'toml-rb', '~> 1.0.0', require: false
@ -436,6 +431,3 @@ gem 'flipper-active_support_cache_store', '~> 0.13.0'
# Structured logging # Structured logging
gem 'lograge', '~> 0.5' gem 'lograge', '~> 0.5'
gem 'grape_logging', '~> 1.7' gem 'grape_logging', '~> 1.7'
# Asset synchronization
gem 'asset_sync', '~> 2.4'

View File

@ -58,11 +58,6 @@ GEM
asciidoctor (1.5.6.2) asciidoctor (1.5.6.2)
asciidoctor-plantuml (0.0.8) asciidoctor-plantuml (0.0.8)
asciidoctor (~> 1.5) asciidoctor (~> 1.5)
asset_sync (2.4.0)
activemodel (>= 4.1.0)
fog-core
mime-types (>= 2.99)
unf
ast (2.4.0) ast (2.4.0)
atomic (1.1.99) atomic (1.1.99)
attr_encrypted (3.1.0) attr_encrypted (3.1.0)
@ -274,32 +269,9 @@ GEM
gettext_i18n_rails (>= 0.7.1) gettext_i18n_rails (>= 0.7.1)
po_to_json (>= 1.0.0) po_to_json (>= 1.0.0)
rails (>= 3.2.0) rails (>= 3.2.0)
gitaly-proto (0.118.1) gitaly-proto (0.123.0)
google-protobuf (~> 3.1) grpc (~> 1.0)
grpc (~> 1.10)
github-linguist (5.3.3)
charlock_holmes (~> 0.7.5)
escape_utils (~> 1.1.0)
mime-types (>= 1.19)
rugged (>= 0.25.1)
github-markup (1.7.0) github-markup (1.7.0)
gitlab-flowdock-git-hook (1.0.1)
flowdock (~> 0.7)
gitlab-grit (>= 2.4.1)
multi_json
gitlab-gollum-lib (4.2.7.5)
gemojione (~> 3.2)
github-markup (~> 1.6)
gollum-grit_adapter (~> 1.0)
nokogiri (>= 1.6.1, < 2.0)
rouge (~> 3.1)
sanitize (~> 4.6.4)
stringex (~> 2.6)
gitlab-grit (2.8.2)
charlock_holmes (~> 0.6)
diff-lcs (~> 1.1)
mime-types (>= 1.16)
posix-spawn (~> 0.3)
gitlab-markup (1.6.4) gitlab-markup (1.6.4)
gitlab-sidekiq-fetcher (0.3.0) gitlab-sidekiq-fetcher (0.3.0)
sidekiq (~> 5) sidekiq (~> 5)
@ -314,8 +286,6 @@ GEM
rubyntlm (~> 0.5) rubyntlm (~> 0.5)
globalid (0.4.1) globalid (0.4.1)
activesupport (>= 4.2.0) activesupport (>= 4.2.0)
gollum-grit_adapter (1.0.1)
gitlab-grit (~> 2.7, >= 2.7.1)
gon (6.2.0) gon (6.2.0)
actionpack (>= 3.0) actionpack (>= 3.0)
multi_json multi_json
@ -327,16 +297,15 @@ GEM
mime-types (~> 3.0) mime-types (~> 3.0)
representable (~> 3.0) representable (~> 3.0)
retriable (>= 2.0, < 4.0) retriable (>= 2.0, < 4.0)
google-protobuf (3.5.1) google-protobuf (3.6.1)
googleapis-common-protos-types (1.0.1) googleapis-common-protos-types (1.0.2)
google-protobuf (~> 3.0) google-protobuf (~> 3.0)
googleauth (0.6.2) googleauth (0.6.6)
faraday (~> 0.12) faraday (~> 0.12)
jwt (>= 1.4, < 3.0) jwt (>= 1.4, < 3.0)
logging (~> 2.0)
memoist (~> 0.12) memoist (~> 0.12)
multi_json (~> 1.11) multi_json (~> 1.11)
os (~> 0.9) os (>= 0.9, < 2.0)
signet (~> 0.7) signet (~> 0.7)
gpgme (2.0.13) gpgme (2.0.13)
mini_portile2 (~> 2.1) mini_portile2 (~> 2.1)
@ -360,10 +329,9 @@ GEM
railties railties
sprockets-rails sprockets-rails
graphql (1.8.1) graphql (1.8.1)
grpc (1.11.0) grpc (1.15.0)
google-protobuf (~> 3.1) google-protobuf (~> 3.1)
googleapis-common-protos-types (~> 1.0.0) googleapis-common-protos-types (~> 1.0.0)
googleauth (>= 0.5.1, < 0.7)
haml (5.0.4) haml (5.0.4)
temple (>= 0.8.0) temple (>= 0.8.0)
tilt tilt
@ -465,11 +433,7 @@ GEM
xml-simple xml-simple
licensee (8.9.2) licensee (8.9.2)
rugged (~> 0.24) rugged (~> 0.24)
little-plugger (1.1.4)
locale (2.1.2) locale (2.1.2)
logging (2.2.2)
little-plugger (~> 1.1)
multi_json (~> 1.10)
lograge (0.10.0) lograge (0.10.0)
actionpack (>= 4) actionpack (>= 4)
activesupport (>= 4) activesupport (>= 4)
@ -493,7 +457,6 @@ GEM
mini_mime (1.0.1) mini_mime (1.0.1)
mini_portile2 (2.3.0) mini_portile2 (2.3.0)
minitest (5.7.0) minitest (5.7.0)
mousetrap-rails (1.4.6)
msgpack (1.2.4) msgpack (1.2.4)
multi_json (1.13.1) multi_json (1.13.1)
multi_xml (0.6.0) multi_xml (0.6.0)
@ -575,9 +538,9 @@ GEM
org-ruby (0.9.12) org-ruby (0.9.12)
rubypants (~> 0.2) rubypants (~> 0.2)
orm_adapter (0.5.0) orm_adapter (0.5.0)
os (0.9.6) os (1.0.0)
parallel (1.12.1) parallel (1.12.1)
parser (2.5.1.0) parser (2.5.3.0)
ast (~> 2.4.0) ast (~> 2.4.0)
parslet (1.8.2) parslet (1.8.2)
peek (1.0.1) peek (1.0.1)
@ -605,7 +568,6 @@ GEM
pg (0.18.4) pg (0.18.4)
po_to_json (1.0.1) po_to_json (1.0.1)
json (>= 1.6.0) json (>= 1.6.0)
posix-spawn (0.3.13)
powerpack (0.1.1) powerpack (0.1.1)
premailer (1.10.4) premailer (1.10.4)
addressable addressable
@ -629,6 +591,10 @@ GEM
pry-rails (0.3.6) pry-rails (0.3.6)
pry (>= 0.10.4) pry (>= 0.10.4)
public_suffix (3.0.3) public_suffix (3.0.3)
puma (3.12.0)
puma_worker_killer (0.1.0)
get_process_mem (~> 0.2)
puma (>= 2.7, < 4)
pyu-ruby-sasl (0.0.3.3) pyu-ruby-sasl (0.0.3.3)
rack (1.6.11) rack (1.6.11)
rack-accept (0.4.5) rack-accept (0.4.5)
@ -797,7 +763,7 @@ GEM
rubyzip (1.2.2) rubyzip (1.2.2)
rufus-scheduler (3.4.0) rufus-scheduler (3.4.0)
et-orbi (~> 1.0) et-orbi (~> 1.0)
rugged (0.27.4) rugged (0.27.5)
safe_yaml (1.0.4) safe_yaml (1.0.4)
sanitize (4.6.6) sanitize (4.6.6)
crass (~> 1.0.2) crass (~> 1.0.2)
@ -843,7 +809,7 @@ GEM
sidekiq-cron (0.6.0) sidekiq-cron (0.6.0)
rufus-scheduler (>= 3.3.0) rufus-scheduler (>= 3.3.0)
sidekiq (>= 4.2.1) sidekiq (>= 4.2.1)
signet (0.8.1) signet (0.11.0)
addressable (~> 2.3) addressable (~> 2.3)
faraday (~> 0.9) faraday (~> 0.9)
jwt (>= 1.5, < 3.0) jwt (>= 1.5, < 3.0)
@ -876,7 +842,6 @@ GEM
state_machines-activerecord (0.5.1) state_machines-activerecord (0.5.1)
activerecord (>= 4.1, < 6.0) activerecord (>= 4.1, < 6.0)
state_machines-activemodel (>= 0.5.0) state_machines-activemodel (>= 0.5.0)
stringex (2.8.4)
sys-filesystem (1.1.6) sys-filesystem (1.1.6)
ffi ffi
sysexits (1.2.0) sysexits (1.2.0)
@ -968,7 +933,6 @@ DEPENDENCIES
asana (~> 0.6.0) asana (~> 0.6.0)
asciidoctor (~> 1.5.6) asciidoctor (~> 1.5.6)
asciidoctor-plantuml (= 0.0.8) asciidoctor-plantuml (= 0.0.8)
asset_sync (~> 2.4)
attr_encrypted (~> 3.1.0) attr_encrypted (~> 3.1.0)
awesome_print awesome_print
babosa (~> 1.0.2) babosa (~> 1.0.2)
@ -1006,6 +970,7 @@ DEPENDENCIES
ed25519 (~> 1.2) ed25519 (~> 1.2)
email_reply_trimmer (~> 0.1) email_reply_trimmer (~> 0.1)
email_spec (~> 2.2.0) email_spec (~> 2.2.0)
escape_utils (~> 1.1)
factory_bot_rails (~> 4.8.2) factory_bot_rails (~> 4.8.2)
faraday (~> 0.12) faraday (~> 0.12)
fast_blank fast_blank
@ -1013,6 +978,7 @@ DEPENDENCIES
flipper (~> 0.13.0) flipper (~> 0.13.0)
flipper-active_record (~> 0.13.0) flipper-active_record (~> 0.13.0)
flipper-active_support_cache_store (~> 0.13.0) flipper-active_support_cache_store (~> 0.13.0)
flowdock (~> 0.7)
fog-aliyun (~> 0.2.0) fog-aliyun (~> 0.2.0)
fog-aws (~> 2.0.1) fog-aws (~> 2.0.1)
fog-core (~> 1.44) fog-core (~> 1.44)
@ -1027,18 +993,15 @@ DEPENDENCIES
gettext (~> 3.2.2) gettext (~> 3.2.2)
gettext_i18n_rails (~> 1.8.0) gettext_i18n_rails (~> 1.8.0)
gettext_i18n_rails_js (~> 1.3) gettext_i18n_rails_js (~> 1.3)
gitaly-proto (~> 0.118.1) gitaly-proto (~> 0.123.0)
github-linguist (~> 5.3.3)
github-markup (~> 1.7.0) github-markup (~> 1.7.0)
gitlab-flowdock-git-hook (~> 1.0.1)
gitlab-gollum-lib (~> 4.2)
gitlab-markup (~> 1.6.4) gitlab-markup (~> 1.6.4)
gitlab-sidekiq-fetcher gitlab-sidekiq-fetcher
gitlab-styles (~> 2.4) gitlab-styles (~> 2.4)
gitlab_omniauth-ldap (~> 2.0.4) gitlab_omniauth-ldap (~> 2.0.4)
gon (~> 6.2) gon (~> 6.2)
google-api-client (~> 0.23) google-api-client (~> 0.23)
google-protobuf (= 3.5.1) google-protobuf (~> 3.6)
gpgme gpgme
grape (~> 1.1) grape (~> 1.1)
grape-entity (~> 0.7.1) grape-entity (~> 0.7.1)
@ -1046,7 +1009,7 @@ DEPENDENCIES
grape_logging (~> 1.7) grape_logging (~> 1.7)
graphiql-rails (~> 1.4.10) graphiql-rails (~> 1.4.10)
graphql (~> 1.8.0) graphql (~> 1.8.0)
grpc (~> 1.11.0) grpc (~> 1.15.0)
haml_lint (~> 0.26.0) haml_lint (~> 0.26.0)
hamlit (~> 2.8.8) hamlit (~> 2.8.8)
hangouts-chat (~> 0.0.5) hangouts-chat (~> 0.0.5)
@ -1075,7 +1038,6 @@ DEPENDENCIES
method_source (~> 0.8) method_source (~> 0.8)
mini_magick mini_magick
minitest (~> 5.7.0) minitest (~> 5.7.0)
mousetrap-rails (~> 1.4.6)
mysql2 (~> 0.4.10) mysql2 (~> 0.4.10)
net-ldap net-ldap
net-ssh (~> 5.0) net-ssh (~> 5.0)
@ -1109,6 +1071,8 @@ DEPENDENCIES
prometheus-client-mmap (~> 0.9.4) prometheus-client-mmap (~> 0.9.4)
pry-byebug (~> 3.4.1) pry-byebug (~> 3.4.1)
pry-rails (~> 0.3.4) pry-rails (~> 0.3.4)
puma (~> 3.12)
puma_worker_killer
rack-attack (~> 4.4.1) rack-attack (~> 4.4.1)
rack-cors (~> 1.0.0) rack-cors (~> 1.0.0)
rack-oauth2 (~> 1.2.1) rack-oauth2 (~> 1.2.1)
@ -1187,4 +1151,4 @@ DEPENDENCIES
wikicloth (= 0.8.1) wikicloth (= 0.8.1)
BUNDLED WITH BUNDLED WITH
1.16.4 1.17.1

View File

@ -164,15 +164,6 @@
}; };
version = "0.0.8"; version = "0.0.8";
}; };
asset_sync = {
dependencies = ["activemodel" "fog-core" "mime-types" "unf"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0wjd662yyg72dwwc6cav7gk2bjv9nkhn056f03h8zmyank451hdf";
type = "gem";
};
version = "2.4.0";
};
ast = { ast = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
@ -1066,22 +1057,13 @@
version = "1.3.0"; version = "1.3.0";
}; };
gitaly-proto = { gitaly-proto = {
dependencies = ["google-protobuf" "grpc"]; dependencies = ["grpc"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "19nyx75xnb3lsap6rr3p1avqsw1dcrm8d3ggmmihd58a9s762fki"; sha256 = "16b9sdaimhcda401z2s7apf0nz6y0lxs74xhkwlz4jzf6ms44mgg";
type = "gem"; type = "gem";
}; };
version = "0.118.1"; version = "0.123.0";
};
github-linguist = {
dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0kgashbqpypv329m63b85ri1dx0gppwd0832hvwh124lk5b19drk";
type = "gem";
};
version = "5.3.3";
}; };
github-markup = { github-markup = {
source = { source = {
@ -1091,33 +1073,6 @@
}; };
version = "1.7.0"; version = "1.7.0";
}; };
gitlab-flowdock-git-hook = {
dependencies = ["flowdock" "gitlab-grit" "multi_json"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1s3a10cdbh4xy732b92zcsm5zyc1lhi5v29d76j8mwbqmj11a2p8";
type = "gem";
};
version = "1.0.1";
};
gitlab-gollum-lib = {
dependencies = ["gemojione" "github-markup" "gollum-grit_adapter" "nokogiri" "rouge" "sanitize" "stringex"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15h6a7lsfkm967d5dhjlbcm2lnl1l9akzvaq92qlxq40r5apw0kn";
type = "gem";
};
version = "4.2.7.5";
};
gitlab-grit = {
dependencies = ["charlock_holmes" "diff-lcs" "mime-types" "posix-spawn"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xgs3l81ghlc5nm75n0pz7b2cj3hpscfq5iy27c483nnjn2v5mc4";
type = "gem";
};
version = "2.8.2";
};
gitlab-markup = { gitlab-markup = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
@ -1162,15 +1117,6 @@
}; };
version = "0.4.1"; version = "0.4.1";
}; };
gollum-grit_adapter = {
dependencies = ["gitlab-grit"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fcibm63v1afc0fj5rki0mm51m7nndil4cjcjjvkh3yigfn4nr4b";
type = "gem";
};
version = "1.0.1";
};
gon = { gon = {
dependencies = ["actionpack" "multi_json" "request_store"]; dependencies = ["actionpack" "multi_json" "request_store"];
source = { source = {
@ -1192,28 +1138,28 @@
google-protobuf = { google-protobuf = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0s8ijd9wdrkqwsb6nasrsv7f9i5im2nyax7f7jlb5y9vh8nl98qi"; sha256 = "134d3ini9ymdwxpz445m28ss9x0m6vcpijcdkzvgk4n538wdmppf";
type = "gem"; type = "gem";
}; };
version = "3.5.1"; version = "3.6.1";
}; };
googleapis-common-protos-types = { googleapis-common-protos-types = {
dependencies = ["google-protobuf"]; dependencies = ["google-protobuf"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0yf10s7w8wpa49hc86z7z2fkn9yz7j2njz0n8xmqb24ji090z4ck"; sha256 = "01ds7g01pxqm3mg283xjzy0lhhvvhvzw3m7gf7szd1r7la4wf0qq";
type = "gem"; type = "gem";
}; };
version = "1.0.1"; version = "1.0.2";
}; };
googleauth = { googleauth = {
dependencies = ["faraday" "jwt" "logging" "memoist" "multi_json" "os" "signet"]; dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "08z4zfj9cwry13y8c2w5p4xylyslxxjq4wahd95bk1ddl5pknd4f"; sha256 = "1747p1dhpvz76i98xnjrvaj785y1232svm0nc8g9by6pz835gp2l";
type = "gem"; type = "gem";
}; };
version = "0.6.2"; version = "0.6.6";
}; };
gpgme = { gpgme = {
dependencies = ["mini_portile2"]; dependencies = ["mini_portile2"];
@ -1278,13 +1224,13 @@
version = "1.8.1"; version = "1.8.1";
}; };
grpc = { grpc = {
dependencies = ["google-protobuf" "googleapis-common-protos-types" "googleauth"]; dependencies = ["google-protobuf" "googleapis-common-protos-types"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1is4czi3i7y6zyxzyrpsma1z91axmc0jz2ngr6ckixqd3629npkz"; sha256 = "0m2wspnm1cfkmhlbp7yqv5bb4vsfh246cm0aavxra67aw4l8plhb";
type = "gem"; type = "gem";
}; };
version = "1.11.0"; version = "1.15.0";
}; };
haml = { haml = {
dependencies = ["temple" "tilt"]; dependencies = ["temple" "tilt"];
@ -1649,14 +1595,6 @@
}; };
version = "8.9.2"; version = "8.9.2";
}; };
little-plugger = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym";
type = "gem";
};
version = "1.1.4";
};
locale = { locale = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
@ -1665,15 +1603,6 @@
}; };
version = "2.1.2"; version = "2.1.2";
}; };
logging = {
dependencies = ["little-plugger" "multi_json"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn";
type = "gem";
};
version = "2.2.2";
};
lograge = { lograge = {
dependencies = ["actionpack" "activesupport" "railties" "request_store"]; dependencies = ["actionpack" "activesupport" "railties" "request_store"];
source = { source = {
@ -1791,14 +1720,6 @@
}; };
version = "5.7.0"; version = "5.7.0";
}; };
mousetrap-rails = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "00n13r5pwrk4vq018128vcfh021dw0fa2bk4pzsv0fslfm8ayp2m";
type = "gem";
};
version = "1.4.6";
};
msgpack = { msgpack = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
@ -2114,10 +2035,10 @@
os = { os = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1llv8w3g2jwggdxr5a5cjkrnbbfnvai3vxacxxc0fy84xmz3hymz"; sha256 = "1s401gvhqgs2r8hh43ia205mxsy1wc0ib4k76wzkdpspfcnfr1rk";
type = "gem"; type = "gem";
}; };
version = "0.9.6"; version = "1.0.0";
}; };
parallel = { parallel = {
source = { source = {
@ -2131,10 +2052,10 @@
dependencies = ["ast"]; dependencies = ["ast"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1af7aa1c2npi8dkshgm3f8qyacabm94ckrdz7b8vd3f8zzswqzp9"; sha256 = "1zjk0w1kjj3xk8ymy1430aa4gg0k8ckphfj88br6il4pm83f0n1f";
type = "gem"; type = "gem";
}; };
version = "2.5.1.0"; version = "2.5.3.0";
}; };
parslet = { parslet = {
source = { source = {
@ -2215,14 +2136,6 @@
}; };
version = "1.0.1"; version = "1.0.1";
}; };
posix-spawn = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1pmxmpins57qrbr31bs3bm7gidhaacmrp4md6i962gvpq4gyfcjw";
type = "gem";
};
version = "0.3.13";
};
powerpack = { powerpack = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
@ -2309,6 +2222,23 @@
}; };
version = "3.0.3"; version = "3.0.3";
}; };
puma = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1k7dqxnq0dnf5rxkgs9rknclkn3ah7lsdrk6nrqxla8qzy31wliq";
type = "gem";
};
version = "3.12.0";
};
puma_worker_killer = {
dependencies = ["get_process_mem" "puma"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1m08qi8mxpp20zqqjj9yzcrx0sn29n5fn5avlf1lnl0n7qa9c03i";
type = "gem";
};
version = "0.1.0";
};
pyu-ruby-sasl = { pyu-ruby-sasl = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
@ -2916,10 +2846,10 @@
rugged = { rugged = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1y6k5yrfmhc1v4albbpa3xzl28vk5lric3si8ada28sp9mmk2x72"; sha256 = "1jv4nw9hvlxp8hhhlllrfcznki82i50fp1sj65zsjllfl2bvz8x6";
type = "gem"; type = "gem";
}; };
version = "0.27.4"; version = "0.27.5";
}; };
safe_yaml = { safe_yaml = {
source = { source = {
@ -3075,10 +3005,10 @@
dependencies = ["addressable" "faraday" "jwt" "multi_json"]; dependencies = ["addressable" "faraday" "jwt" "multi_json"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0js81lxqirdza8gf2f6avh11fny49ygmxfi1qx7jp8l9wrhznbkv"; sha256 = "1f5d3bz5bjc4b0r2jmqd15qf07lgsqkgd25f0h46jihrf9l5fsi4";
type = "gem"; type = "gem";
}; };
version = "0.8.1"; version = "0.11.0";
}; };
simple_po_parser = { simple_po_parser = {
source = { source = {
@ -3199,14 +3129,6 @@
}; };
version = "0.5.1"; version = "0.5.1";
}; };
stringex = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0c5dfrjzkskzfsdvwsviq4111rwwpbk9022nxwdidz014mky5vi1";
type = "gem";
};
version = "2.8.4";
};
sys-filesystem = { sys-filesystem = {
dependencies = ["ffi"]; dependencies = ["ffi"];
source = { source = {

View File

@ -82,13 +82,6 @@ gem 'gpgme'
gem 'gitlab_omniauth-ldap', '~> 2.0.4', require: 'omniauth-ldap' gem 'gitlab_omniauth-ldap', '~> 2.0.4', require: 'omniauth-ldap'
gem 'net-ldap' gem 'net-ldap'
# Git Wiki
# Only used to compute wiki page slugs
gem 'gitlab-gollum-lib', '~> 4.2', require: false
# Language detection
gem 'github-linguist', '~> 5.3.3', require: 'linguist'
# API # API
gem 'grape', '~> 1.1' gem 'grape', '~> 1.1'
gem 'grape-entity', '~> 0.7.1' gem 'grape-entity', '~> 0.7.1'
@ -156,6 +149,7 @@ gem 'rouge', '~> 3.1'
gem 'truncato', '~> 0.7.9' gem 'truncato', '~> 0.7.9'
gem 'bootstrap_form', '~> 2.7.0' gem 'bootstrap_form', '~> 2.7.0'
gem 'nokogiri', '~> 1.8.2' gem 'nokogiri', '~> 1.8.2'
gem 'escape_utils', '~> 1.1'
# Calendar rendering # Calendar rendering
gem 'icalendar' gem 'icalendar'
@ -169,6 +163,11 @@ group :unicorn do
gem 'unicorn-worker-killer', '~> 0.4.4' gem 'unicorn-worker-killer', '~> 0.4.4'
end end
group :puma do
gem 'puma', '~> 3.12', require: false
gem 'puma_worker_killer', require: false
end
# State machine # State machine
gem 'state_machines-activerecord', '~> 0.5.1' gem 'state_machines-activerecord', '~> 0.5.1'
@ -222,7 +221,7 @@ gem 'hipchat', '~> 1.5.0'
gem 'jira-ruby', '~> 1.4' gem 'jira-ruby', '~> 1.4'
# Flowdock integration # Flowdock integration
gem 'gitlab-flowdock-git-hook', '~> 1.0.1' gem 'flowdock', '~> 0.7'
# Slack integration # Slack integration
gem 'slack-notifier', '~> 1.5.1' gem 'slack-notifier', '~> 1.5.1'
@ -255,9 +254,6 @@ gem 'rack-attack', '~> 4.4.1'
# Ace editor # Ace editor
gem 'ace-rails-ap', '~> 4.1.0' gem 'ace-rails-ap', '~> 4.1.0'
# Keyboard shortcuts
gem 'mousetrap-rails', '~> 1.4.6'
# Detect and convert string character encoding # Detect and convert string character encoding
gem 'charlock_holmes', '~> 0.7.5' gem 'charlock_holmes', '~> 0.7.5'
@ -435,11 +431,10 @@ group :ed25519 do
end end
# Gitaly GRPC client # Gitaly GRPC client
gem 'gitaly-proto', '~> 0.118.1', require: 'gitaly' gem 'gitaly-proto', '~> 0.123.0', require: 'gitaly'
gem 'grpc', '~> 1.11.0' gem 'grpc', '~> 1.15.0'
# Locked until https://github.com/google/protobuf/issues/4210 is closed gem 'google-protobuf', '~> 3.6'
gem 'google-protobuf', '= 3.5.1'
gem 'toml-rb', '~> 1.0.0', require: false gem 'toml-rb', '~> 1.0.0', require: false
@ -451,6 +446,3 @@ gem 'flipper-active_support_cache_store', '~> 0.13.0'
# Structured logging # Structured logging
gem 'lograge', '~> 0.5' gem 'lograge', '~> 0.5'
gem 'grape_logging', '~> 1.7' gem 'grape_logging', '~> 1.7'
# Asset synchronization
gem 'asset_sync', '~> 2.4'

View File

@ -58,11 +58,6 @@ GEM
asciidoctor (1.5.6.2) asciidoctor (1.5.6.2)
asciidoctor-plantuml (0.0.8) asciidoctor-plantuml (0.0.8)
asciidoctor (~> 1.5) asciidoctor (~> 1.5)
asset_sync (2.4.0)
activemodel (>= 4.1.0)
fog-core
mime-types (>= 2.99)
unf
ast (2.4.0) ast (2.4.0)
atomic (1.1.99) atomic (1.1.99)
attr_encrypted (3.1.0) attr_encrypted (3.1.0)
@ -298,32 +293,9 @@ GEM
gettext_i18n_rails (>= 0.7.1) gettext_i18n_rails (>= 0.7.1)
po_to_json (>= 1.0.0) po_to_json (>= 1.0.0)
rails (>= 3.2.0) rails (>= 3.2.0)
gitaly-proto (0.118.1) gitaly-proto (0.123.0)
google-protobuf (~> 3.1) grpc (~> 1.0)
grpc (~> 1.10)
github-linguist (5.3.3)
charlock_holmes (~> 0.7.5)
escape_utils (~> 1.1.0)
mime-types (>= 1.19)
rugged (>= 0.25.1)
github-markup (1.7.0) github-markup (1.7.0)
gitlab-flowdock-git-hook (1.0.1)
flowdock (~> 0.7)
gitlab-grit (>= 2.4.1)
multi_json
gitlab-gollum-lib (4.2.7.5)
gemojione (~> 3.2)
github-markup (~> 1.6)
gollum-grit_adapter (~> 1.0)
nokogiri (>= 1.6.1, < 2.0)
rouge (~> 3.1)
sanitize (~> 4.6.4)
stringex (~> 2.6)
gitlab-grit (2.8.2)
charlock_holmes (~> 0.6)
diff-lcs (~> 1.1)
mime-types (>= 1.16)
posix-spawn (~> 0.3)
gitlab-license (1.0.0) gitlab-license (1.0.0)
gitlab-markup (1.6.4) gitlab-markup (1.6.4)
gitlab-sidekiq-fetcher (0.3.0) gitlab-sidekiq-fetcher (0.3.0)
@ -339,8 +311,6 @@ GEM
rubyntlm (~> 0.5) rubyntlm (~> 0.5)
globalid (0.4.1) globalid (0.4.1)
activesupport (>= 4.2.0) activesupport (>= 4.2.0)
gollum-grit_adapter (1.0.1)
gitlab-grit (~> 2.7, >= 2.7.1)
gon (6.2.0) gon (6.2.0)
actionpack (>= 3.0) actionpack (>= 3.0)
multi_json multi_json
@ -352,16 +322,15 @@ GEM
mime-types (~> 3.0) mime-types (~> 3.0)
representable (~> 3.0) representable (~> 3.0)
retriable (>= 2.0, < 4.0) retriable (>= 2.0, < 4.0)
google-protobuf (3.5.1) google-protobuf (3.6.1)
googleapis-common-protos-types (1.0.1) googleapis-common-protos-types (1.0.2)
google-protobuf (~> 3.0) google-protobuf (~> 3.0)
googleauth (0.6.2) googleauth (0.6.6)
faraday (~> 0.12) faraday (~> 0.12)
jwt (>= 1.4, < 3.0) jwt (>= 1.4, < 3.0)
logging (~> 2.0)
memoist (~> 0.12) memoist (~> 0.12)
multi_json (~> 1.11) multi_json (~> 1.11)
os (~> 0.9) os (>= 0.9, < 2.0)
signet (~> 0.7) signet (~> 0.7)
gpgme (2.0.13) gpgme (2.0.13)
mini_portile2 (~> 2.1) mini_portile2 (~> 2.1)
@ -385,10 +354,9 @@ GEM
railties railties
sprockets-rails sprockets-rails
graphql (1.8.1) graphql (1.8.1)
grpc (1.11.0) grpc (1.15.0)
google-protobuf (~> 3.1) google-protobuf (~> 3.1)
googleapis-common-protos-types (~> 1.0.0) googleapis-common-protos-types (~> 1.0.0)
googleauth (>= 0.5.1, < 0.7)
gssapi (1.2.0) gssapi (1.2.0)
ffi (>= 1.0.1) ffi (>= 1.0.1)
haml (5.0.4) haml (5.0.4)
@ -493,11 +461,7 @@ GEM
xml-simple xml-simple
licensee (8.9.2) licensee (8.9.2)
rugged (~> 0.24) rugged (~> 0.24)
little-plugger (1.1.4)
locale (2.1.2) locale (2.1.2)
logging (2.2.2)
little-plugger (~> 1.1)
multi_json (~> 1.10)
lograge (0.10.0) lograge (0.10.0)
actionpack (>= 4) actionpack (>= 4)
activesupport (>= 4) activesupport (>= 4)
@ -521,7 +485,6 @@ GEM
mini_mime (1.0.1) mini_mime (1.0.1)
mini_portile2 (2.3.0) mini_portile2 (2.3.0)
minitest (5.7.0) minitest (5.7.0)
mousetrap-rails (1.4.6)
msgpack (1.2.4) msgpack (1.2.4)
multi_json (1.13.1) multi_json (1.13.1)
multi_xml (0.6.0) multi_xml (0.6.0)
@ -604,9 +567,9 @@ GEM
org-ruby (0.9.12) org-ruby (0.9.12)
rubypants (~> 0.2) rubypants (~> 0.2)
orm_adapter (0.5.0) orm_adapter (0.5.0)
os (0.9.6) os (1.0.0)
parallel (1.12.1) parallel (1.12.1)
parser (2.5.1.0) parser (2.5.3.0)
ast (~> 2.4.0) ast (~> 2.4.0)
parslet (1.8.2) parslet (1.8.2)
peek (1.0.1) peek (1.0.1)
@ -634,7 +597,6 @@ GEM
pg (0.18.4) pg (0.18.4)
po_to_json (1.0.1) po_to_json (1.0.1)
json (>= 1.6.0) json (>= 1.6.0)
posix-spawn (0.3.13)
powerpack (0.1.1) powerpack (0.1.1)
premailer (1.10.4) premailer (1.10.4)
addressable addressable
@ -658,6 +620,10 @@ GEM
pry-rails (0.3.6) pry-rails (0.3.6)
pry (>= 0.10.4) pry (>= 0.10.4)
public_suffix (3.0.3) public_suffix (3.0.3)
puma (3.12.0)
puma_worker_killer (0.1.0)
get_process_mem (~> 0.2)
puma (>= 2.7, < 4)
pyu-ruby-sasl (0.0.3.3) pyu-ruby-sasl (0.0.3.3)
rack (1.6.11) rack (1.6.11)
rack-accept (0.4.5) rack-accept (0.4.5)
@ -826,7 +792,7 @@ GEM
rubyzip (1.2.2) rubyzip (1.2.2)
rufus-scheduler (3.4.0) rufus-scheduler (3.4.0)
et-orbi (~> 1.0) et-orbi (~> 1.0)
rugged (0.27.4) rugged (0.27.5)
safe_yaml (1.0.4) safe_yaml (1.0.4)
sanitize (4.6.6) sanitize (4.6.6)
crass (~> 1.0.2) crass (~> 1.0.2)
@ -872,7 +838,7 @@ GEM
sidekiq-cron (0.6.0) sidekiq-cron (0.6.0)
rufus-scheduler (>= 3.3.0) rufus-scheduler (>= 3.3.0)
sidekiq (>= 4.2.1) sidekiq (>= 4.2.1)
signet (0.8.1) signet (0.11.0)
addressable (~> 2.3) addressable (~> 2.3)
faraday (~> 0.9) faraday (~> 0.9)
jwt (>= 1.5, < 3.0) jwt (>= 1.5, < 3.0)
@ -905,7 +871,6 @@ GEM
state_machines-activerecord (0.5.1) state_machines-activerecord (0.5.1)
activerecord (>= 4.1, < 6.0) activerecord (>= 4.1, < 6.0)
state_machines-activemodel (>= 0.5.0) state_machines-activemodel (>= 0.5.0)
stringex (2.8.4)
sys-filesystem (1.1.6) sys-filesystem (1.1.6)
ffi ffi
sysexits (1.2.0) sysexits (1.2.0)
@ -997,7 +962,6 @@ DEPENDENCIES
asana (~> 0.6.0) asana (~> 0.6.0)
asciidoctor (~> 1.5.6) asciidoctor (~> 1.5.6)
asciidoctor-plantuml (= 0.0.8) asciidoctor-plantuml (= 0.0.8)
asset_sync (~> 2.4)
attr_encrypted (~> 3.1.0) attr_encrypted (~> 3.1.0)
awesome_print awesome_print
aws-sdk aws-sdk
@ -1039,6 +1003,7 @@ DEPENDENCIES
elasticsearch-rails (~> 0.1.9) elasticsearch-rails (~> 0.1.9)
email_reply_trimmer (~> 0.1) email_reply_trimmer (~> 0.1)
email_spec (~> 2.2.0) email_spec (~> 2.2.0)
escape_utils (~> 1.1)
factory_bot_rails (~> 4.8.2) factory_bot_rails (~> 4.8.2)
faraday (~> 0.12) faraday (~> 0.12)
faraday_middleware-aws-signers-v4 faraday_middleware-aws-signers-v4
@ -1047,6 +1012,7 @@ DEPENDENCIES
flipper (~> 0.13.0) flipper (~> 0.13.0)
flipper-active_record (~> 0.13.0) flipper-active_record (~> 0.13.0)
flipper-active_support_cache_store (~> 0.13.0) flipper-active_support_cache_store (~> 0.13.0)
flowdock (~> 0.7)
fog-aliyun (~> 0.2.0) fog-aliyun (~> 0.2.0)
fog-aws (~> 2.0.1) fog-aws (~> 2.0.1)
fog-core (~> 1.44) fog-core (~> 1.44)
@ -1061,11 +1027,8 @@ DEPENDENCIES
gettext (~> 3.2.2) gettext (~> 3.2.2)
gettext_i18n_rails (~> 1.8.0) gettext_i18n_rails (~> 1.8.0)
gettext_i18n_rails_js (~> 1.3) gettext_i18n_rails_js (~> 1.3)
gitaly-proto (~> 0.118.1) gitaly-proto (~> 0.123.0)
github-linguist (~> 5.3.3)
github-markup (~> 1.7.0) github-markup (~> 1.7.0)
gitlab-flowdock-git-hook (~> 1.0.1)
gitlab-gollum-lib (~> 4.2)
gitlab-license (~> 1.0) gitlab-license (~> 1.0)
gitlab-markup (~> 1.6.4) gitlab-markup (~> 1.6.4)
gitlab-sidekiq-fetcher gitlab-sidekiq-fetcher
@ -1073,7 +1036,7 @@ DEPENDENCIES
gitlab_omniauth-ldap (~> 2.0.4) gitlab_omniauth-ldap (~> 2.0.4)
gon (~> 6.2) gon (~> 6.2)
google-api-client (~> 0.23) google-api-client (~> 0.23)
google-protobuf (= 3.5.1) google-protobuf (~> 3.6)
gpgme gpgme
grape (~> 1.1) grape (~> 1.1)
grape-entity (~> 0.7.1) grape-entity (~> 0.7.1)
@ -1081,7 +1044,7 @@ DEPENDENCIES
grape_logging (~> 1.7) grape_logging (~> 1.7)
graphiql-rails (~> 1.4.10) graphiql-rails (~> 1.4.10)
graphql (~> 1.8.0) graphql (~> 1.8.0)
grpc (~> 1.11.0) grpc (~> 1.15.0)
gssapi gssapi
haml_lint (~> 0.26.0) haml_lint (~> 0.26.0)
hamlit (~> 2.8.8) hamlit (~> 2.8.8)
@ -1111,7 +1074,6 @@ DEPENDENCIES
method_source (~> 0.8) method_source (~> 0.8)
mini_magick mini_magick
minitest (~> 5.7.0) minitest (~> 5.7.0)
mousetrap-rails (~> 1.4.6)
mysql2 (~> 0.4.10) mysql2 (~> 0.4.10)
net-ldap net-ldap
net-ntp net-ntp
@ -1146,6 +1108,8 @@ DEPENDENCIES
prometheus-client-mmap (~> 0.9.4) prometheus-client-mmap (~> 0.9.4)
pry-byebug (~> 3.4.1) pry-byebug (~> 3.4.1)
pry-rails (~> 0.3.4) pry-rails (~> 0.3.4)
puma (~> 3.12)
puma_worker_killer
rack-attack (~> 4.4.1) rack-attack (~> 4.4.1)
rack-cors (~> 1.0.0) rack-cors (~> 1.0.0)
rack-oauth2 (~> 1.2.1) rack-oauth2 (~> 1.2.1)
@ -1224,4 +1188,4 @@ DEPENDENCIES
wikicloth (= 0.8.1) wikicloth (= 0.8.1)
BUNDLED WITH BUNDLED WITH
1.16.4 1.17.1

View File

@ -164,15 +164,6 @@
}; };
version = "0.0.8"; version = "0.0.8";
}; };
asset_sync = {
dependencies = ["activemodel" "fog-core" "mime-types" "unf"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0wjd662yyg72dwwc6cav7gk2bjv9nkhn056f03h8zmyank451hdf";
type = "gem";
};
version = "2.4.0";
};
ast = { ast = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
@ -1154,22 +1145,13 @@
version = "1.3.0"; version = "1.3.0";
}; };
gitaly-proto = { gitaly-proto = {
dependencies = ["google-protobuf" "grpc"]; dependencies = ["grpc"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "19nyx75xnb3lsap6rr3p1avqsw1dcrm8d3ggmmihd58a9s762fki"; sha256 = "16b9sdaimhcda401z2s7apf0nz6y0lxs74xhkwlz4jzf6ms44mgg";
type = "gem"; type = "gem";
}; };
version = "0.118.1"; version = "0.123.0";
};
github-linguist = {
dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0kgashbqpypv329m63b85ri1dx0gppwd0832hvwh124lk5b19drk";
type = "gem";
};
version = "5.3.3";
}; };
github-markup = { github-markup = {
source = { source = {
@ -1179,33 +1161,6 @@
}; };
version = "1.7.0"; version = "1.7.0";
}; };
gitlab-flowdock-git-hook = {
dependencies = ["flowdock" "gitlab-grit" "multi_json"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1s3a10cdbh4xy732b92zcsm5zyc1lhi5v29d76j8mwbqmj11a2p8";
type = "gem";
};
version = "1.0.1";
};
gitlab-gollum-lib = {
dependencies = ["gemojione" "github-markup" "gollum-grit_adapter" "nokogiri" "rouge" "sanitize" "stringex"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "15h6a7lsfkm967d5dhjlbcm2lnl1l9akzvaq92qlxq40r5apw0kn";
type = "gem";
};
version = "4.2.7.5";
};
gitlab-grit = {
dependencies = ["charlock_holmes" "diff-lcs" "mime-types" "posix-spawn"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0xgs3l81ghlc5nm75n0pz7b2cj3hpscfq5iy27c483nnjn2v5mc4";
type = "gem";
};
version = "2.8.2";
};
gitlab-license = { gitlab-license = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
@ -1258,15 +1213,6 @@
}; };
version = "0.4.1"; version = "0.4.1";
}; };
gollum-grit_adapter = {
dependencies = ["gitlab-grit"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "0fcibm63v1afc0fj5rki0mm51m7nndil4cjcjjvkh3yigfn4nr4b";
type = "gem";
};
version = "1.0.1";
};
gon = { gon = {
dependencies = ["actionpack" "multi_json" "request_store"]; dependencies = ["actionpack" "multi_json" "request_store"];
source = { source = {
@ -1288,28 +1234,28 @@
google-protobuf = { google-protobuf = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0s8ijd9wdrkqwsb6nasrsv7f9i5im2nyax7f7jlb5y9vh8nl98qi"; sha256 = "134d3ini9ymdwxpz445m28ss9x0m6vcpijcdkzvgk4n538wdmppf";
type = "gem"; type = "gem";
}; };
version = "3.5.1"; version = "3.6.1";
}; };
googleapis-common-protos-types = { googleapis-common-protos-types = {
dependencies = ["google-protobuf"]; dependencies = ["google-protobuf"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0yf10s7w8wpa49hc86z7z2fkn9yz7j2njz0n8xmqb24ji090z4ck"; sha256 = "01ds7g01pxqm3mg283xjzy0lhhvvhvzw3m7gf7szd1r7la4wf0qq";
type = "gem"; type = "gem";
}; };
version = "1.0.1"; version = "1.0.2";
}; };
googleauth = { googleauth = {
dependencies = ["faraday" "jwt" "logging" "memoist" "multi_json" "os" "signet"]; dependencies = ["faraday" "jwt" "memoist" "multi_json" "os" "signet"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "08z4zfj9cwry13y8c2w5p4xylyslxxjq4wahd95bk1ddl5pknd4f"; sha256 = "1747p1dhpvz76i98xnjrvaj785y1232svm0nc8g9by6pz835gp2l";
type = "gem"; type = "gem";
}; };
version = "0.6.2"; version = "0.6.6";
}; };
gpgme = { gpgme = {
dependencies = ["mini_portile2"]; dependencies = ["mini_portile2"];
@ -1374,13 +1320,13 @@
version = "1.8.1"; version = "1.8.1";
}; };
grpc = { grpc = {
dependencies = ["google-protobuf" "googleapis-common-protos-types" "googleauth"]; dependencies = ["google-protobuf" "googleapis-common-protos-types"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1is4czi3i7y6zyxzyrpsma1z91axmc0jz2ngr6ckixqd3629npkz"; sha256 = "0m2wspnm1cfkmhlbp7yqv5bb4vsfh246cm0aavxra67aw4l8plhb";
type = "gem"; type = "gem";
}; };
version = "1.11.0"; version = "1.15.0";
}; };
gssapi = { gssapi = {
dependencies = ["ffi"]; dependencies = ["ffi"];
@ -1762,14 +1708,6 @@
}; };
version = "8.9.2"; version = "8.9.2";
}; };
little-plugger = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1frilv82dyxnlg8k1jhrvyd73l6k17mxc5vwxx080r4x1p04gwym";
type = "gem";
};
version = "1.1.4";
};
locale = { locale = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
@ -1778,15 +1716,6 @@
}; };
version = "2.1.2"; version = "2.1.2";
}; };
logging = {
dependencies = ["little-plugger" "multi_json"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "06j6iaj89h9jhkx1x3hlswqrfnqds8br05xb1qra69dpvbdmjcwn";
type = "gem";
};
version = "2.2.2";
};
lograge = { lograge = {
dependencies = ["actionpack" "activesupport" "railties" "request_store"]; dependencies = ["actionpack" "activesupport" "railties" "request_store"];
source = { source = {
@ -1904,14 +1833,6 @@
}; };
version = "5.7.0"; version = "5.7.0";
}; };
mousetrap-rails = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "00n13r5pwrk4vq018128vcfh021dw0fa2bk4pzsv0fslfm8ayp2m";
type = "gem";
};
version = "1.4.6";
};
msgpack = { msgpack = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
@ -2235,10 +2156,10 @@
os = { os = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1llv8w3g2jwggdxr5a5cjkrnbbfnvai3vxacxxc0fy84xmz3hymz"; sha256 = "1s401gvhqgs2r8hh43ia205mxsy1wc0ib4k76wzkdpspfcnfr1rk";
type = "gem"; type = "gem";
}; };
version = "0.9.6"; version = "1.0.0";
}; };
parallel = { parallel = {
source = { source = {
@ -2252,10 +2173,10 @@
dependencies = ["ast"]; dependencies = ["ast"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1af7aa1c2npi8dkshgm3f8qyacabm94ckrdz7b8vd3f8zzswqzp9"; sha256 = "1zjk0w1kjj3xk8ymy1430aa4gg0k8ckphfj88br6il4pm83f0n1f";
type = "gem"; type = "gem";
}; };
version = "2.5.1.0"; version = "2.5.3.0";
}; };
parslet = { parslet = {
source = { source = {
@ -2336,14 +2257,6 @@
}; };
version = "1.0.1"; version = "1.0.1";
}; };
posix-spawn = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1pmxmpins57qrbr31bs3bm7gidhaacmrp4md6i962gvpq4gyfcjw";
type = "gem";
};
version = "0.3.13";
};
powerpack = { powerpack = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
@ -2430,6 +2343,23 @@
}; };
version = "3.0.3"; version = "3.0.3";
}; };
puma = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "1k7dqxnq0dnf5rxkgs9rknclkn3ah7lsdrk6nrqxla8qzy31wliq";
type = "gem";
};
version = "3.12.0";
};
puma_worker_killer = {
dependencies = ["get_process_mem" "puma"];
source = {
remotes = ["https://rubygems.org"];
sha256 = "1m08qi8mxpp20zqqjj9yzcrx0sn29n5fn5avlf1lnl0n7qa9c03i";
type = "gem";
};
version = "0.1.0";
};
pyu-ruby-sasl = { pyu-ruby-sasl = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
@ -3037,10 +2967,10 @@
rugged = { rugged = {
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "1y6k5yrfmhc1v4albbpa3xzl28vk5lric3si8ada28sp9mmk2x72"; sha256 = "1jv4nw9hvlxp8hhhlllrfcznki82i50fp1sj65zsjllfl2bvz8x6";
type = "gem"; type = "gem";
}; };
version = "0.27.4"; version = "0.27.5";
}; };
safe_yaml = { safe_yaml = {
source = { source = {
@ -3196,10 +3126,10 @@
dependencies = ["addressable" "faraday" "jwt" "multi_json"]; dependencies = ["addressable" "faraday" "jwt" "multi_json"];
source = { source = {
remotes = ["https://rubygems.org"]; remotes = ["https://rubygems.org"];
sha256 = "0js81lxqirdza8gf2f6avh11fny49ygmxfi1qx7jp8l9wrhznbkv"; sha256 = "1f5d3bz5bjc4b0r2jmqd15qf07lgsqkgd25f0h46jihrf9l5fsi4";
type = "gem"; type = "gem";
}; };
version = "0.8.1"; version = "0.11.0";
}; };
simple_po_parser = { simple_po_parser = {
source = { source = {
@ -3320,14 +3250,6 @@
}; };
version = "0.5.1"; version = "0.5.1";
}; };
stringex = {
source = {
remotes = ["https://rubygems.org"];
sha256 = "0c5dfrjzkskzfsdvwsviq4111rwwpbk9022nxwdidz014mky5vi1";
type = "gem";
};
version = "2.8.4";
};
sys-filesystem = { sys-filesystem = {
dependencies = ["ffi"]; dependencies = ["ffi"];
source = { source = {

View File

@ -9,41 +9,41 @@ let
# plex-media-player is updated, the versions for these files are changed, # plex-media-player is updated, the versions for these files are changed,
# so the build IDs (and SHAs) below will need to be updated! # so the build IDs (and SHAs) below will need to be updated!
depSrcs = rec { depSrcs = rec {
webClientBuildId = "56-23317d81e49651"; webClientBuildId = "85-88b3ac67015f76";
webClientDesktopBuildId = "3.57.1-1e49651"; webClientDesktopBuildId = "3.77.2-7015f76";
webClientTvBuildId = "3.60.1-23317d8"; webClientTvBuildId = "3.78.0-88b3ac6";
webClient = fetchurl { webClient = fetchurl {
url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/buildid.cmake"; url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/buildid.cmake";
sha256 = "1a48a65zzdx347kfnxriwkb0yjlhvn2g8jkda5pz10r3lwja0gbi"; sha256 = "0j7i4yr95ljw9cwyaygld41j7yvndj3dza3cbydv4x8mh2hn05v1";
}; };
webClientDesktopHash = fetchurl { webClientDesktopHash = fetchurl {
url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-desktop-${webClientDesktopBuildId}.tar.xz.sha1"; url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-desktop-${webClientDesktopBuildId}.tar.xz.sha1";
sha256 = "04wdgpsh33y8hyjhjrfw6ymf9g002jny7hvhld4xp33lwxhd2j5w"; sha256 = "106kx9ahz7jgskpjraff2g235n1whwvf18yw0nmp5dwr9ys9h8jp";
}; };
webClientDesktop = fetchurl { webClientDesktop = fetchurl {
url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-desktop-${webClientDesktopBuildId}.tar.xz"; url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-desktop-${webClientDesktopBuildId}.tar.xz";
sha256 = "1asw9f84z9sm3w7ifnc7j631j84rgx23c6msmn2dnw48ckv3bj2z"; sha256 = "0h23h3fd3w43glvnhrg9qiajs0ql490kb00g3i4cpi29hy1ky45r";
}; };
webClientTvHash = fetchurl { webClientTvHash = fetchurl {
url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-tv-${webClientTvBuildId}.tar.xz.sha1"; url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-tv-${webClientTvBuildId}.tar.xz.sha1";
sha256 = "0d1hsvmpwczwx442f8qdvfr8c3w84630j9qwpg2y4qm423sgdvja"; sha256 = "05zk2zpmcdf276ys5zyirsmvhvyvz99fa6hlgymma8ql6w67133r";
}; };
webClientTv = fetchurl { webClientTv = fetchurl {
url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-tv-${webClientTvBuildId}.tar.xz"; url = "https://artifacts.plex.tv/web-client-pmp/${webClientBuildId}/web-client-tv-${webClientTvBuildId}.tar.xz";
sha256 = "1ih3l5paf1jl68b1xq3iqqmvs3m07fybz57hcz4f78v0gwq2kryq"; sha256 = "1cflpgaf4kyj6ccqa11j28rkp8s7zlbnid7s00m5n2c907dihmw2";
}; };
}; };
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "plex-media-player-${version}"; name = "plex-media-player-${version}";
version = "2.14.1.880"; version = "2.23.0.920";
vsnHash = "301a4b6c"; vsnHash = "5bc1a2e5";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "plexinc"; owner = "plexinc";
repo = "plex-media-player"; repo = "plex-media-player";
rev = "v${version}-${vsnHash}"; rev = "v${version}-${vsnHash}";
sha256 = "0xz41r697vl6s3qvy6jwriv3pb9cfy61j6sydvdq121x5a0jnh9a"; sha256 = "1jzlyj32gr3ar89qnk8slazrbchqkjfx9dchzkzfvpi6742v9igm";
}; };
nativeBuildInputs = [ pkgconfig cmake python3 ]; nativeBuildInputs = [ pkgconfig cmake python3 ];

View File

@ -188,22 +188,27 @@ rec {
# Use the name and tag to get the parent ID field. # Use the name and tag to get the parent ID field.
parentID=$(jshon -e $fromImageName -e $fromImageTag -u \ parentID=$(jshon -e $fromImageName -e $fromImageTag -u \
< image/repositories) < image/repositories)
cat ./image/manifest.json | jq -r '.[0].Layers | .[]' > layer-list
else
touch layer-list
fi fi
# Unpack all of the parent layers into the image. # Unpack all of the parent layers into the image.
lowerdir="" lowerdir=""
while [[ -n "$parentID" ]]; do extractionID=0
echo "Unpacking layer $parentID" for layerTar in $(cat layer-list); do
mkdir -p image/$parentID/layer echo "Unpacking layer $layerTar"
tar -C image/$parentID/layer -xpf image/$parentID/layer.tar extractionID=$((extractionID + 1))
rm image/$parentID/layer.tar
find image/$parentID/layer -name ".wh.*" -exec bash -c 'name="$(basename {}|sed "s/^.wh.//")"; mknod "$(dirname {})/$name" c 0 0; rm {}' \; mkdir -p image/$extractionID/layer
tar -C image/$extractionID/layer -xpf $layerTar
rm $layerTar
find image/$extractionID/layer -name ".wh.*" -exec bash -c 'name="$(basename {}|sed "s/^.wh.//")"; mknod "$(dirname {})/$name" c 0 0; rm {}' \;
# Get the next lower directory and continue the loop. # Get the next lower directory and continue the loop.
lowerdir=$lowerdir''${lowerdir:+:}image/$parentID/layer lowerdir=$lowerdir''${lowerdir:+:}image/$extractionID/layer
parentID=$(cat image/$parentID/json \
| (jshon -e parent -u 2>/dev/null || true))
done done
mkdir work mkdir work
@ -673,6 +678,9 @@ rec {
if [[ -n "$fromImage" ]]; then if [[ -n "$fromImage" ]]; then
echo "Unpacking base image..." echo "Unpacking base image..."
tar -C image -xpf "$fromImage" tar -C image -xpf "$fromImage"
cat ./image/manifest.json | jq -r '.[0].Layers | .[]' > layer-list
# Do not import the base image configuration and manifest # Do not import the base image configuration and manifest
chmod a+w image image/*.json chmod a+w image image/*.json
rm -f image/*.json rm -f image/*.json
@ -690,6 +698,8 @@ rec {
for l in image/*/layer.tar; do for l in image/*/layer.tar; do
ls_tar $l >> baseFiles ls_tar $l >> baseFiles
done done
else
touch layer-list
fi fi
chmod -R ug+rw image chmod -R ug+rw image
@ -742,17 +752,23 @@ rec {
# Use the temp folder we've been working on to create a new image. # Use the temp folder we've been working on to create a new image.
mv temp image/$layerID mv temp image/$layerID
# Add the new layer ID to the beginning of the layer list
(
# originally this used `sed -i "1i$layerID" layer-list`, but
# would fail if layer-list was completely empty.
echo "$layerID/layer.tar"
cat layer-list
) | ${pkgs.moreutils}/bin/sponge layer-list
# Create image json and image manifest # Create image json and image manifest
imageJson=$(cat ${baseJson} | jq ". + {\"rootfs\": {\"diff_ids\": [], \"type\": \"layers\"}}") imageJson=$(cat ${baseJson} | jq ". + {\"rootfs\": {\"diff_ids\": [], \"type\": \"layers\"}}")
manifestJson=$(jq -n "[{\"RepoTags\":[\"$imageName:$imageTag\"]}]") manifestJson=$(jq -n "[{\"RepoTags\":[\"$imageName:$imageTag\"]}]")
currentID=$layerID
while [[ -n "$currentID" ]]; do for layerTar in $(cat ./layer-list); do
layerChecksum=$(sha256sum image/$currentID/layer.tar | cut -d ' ' -f1) layerChecksum=$(sha256sum image/$layerTar | cut -d ' ' -f1)
imageJson=$(echo "$imageJson" | jq ".history |= [{\"created\": \"$(jq -r .created ${baseJson})\"}] + .") imageJson=$(echo "$imageJson" | jq ".history |= [{\"created\": \"$(jq -r .created ${baseJson})\"}] + .")
imageJson=$(echo "$imageJson" | jq ".rootfs.diff_ids |= [\"sha256:$layerChecksum\"] + .") imageJson=$(echo "$imageJson" | jq ".rootfs.diff_ids |= [\"sha256:$layerChecksum\"] + .")
manifestJson=$(echo "$manifestJson" | jq ".[0].Layers |= [\"$currentID/layer.tar\"] + .") manifestJson=$(echo "$manifestJson" | jq ".[0].Layers |= [\"$layerTar\"] + .")
currentID=$(cat image/$currentID/json | (jshon -e parent -u 2>/dev/null || true))
done done
imageJsonChecksum=$(echo "$imageJson" | sha256sum | cut -d ' ' -f1) imageJsonChecksum=$(echo "$imageJson" | sha256sum | cut -d ' ' -f1)

View File

@ -156,5 +156,24 @@ rec {
name = "layered-image"; name = "layered-image";
tag = "latest"; tag = "latest";
config.Cmd = [ "${pkgs.hello}/bin/hello" ]; config.Cmd = [ "${pkgs.hello}/bin/hello" ];
contents = [ pkgs.hello pkgs.bash pkgs.coreutils ];
};
# 11. Create an image on top of a layered image
layered-on-top = pkgs.dockerTools.buildImage {
name = "layered-on-top";
tag = "latest";
fromImage = layered-image;
extraCommands = ''
mkdir ./example-output
chmod 777 ./example-output
'';
config = {
Env = [ "PATH=${pkgs.coreutils}/bin/" ];
WorkingDir = "/example-output";
Cmd = [
"${pkgs.bash}/bin/bash" "-c" "echo hello > foo; cat foo"
];
};
}; };
} }

View File

@ -71,6 +71,9 @@ in ''
export CARGO_PKG_VERSION_MAJOR=${builtins.elemAt version 0} export CARGO_PKG_VERSION_MAJOR=${builtins.elemAt version 0}
export CARGO_PKG_VERSION_MINOR=${builtins.elemAt version 1} export CARGO_PKG_VERSION_MINOR=${builtins.elemAt version 1}
export CARGO_PKG_VERSION_PATCH=${builtins.elemAt version 2} export CARGO_PKG_VERSION_PATCH=${builtins.elemAt version 2}
export NUM_JOBS=1
export RUSTC="rustc"
export RUSTDOC="rustdoc"
if [[ -n "${versionPre}" ]]; then if [[ -n "${versionPre}" ]]; then
export CARGO_PKG_VERSION_PRE="${versionPre}" export CARGO_PKG_VERSION_PRE="${versionPre}"
fi fi

View File

@ -2,6 +2,7 @@
{ {
kernel = stdenv.hostPlatform.parsed.kernel.name; kernel = stdenv.hostPlatform.parsed.kernel.name;
abi = stdenv.hostPlatform.parsed.abi.name; abi = stdenv.hostPlatform.parsed.abi.name;
cpu = stdenv.hostPlatform.parsed.cpu.name;
updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions); updateFeatures = f: up: functions: builtins.deepSeq f (lib.lists.foldl' (features: fun: fun features) (lib.attrsets.recursiveUpdate f up) functions);
mapFeatures = features: map (fun: fun { features = features; }); mapFeatures = features: map (fun: fun { features = features; });
mkFeatures = feat: lib.lists.foldl (features: featureName: mkFeatures = feat: lib.lists.foldl (features: featureName:
@ -11,10 +12,12 @@
features features
) [] (builtins.attrNames feat); ) [] (builtins.attrNames feat);
include = includedFiles: src: builtins.filterSource (path: type: include = includedFiles: src: builtins.filterSource (path: type:
lib.lists.any (f: lib.lists.any (f:
let p = toString (src + ("/" + f)); in let p = toString (src + ("/" + f));
(path == p) || (type == "directory" && lib.strings.hasPrefix path p) suff = lib.strings.removePrefix p path;
) includedFiles in
suff == "" || (lib.strings.hasPrefix "/" suff)
) includedFiles
) src; ) src;
exclude = excludedFiles: src: builtins.filterSource (path: type: exclude = excludedFiles: src: builtins.filterSource (path: type:
lib.lists.all (f: lib.lists.all (f:

View File

@ -20,9 +20,11 @@ crateName: metadata:
mkdir -p $out/lib mkdir -p $out/lib
cp -r target/build/* $out/lib # */ cp -r target/build/* $out/lib # */
fi fi
if [[ "$(ls -A target/bin)" ]]; then if [[ -d target/bin ]]; then
mkdir -p $out/bin if [[ "$(ls -A target/bin)" ]]; then
cp -P target/bin/* $out/bin # */ mkdir -p $out/bin
cp -P target/bin/* $out/bin # */
fi
fi fi
runHook postInstall runHook postInstall
'' ''

View File

@ -1,4 +1,4 @@
# Generated by carnix 0.8.11: carnix generate-nix # Generated by carnix 0.9.1: carnix generate-nix
{ lib, buildPlatform, buildRustCrate, buildRustCrateHelpers, cratesIO, fetchgit }: { lib, buildPlatform, buildRustCrate, buildRustCrateHelpers, cratesIO, fetchgit }:
with buildRustCrateHelpers; with buildRustCrateHelpers;
let inherit (lib.lists) fold; let inherit (lib.lists) fold;
@ -6,7 +6,7 @@ let inherit (lib.lists) fold;
in in
let crates = cratesIO; in let crates = cratesIO; in
rec { rec {
carnix = crates.crates.carnix."0.8.11" deps; carnix = crates.crates.carnix."0.9.2" deps;
__all = [ (carnix {}) ]; __all = [ (carnix {}) ];
deps.aho_corasick."0.6.8" = { deps.aho_corasick."0.6.8" = {
memchr = "2.1.0"; memchr = "2.1.0";
@ -42,7 +42,7 @@ rec {
arrayvec = "0.4.7"; arrayvec = "0.4.7";
constant_time_eq = "0.1.3"; constant_time_eq = "0.1.3";
}; };
deps.carnix."0.8.11" = { deps.carnix."0.9.2" = {
clap = "2.32.0"; clap = "2.32.0";
dirs = "1.0.4"; dirs = "1.0.4";
env_logger = "0.5.13"; env_logger = "0.5.13";
@ -51,7 +51,6 @@ rec {
log = "0.4.5"; log = "0.4.5";
nom = "3.2.1"; nom = "3.2.1";
regex = "1.0.5"; regex = "1.0.5";
rusqlite = "0.14.0";
serde = "1.0.80"; serde = "1.0.80";
serde_derive = "1.0.80"; serde_derive = "1.0.80";
serde_json = "1.0.32"; serde_json = "1.0.32";
@ -112,16 +111,9 @@ rec {
version_check = "0.1.5"; version_check = "0.1.5";
}; };
deps.libc."0.2.43" = {}; deps.libc."0.2.43" = {};
deps.libsqlite3_sys."0.9.3" = {
pkg_config = "0.3.14";
};
deps.linked_hash_map."0.4.2" = {};
deps.log."0.4.5" = { deps.log."0.4.5" = {
cfg_if = "0.1.6"; cfg_if = "0.1.6";
}; };
deps.lru_cache."0.1.1" = {
linked_hash_map = "0.4.2";
};
deps.memchr."1.0.2" = { deps.memchr."1.0.2" = {
libc = "0.2.43"; libc = "0.2.43";
}; };
@ -134,7 +126,6 @@ rec {
deps.nom."3.2.1" = { deps.nom."3.2.1" = {
memchr = "1.0.2"; memchr = "1.0.2";
}; };
deps.pkg_config."0.3.14" = {};
deps.proc_macro2."0.4.20" = { deps.proc_macro2."0.4.20" = {
unicode_xid = "0.1.0"; unicode_xid = "0.1.0";
}; };
@ -170,12 +161,6 @@ rec {
deps.remove_dir_all."0.5.1" = { deps.remove_dir_all."0.5.1" = {
winapi = "0.3.6"; winapi = "0.3.6";
}; };
deps.rusqlite."0.14.0" = {
bitflags = "1.0.4";
libsqlite3_sys = "0.9.3";
lru_cache = "0.1.1";
time = "0.1.40";
};
deps.rustc_demangle."0.1.9" = {}; deps.rustc_demangle."0.1.9" = {};
deps.ryu."0.2.6" = {}; deps.ryu."0.2.6" = {};
deps.scoped_threadpool."0.1.9" = {}; deps.scoped_threadpool."0.1.9" = {};
@ -220,11 +205,6 @@ rec {
deps.thread_local."0.3.6" = { deps.thread_local."0.3.6" = {
lazy_static = "1.1.0"; lazy_static = "1.1.0";
}; };
deps.time."0.1.40" = {
libc = "0.2.43";
redox_syscall = "0.1.40";
winapi = "0.3.6";
};
deps.toml."0.4.8" = { deps.toml."0.4.8" = {
serde = "1.0.80"; serde = "1.0.80";
}; };
@ -232,7 +212,6 @@ rec {
deps.unicode_width."0.1.5" = {}; deps.unicode_width."0.1.5" = {};
deps.unicode_xid."0.1.0" = {}; deps.unicode_xid."0.1.0" = {};
deps.utf8_ranges."1.0.1" = {}; deps.utf8_ranges."1.0.1" = {};
deps.vcpkg."0.2.6" = {};
deps.vec_map."0.8.1" = {}; deps.vec_map."0.8.1" = {};
deps.version_check."0.1.5" = {}; deps.version_check."0.1.5" = {};
deps.winapi."0.3.6" = { deps.winapi."0.3.6" = {

File diff suppressed because it is too large Load Diff

View File

@ -8,19 +8,54 @@ rec {
# Examples: # Examples:
# writeBash = makeScriptWriter { interpreter = "${pkgs.bash}/bin/bash"; } # writeBash = makeScriptWriter { interpreter = "${pkgs.bash}/bin/bash"; }
# makeScriptWriter { interpreter = "${pkgs.dash}/bin/dash"; } "hello" "echo hello world" # makeScriptWriter { interpreter = "${pkgs.dash}/bin/dash"; } "hello" "echo hello world"
makeScriptWriter = { interpreter, check ? "" }: name: text: makeScriptWriter = { interpreter, check ? "" }: nameOrPath: content:
assert lib.or (types.path.check name) (builtins.match "([0-9A-Za-z._])[0-9A-Za-z._-]*" name != null); assert lib.or (types.path.check nameOrPath) (builtins.match "([0-9A-Za-z._])[0-9A-Za-z._-]*" nameOrPath != null);
assert lib.or (types.path.check content) (types.string.check content);
let
name = last (builtins.split "/" nameOrPath);
in
pkgs.writeTextFile { pkgs.runCommand name (if (types.string.check content) then {
name = last (builtins.split "/" name); inherit content interpreter;
executable = true; passAsFile = [ "content" ];
destination = if types.path.check name then name else ""; } else {
text = '' inherit interpreter;
#! ${interpreter} contentPath = content;
${text} }) ''
''; echo "#! $interpreter" > $out
checkPhase = check; cat "$contentPath" >> $out
}; chmod +x $out
${optionalString (types.path.check nameOrPath) ''
mv $out tmp
mkdir -p $out/$(dirname "${nameOrPath}")
mv tmp $out/${nameOrPath}
''}
'';
# Base implementation for compiled executables.
# Takes a compile script, which in turn takes the name as an argument.
#
# Examples:
# writeSimpleC = makeBinWriter { compileScript = name: "gcc -o $out $contentPath"; }
makeBinWriter = { compileScript }: nameOrPath: content:
assert lib.or (types.path.check nameOrPath) (builtins.match "([0-9A-Za-z._])[0-9A-Za-z._-]*" nameOrPath != null);
assert lib.or (types.path.check content) (types.string.check content);
let
name = last (builtins.split "/" nameOrPath);
in
pkgs.runCommand name (if (types.string.check content) then {
inherit content;
passAsFile = [ "content" ];
} else {
contentPath = content;
}) ''
${compileScript}
${optionalString (types.path.check nameOrPath) ''
mv $out tmp
mkdir -p $out/$(dirname "${nameOrPath}")
mv tmp $out/${nameOrPath}
''}
'';
# Like writeScript but the first line is a shebang to bash # Like writeScript but the first line is a shebang to bash
# #
@ -48,41 +83,33 @@ rec {
# return 0; # return 0;
# } # }
# '' # ''
writeC = name: { writeC = name: { libraries ? [] }:
libraries ? [], makeBinWriter {
}: text: pkgs.runCommand name { compileScript = ''
inherit text; PATH=${makeBinPath [
buildInputs = [ pkgs.pkgconfig ] ++ libraries; pkgs.binutils-unwrapped
passAsFile = [ "text" ]; pkgs.coreutils
} '' pkgs.gcc
PATH=${makeBinPath [ pkgs.pkgconfig
pkgs.binutils-unwrapped ]}
pkgs.coreutils gcc \
pkgs.gcc ${optionalString (libraries != [])
pkgs.pkgconfig "$(pkgs.pkgconfig}/bin/pkg-config --cflags --libs ${
]} concatMapStringsSep " " (lib: escapeShellArg (builtins.parseDrvName lib.name).name) (libraries)
mkdir -p "$(dirname "$out")" })"
gcc \ } \
${optionalString (libraries != []) -O \
"$(pkg-config --cflags --libs ${ -o "$out" \
concatMapStringsSep " " (lib: escapeShellArg (builtins.parseDrvName lib.name).name) (libraries) -Wall \
})" -x c \
} \ "$contentPath"
-O \ strip --strip-unneeded "$out"
-o "$out" \ '';
-Wall \ } name;
-x c \
"$textPath"
strip --strip-unneeded "$out"
'';
# writeCBin takes the same arguments as writeC but outputs a directory (like writeScriptBin) # writeCBin takes the same arguments as writeC but outputs a directory (like writeScriptBin)
writeCBin = name: spec: text: writeCBin = name:
pkgs.runCommand name { writeC "/bin/${name}";
} ''
mkdir -p $out/bin
ln -s ${writeC name spec text} $out/bin/${name}
'';
# Like writeScript but the first line is a shebang to dash # Like writeScript but the first line is a shebang to dash
# #
@ -103,29 +130,25 @@ rec {
# #
# Example: # Example:
# writeHaskell "missiles" { libraries = [ pkgs.haskellPackages.acme-missiles ]; } '' # writeHaskell "missiles" { libraries = [ pkgs.haskellPackages.acme-missiles ]; } ''
# Import Acme.Missiles # import Acme.Missiles
# #
# main = launchMissiles # main = launchMissiles
# ''; # '';
writeHaskell = name: { writeHaskell = name: {
libraries ? [], libraries ? [],
ghc ? pkgs.ghc ghc ? pkgs.ghc
}: text: pkgs.runCommand name { }:
inherit text; makeBinWriter {
passAsFile = [ "text" ]; compileScript = ''
} '' cp $contentPath tmp.hs
cp $textPath ${name}.hs ${ghc.withPackages (_: libraries )}/bin/ghc tmp.hs
${ghc.withPackages (_: libraries )}/bin/ghc ${name}.hs mv tmp $out
cp ${name} $out '';
''; } name;
# writeHaskellBin takes the same arguments as writeHaskell but outputs a directory (like writeScriptBin) # writeHaskellBin takes the same arguments as writeHaskell but outputs a directory (like writeScriptBin)
writeHaskellBin = name: spec: text: writeHaskellBin = name:
pkgs.runCommand name { writeHaskell "/bin/${name}";
} ''
mkdir -p $out/bin
ln -s ${writeHaskell name spec text} $out/bin/${name}
'';
# writeJS takes a name an attributeset with libraries and some JavaScript sourcecode and # writeJS takes a name an attributeset with libraries and some JavaScript sourcecode and
# returns an executable # returns an executable
@ -137,7 +160,7 @@ rec {
# var result = UglifyJS.minify(code); # var result = UglifyJS.minify(code);
# console.log(result.code); # console.log(result.code);
# '' # ''
writeJS = name: { libraries ? [] }: text: writeJS = name: { libraries ? [] }: content:
let let
node-env = pkgs.buildEnv { node-env = pkgs.buildEnv {
name = "node"; name = "node";
@ -148,7 +171,7 @@ rec {
}; };
in writeDash name '' in writeDash name ''
export NODE_PATH=${node-env}/lib/node_modules export NODE_PATH=${node-env}/lib/node_modules
exec ${pkgs.nodejs}/bin/node ${pkgs.writeText "js" text} exec ${pkgs.nodejs}/bin/node ${pkgs.writeText "js" content}
''; '';
# writeJSBin takes the same arguments as writeJS but outputs a directory (like writeScriptBin) # writeJSBin takes the same arguments as writeJS but outputs a directory (like writeScriptBin)

View File

@ -1,4 +1,4 @@
{ stdenv, lib, runCommand, haskellPackages, nodePackages, perlPackages, python2Packages, python3Packages, writers}: { stdenv, lib, runCommand, haskellPackages, nodePackages, perlPackages, python2Packages, python3Packages, writers, writeText }:
with writers; with writers;
let let
@ -128,6 +128,24 @@ let
''; '';
}; };
path = {
bash = writeBash "test_bash" (writeText "test" ''
if [[ "test" == "test" ]]; then echo "success"; fi
'');
haskell = writeHaskell "test_haskell" { libraries = [ haskellPackages.acme-default ]; } (writeText "test" ''
import Data.Default
int :: Int
int = def
main :: IO ()
main = case int of
18871 -> putStrLn $ id "success"
_ -> print "fail"
'');
};
writeTest = expectedValue: test: writeTest = expectedValue: test:
writeDash "test-writers" '' writeDash "test-writers" ''
if test "$(${test})" != "${expectedValue}"; then if test "$(${test})" != "${expectedValue}"; then
@ -142,6 +160,7 @@ in runCommand "test-writers" {
} '' } ''
${lib.concatMapStringsSep "\n" (test: writeTest "success" "${test}/bin/test_writers") (lib.attrValues bin)} ${lib.concatMapStringsSep "\n" (test: writeTest "success" "${test}/bin/test_writers") (lib.attrValues bin)}
${lib.concatMapStringsSep "\n" (test: writeTest "success" "${test}") (lib.attrValues simple)} ${lib.concatMapStringsSep "\n" (test: writeTest "success" "${test}") (lib.attrValues simple)}
${lib.concatMapStringsSep "\n" (test: writeTest "success" "${test}") (lib.attrValues path)}
echo 'nix-writers successfully tested' >&2 echo 'nix-writers successfully tested' >&2
touch $out touch $out

View File

@ -2,11 +2,14 @@
let let
mkNoto = { name, weights, sha256, }: mkNoto = { name, weights, sha256, }:
let version = "2017-10-24-phase3-second-cleanup"; in let
version = "2018-11-30";
ref = "85e78f831469323c85847e23f95026c894159135";
in
fetchzip { fetchzip {
name = "${name}-${version}"; name = "${name}-${version}";
inherit sha256; inherit sha256;
url = "https://github.com/googlei18n/noto-fonts/archive/v${version}.zip"; url = "https://github.com/googlei18n/noto-fonts/archive/${ref}.zip";
postFetch = '' postFetch = ''
unzip $downloadedFile unzip $downloadedFile
mkdir -p $out/share/fonts/noto mkdir -p $out/share/fonts/noto
@ -47,12 +50,12 @@ rec {
noto-fonts = mkNoto { noto-fonts = mkNoto {
name = "noto-fonts"; name = "noto-fonts";
weights = "{Regular,Bold,Light,Italic,BoldItalic,LightItalic}"; weights = "{Regular,Bold,Light,Italic,BoldItalic,LightItalic}";
sha256 = "1dmarbsfank6xzzx31h5jdv6n99rzblqyb1iqjkpll6dl3627pnb"; sha256 = "0kvq5ldip2ra2njlxg9fxj46nfqzq5l3n359d3kwfbsld7hixm2d";
}; };
noto-fonts-extra = mkNoto { noto-fonts-extra = mkNoto {
name = "noto-fonts-extra"; name = "noto-fonts-extra";
weights = "{Black,Condensed,Extra,Medium,Semi,Thin}*"; weights = "{Black,Condensed,Extra,Medium,Semi,Thin}*";
sha256 = "1lih49bqmsmblczvbl7qb1bhn0bq8v5xkr991b3gjghpdkx584bc"; sha256 = "0l94aiy1b3qirg2mmbagbr0014vqk32za79pzck1acy2hgy716kq";
}; };
noto-fonts-cjk = let version = "1.004"; in fetchzip { noto-fonts-cjk = let version = "1.004"; in fetchzip {
name = "noto-fonts-cjk-${version}"; name = "noto-fonts-cjk-${version}";

View File

@ -0,0 +1,33 @@
{ stdenv, fetchFromGitLab }:
stdenv.mkDerivation rec {
pname = "open-sans";
version = "1.11";
src = fetchFromGitLab {
domain = "salsa.debian.org";
owner = "fonts-team";
repo = "fonts-open-sans";
rev = "debian%2F1.11-1"; # URL-encoded form of "debian/1.11-1" tag
sha256 = "077hkvpmk3ghbqyb901w43b2m2a27lh8ddasyx1x7pdwyr2bjjl2";
};
dontBuild = true;
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp *.ttf $out/share/fonts/truetype
'';
meta = with stdenv.lib; {
description = "Open Sans fonts";
longDescription = ''
Open Sans is a humanist sans serif typeface designed by Steve Matteson,
Type Director of Ascender Corp.
'';
homepage = https://www.opensans.com;
license = licenses.asl20;
platforms = platforms.all;
maintainers = [ maintainers.worldofpeace ];
};
}

View File

@ -1,27 +0,0 @@
{stdenv, fetchzip}:
fetchzip {
name = "opensans-ttf-20140617";
url = "http://web.archive.org/web/20150801161609/https://hexchain.org/pub/archlinux/ttf-opensans/opensans.tar.gz";
postFetch = ''
tar -xzf $downloadedFile
mkdir -p $out/share/fonts/truetype
cp *.ttf $out/share/fonts/truetype
'';
sha256 = "0zpzqw5y9g5jk7xjcxa12ds60ckvxmpw8p7bnkkmad53s94yr5wf";
meta = {
description = "Open Sans fonts";
longDescription = ''
Open Sans is a humanist sans serif typeface designed by Steve Matteson,
Type Director of Ascender Corp.
'';
homepage = https://en.wikipedia.org/wiki/Open_Sans;
license = stdenv.lib.licenses.asl20;
platforms = stdenv.lib.platforms.all;
maintainers = [ ];
};
}

View File

@ -3,21 +3,21 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
pname = "zafiro-icons"; pname = "zafiro-icons";
version = "0.7.2"; version = "0.7.3";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "zayronxio"; owner = "zayronxio";
repo = pname; repo = pname;
rev = "v${version}"; rev = "v${version}";
sha256 = "1rs3wazmvidlkig5q7x1n9nz7jhfq18wps3wsplax9zcdy0hv248"; sha256 = "02q3wcklmqdy4ycyly7477q98y3mkgnpr7c78jqxvy2yr486wwyx";
}; };
nativeBuildInputs = [ gtk3 ]; nativeBuildInputs = [ gtk3 ];
installPhase = '' installPhase = ''
mkdir -p $out/share/icons/Zafiro mkdir -p $out/share/icons/Zafiro-icons
cp -a * $out/share/icons/Zafiro cp -a * $out/share/icons/Zafiro-icons
gtk-update-icon-cache "$out"/share/icons/Zafiro gtk-update-icon-cache "$out"/share/icons/Zafiro-icons
''; '';
meta = with stdenv.lib; { meta = with stdenv.lib; {

View File

@ -1,6 +1,6 @@
{ fetchurl }: { fetchurl }:
fetchurl { fetchurl {
url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/95366a34cd5c9b47444ac819562fff2f23d7d753.tar.gz"; url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/56099dd4eb61f963da8edefdd19fd6a2e4371d95.tar.gz";
sha256 = "184qrgb7jl1s79v4z1jz9ywihilf60jh93xhwf0n75vnxb4ibnfd"; sha256 = "1byz5rp1n682bcm7wcdm6jxabgq1nx660bf51g11fyni1b5fr9ax";
} }

View File

@ -2,13 +2,13 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "materia-theme-${version}"; name = "materia-theme-${version}";
version = "20181115"; version = "20181125";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "nana-4"; owner = "nana-4";
repo = "materia-theme"; repo = "materia-theme";
rev = "v${version}"; rev = "v${version}";
sha256 = "1vfwzvzbs4336vjg6y4asm21p64xc5f7cfsld5l159174ikcz5fp"; sha256 = "17gsgll2m534lwvpffqisdmhhmn0da419wnpq39wv5cjnmk0q3by";
}; };
nativeBuildInputs = [ gnome3.glib libxml2 bc ]; nativeBuildInputs = [ gnome3.glib libxml2 bc ];

View File

@ -0,0 +1,35 @@
{ stdenv, fetchurl, gtk-engine-murrine }:
stdenv.mkDerivation rec {
name = "nordic-polar-${version}";
version = "1.3.0";
srcs = [
(fetchurl {
url = "https://github.com/EliverLara/Nordic-Polar/releases/download/v${version}/Nordic-Polar.tar.xz";
sha256 = "1c5zgymkwd89fr680c49siwbkhfbay56iq9vlyqkj1dp0xnc528s";
})
(fetchurl {
url = "https://github.com/EliverLara/Nordic-Polar/releases/download/v${version}/Nordic-Polar-standard-buttons.tar.xz";
sha256 = "0nxzcgqzc42qvnhafranz6rwanqb4wzf9ychm5m4yrlp3ngw38p4";
})
];
sourceRoot = ".";
propagatedUserEnvPkgs = [ gtk-engine-murrine ];
installPhase = ''
mkdir -p $out/share/themes
cp -a Nordic-Polar* $out/share/themes
rm $out/share/themes/*/{LICENSE,README.md}
'';
meta = with stdenv.lib; {
description = "Gtk theme created using the awesome Nord color pallete";
homepage = https://github.com/EliverLara/Nordic-Polar;
license = licenses.gpl3;
platforms = platforms.all;
maintainers = [ maintainers.romildo ];
};
}

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }: { stdenv, fetchurl, makeWrapper, jre, gnugrep, coreutils }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "scala-2.12.7"; name = "scala-2.12.8";
src = fetchurl { src = fetchurl {
url = "https://www.scala-lang.org/files/archive/${name}.tgz"; url = "https://www.scala-lang.org/files/archive/${name}.tgz";
sha256 = "116i6sviziynbm7yffakkcnzb2jmrhvjrnbqbbnhyyi806shsnyn"; sha256 = "18w0vdbsp0q5rxglgalwlgkggld926bqi1fxc598rn4gh46a03j4";
}; };
propagatedBuildInputs = [ jre ] ; propagatedBuildInputs = [ jre ] ;

View File

@ -1,9 +1,9 @@
{ stdenv, fetchzip, fetchFromGitHub, boost, cmake, z3 }: { stdenv, fetchzip, fetchFromGitHub, boost, cmake, z3 }:
let let
version = "0.5.0"; version = "0.5.1";
rev = "1d4f565a64988a3400847d2655ca24f73f234bc6"; rev = "c8a2cb62832afb2dc09ccee6fd42c1516dfdb981";
sha256 = "0phzk2whvgrrf8xpl5pz886glhd5s40y1hbbvq9q3fxf6vc3lisy"; sha256 = "0d6mfnixlr9m5yr3r4p6cv6vwrrivcamyar5d0f9rvir9w9ypzrr";
jsoncppURL = https://github.com/open-source-parsers/jsoncpp/archive/1.8.4.tar.gz; jsoncppURL = https://github.com/open-source-parsers/jsoncpp/archive/1.8.4.tar.gz;
jsoncpp = fetchzip { jsoncpp = fetchzip {
url = jsoncppURL; url = jsoncppURL;
@ -28,11 +28,6 @@ stdenv.mkDerivation {
echo >commit_hash.txt "${rev}" echo >commit_hash.txt "${rev}"
substituteInPlace cmake/jsoncpp.cmake \ substituteInPlace cmake/jsoncpp.cmake \
--replace "${jsoncppURL}" ${jsoncpp} --replace "${jsoncppURL}" ${jsoncpp}
# To allow non-standard CMAKE_INSTALL_LIBDIR (fixed in upstream, not yet released)
substituteInPlace cmake/jsoncpp.cmake \
--replace "\''${CMAKE_INSTALL_LIBDIR}" "lib" \
--replace "# Build static lib but suitable to be included in a shared lib." "-DCMAKE_INSTALL_LIBDIR=lib"
''; '';
cmakeFlags = [ cmakeFlags = [
@ -42,7 +37,7 @@ stdenv.mkDerivation {
]; ];
doCheck = stdenv.hostPlatform.isLinux && stdenv.hostPlatform == stdenv.buildPlatform; doCheck = stdenv.hostPlatform.isLinux && stdenv.hostPlatform == stdenv.buildPlatform;
checkPhase = "LD_LIBRARY_PATH=./libsolc:./libsolidity:./liblll:./libevmasm:./libdevcore:$LD_LIBRARY_PATH " + checkPhase = "LD_LIBRARY_PATH=./libsolc:./libsolidity:./liblll:./libevmasm:./libdevcore:./libyul:./liblangutil:$LD_LIBRARY_PATH " +
"./test/soltest -p -- --no-ipc --no-smt --testpath ../test"; "./test/soltest -p -- --no-ipc --no-smt --testpath ../test";
nativeBuildInputs = [ cmake ]; nativeBuildInputs = [ cmake ];
@ -56,7 +51,7 @@ stdenv.mkDerivation {
homepage = https://github.com/ethereum/solidity; homepage = https://github.com/ethereum/solidity;
license = licenses.gpl3; license = licenses.gpl3;
platforms = with platforms; linux ++ darwin; platforms = with platforms; linux ++ darwin;
maintainers = with maintainers; [ dbrock akru ]; maintainers = with maintainers; [ dbrock akru lionello ];
inherit version; inherit version;
}; };
} }

View File

@ -2,11 +2,10 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0c05208f..8893648e 100644 index 0c05208f..8893648e 100644
--- a/CMakeLists.txt --- a/CMakeLists.txt
+++ b/CMakeLists.txt +++ b/CMakeLists.txt
@@ -48,6 +48,20 @@ add_subdirectory(libevmasm) @@ -48,6 +48,25 @@ add_subdirectory(libevmasm)
add_subdirectory(libsolidity) add_subdirectory(libsolidity)
add_subdirectory(libsolc) add_subdirectory(libsolc)
+
+install(DIRECTORY libdevcore/ +install(DIRECTORY libdevcore/
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libdevcore + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libdevcore
+ FILES_MATCHING PATTERN "*.h") + FILES_MATCHING PATTERN "*.h")
@ -16,6 +15,12 @@ index 0c05208f..8893648e 100644
+install(DIRECTORY libsolidity/ +install(DIRECTORY libsolidity/
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libsolidity + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libsolidity
+ FILES_MATCHING PATTERN "*.h") + FILES_MATCHING PATTERN "*.h")
+install(DIRECTORY libyul/
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/libyul
+ FILES_MATCHING PATTERN "*.h")
+install(DIRECTORY liblangutil/
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/liblangutil
+ FILES_MATCHING PATTERN "*.h")
+install(DIRECTORY liblll/ +install(DIRECTORY liblll/
+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/liblll + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/liblll
+ FILES_MATCHING PATTERN "*.h") + FILES_MATCHING PATTERN "*.h")
@ -57,8 +62,23 @@ index 0bdec4b4..e876177e 100644
@@ -29,6 +29,7 @@ endif() @@ -29,6 +29,7 @@ endif()
add_library(solidity ${sources} ${headers}) add_library(solidity ${sources} ${headers})
target_link_libraries(solidity PUBLIC evmasm devcore ${Boost_FILESYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY}) target_link_libraries(solidity PUBLIC yul evmasm langutil devcore ${Boost_FILESYSTEM_LIBRARY} ${Boost_SYSTEM_LIBRARY})
+install(TARGETS solidity LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}) +install(TARGETS solidity LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
if (${Z3_FOUND}) if (${Z3_FOUND})
target_link_libraries(solidity PUBLIC ${Z3_LIBRARY}) target_link_libraries(solidity PUBLIC ${Z3_LIBRARY})
--- a/libyul/CMakeLists.txt
+++ b/libyul/CMakeLists.txt
@@ -42,3 +42,4 @@ endif()
optimiser/VarDeclPropagator.cpp
)
-target_link_libraries(yul PUBLIC devcore)
+target_link_libraries(yul PUBLIC evmasm devcore langutil)
+install(TARGETS yul LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
--- a/liblangutil/CMakeLists.txt
+++ b/liblangutil/CMakeLists.txt
@@ -11,3 +11,4 @@ endif()
add_library(langutil ${sources})
target_link_libraries(langutil PUBLIC devcore)
+install(TARGETS langutil LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})

View File

@ -93,14 +93,9 @@ self: super: {
fdo-notify = if pkgs.stdenv.isLinux then self.fdo-notify else null; fdo-notify = if pkgs.stdenv.isLinux then self.fdo-notify else null;
hinotify = if pkgs.stdenv.isLinux then self.hinotify else self.fsnotify; hinotify = if pkgs.stdenv.isLinux then self.hinotify else self.fsnotify;
}; };
esqueleto = overrideSrc (addBuildDepend (dontCheck (dontHaddock super.esqueleto)) self.unliftio) {
src = pkgs.fetchFromGitHub { # https://github.com/bitemyapp/esqueleto/issues/105
owner = "bitemyapp"; esqueleto = markBrokenVersion "2.5.3" super.esqueleto;
repo = "esqueleto";
rev = "b81e0d951e510ebffca03c5a58658ad884cc6fbd";
sha256 = "0lz1qxms7cfg5p3j37inlych0r2fwhm8xbarcys3df9m7jy9nixa";
};
};
# Fix test trying to access /home directory # Fix test trying to access /home directory
shell-conduit = overrideCabal super.shell-conduit (drv: { shell-conduit = overrideCabal super.shell-conduit (drv: {
@ -948,8 +943,12 @@ self: super: {
# Tries to read a file it is not allowed to in the test suite # Tries to read a file it is not allowed to in the test suite
load-env = dontCheck super.load-env; load-env = dontCheck super.load-env;
# https://github.com/yesodweb/Shelly.hs/issues/162 # hledger needs a newer megaparsec version than we have in LTS 12.x.
shelly = dontCheck super.shelly; hledger-lib = super.hledger-lib.overrideScope (self: super: {
cassava-megaparsec = self.cassava-megaparsec_2_0_0;
hspec-megaparsec = self.hspec-megaparsec_2_0_0;
megaparsec = self.megaparsec_7_0_4;
});
# Copy hledger man pages from data directory into the proper place. This code # Copy hledger man pages from data directory into the proper place. This code
# should be moved into the cabal2nix generator. # should be moved into the cabal2nix generator.
@ -976,7 +975,12 @@ self: super: {
mkdir -p $out/share/info mkdir -p $out/share/info
cp -v *.info* $out/share/info/ cp -v *.info* $out/share/info/
''; '';
})); })).overrideScope (self: super: {
cassava-megaparsec = self.cassava-megaparsec_2_0_0;
config-ini = self.config-ini_0_2_4_0;
hspec-megaparsec = self.hspec-megaparsec_2_0_0;
megaparsec = self.megaparsec_7_0_4;
});
hledger-web = overrideCabal super.hledger-web (drv: { hledger-web = overrideCabal super.hledger-web (drv: {
postInstall = '' postInstall = ''
for i in $(seq 1 9); do for i in $(seq 1 9); do
@ -1188,4 +1192,10 @@ self: super: {
# https://github.com/jmillikin/chell/issues/1 # https://github.com/jmillikin/chell/issues/1
chell = super.chell.override { patience = self.patience_0_1_1; }; chell = super.chell.override { patience = self.patience_0_1_1; };
# The test suite tries to mess with ALSA, which doesn't work in the build sandbox.
xmobar = dontCheck super.xmobar;
# https://github.com/mgajda/json-autotype/issues/25
json-autotype = dontCheck super.json-autotype;
} // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super } // import ./configuration-tensorflow.nix {inherit pkgs haskellLib;} self super

View File

@ -46,7 +46,7 @@ self: super: {
# LTS-12.x versions do not compile. # LTS-12.x versions do not compile.
base-orphans = self.base-orphans_0_8; base-orphans = self.base-orphans_0_8;
brick = self.brick_0_41_5; brick = self.brick_0_42_1;
cassava-megaparsec = doJailbreak super.cassava-megaparsec; cassava-megaparsec = doJailbreak super.cassava-megaparsec;
config-ini = doJailbreak super.config-ini; # https://github.com/aisamanra/config-ini/issues/18 config-ini = doJailbreak super.config-ini; # https://github.com/aisamanra/config-ini/issues/18
contravariant = self.contravariant_1_5; contravariant = self.contravariant_1_5;
@ -54,13 +54,11 @@ self: super: {
free = self.free_5_1; free = self.free_5_1;
haddock-library = dontCheck super.haddock-library_1_7_0; haddock-library = dontCheck super.haddock-library_1_7_0;
HaTeX = doJailbreak super.HaTeX; HaTeX = doJailbreak super.HaTeX;
hledger = doJailbreak super.hledger;
hledger-lib = doJailbreak super.hledger-lib;
hledger-ui = doJailbreak super.hledger-ui;
hpack = self.hpack_0_31_1; hpack = self.hpack_0_31_1;
hslua = self.hslua_1_0_1; hslua = self.hslua_1_0_1;
hslua-module-text = self.hslua-module-text_0_2_0; hslua-module-text = self.hslua-module-text_0_2_0;
hspec = self.hspec_2_6_0; hspec = self.hspec_2_6_0;
hspec-contrib = self.hspec-contrib_0_5_1;
hspec-core = self.hspec-core_2_6_0; hspec-core = self.hspec-core_2_6_0;
hspec-discover = self.hspec-discover_2_6_0; hspec-discover = self.hspec-discover_2_6_0;
hspec-megaparsec = doJailbreak super.hspec-megaparsec; # newer versions need megaparsec 7.x hspec-megaparsec = doJailbreak super.hspec-megaparsec; # newer versions need megaparsec 7.x

View File

@ -45,7 +45,7 @@ default-package-overrides:
- base-compat-batteries ==0.10.1 - base-compat-batteries ==0.10.1
# Newer versions don't work in LTS-12.x # Newer versions don't work in LTS-12.x
- cassava-megaparsec < 2 - cassava-megaparsec < 2
# LTS Haskell 12.20 # LTS Haskell 12.21
- abstract-deque ==0.3 - abstract-deque ==0.3
- abstract-deque-tests ==0.3 - abstract-deque-tests ==0.3
- abstract-par ==0.3.3 - abstract-par ==0.3.3
@ -337,8 +337,8 @@ default-package-overrides:
- cabal-doctest ==1.0.6 - cabal-doctest ==1.0.6
- cabal-rpm ==0.12.6 - cabal-rpm ==0.12.6
- cache ==0.1.1.1 - cache ==0.1.1.1
- cachix ==0.1.2 - cachix ==0.1.3
- cachix-api ==0.1.0.2 - cachix-api ==0.1.0.3
- cairo ==0.13.5.0 - cairo ==0.13.5.0
- calendar-recycling ==0.0.0.1 - calendar-recycling ==0.0.0.1
- call-stack ==0.1.0 - call-stack ==0.1.0
@ -361,7 +361,7 @@ default-package-overrides:
- cereal-time ==0.1.0.0 - cereal-time ==0.1.0.0
- cereal-vector ==0.2.0.1 - cereal-vector ==0.2.0.1
- cfenv ==0.1.0.0 - cfenv ==0.1.0.0
- chan ==0.0.3 - chan ==0.0.4
- ChannelT ==0.0.0.7 - ChannelT ==0.0.0.7
- charset ==0.3.7.1 - charset ==0.3.7.1
- charsetdetect-ae ==1.1.0.4 - charsetdetect-ae ==1.1.0.4
@ -433,7 +433,7 @@ default-package-overrides:
- composition-prelude ==1.5.3.1 - composition-prelude ==1.5.3.1
- compressed ==3.11 - compressed ==3.11
- concise ==0.1.0.1 - concise ==0.1.0.1
- concurrency ==1.6.1.0 - concurrency ==1.6.2.0
- concurrent-extra ==0.7.0.12 - concurrent-extra ==0.7.0.12
- concurrent-output ==1.10.9 - concurrent-output ==1.10.9
- concurrent-split ==0.0.1.1 - concurrent-split ==0.0.1.1
@ -535,7 +535,7 @@ default-package-overrides:
- data-default-instances-old-locale ==0.0.1 - data-default-instances-old-locale ==0.0.1
- data-diverse ==4.6.0.0 - data-diverse ==4.6.0.0
- data-diverse-lens ==4.3.0.0 - data-diverse-lens ==4.3.0.0
- datadog ==0.2.2.0 - datadog ==0.2.3.0
- data-dword ==0.3.1.2 - data-dword ==0.3.1.2
- data-endian ==0.1.1 - data-endian ==0.1.1
- data-fix ==0.2.0 - data-fix ==0.2.0
@ -732,8 +732,8 @@ default-package-overrides:
- fileplow ==0.1.0.0 - fileplow ==0.1.0.0
- filter-logger ==0.6.0.0 - filter-logger ==0.6.0.0
- filtrable ==0.1.1.0 - filtrable ==0.1.1.0
- fin ==0.0.1
- Fin ==0.2.6.0 - Fin ==0.2.6.0
- fin ==0.0.1
- FindBin ==0.0.5 - FindBin ==0.0.5
- find-clumpiness ==0.2.3.1 - find-clumpiness ==0.2.3.1
- fingertree ==0.1.4.1 - fingertree ==0.1.4.1
@ -982,7 +982,7 @@ default-package-overrides:
- histogram-fill ==0.9.1.0 - histogram-fill ==0.9.1.0
- hjsmin ==0.2.0.2 - hjsmin ==0.2.0.2
- hlibgit2 ==0.18.0.16 - hlibgit2 ==0.18.0.16
- hlibsass ==0.1.7.0 - hlibsass ==0.1.8.0
- hmatrix ==0.19.0.0 - hmatrix ==0.19.0.0
- hmatrix-backprop ==0.1.2.3 - hmatrix-backprop ==0.1.2.3
- hmatrix-gsl ==0.19.0.1 - hmatrix-gsl ==0.19.0.1
@ -1097,7 +1097,7 @@ default-package-overrides:
- hw-mquery ==0.1.0.1 - hw-mquery ==0.1.0.1
- hworker ==0.1.0.1 - hworker ==0.1.0.1
- hw-parser ==0.0.0.3 - hw-parser ==0.0.0.3
- hw-prim ==0.6.2.20 - hw-prim ==0.6.2.22
- hw-rankselect ==0.10.0.3 - hw-rankselect ==0.10.0.3
- hw-rankselect-base ==0.3.2.1 - hw-rankselect-base ==0.3.2.1
- hw-string-parse ==0.0.0.4 - hw-string-parse ==0.0.0.4
@ -1198,7 +1198,7 @@ default-package-overrides:
- json-rpc-server ==0.2.6.0 - json-rpc-server ==0.2.6.0
- json-schema ==0.7.4.2 - json-schema ==0.7.4.2
- JuicyPixels ==3.2.9.5 - JuicyPixels ==3.2.9.5
- JuicyPixels-blp ==0.1.0.1 - JuicyPixels-blp ==0.1.1.0
- JuicyPixels-extra ==0.3.0 - JuicyPixels-extra ==0.3.0
- JuicyPixels-scale-dct ==0.1.2 - JuicyPixels-scale-dct ==0.1.2
- justified-containers ==0.3.0.0 - justified-containers ==0.3.0.0
@ -1294,7 +1294,7 @@ default-package-overrides:
- log-postgres ==0.7.0.2 - log-postgres ==0.7.0.2
- long-double ==0.1 - long-double ==0.1
- loop ==0.3.0 - loop ==0.3.0
- lrucache ==1.2.0.0 - lrucache ==1.2.0.1
- lrucaching ==0.3.3 - lrucaching ==0.3.3
- lucid ==2.9.11 - lucid ==2.9.11
- lucid-extras ==0.1.0.1 - lucid-extras ==0.1.0.1
@ -1785,7 +1785,7 @@ default-package-overrides:
- rvar ==0.2.0.3 - rvar ==0.2.0.3
- s3-signer ==0.5.0.0 - s3-signer ==0.5.0.0
- safe ==0.3.17 - safe ==0.3.17
- safecopy ==0.9.4.1 - safecopy ==0.9.4.2
- safe-exceptions ==0.1.7.0 - safe-exceptions ==0.1.7.0
- safe-exceptions-checked ==0.1.0 - safe-exceptions-checked ==0.1.0
- safe-foldable ==0.1.0.0 - safe-foldable ==0.1.0.0
@ -2130,7 +2130,7 @@ default-package-overrides:
- transformers-fix ==1.0 - transformers-fix ==1.0
- transformers-lift ==0.2.0.1 - transformers-lift ==0.2.0.1
- traverse-with-class ==1.0.0.0 - traverse-with-class ==1.0.0.0
- tree-diff ==0.0.1 - tree-diff ==0.0.2
- tree-fun ==0.8.1.0 - tree-fun ==0.8.1.0
- trifecta ==2 - trifecta ==2
- triplesec ==0.1.2.0 - triplesec ==0.1.2.0
@ -2323,7 +2323,7 @@ default-package-overrides:
- x509-validation ==1.6.11 - x509-validation ==1.6.11
- Xauth ==0.1 - Xauth ==0.1
- xdg-basedir ==0.2.2 - xdg-basedir ==0.2.2
- xeno ==0.3.4 - xeno ==0.3.5.1
- xenstore ==0.1.1 - xenstore ==0.1.1
- xhtml ==3000.2.2.1 - xhtml ==3000.2.2.1
- xls ==0.1.1 - xls ==0.1.1

File diff suppressed because it is too large Load Diff

View File

@ -259,6 +259,9 @@ rec {
*/ */
buildStrictly = pkg: buildFromSdist (failOnAllWarnings pkg); buildStrictly = pkg: buildFromSdist (failOnAllWarnings pkg);
/* Disable core optimizations, significantly speeds up build time */
disableOptimization = pkg: appendConfigureFlag pkg "--disable-optimization";
/* Turn on most of the compiler warnings and fail the build if any /* Turn on most of the compiler warnings and fail the build if any
of them occur. */ of them occur. */
failOnAllWarnings = drv: appendConfigureFlag drv "--ghc-option=-Wall --ghc-option=-Werror"; failOnAllWarnings = drv: appendConfigureFlag drv "--ghc-option=-Wall --ghc-option=-Werror";

View File

@ -9,8 +9,6 @@ stdenv.mkDerivation rec {
sha256 = "0lk8knip4xk6qzksdkn7085mmgm4ixfczdyyjw656c193y3rgnvc"; sha256 = "0lk8knip4xk6qzksdkn7085mmgm4ixfczdyyjw656c193y3rgnvc";
}; };
configureFlags = stdenv.lib.optionals stdenv.hostPlatform.isWindows [ "--disable-shared" "--enable-static" ];
meta = with stdenv.lib; { meta = with stdenv.lib; {
description = "A C library for asynchronous DNS requests"; description = "A C library for asynchronous DNS requests";
homepage = https://c-ares.haxx.se; homepage = https://c-ares.haxx.se;

View File

@ -5,14 +5,14 @@
stdenv.mkDerivation (rec { stdenv.mkDerivation (rec {
name = "libgit2-${version}"; name = "libgit2-${version}";
version = "0.26.8"; version = "0.26.6";
# keep the version in sync with pythonPackages.pygit2 and gnome3.libgit2-glib # keep the version in sync with pythonPackages.pygit2 and gnome3.libgit2-glib
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "libgit2"; owner = "libgit2";
repo = "libgit2"; repo = "libgit2";
rev = "v${version}"; rev = "v${version}";
sha256 = "0wmjgvz8nrpk2dsn5bcc87nl0j5hb6pah2hzrj0b6jkk9mnin9fl"; sha256 = "17pjvprmdrx4h6bb1hhc98w9qi6ki7yl57f090n9kbhswxqfs7s3";
}; };
cmakeFlags = [ "-DTHREADSAFE=ON" ]; cmakeFlags = [ "-DTHREADSAFE=ON" ];

View File

@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
name = "libffi-3.2.1"; name = "libffi-3.2.1";
src = fetchurl { src = fetchurl {
url = "ftp://sourceware.org/pub/libffi/${name}.tar.gz"; url = "https://sourceware.org/pub/libffi/${name}.tar.gz";
sha256 = "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh"; sha256 = "0dya49bnhianl0r65m65xndz6ls2jn1xngyn72gd28ls3n7bnvnh";
}; };

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