Merge staging-next into staging

This commit is contained in:
Frederik Rietdijk 2019-04-24 18:39:42 +02:00
commit ff9af96fb3
75 changed files with 804 additions and 283 deletions

View File

@ -5455,6 +5455,11 @@
github = "zohl";
name = "Al Zohali";
};
zookatron = {
email = "tim@zookatron.com";
github = "zookatron";
name = "Tim Zook";
};
zoomulator = {
email = "zoomulator@gmail.com";
github = "zoomulator";

View File

@ -26,19 +26,28 @@ let
type = with types; nullOr str;
default = null;
description = ''
Base64 private key generated by wg genkey.
Base64 private key generated by <command>wg genkey</command>.
Warning: Consider using privateKeyFile instead if you do not
want to store the key in the world-readable Nix store.
'';
};
generatePrivateKeyFile = mkOption {
default = false;
type = types.bool;
description = ''
Automatically generate a private key with
<command>wg genkey</command>, at the privateKeyFile location.
'';
};
privateKeyFile = mkOption {
example = "/private/wireguard_key";
type = with types; nullOr str;
default = null;
description = ''
Private key file as generated by wg genkey.
Private key file as generated by <command>wg genkey</command>.
'';
};
@ -124,8 +133,8 @@ let
example = "rVXs/Ni9tu3oDBLS4hOyAUAa1qTWVA3loR8eL20os3I=";
type = with types; nullOr str;
description = ''
Base64 preshared key generated by wg genpsk. Optional,
and may be omitted. This option adds an additional layer of
Base64 preshared key generated by <command>wg genpsk</command>.
Optional, and may be omitted. This option adds an additional layer of
symmetric-key cryptography to be mixed into the already existing
public-key cryptography, for post-quantum resistance.
@ -139,8 +148,8 @@ let
example = "/private/wireguard_psk";
type = with types; nullOr str;
description = ''
File pointing to preshared key as generated by wg pensk. Optional,
and may be omitted. This option adds an additional layer of
File pointing to preshared key as generated by <command>wg pensk</command>.
Optional, and may be omitted. This option adds an additional layer of
symmetric-key cryptography to be mixed into the already existing
public-key cryptography, for post-quantum resistance.
'';
@ -182,9 +191,48 @@ let
};
generateUnit = name: values:
generatePathUnit = name: values:
assert (values.privateKey == null);
assert (values.privateKeyFile != null);
nameValuePair "wireguard-${name}"
{
description = "WireGuard Tunnel - ${name} - Private Key";
requiredBy = [ "wireguard-${name}.service" ];
before = [ "wireguard-${name}.service" ];
pathConfig.PathExists = values.privateKeyFile;
};
generateKeyServiceUnit = name: values:
assert values.generatePrivateKeyFile;
nameValuePair "wireguard-${name}-key"
{
description = "WireGuard Tunnel - ${name} - Key Generator";
wantedBy = [ "wireguard-${name}.service" ];
requiredBy = [ "wireguard-${name}.service" ];
before = [ "wireguard-${name}.service" ];
path = with pkgs; [ wireguard ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
script = ''
mkdir --mode 0644 -p "${dirOf values.privateKeyFile}"
if [ ! -f "${values.privateKeyFile}" ]; then
touch "${values.privateKeyFile}"
chmod 0600 "${values.privateKeyFile}"
wg genkey > "${values.privateKeyFile}"
chmod 0400 "${values.privateKeyFile}"
fi
'';
};
generateSetupServiceUnit = name: values:
# exactly one way to specify the private key must be set
assert (values.privateKey != null) != (values.privateKeyFile != null);
#assert (values.privateKey != null) != (values.privateKeyFile != null);
let privKey = if values.privateKeyFile != null then values.privateKeyFile else pkgs.writeText "wg-key" values.privateKey;
in
nameValuePair "wireguard-${name}"
@ -279,10 +327,27 @@ in
config = mkIf (cfg.interfaces != {}) {
assertions = (attrValues (
mapAttrs (name: value: {
assertion = (value.privateKey != null) != (value.privateKeyFile != null);
message = "Either networking.wireguard.interfaces.${name}.privateKey or networking.wireguard.interfaces.${name}.privateKeyFile must be set.";
}) cfg.interfaces))
++ (attrValues (
mapAttrs (name: value: {
assertion = value.generatePrivateKeyFile -> (value.privateKey == null);
message = "networking.wireguard.interfaces.${name}.generatePrivateKey must not be set if networking.wireguard.interfaces.${name}.privateKey is set.";
}) cfg.interfaces));
boot.extraModulePackages = [ kernel.wireguard ];
environment.systemPackages = [ pkgs.wireguard-tools ];
systemd.services = mapAttrs' generateUnit cfg.interfaces;
systemd.services = (mapAttrs' generateSetupServiceUnit cfg.interfaces)
// (mapAttrs' generateKeyServiceUnit
(filterAttrs (name: value: value.generatePrivateKeyFile) cfg.interfaces));
systemd.paths = mapAttrs' generatePathUnit
(filterAttrs (name: value: value.privateKeyFile != null) cfg.interfaces);
};

View File

@ -144,6 +144,7 @@ in
misc = handleTest ./misc.nix {};
mongodb = handleTest ./mongodb.nix {};
morty = handleTest ./morty.nix {};
mosquitto = handleTest ./mosquitto.nix {};
mpd = handleTest ./mpd.nix {};
mumble = handleTest ./mumble.nix {};
munin = handleTest ./munin.nix {};
@ -238,6 +239,7 @@ in
vault = handleTest ./vault.nix {};
virtualbox = handleTestOn ["x86_64-linux"] ./virtualbox.nix {};
wireguard = handleTest ./wireguard {};
wireguard-generated = handleTest ./wireguard/generated.nix {};
wordpress = handleTest ./wordpress.nix {};
xautolock = handleTest ./xautolock.nix {};
xdg-desktop-portal = handleTest ./xdg-desktop-portal.nix {};

69
nixos/tests/mosquitto.nix Normal file
View File

@ -0,0 +1,69 @@
import ./make-test.nix ({ pkgs, ... }:
let
port = 1888;
username = "mqtt";
password = "VERY_secret";
topic = "test/foo";
cmd = bin: pkgs.lib.concatStringsSep " " [
"${pkgs.mosquitto}/bin/mosquitto_${bin}"
"-V mqttv311"
"-h server"
"-p ${toString port}"
"-u ${username}"
"-P '${password}'"
"-t ${topic}"
];
in rec {
name = "mosquitto";
meta = with pkgs.stdenv.lib; {
maintainers = with maintainers; [ peterhoeg ];
};
nodes = let
client = { pkgs, ... }: {
environment.systemPackages = with pkgs; [ mosquitto ];
};
in {
server = { pkgs, ... }: {
networking.firewall.allowedTCPPorts = [ port ];
services.mosquitto = {
inherit port;
enable = true;
host = "0.0.0.0";
checkPasswords = true;
users."${username}" = {
inherit password;
acl = [
"topic readwrite ${topic}"
];
};
};
};
client1 = client;
client2 = client;
};
testScript = let
file = "/tmp/msg";
payload = "wootWOOT";
in ''
startAll;
$server->waitForUnit("mosquitto.service");
$server->fail("test -f ${file}");
$server->execute("(${cmd "sub"} -C 1 | tee ${file} &)");
$client1->fail("test -f ${file}");
$client1->execute("(${cmd "sub"} -C 1 | tee ${file} &)");
$client2->succeed("${cmd "pub"} -m ${payload}");
$server->succeed("grep -q ${payload} ${file}");
$client1->succeed("grep -q ${payload} ${file}");
'';
})

View File

@ -0,0 +1,57 @@
import ../make-test.nix ({ pkgs, ...} : {
name = "wireguard-generated";
meta = with pkgs.stdenv.lib.maintainers; {
maintainers = [ ma27 grahamc ];
};
nodes = {
peer1 = {
networking.firewall.allowedUDPPorts = [ 12345 ];
networking.wireguard.interfaces.wg0 = {
ips = [ "10.10.10.1/24" ];
listenPort = 12345;
privateKeyFile = "/etc/wireguard/private";
generatePrivateKeyFile = true;
};
};
peer2 = {
networking.firewall.allowedUDPPorts = [ 12345 ];
networking.wireguard.interfaces.wg0 = {
ips = [ "10.10.10.2/24" ];
listenPort = 12345;
privateKeyFile = "/etc/wireguard/private";
generatePrivateKeyFile = true;
};
};
};
testScript = ''
startAll;
$peer1->waitForUnit("wireguard-wg0.service");
$peer2->waitForUnit("wireguard-wg0.service");
my ($retcode, $peer1pubkey) = $peer1->execute("wg pubkey < /etc/wireguard/private");
$peer1pubkey =~ s/\s+$//;
if ($retcode != 0) {
die "Could not read public key from peer1";
}
my ($retcode, $peer2pubkey) = $peer2->execute("wg pubkey < /etc/wireguard/private");
$peer2pubkey =~ s/\s+$//;
if ($retcode != 0) {
die "Could not read public key from peer2";
}
$peer1->succeed("wg set wg0 peer $peer2pubkey allowed-ips 10.10.10.2/32 endpoint 192.168.1.2:12345 persistent-keepalive 1");
$peer1->succeed("ip route replace 10.10.10.2/32 dev wg0 table main");
$peer2->succeed("wg set wg0 peer $peer1pubkey allowed-ips 10.10.10.1/32 endpoint 192.168.1.1:12345 persistent-keepalive 1");
$peer2->succeed("ip route replace 10.10.10.1/32 dev wg0 table main");
$peer1->succeed("ping -c1 10.10.10.2");
$peer2->succeed("ping -c1 10.10.10.1");
'';
})

View File

@ -1,47 +1,55 @@
{buildVersion, x32sha256, x64sha256, dev ? false}:
{ buildVersion, x32sha256, x64sha256, dev ? false }:
{ fetchurl, stdenv, glib, glibcLocales, xorg, cairo, gtk2, gtk3, pango, makeWrapper, wrapGAppsHook, openssl, bzip2, runtimeShell,
pkexecPath ? "/run/wrappers/bin/pkexec", libredirect,
gksuSupport ? false, gksu, unzip, zip, bash,
writeScript, common-updater-scripts, curl, gnugrep}:
{ fetchurl, stdenv, xorg, glib, glibcLocales, gtk2, gtk3, cairo, pango, libredirect, makeWrapper, wrapGAppsHook
, pkexecPath ? "/run/wrappers/bin/pkexec", gksuSupport ? false, gksu
, writeScript, common-updater-scripts, curl, gnugrep
, openssl, bzip2, bash, unzip, zip
}:
assert gksuSupport -> gksu != null;
let
legacy = stdenv.lib.versionOlder buildVersion "3181";
libPath = stdenv.lib.makeLibraryPath [ glib xorg.libX11 (if legacy then gtk2 else gtk3) cairo pango ];
redirects = [ "/usr/bin/pkexec=${pkexecPath}" ]
++ stdenv.lib.optional gksuSupport "/usr/bin/gksudo=${gksu}/bin/gksudo";
in let
pname = "sublimetext3";
packageAttribute = "sublime3${stdenv.lib.optionalString dev "-dev"}";
binaries = [ "sublime_text" "plugin_host" "crash_reporter" ];
primaryBinary = "sublime_text";
primaryBinaryAliases = [ "subl" "sublime" "sublime3" ];
downloadUrl = "https://download.sublimetext.com/sublime_text_3_build_${buildVersion}_${arch}.tar.bz2";
downloadArchiveType = "tar.bz2";
versionUrl = "https://www.sublimetext.com/${if dev then "3dev" else "3"}";
versionFile = "pkgs/applications/editors/sublime/3/packages.nix";
usesGtk2 = stdenv.lib.versionOlder buildVersion "3181";
archSha256 =
if stdenv.hostPlatform.system == "i686-linux" then
x32sha256
else
x64sha256;
arch =
if stdenv.hostPlatform.system == "i686-linux" then
"x32"
else
"x64";
# package with just the binaries
sublime = stdenv.mkDerivation {
name = "sublimetext3-bin-${buildVersion}";
src =
fetchurl {
name = "sublimetext-${buildVersion}.tar.bz2";
url = "https://download.sublimetext.com/sublime_text_3_build_${buildVersion}_${arch}.tar.bz2";
sha256 = archSha256;
};
libPath = stdenv.lib.makeLibraryPath [ xorg.libX11 glib (if usesGtk2 then gtk2 else gtk3) cairo pango ];
redirects = [ "/usr/bin/pkexec=${pkexecPath}" ]
++ stdenv.lib.optional gksuSupport "/usr/bin/gksudo=${gksu}/bin/gksudo";
in let
binaryPackage = stdenv.mkDerivation {
pname = "${pname}-bin";
version = buildVersion;
src = fetchurl {
name = "${pname}-bin-${buildVersion}.${downloadArchiveType}";
url = downloadUrl;
sha256 = archSha256;
};
dontStrip = true;
dontPatchELF = true;
buildInputs = stdenv.lib.optionals (!legacy) [ glib gtk3 ]; # for GSETTINGS_SCHEMAS_PATH
nativeBuildInputs = [ makeWrapper zip unzip ] ++ stdenv.lib.optional (!legacy) wrapGAppsHook;
buildInputs = stdenv.lib.optionals (!usesGtk2) [ glib gtk3 ]; # for GSETTINGS_SCHEMAS_PATH
nativeBuildInputs = [ zip unzip makeWrapper ] ++ stdenv.lib.optional (!usesGtk2) wrapGAppsHook;
# make exec.py in Default.sublime-package use own bash with
# an LD_PRELOAD instead of "/bin/bash"
# make exec.py in Default.sublime-package use own bash with an LD_PRELOAD instead of "/bin/bash"
patchPhase = ''
runHook prePatch
@ -61,15 +69,15 @@ in let
buildPhase = ''
runHook preBuild
for i in sublime_text plugin_host crash_reporter; do
for binary in ${ builtins.concatStringsSep " " binaries }; do
patchelf \
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath ${libPath}:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \
$i
$binary
done
# 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' ${primaryBinary}
runHook postBuild
'';
@ -77,11 +85,8 @@ in let
installPhase = ''
runHook preInstall
# 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
mkdir -p $out
cp -prvd * $out/
cp -r * $out/
# We can't just call /usr/bin/env bash because a relocation error occurs
# when trying to run a build from within Sublime Text
@ -96,52 +101,51 @@ in let
wrapProgram $out/sublime_bash \
--set LD_PRELOAD "${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"}/libgcc_s.so.1"
wrapProgram $out/sublime_text \
wrapProgram $out/${primaryBinary} \
--set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
--set NIX_REDIRECTS ${builtins.concatStringsSep ":" redirects} \
--set LOCALE_ARCHIVE "${glibcLocales.out}/lib/locale/locale-archive" \
${stdenv.lib.optionalString (!legacy) ''"''${gappsWrapperArgs[@]}"''}
${stdenv.lib.optionalString (!usesGtk2) ''"''${gappsWrapperArgs[@]}"''}
# 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
'';
};
in stdenv.mkDerivation (rec {
name = "sublimetext3-${buildVersion}";
inherit pname;
version = buildVersion;
phases = [ "installPhase" ];
inherit sublime;
${primaryBinary} = binaryPackage;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p $out/bin
cat > $out/bin/subl <<-EOF
#!${runtimeShell}
exec $sublime/sublime_text "\$@"
EOF
chmod +x $out/bin/subl
ln $out/bin/subl $out/bin/sublime
ln $out/bin/subl $out/bin/sublime3
mkdir -p $out/share/applications
ln -s $sublime/sublime_text.desktop $out/share/applications/sublime_text.desktop
ln -s $sublime/Icon/256x256/ $out/share/icons
mkdir -p "$out/bin"
makeWrapper "''$${primaryBinary}/${primaryBinary}" "$out/bin/${primaryBinary}"
'' + builtins.concatStringsSep "" (map (binaryAlias: "ln -s $out/bin/${primaryBinary} $out/bin/${binaryAlias}\n") primaryBinaryAliases) + ''
mkdir -p "$out/share/applications"
substitute "''$${primaryBinary}/${primaryBinary}.desktop" "$out/share/applications/${primaryBinary}.desktop" --replace "/opt/${primaryBinary}/${primaryBinary}" "$out/bin/${primaryBinary}"
for directory in ''$${primaryBinary}/Icon/*; do
size=$(basename $directory)
mkdir -p "$out/share/icons/hicolor/$size/apps"
ln -s ''$${primaryBinary}/Icon/$size/* $out/share/icons/hicolor/$size/apps
done
'';
passthru.updateScript = writeScript "sublime3-update-script" ''
passthru.updateScript = writeScript "${pname}-update-script" ''
#!${stdenv.shell}
set -o errexit
PATH=${stdenv.lib.makeBinPath [ common-updater-scripts curl gnugrep ]}
latestVersion=$(curl https://www.sublimetext.com/3${stdenv.lib.optionalString dev "dev"} | grep -Po '(?<=<p class="latest"><i>Version:</i> Build )([0-9]+)')
latestVersion=$(curl -s ${versionUrl} | grep -Po '(?<=<p class="latest"><i>Version:</i> Build )([0-9]+)')
for platform in ${stdenv.lib.concatStringsSep " " meta.platforms}; do
package=sublime3${stdenv.lib.optionalString dev "-dev"}
# The script will not perform an update when the version attribute is up to date from previous platform run
# We need to clear it before each run
update-source-version ''${package}.sublime 0 0000000000000000000000000000000000000000000000000000000000000000 --file=pkgs/applications/editors/sublime/3/packages.nix --version-key=buildVersion --system=$platform
update-source-version ''${package}.sublime $latestVersion --file=pkgs/applications/editors/sublime/3/packages.nix --version-key=buildVersion --system=$platform
update-source-version ${packageAttribute}.${primaryBinary} 0 0000000000000000000000000000000000000000000000000000000000000000 --file=${versionFile} --version-key=buildVersion --system=$platform
update-source-version ${packageAttribute}.${primaryBinary} $latestVersion --file=${versionFile} --version-key=buildVersion --system=$platform
done
'';

View File

@ -48,13 +48,13 @@ let
];
in buildRustPackage rec {
pname = "alacritty";
version = "0.3.1";
version = "0.3.2";
src = fetchFromGitHub {
owner = "jwilm";
repo = pname;
rev = "v${version}";
sha256 = "1z6xijgkahvcl4cq0yn3y6sc6r4ydnrl5c0qzzsr2vndwzig07yz";
sha256 = "16lhxfpwysd5ngw8yq76vbzjdmfzs9plsvairf768hnl290jcpbh";
};
cargoSha256 = "02q5kkr0zygpm9i2hd1sr246f18pyia1lq9dwjagqk7d2x3xlc7p";

View File

@ -12,10 +12,10 @@ in symlinkJoin {
postBuild = ''
wrapProgram $out/bin/urxvt \
--set PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \
--prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \
--suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl"
wrapProgram $out/bin/urxvtd \
--set PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \
--prefix PERL5LIB : "${perlPackages.makePerlPath perlDeps}" \
--suffix-each URXVT_PERL_LIB ':' "$out/lib/urxvt/perl"
'';

View File

@ -7,21 +7,24 @@
, glib, gtk3, pango, gdk_pixbuf, cairo, atk, at-spi2-atk, at-spi2-core, gnome2
, nss, nspr
, patchelf, makeWrapper
, isSnapshot ? false
, proprietaryCodecs ? false, vivaldi-ffmpeg-codecs ? null
}:
stdenv.mkDerivation rec {
name = "${product}-${version}";
product = "vivaldi";
let
branch = if isSnapshot then "snapshot" else "stable";
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
in stdenv.mkDerivation rec {
pname = "vivaldi";
version = "2.4.1488.40-1";
src = fetchurl {
url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb";
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
sha256 = "0w084mamy72v1kkfgg8nn2q3hmfj7v216kkvqb52f1nyycqqzb37";
};
unpackPhase = ''
ar vx ${src}
ar vx $src
tar -xvf data.tar.xz
'';
@ -38,17 +41,17 @@ stdenv.mkDerivation rec {
libPath = stdenv.lib.makeLibraryPath buildInputs
+ stdenv.lib.optionalString (stdenv.is64bit)
(":" + stdenv.lib.makeSearchPathOutput "lib" "lib64" buildInputs)
+ ":$out/opt/vivaldi/lib";
+ ":$out/opt/${vivaldiName}/lib";
buildPhase = ''
echo "Patching Vivaldi binaries"
patchelf \
--set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath "${libPath}" \
opt/vivaldi/vivaldi-bin
opt/${vivaldiName}/vivaldi-bin
'' + stdenv.lib.optionalString proprietaryCodecs ''
sed -i '/^VIVALDI_FFMPEG_FOUND/ a \
checkffmpeg "${vivaldi-ffmpeg-codecs}/lib/libffmpeg.so"' opt/vivaldi/vivaldi
checkffmpeg "${vivaldi-ffmpeg-codecs}/lib/libffmpeg.so"' opt/${vivaldiName}/vivaldi
'' + ''
echo "Finished patching Vivaldi binaries"
'';
@ -60,16 +63,16 @@ stdenv.mkDerivation rec {
mkdir -p "$out"
cp -r opt "$out"
mkdir "$out/bin"
ln -s "$out/opt/vivaldi/vivaldi" "$out/bin/vivaldi"
ln -s "$out/opt/${vivaldiName}/${vivaldiName}" "$out/bin/vivaldi"
mkdir -p "$out/share"
cp -r usr/share/{applications,xfce4} "$out"/share
substituteInPlace "$out"/share/applications/*.desktop \
--replace /usr/bin/vivaldi-stable "$out"/bin/vivaldi
--replace /usr/bin/${vivaldiName} "$out"/bin/vivaldi
local d
for d in 16 22 24 32 48 64 128 256; do
mkdir -p "$out"/share/icons/hicolor/''${d}x''${d}/apps
ln -s \
"$out"/opt/vivaldi/product_logo_''${d}.png \
"$out"/opt/${vivaldiName}/product_logo_''${d}.png \
"$out"/share/icons/hicolor/''${d}x''${d}/apps/vivaldi.png
done
wrapProgram "$out/bin/vivaldi" \

View File

@ -4,14 +4,14 @@ with pkgs.lib;
stdenv.mkDerivation rec {
pname = "gitflow";
version = "1.11.0";
version = "1.12.2";
name = "${pname}-${version}";
src = fetchFromGitHub {
owner = "petervanderdoes";
repo = pname;
rev = version;
sha256 = "0zk53g0wd5n1zlhkwlfp124i6agx8kl0cwvy0dia3jh1p51vsc1q";
sha256 = "0smwlc1wa4ndvspc9x6f4jwnzr58achysrhhip402j98d7di8hw5";
};
buildInputs = [ pkgs.makeWrapper ];

View File

@ -0,0 +1,123 @@
{ buildVersion, sha256, dev ? false }:
{ fetchurl, stdenv, xorg, glib, glibcLocales, gtk2, gtk3, cairo, pango, libredirect, makeWrapper, wrapGAppsHook
, pkexecPath ? "/run/wrappers/bin/pkexec", gksuSupport ? false, gksu
, writeScript, common-updater-scripts, curl, gnugrep
}:
assert gksuSupport -> gksu != null;
let
pname = "sublime-merge";
packageAttribute = "sublime-merge${stdenv.lib.optionalString dev "-dev"}";
binaries = [ "sublime_merge" "crash_reporter" "git-credential-sublime" "ssh-askpass-sublime" ];
primaryBinary = "sublime_merge";
primaryBinaryAliases = [ "smerge" ];
downloadUrl = "https://download.sublimetext.com/sublime_merge_build_${buildVersion}_${arch}.tar.xz";
downloadArchiveType = "tar.xz";
versionUrl = "https://www.sublimemerge.com/${if dev then "dev" else "download"}";
versionFile = "pkgs/applications/version-management/sublime-merge/default.nix";
usesGtk2 = false;
archSha256 = sha256;
arch = "x64";
libPath = stdenv.lib.makeLibraryPath [ xorg.libX11 glib (if usesGtk2 then gtk2 else gtk3) cairo pango ];
redirects = [ "/usr/bin/pkexec=${pkexecPath}" ]
++ stdenv.lib.optional gksuSupport "/usr/bin/gksudo=${gksu}/bin/gksudo";
in let
binaryPackage = stdenv.mkDerivation {
pname = "${pname}-bin";
version = buildVersion;
src = fetchurl {
name = "${pname}-bin-${buildVersion}.${downloadArchiveType}";
url = downloadUrl;
sha256 = archSha256;
};
dontStrip = true;
dontPatchELF = true;
buildInputs = stdenv.lib.optionals (!usesGtk2) [ glib gtk3 ]; # for GSETTINGS_SCHEMAS_PATH
nativeBuildInputs = [ makeWrapper ] ++ stdenv.lib.optional (!usesGtk2) wrapGAppsHook;
buildPhase = ''
runHook preBuild
for binary in ${ builtins.concatStringsSep " " binaries }; do
patchelf \
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
--set-rpath ${libPath}:${stdenv.cc.cc.lib}/lib${stdenv.lib.optionalString stdenv.is64bit "64"} \
$binary
done
# 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' ${primaryBinary}
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out
cp -r * $out/
runHook postInstall
'';
dontWrapGApps = true; # non-standard location, need to wrap the executables manually
postFixup = ''
wrapProgram $out/${primaryBinary} \
--set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
--set NIX_REDIRECTS ${builtins.concatStringsSep ":" redirects} \
--set LOCALE_ARCHIVE "${glibcLocales.out}/lib/locale/locale-archive" \
${stdenv.lib.optionalString (!usesGtk2) ''"''${gappsWrapperArgs[@]}"''}
'';
};
in stdenv.mkDerivation (rec {
inherit pname;
version = buildVersion;
phases = [ "installPhase" ];
${primaryBinary} = binaryPackage;
nativeBuildInputs = [ makeWrapper ];
installPhase = ''
mkdir -p "$out/bin"
makeWrapper "''$${primaryBinary}/${primaryBinary}" "$out/bin/${primaryBinary}"
'' + builtins.concatStringsSep "" (map (binaryAlias: "ln -s $out/bin/${primaryBinary} $out/bin/${binaryAlias}\n") primaryBinaryAliases) + ''
mkdir -p "$out/share/applications"
substitute "''$${primaryBinary}/${primaryBinary}.desktop" "$out/share/applications/${primaryBinary}.desktop" --replace "/opt/${primaryBinary}/${primaryBinary}" "$out/bin/${primaryBinary}"
for directory in ''$${primaryBinary}/Icon/*; do
size=$(basename $directory)
mkdir -p "$out/share/icons/hicolor/$size/apps"
ln -s ''$${primaryBinary}/Icon/$size/* $out/share/icons/hicolor/$size/apps
done
'';
passthru.updateScript = writeScript "${pname}-update-script" ''
#!${stdenv.shell}
set -o errexit
PATH=${stdenv.lib.makeBinPath [ common-updater-scripts curl gnugrep ]}
latestVersion=$(curl -s ${versionUrl} | grep -Po '(?<=<p class="latest"><i>Version:</i> Build )([0-9]+)')
for platform in ${stdenv.lib.concatStringsSep " " meta.platforms}; do
# The script will not perform an update when the version attribute is up to date from previous platform run
# We need to clear it before each run
update-source-version ${packageAttribute}.${primaryBinary} 0 0000000000000000000000000000000000000000000000000000000000000000 --file=${versionFile} --version-key=buildVersion --system=$platform
update-source-version ${packageAttribute}.${primaryBinary} $latestVersion --file=${versionFile} --version-key=buildVersion --system=$platform
done
'';
meta = with stdenv.lib; {
description = "Git client from the makers of Sublime Text";
homepage = https://www.sublimemerge.com;
maintainers = with maintainers; [ zookatron ];
license = licenses.unfree;
platforms = [ "x86_64-linux" ];
};
})

View File

@ -0,0 +1,16 @@
{ callPackage }:
let
common = opts: callPackage (import ./common.nix opts);
in {
sublime-merge = common {
buildVersion = "1107";
sha256 = "70edbb16529d638ea41a694dbc5b1408c76fcc3a7d663ef0e48b4e89e1f19c71";
} {};
sublime-merge-dev = common {
buildVersion = "1111";
sha256 = "d287b77b36febe52623db4546bef978dceb0654257b9a70c798d9cd394305c0d";
dev = true;
} {};
}

View File

@ -118,7 +118,6 @@ if test -n "$showURLs"; then
exit 0
fi
if test -n "$preferHashedMirrors"; then
tryHashedMirrors
fi
@ -128,6 +127,16 @@ set -o noglob
success=
for url in $urls; do
if [ -z "$postFetch" ]; then
case "$url" in
https://github.com/*/archive/*)
echo "warning: archives from GitHub revisions should use fetchFromGitHub"
;;
https://gitlab.com/*/-/archive/*)
echo "warning: archives from GitLab revisions should use fetchFromGitLab"
;;
esac
fi
tryDownload "$url"
if test -n "$success"; then finish; fi
done

View File

@ -6,6 +6,7 @@
, completeDeps
, crateAuthors
, crateDescription
, crateHomepage
, crateFeatures
, crateName
, crateVersion
@ -91,12 +92,11 @@ in ''
export CARGO_PKG_VERSION_MAJOR=${builtins.elemAt version 0}
export CARGO_PKG_VERSION_MINOR=${builtins.elemAt version 1}
export CARGO_PKG_VERSION_PATCH=${builtins.elemAt version 2}
export CARGO_PKG_VERSION_PRE="${versionPre}"
export CARGO_PKG_HOMEPAGE="${crateHomepage}"
export NUM_JOBS=1
export RUSTC="rustc"
export RUSTDOC="rustdoc"
if [[ -n "${versionPre}" ]]; then
export CARGO_PKG_VERSION_PRE="${versionPre}"
fi
BUILD=""
if [[ ! -z "${build}" ]] ; then

View File

@ -131,6 +131,7 @@ stdenv.mkDerivation (rec {
crateVersion = crate.version;
crateDescription = crate.description or "";
crateAuthors = if crate ? authors && lib.isList crate.authors then crate.authors else [];
crateHomepage = crate.homepage or "";
crateType =
if lib.attrByPath ["procMacro"] false crate then ["proc-macro"] else
if lib.attrByPath ["plugin"] false crate then ["dylib"] else
@ -144,7 +145,7 @@ stdenv.mkDerivation (rec {
inherit crateName buildDependencies completeDeps completeBuildDeps crateDescription
crateFeatures libName build workspace_member release libPath crateVersion
extraLinkFlags extraRustcOpts
crateAuthors verbose colors target_os;
crateAuthors crateHomepage verbose colors target_os;
};
buildPhase = buildCrate {
inherit crateName dependencies

View File

@ -0,0 +1,26 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "lalezar-fonts";
version = "unstable-2017-02-28";
src = fetchFromGitHub {
owner = "BornaIz";
repo = "Lalezar";
rev = "238701c4241f207e92515f845a199be9131c1109";
sha256 = "1j3zg9qw4ahw52i0i2c69gv5gjc1f4zsdla58kd9visk03qgk77p";
};
installPhase = ''
mkdir -p $out/share/fonts/lalezar-fonts
cp -v $( find . -name '*.ttf') $out/share/fonts/lalezar-fonts
'';
meta = with stdenv.lib; {
homepage = https://github.com/BornaIz/Lalezar;
description = "A multi-script display typeface for popular culture";
license = licenses.ofl;
platforms = platforms.all;
maintainers = [ maintainers.linarcx ];
};
}

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "atril-${version}";
version = "1.20.3";
version = "1.22.1";
src = fetchurl {
url = "https://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "00vrqyfk370fdhlfv3m6n0l6hnx30hrsrcg1xja03957cgvcvnvr";
url = "https://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "0i2wgsksgwhrmajj1lay3iym4dcyj8cdd813yh5mrfz4rkv49190";
};
nativeBuildInputs = [

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, gtk3, mate, pythonPackages }:
{ stdenv, fetchurl, pkgconfig, gtk3, mate, python3Packages }:
stdenv.mkDerivation rec {
name = "caja-dropbox-${version}";
version = "1.20.0";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0xjqcfi5n6hsfyw77blplkn30as0slkfzngxid1n6z7jz5yjq7vj";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "18cnd3yw2ingvl38mhmfbl5k0kfg8pzcf2649j00i6v90cwiril5";
};
nativeBuildInputs = [
@ -16,9 +16,9 @@ stdenv.mkDerivation rec {
buildInputs = [
gtk3
mate.caja
pythonPackages.python
pythonPackages.pygtk
pythonPackages.docutils
python3Packages.python
python3Packages.pygtk
python3Packages.docutils
];
configureFlags = [ "--with-caja-extension-dir=$$out/lib/caja/extensions-2.0" ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk3, dbus-glib, gupnp, mate, imagemagick, wrapGAppsHook }:
{ stdenv, fetchurl, pkgconfig, intltool, gtk3, gupnp, mate, imagemagick, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "caja-extensions-${version}";
version = "1.20.2";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "14w1xd33ggn6wdzqvcmj8rqc68w4k094lai6mqrgmv1zljifydqz";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1h866jmdd3qpjzi7wjj11krwiaadnlf21844g1zqfb4jgrzj773p";
};
nativeBuildInputs = [
@ -17,7 +17,6 @@ stdenv.mkDerivation rec {
buildInputs = [
gtk3
dbus-glib
gupnp
mate.caja
mate.mate-desktop

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "caja-${version}";
version = "1.20.3";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "1wlrhcvhqving3pphbz50xnbp7z57mlkf7m36lfh8mim62kfmmd0";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "10b7yjimblymp1fpsrl4jb2k7kbhla2izsj3njfmg2n6fv9fy9iv";
};
nativeBuildInputs = [

View File

@ -4,9 +4,6 @@ let
callPackage = newScope self;
self = rec {
getRelease = version:
pkgs.stdenv.lib.concatStringsSep "." (pkgs.stdenv.lib.take 2 (pkgs.stdenv.lib.splitString "." version));
atril = callPackage ./atril { };
caja = callPackage ./caja { };
@ -75,7 +72,6 @@ let
mate-applets
mate-backgrounds
mate-calc
mate-icon-theme-faenza
mate-indicator-applet
mate-media
mate-netbook

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "engrampa-${version}";
version = "1.20.2";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0fj957dfagw6p7mq5545h9j2w3hv18yqnkpypnr719r4g13d3f2v";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "06z38vfs15f5crrrgvcsqfb557fhpq1mqkj5fd9wb0hvi77hasrk";
};
nativeBuildInputs = [

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, intltool, itstool, dbus-glib, exempi, lcms2, libexif, libjpeg, librsvg, libxml2, libpeas, shared-mime-info, gnome3, gtk3, mate, hicolor-icon-theme, wrapGAppsHook }:
{ stdenv, fetchurl, pkgconfig, intltool, itstool, exempi, lcms2, libexif, libjpeg, librsvg, libxml2, libpeas, shared-mime-info, gnome3, gtk3, mate, hicolor-icon-theme, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "eom-${version}";
version = "1.20.2";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0440sfbidizn860w5avgwld08qc2fslrm0nx2659651cf3r7rw05";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "03lpxqvyaqhz4wmi07nxcyn5q73ym3dzm41cdid53f2dp9lk1mv4";
};
nativeBuildInputs = [
@ -17,7 +17,6 @@ stdenv.mkDerivation rec {
];
buildInputs = [
dbus-glib
exempi
lcms2
libexif

View File

@ -1,22 +1,14 @@
{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, gtk3, mate, libxklavier }:
{ stdenv, fetchurl, fetchpatch, pkgconfig, intltool, gtk3, libxklavier }:
stdenv.mkDerivation rec {
name = "libmatekbd-${version}";
version = "1.20.2";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "1l1zbphs4snswf4bkrwkk6gsmb44bdhymcfgaaspzbrcmw3y7hr1";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1dsr7618c92mhwabwhgxqsfp7gnf9zrz2z790jc5g085dxhg13y8";
};
patches = [
# Fix build with glib 2.60 (TODO: remove after 1.22.0 update)
(fetchpatch {
url = https://github.com/mate-desktop/libmatekbd/commit/dc04e969dd61a2b1f82beae2d3c8ad105447812d.patch;
sha256 = "1ps6mbj6hrm9djn4riya049w2cb0dknghysny8pafmvpkaqvckrb";
})
];
nativeBuildInputs = [ pkgconfig intltool ];
buildInputs = [ gtk3 libxklavier ];

View File

@ -1,4 +1,4 @@
{ config, stdenv, fetchurl, pkgconfig, intltool, glib, mate
{ config, stdenv, fetchurl, pkgconfig, intltool, glib
, alsaSupport ? stdenv.isLinux, alsaLib
, pulseaudioSupport ? config.pulseaudio or true, libpulseaudio
, ossSupport ? false
@ -6,11 +6,11 @@
stdenv.mkDerivation rec {
name = "libmatemixer-${version}";
version = "1.20.1";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "00p67mi0flsbgn15qpwq60rzf917s5islbmhirbvz6npcvv0d493";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1v0gpr55gj4mj8hzxbhgzrmhaxvs2inxhsmirvjw39sc7iplvrh9";
};
nativeBuildInputs = [ pkgconfig intltool ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk3, libsoup, tzdata, mate }:
{ stdenv, fetchurl, pkgconfig, intltool, gtk3, libsoup, tzdata }:
stdenv.mkDerivation rec {
name = "libmateweather-${version}";
version = "1.20.2";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "1ksp1xn13m94sjnnrx2dyv7hlbgjbnbahwdyaq35r2419b366hxv";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1ribgcwl4ncfbcf9bkcbxrgc7yzajdnxg12837psngymkqswlp6a";
};
nativeBuildInputs = [ pkgconfig intltool ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, libcanberra-gtk3, libgtop, libstartup_notification, gnome3, gtk3, mate, wrapGAppsHook }:
{ stdenv, fetchurl, pkgconfig, intltool, itstool, libxml2, libcanberra-gtk3, libgtop, libstartup_notification, gnome3, gtk3, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "marco-${version}";
version = "1.20.3";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "192nlr4ylisxisk0ljabm8v0a5sapdncj4gbw39q2fpr938ifs32";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1i1pi1z9mrb6564mxcwb93jqpdppfv58c2viwmicsixis62hv5wx";
};
nativeBuildInputs = [

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "mate-applets-${version}";
version = "1.20.3";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0y5501wliipxf43p2q9917r3ird7azlrbcwnj2q2q2zy00hvvk5f";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "19sjm2180ir8a264rz8m528qaqjpl3q3cq095ab0sbkp2igksrfx";
};
nativeBuildInputs = [

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, intltool, mate }:
{ stdenv, fetchurl, intltool }:
stdenv.mkDerivation rec {
name = "mate-backgrounds-${version}";
version = "1.20.0";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0pcnjcw00y8hf2bwfrb5sbk2511cbg4fr8vgvgqswcwjp9y15cjp";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1j9ch04qi2q4mdcvb92w667ra9hpfdf2bfpi1dpw0nbph7r6qvj9";
};
nativeBuildInputs = [ intltool ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, libxml2, mate, wrapGAppsHook }:
{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, libxml2, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "mate-calc-${version}";
version = "1.20.3";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0nv0q2c93rv36dhid7vf0w0rb6zdwyqaibfsmc7flj00qgsn3r5a";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1njk6v7z3969ikvcrabr1lw5f5572vb14w064zm3mydj8cc5inlr";
};
nativeBuildInputs = [

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, mate }:
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "mate-common-${version}";
version = "1.20.0";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0h8s2qhc6f5flslx05cd3xxg243c67vv03spjiag14p8kqqrqvb1";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "11lwckndizawbq993ws8lqp59vsc873zri0m8s1i5zyc4qx9f69z";
};
meta = {

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
name = "mate-control-center-${version}";
version = "1.20.4";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "1rjxndikj0w516nlvyzcss31l9qjwkzvns7ygasnjbl02bgml9a4";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "0w9w3wkxksbhzyd96y1x6yxb0q5lkp16y8i42564b6njvwqch5a0";
};
nativeBuildInputs = [

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, intltool, gnome3, gtk3, mate, wrapGAppsHook }:
{ stdenv, fetchurl, pkgconfig, intltool, isocodes, gnome3, gtk3, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "mate-desktop-${version}";
version = "1.20.4";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "073hn68f57ahif0znbx850x6ncsq50m7jg0sy1mllxjjqf3b1fxr";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1hr4r69855csqrcaqpbcyplsy4cwjfz7gabps2pzkh5132jycfr0";
};
nativeBuildInputs = [
@ -18,6 +18,7 @@ stdenv.mkDerivation rec {
buildInputs = [
gnome3.dconf
gtk3
isocodes
];
meta = with stdenv.lib; {

View File

@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
version = "1.20.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "000vr9cnbl2qlysf2gyg1lsjirqdzmwrnh6d3hyrsfc0r2vh4wna";
};

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, librsvg, hicolor-icon-theme, gtk3, mate }:
{ stdenv, fetchurl, pkgconfig, intltool, iconnamingutils, librsvg, hicolor-icon-theme, gtk3 }:
stdenv.mkDerivation rec {
name = "mate-icon-theme-${version}";
version = "1.20.3";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "10l58mjc2a69pm7srxvlav2b8b7nbzyvwjrlrk79a3gr6dd1mbk4";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1pn1xbmr4w4mi45nwk1qh18z9rlngmkhp9bw671yn4k6sii8fi3k";
};
nativeBuildInputs = [ pkgconfig intltool iconnamingutils ];

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "mate-indicator-applet-${version}";
version = "1.20.1";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0gxis834w8h33xmrx335jjad2xaqpkamirl0x4j7wsk4zs25jkyd";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "0zad81qvcin4m329hfxhv4a5j8gf4gj8944mvjrdgdh71bzan2x1";
};
nativeBuildInputs = [

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "mate-media-${version}";
version = "1.20.2";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "06fka82smrphzj4dz9dw1566kmdscxvxl0rchj9qxg7aidy0rmnv";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "13g1n2ddgr1yxgl4fsqj3sgb9344b756kam9v3sq6vh0bxlr4yf2";
};
buildInputs = [
@ -14,6 +14,7 @@ stdenv.mkDerivation rec {
libcanberra-gtk3
gtk3
mate.libmatemixer
mate.mate-panel
mate.mate-desktop
];

View File

@ -1,17 +1,17 @@
{ stdenv, fetchurl, pkgconfig, intltool, glib, gobject-introspection, python, mate }:
{ stdenv, fetchurl, pkgconfig, intltool, glib, gobject-introspection, python3 }:
stdenv.mkDerivation rec {
name = "mate-menus-${version}";
version = "1.20.2";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "18y4nka38dqqxycxpf7ig4vmrk4i05xqqjk4fxr1ghkj60xxyxz2";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1lkakbf2f1815c146z4xp5f0h4lim6jzr02681wbvzalc6k97v5c";
};
nativeBuildInputs = [ pkgconfig intltool gobject-introspection ];
buildInputs = [ glib python ];
buildInputs = [ glib python3 ];
makeFlags = [
"INTROSPECTION_GIRDIR=$(out)/share/gir-1.0/"

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "mate-netbook-${version}";
version = "1.20.1";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "1ils0lav6j779kgz2py6zdalcfifpnp01clspbnkhb3v1ha1ncsq";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "00n162bskbvxhy4k2w14f9zwlsg3wgi43228ssx7sc2p95psmm64";
};
nativeBuildInputs = [

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, pkgconfig, intltool, dbus-glib, libcanberra-gtk3,
libnotify, libwnck3, gnome3, gtk3, mate, wrapGAppsHook }:
{ stdenv, fetchurl, pkgconfig, intltool, glib, libcanberra-gtk3,
libnotify, libwnck3, gnome3, gtk3, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "mate-notification-daemon-${version}";
version = "1.20.2";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0a60f67yjvlffrnviqgc64jz5l280f30h8br7wz2x415if5dmjyn";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "06z3xczhz5diy4kk7b8lrzljrnql6fz0n1jyy916cf8pnnanpg0j";
};
nativeBuildInputs = [
@ -17,13 +17,14 @@ stdenv.mkDerivation rec {
];
buildInputs = [
dbus-glib
libcanberra-gtk3
libnotify
libwnck3
gtk3
];
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
meta = with stdenv.lib; {
description = "Notification daemon for MATE";
homepage = https://github.com/mate-desktop/mate-notification-daemon;

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, dbus-glib, libwnck3, librsvg, libxml2, gnome3, gtk3, mate, hicolor-icon-theme, gobject-introspection, wrapGAppsHook }:
{ stdenv, fetchurl, pkgconfig, intltool, itstool, glib, libwnck3, librsvg, libxml2, gnome3, gtk3, mate, hicolor-icon-theme, gobject-introspection, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "mate-panel-${version}";
version = "1.20.4";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "02pdrwgl3plgv6l6nc45nsnmjppkxs4ybggwibd6mm777i9nb44d";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "0pb9dpgsfjp6gsldg4ad2jz23xdvjfarmz4cjwkpakygkq5i6dma";
};
nativeBuildInputs = [
@ -19,7 +19,6 @@ stdenv.mkDerivation rec {
buildInputs = [
glib
dbus-glib
libwnck3
librsvg
libxml2

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk3, gobject-introspection, libappindicator-gtk3, libindicator-gtk3, polkit, mate }:
{ stdenv, fetchurl, pkgconfig, intltool, gtk3, gobject-introspection, libappindicator-gtk3, libindicator-gtk3, polkit }:
stdenv.mkDerivation rec {
name = "mate-polkit-${version}";
version = "1.20.2";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0zajisavrxiynmp4qg7zamvkpnhy9nra01czwn21h6hm2yakbayr";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "02r8n71xflhvw2hsf6g4svdahzyg3r4n6xamasyzqfhyn0mqmjy0";
};
nativeBuildInputs = [

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "mate-power-manager-${version}";
version = "1.20.3";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "17x47j5dkxxsq63bv2jwf3xgnddyy2dya4y14ryivq8q3jh5yhr5";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "06vs2w44l1s25j0mifkid02yncw0nvdxw8r4pp2jm18kxan4frms";
};
buildInputs = [

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "mate-screensaver-${version}";
version = "1.20.3";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0kmaj4psg7261h02dzarga6k5cb7n709d60xbfrhywnf5fb9787i";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "0c4qq5szsbfrz8hgkmlby2k7f1qs8kgqf2shd63z0pc8p6f47vvc";
};
nativeBuildInputs = [

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, libxml2, libxslt, libatasmart, libnotify, dbus-glib, lm_sensors, mate, hicolor-icon-theme, wrapGAppsHook }:
{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, libxml2, libxslt, libatasmart, libnotify, lm_sensors, mate, hicolor-icon-theme, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "mate-sensors-applet-${version}";
version = "1.20.3";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0s98qy3jkri9zh5xqffprqd00cqspaq9av0mcrcakjkl8wyfh2g6";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "0rv19jxxviqqwk2wlhxlm98jsxa26scvs7ilp2i6plhn3ap2alq3";
};
nativeBuildInputs = [
@ -23,7 +23,6 @@ stdenv.mkDerivation rec {
libxslt
libatasmart
libnotify
dbus-glib
lm_sensors
mate.mate-panel
hicolor-icon-theme

View File

@ -5,11 +5,11 @@
stdenv.mkDerivation rec {
name = "mate-session-manager-${version}";
version = "1.20.2";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "05qq07b568qf6zyy459wajhfpbx1wfrinw3hsbky7abdjfn529dy";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1kpfmgay01gm74paaxccs3lim4jfb4hsm7i85jfdypr51985pwyj";
};
nativeBuildInputs = [

View File

@ -1,14 +1,15 @@
{ stdenv, fetchurl, pkgconfig, intltool, dbus-glib, libxklavier, libcanberra-gtk3, libnotify, nss, polkit, gnome3, gtk3, mate, wrapGAppsHook
, pulseaudioSupport ? stdenv.config.pulseaudio or true, libpulseaudio
}:
{ stdenv, fetchurl, pkgconfig, intltool, glib, dbus-glib, libxklavier,
libcanberra-gtk3, libnotify, nss, polkit, gnome3, gtk3, mate,
pulseaudioSupport ? stdenv.config.pulseaudio or true, libpulseaudio,
wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "mate-settings-daemon-${version}";
version = "1.20.4";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "10xlg2gb7fypnn5cnr14kbpjy5jdfz98ji615scz61zf5lljksxh";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "0yr5v6b9hdk20j29smbw1k4fkyg82i5vlflmgly0vi5whgc74gym";
};
nativeBuildInputs = [
@ -33,6 +34,8 @@ stdenv.mkDerivation rec {
configureFlags = stdenv.lib.optional pulseaudioSupport "--enable-pulse";
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
meta = with stdenv.lib; {
description = "MATE settings daemon";
homepage = https://github.com/mate-desktop/mate-settings-daemon;

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtkmm3, libxml2, libgtop, libwnck3, librsvg, systemd, mate, wrapGAppsHook }:
{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtkmm3, libxml2, libgtop, libwnck3, librsvg, systemd, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "mate-system-monitor-${version}";
version = "1.20.2";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0f6sh23axzmcmyv0d837gbc0dixf1afh8951zrzp1y53rdgpa9qn";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "0rs0n5ivmvi355fp3ymcp1jj2sz9viw31475aw7zh7s1l7dn969x";
};
nativeBuildInputs = [

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "mate-terminal-${version}";
version = "1.20.2";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0fqyi0az4ax1gyk5gymd7ssq2crdcd7slmqljc1b1pa283ql7p3q";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "08210ry5lrivsgzqpdaxrchhpj0n5s1q0x4pxmwdpnksjpcj11mn";
};
buildInputs = [

View File

@ -3,11 +3,11 @@
stdenv.mkDerivation rec {
name = "mate-themes-${version}";
version = "3.22.18";
version = "3.22.19";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/themes/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0538bw8qismp16ymxbjk0ww7yjw1ch5v3f3d4vib3770xvgmmcfm";
url = "http://pub.mate-desktop.org/releases/themes/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1ycb8b8r0s8d1h1477135mynr53s5781gdb2ap8xlvj2g58492wq";
};
nativeBuildInputs = [ pkgconfig intltool gtk3 ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, intltool, itstool, libxml2, yelp, mate }:
{ stdenv, fetchurl, intltool, itstool, libxml2, yelp }:
stdenv.mkDerivation rec {
name = "mate-user-guide-${version}";
version = "1.20.2";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0cbi625xd7nsifvxbixsb29kj2zj14sn0sl61wkcvasz7whg7w6r";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "02zlfdhrvamd299pbf5s19pr90y8yah84g12shwihlxff7d3hxvs";
};
nativeBuildInputs = [ itstool intltool libxml2 ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, dbus-glib, libnotify, libxml2, libcanberra-gtk3, mod_dnssd, apacheHttpd, hicolor-icon-theme, mate, wrapGAppsHook }:
{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, libnotify, libxml2, libcanberra-gtk3, mod_dnssd, apacheHttpd, hicolor-icon-theme, mate, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "mate-user-share-${version}";
version = "1.20.1";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0v5xilk978zl5443vlxf25z8z1g5sw9xl5sq76gvrmdlz2parfrn";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "14bhr6fv6gj3ka3sf13q64ck4svx8f4x8kzbppxv0jygpjp48w7h";
};
nativeBuildInputs = [
@ -18,7 +18,6 @@ stdenv.mkDerivation rec {
buildInputs = [
gtk3
dbus-glib
libnotify
libcanberra-gtk3
libxml2

View File

@ -1,18 +1,19 @@
{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, libxml2, libgtop, libcanberra-gtk3, mate, hicolor-icon-theme, wrapGAppsHook }:
{ stdenv, fetchurl, pkgconfig, intltool, itstool, gtk3, libxml2, libgtop, libcanberra-gtk3, inkscape, mate, hicolor-icon-theme, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "mate-utils-${version}";
version = "1.20.2";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0w7hw192jzhad8jab8mjms4x6k2xijvb3rhlbxb6z5n5880xgfqf";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "0768y6x33ljc9dxjlfmvplsn4lrxj5xhjddbyab9h6pqav8527rg";
};
nativeBuildInputs = [
pkgconfig
intltool
itstool
inkscape
wrapGAppsHook
];

View File

@ -1,20 +1,20 @@
{ stdenv, python, fetchurl, pkgconfig, intltool, mate, gtk3, glib, wrapGAppsHook, gobject-introspection }:
{ stdenv, python3, fetchurl, pkgconfig, intltool, mate, gtk3, glib, wrapGAppsHook, gobject-introspection }:
python.pkgs.buildPythonApplication rec {
python3.pkgs.buildPythonApplication rec {
pname = "mozo";
version = "1.20.2";
version = "1.22.1";
format = "other";
doCheck = false;
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${pname}-${version}.tar.xz";
sha256 = "1q4hqhigimxav2a8xxyd53lq8q80szsphcv37y2jhm6g6wvdmvhd";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0yffp7p3b6ynpf7ck21klym7h09l35amnyahm71dxbv2kzj6hlqh";
};
nativeBuildInputs = [ pkgconfig intltool gobject-introspection wrapGAppsHook ];
propagatedBuildInputs = [ mate.mate-menus python.pkgs.pygobject3 ];
propagatedBuildInputs = [ mate.mate-menus python3.pkgs.pygobject3 ];
buildInputs = [ gtk3 glib ];

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, pkgconfig, intltool, itstool, isocodes, enchant, libxml2, python, gnome3, gtksourceview3, libpeas, mate, wrapGAppsHook }:
{ stdenv, fetchurl, pkgconfig, intltool, itstool, isocodes, enchant, libxml2, python3, gnome3, gtksourceview3, libpeas, mate, wrapGAppsHook }:
stdenv.mkDerivation rec {
name = "pluma-${version}";
version = "1.20.4";
version = "1.22.1";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "0qdbm5y6q8lbabd81mg3rnls5bdvbmfii82f6syqw1cw6381mzgz";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "14d5c5fg31d7br9h1y3gdcr53j4sxlgybf326jvdcw8mgy91k3dg";
};
nativeBuildInputs = [
@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
buildInputs = [
enchant
libxml2
python
python3
gtksourceview3
libpeas
gnome3.adwaita-icon-theme

View File

@ -1,25 +1,25 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk3, mate, pythonPackages }:
{ stdenv, fetchurl, pkgconfig, intltool, gtk3, mate, python3Packages }:
stdenv.mkDerivation rec {
name = "python-caja-${version}";
version = "1.20.2";
version = "1.22.0";
src = fetchurl {
url = "http://pub.mate-desktop.org/releases/${mate.getRelease version}/${name}.tar.xz";
sha256 = "16r8mz1b44qgs19d14zadwzshzrdc5sdwgjp9f9av3fa6g09yd7b";
url = "http://pub.mate-desktop.org/releases/${stdenv.lib.versions.majorMinor version}/${name}.tar.xz";
sha256 = "1zwdjvxci72j0181nlfq6912lw3aq8j3746brlp7wlzn22qp7b0k";
};
nativeBuildInputs = [
pkgconfig
intltool
pythonPackages.wrapPython
python3Packages.wrapPython
];
buildInputs = [
gtk3
mate.caja
pythonPackages.python
pythonPackages.pygobject3
python3Packages.python
python3Packages.pygobject3
];
configureFlags = [ "--with-cajadir=$$out/lib/caja/extensions-2.0" ];

View File

@ -7,7 +7,7 @@ cd "$(dirname "${BASH_SOURCE[0]}")"
root=../../..
export NIXPKGS_ALLOW_UNFREE=1
mate_version=1.20
mate_version=1.22
theme_version=3.22
materepo=https://pub.mate-desktop.org/releases/${mate_version}
themerepo=https://pub.mate-desktop.org/releases/themes/${theme_version}
@ -19,6 +19,7 @@ version() {
update_package() {
local p=$1
echo $p
echo "# $p" >> git-commits.txt
local repo
if [ "$p" = "mate-themes" ]; then
@ -30,7 +31,14 @@ update_package() {
local p_version_old=$(version mate.$p)
local p_versions=$(curl -sS ${repo}/ | sed -rne "s/.*\"$p-([0-9]+\\.[0-9]+\\.[0-9]+)\\.tar\\.xz.*/\\1/p")
local p_version=$(echo $p_versions | sed -e 's/ /\n/g' | sort -t. -k 1,1n -k 2,2n -k 3,3n | tail -n1)
if [[ -z "$p_version" ]]; then
echo "unavailable $p"
echo "# $p not found" >> git-commits.txt
echo
return
fi
if [[ "$p_version" = "$p_version_old" ]]; then
echo "nothing to do, $p $p_version is current"
echo
@ -44,6 +52,8 @@ update_package() {
local path=${prefetch[1]}
echo "$p: $p_version_old -> $p_version"
(cd "$root" && update-source-version mate.$p "$p_version" "$hash")
echo " git add pkgs/desktops/mate/$p" >> git-commits.txt
echo " git commit -m \"mate.$p: $p_version_old -> $p_version\"" >> git-commits.txt
echo
}

View File

@ -0,0 +1,25 @@
From f79775378a9eeec5b99f18cc95735b12d172aba3 Mon Sep 17 00:00:00 2001
From: Tom McLaughlin <pyro777@gmail.com>
Date: Wed, 12 Dec 2018 13:01:32 -0800
Subject: [PATCH] Patch to make work better with nix
---
base/loading.jl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/base/loading.jl b/base/loading.jl
index 51201b98b6..b40c0690f6 100644
--- a/base/loading.jl
+++ b/base/loading.jl
@@ -1384,7 +1384,7 @@ function stale_cachefile(modpath::String, cachefile::String)
# Issue #13606: compensate for Docker images rounding mtimes
# Issue #20837: compensate for GlusterFS truncating mtimes to microseconds
ftime = mtime(f)
- if ftime != ftime_req && ftime != floor(ftime_req) && ftime != trunc(ftime_req, digits=6)
+ if ftime != ftime_req && ftime != floor(ftime_req) && ftime != trunc(ftime_req, digits=6) && ftime != 1.0
@debug "Rejecting stale cache file $cachefile (mtime $ftime_req) because file $f (mtime $ftime) has changed"
return true
end
--
2.17.1

View File

@ -97,6 +97,12 @@ stdenv.mkDerivation rec {
patches = [
./0001.1-use-system-utf8proc.patch
# Julia recompiles a precompiled file if the mtime stored *in* the
# .ji file differs from the mtime of the .ji file. This
# doesn't work in Nix because Nix changes the mtime of files in
# the Nix store to 1. So patch Julia to accept mtimes of 1.
./allow_nix_mtime.patch
];
postPatch = ''

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, coq }:
stdenv.mkDerivation rec {
version = "20180316";
version = "20181116";
name = "coq${coq.coq-version}-tlc-${version}";
src = fetchurl {
url = "http://tlc.gforge.inria.fr/releases/tlc-${version}.tar.gz";
sha256 = "0y8h0x9dfn9dm60j1jkxr9i8lbfqd3ff626wrc9v49qxhi50szqq";
sha256 = "0iv6f6zmrv2lhq3xq57ipmw856ahsql754776ymv5wjm88ld63nm";
};
buildInputs = [ coq ];

View File

@ -13,7 +13,8 @@ stdenv.mkDerivation rec {
sed -i 's,nacl/,sodium/,g' ./include/libssh/curve25519.h src/curve25519.c
'';
outputs = [ "out" "dev" ];
# single output, otherwise cmake and .pc files point to the wrong directory
# outputs = [ "out" "dev" ];
buildInputs = [ zlib openssl libsodium ];

View File

@ -1,6 +1,6 @@
{ callPackage, ... }:
callPackage ./generic-v3.nix {
version = "3.7.0";
sha256 = "0nlxif4cajqllsj2vdh7zp14ag48fb8lsa64zmq8625q9m2lcmdh";
version = "3.7.1";
sha256 = "00zkijvj80bmhlj8290x4bc416mng2dlbzwc4bkvfmbal1fx93m2";
}

View File

@ -2,13 +2,13 @@
buildPythonPackage rec {
pname = "asynctest";
version = "0.12.3";
version = "0.12.4";
disabled = pythonOlder "3.4";
src = fetchPypi {
inherit pname version;
sha256 = "bbeb45bb41344d2cbb814b4c89c04f2c568742352736cabf7af6fcbed06f66cc";
sha256 = "ade427a711d18016f35fb0c5d412f0ed63fb074a6084b67ff2dad48f50b0d6ca";
};
postPatch = ''

View File

@ -6,11 +6,11 @@
}:
buildPythonPackage rec {
pname = "cmd2";
version = "0.9.11";
version = "0.9.12";
src = fetchPypi {
inherit pname version;
sha256 = "0hjj587dwnl5767wbl875vglvdr1f5z5jzb5wliip78lbyq3b8rl";
sha256 = "14pyvihikml1z7q21q9cvdfxvvlf8lhbaasj05hpiq6fjyvd7zsc";
};
LC_ALL="en_US.UTF-8";

View File

@ -20,7 +20,7 @@ buildPythonPackage rec {
src = fetchPypi {
inherit pname version;
sha256 = "cca981c5b97970394820bd53a3b2a408003c4993241f4f04385b423f14d8e84a";
sha256 = "0jp8v0a3yhjv7024y7r4jd4kq008ljra6lxx4143jw3rp72q3afc";
};
postPatch = ''

View File

@ -0,0 +1,41 @@
{ lib
, buildPythonPackage
, fetchPypi
, pyutilib
, appdirs
, ply
, six
, nose
}:
buildPythonPackage rec {
pname = "pyomo";
version = "5.6.1";
src = fetchPypi {
pname = "Pyomo";
inherit version;
sha256 = "449be9a4c9b3caee7c89dbe5f0e4e5ad0eaeef8be110a860641cd249986e362c";
};
checkInputs = [ nose ];
propagatedBuildInputs = [
pyutilib
appdirs
ply
six
];
checkPhase = ''
rm pyomo/bilevel/tests/test_blp.py \
pyomo/version/tests/test_installer.py
nosetests
'';
meta = with lib; {
description = "Pyomo: Python Optimization Modeling Objects";
homepage = http://pyomo.org;
license = licenses.bsd3;
maintainers = [ maintainers.costrouc ];
};
}

View File

@ -0,0 +1,32 @@
{ lib
, buildPythonPackage
, fetchPypi
, nose
, six
}:
buildPythonPackage rec {
pname = "pyutilib";
version = "5.6.5";
src = fetchPypi {
pname = "PyUtilib";
inherit version;
sha256 = "4730084624be98f2c326da88f3852831c6aa919e11babab2c34b0299c8f5ce2a";
};
propagatedBuildInputs = [
nose
six
];
# tests require text files that are not included in the pypi package
doCheck = false;
meta = with lib; {
description = "PyUtilib: A collection of Python utilities";
homepage = https://github.com/PyUtilib/pyutilib;
license = licenses.bsd3;
maintainers = [ maintainers.costrouc ];
};
}

View File

@ -76,6 +76,7 @@ in stdenv.mkDerivation rec {
mv $out/share/insomnia/*.so $out/lib/
ln -s $out/share/insomnia/insomnia $out/bin/insomnia
sed -i 's|\/opt\/Insomnia|'$out'/bin|g' $out/share/applications/insomnia.desktop
'';
preFixup = ''

View File

@ -8,8 +8,8 @@ in
mktplcRef = {
name = "vscode-wakatime";
publisher = "WakaTime";
version = "1.2.13";
sha256 = "0zidlc1flgw8h9l5ph98xh6anxhggk4vpmq6k1k2sfzrrjypymgf";
version = "1.3.0";
sha256 = "1g0k2hl3wb1rnjxvp7a1j6m200z92878ifb17h2ll69rlpmwcfqr";
};
postPatch = ''

View File

@ -1,19 +1,16 @@
{ stdenv, lib, fetchFromGitHub, fetchpatch, cmake, docbook_xsl, libxslt
, openssl, libuuid, libwebsockets, c-ares, libuv
, systemd ? null }:
, systemd ? null, withSystemd ? stdenv.isLinux }:
let
withSystemd = stdenv.isLinux;
in stdenv.mkDerivation rec {
stdenv.mkDerivation rec {
name = "mosquitto-${version}";
version = "1.5.8";
version = "1.6";
src = fetchFromGitHub {
owner = "eclipse";
repo = "mosquitto";
rev = "v${version}";
sha256 = "1rf8g6fq7g1mhwsajsgvvlynasybgc51v0qg5j6ynsxfh8yi7s6r";
sha256 = "1yvn0yj9hb502lvk2yrshpvrnq2fddjyarnw37ip34mhxynnz5gb";
};
postPatch = ''
@ -38,8 +35,6 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [ cmake docbook_xsl libxslt ];
enableParallelBuilding = true;
cmakeFlags = [
"-DWITH_THREADING=ON"
"-DWITH_WEBSOCKETS=ON"

View File

@ -19,11 +19,11 @@ buildPythonPackage rec {
# The websites youtube-dl deals with are a very moving target. That means that
# downloads break constantly. Because of that, updates should always be backported
# to the latest stable release.
version = "2019.04.17";
version = "2019.04.24";
src = fetchurl {
url = "https://yt-dl.org/downloads/${version}/${pname}-${version}.tar.gz";
sha256 = "0dznw06qbb75glzirhnsbsd5xqix08jxdngbd21wndxcj1yq5y8a";
sha256 = "1kzz3y2q6798mwn20i69imf48kb04gx3rznfl06hb8qv5zxm9gqz";
};
nativeBuildInputs = [ makeWrapper ];

View File

@ -0,0 +1,29 @@
{ stdenv, fetchFromGitHub, rustPlatform, pkgconfig, openssl, darwin }:
rustPlatform.buildRustPackage rec {
pname = "cargo-outdated";
version = "unstable-2019-04-13";
src = fetchFromGitHub {
owner = "kbknapp";
repo = pname;
rev = "ce4b6baddc94b77a155abbb5a4fa4d3b31a45598";
sha256 = "0x00vn0ldnm2hvndfmq4g4q5w6axyg9vsri3i5zxhmir7423xabp";
};
cargoSha256 = "1xqii2z0asgkwn1ny9n19w7d4sjz12a6i55x2pf4cfrciapdpvdl";
nativeBuildInputs = [ pkgconfig ];
buildInputs = [ openssl ]
++ stdenv.lib.optionals stdenv.isDarwin [
darwin.apple_sdk.frameworks.Security
];
meta = with stdenv.lib; {
description = "A cargo subcommand for displaying when Rust dependencies are out of date";
homepage = https://github.com/kbknapp/cargo-outdated;
license = with licenses; [ asl20 /* or */ mit ];
platforms = platforms.all;
maintainers = [ maintainers.sondr3 ];
};
}

View File

@ -2148,7 +2148,7 @@ in
mozc = callPackage ../tools/inputmethods/ibus-engines/ibus-mozc rec {
python = python2;
inherit (python2Packages) gyp;
protobuf = pkgs.protobuf3_6.overrideDerivation (oldAttrs: { stdenv = clangStdenv; });
protobuf = pkgs.protobuf.overrideDerivation (oldAttrs: { stdenv = clangStdenv; });
};
table = callPackage ../tools/inputmethods/ibus-engines/ibus-table {
@ -3877,6 +3877,8 @@ in
k6 = callPackage ../development/tools/k6 { };
lalezar-fonts = callPackage ../data/fonts/lalezar-fonts { };
ldc = callPackage ../development/compilers/ldc { };
lbreakout2 = callPackage ../games/lbreakout2 { };
@ -7768,6 +7770,7 @@ in
cargo-download = callPackage ../tools/package-management/cargo-download { };
cargo-edit = callPackage ../tools/package-management/cargo-edit { };
cargo-outdated = callPackage ../tools/package-management/cargo-outdated {};
cargo-release = callPackage ../tools/package-management/cargo-release {
inherit (darwin.apple_sdk.frameworks) Security;
};
@ -19916,6 +19919,10 @@ in
sublime3-dev = sublime3Packages.sublime3-dev;
inherit (callPackage ../applications/version-management/sublime-merge {})
sublime-merge
sublime-merge-dev;
inherit (callPackages ../applications/version-management/subversion { sasl = cyrus_sasl; })
subversion18 subversion19 subversion_1_10 subversion_1_11;

View File

@ -342,7 +342,7 @@ let
phpstan = pkgs.stdenv.mkDerivation rec {
version = "0.11.5";
pname = "phpstan";
pname = "php-phpstan";
src = pkgs.fetchurl {
url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
@ -376,7 +376,7 @@ let
psysh = pkgs.stdenv.mkDerivation rec {
version = "0.9.9";
pname = "psysh";
pname = "php-psysh";
src = pkgs.fetchurl {
url = "https://github.com/bobthecow/psysh/releases/download/v${version}/psysh-v${version}.tar.gz";

View File

@ -3836,6 +3836,8 @@ in {
pylint = if isPy3k then callPackage ../development/python-modules/pylint { }
else callPackage ../development/python-modules/pylint/1.9.nix { };
pyomo = callPackage ../development/python-modules/pyomo { };
pyopencl = callPackage ../development/python-modules/pyopencl { };
pyotp = callPackage ../development/python-modules/pyotp { };
@ -4024,6 +4026,8 @@ in {
pyutil = callPackage ../development/python-modules/pyutil { };
pyutilib = callPackage ../development/python-modules/pyutilib { };
pywal = callPackage ../development/python-modules/pywal { };
pywebkitgtk = callPackage ../development/python-modules/pywebkitgtk { };