Merge remote-tracking branch 'upstream/master' into hardened-stdenv

This commit is contained in:
Robin Gloster 2016-03-03 16:11:55 +00:00
commit fed49425c5
242 changed files with 2052 additions and 2061 deletions

4
.gitignore vendored

@ -12,7 +12,5 @@ result-*
.DS_Store
/pkgs/applications/kde-apps-*/tmp/
/pkgs/development/libraries/kde-frameworks-*/tmp/
/pkgs/development/libraries/qt-5/*/tmp/
/pkgs/desktops/plasma-*/tmp/
/pkgs/desktops/kde-5/*/tmp/

@ -14,6 +14,7 @@
aespinosa = "Allan Espinosa <allan.espinosa@outlook.com>";
aflatter = "Alexander Flatter <flatter@fastmail.fm>";
aforemny = "Alexander Foremny <alexanderforemny@googlemail.com>";
afranchuk = "Alex Franchuk <alex.franchuk@gmail.com>";
aherrmann = "Andreas Herrmann <andreash87@gmx.ch>";
ak = "Alexander Kjeldaas <ak@formalprivacy.com>";
akaWolf = "Artjom Vejsel <akawolf0@gmail.com>";
@ -32,6 +33,7 @@
ardumont = "Antoine R. Dumont <eniotna.t@gmail.com>";
aristid = "Aristid Breitkreuz <aristidb@gmail.com>";
arobyn = "Alexei Robyn <shados@shados.net>";
artuuge = "Artur E. Ruuge <artuuge@gmail.com>";
asppsa = "Alastair Pharo <asppsa@gmail.com>";
astsmtl = "Alexander Tsamutali <astsmtl@yandex.ru>";
aszlig = "aszlig <aszlig@redmoonstudios.org>";
@ -67,6 +69,7 @@
chaoflow = "Florian Friesdorf <flo@chaoflow.net>";
chattered = "Phil Scott <me@philscotted.com>";
christopherpoole = "Christopher Mark Poole <mail@christopherpoole.net>";
cleverca22 = "Michael Bishop <cleverca22@gmail.com>";
coconnor = "Corey O'Connor <coreyoconnor@gmail.com>";
codsl = "codsl <codsl@riseup.net>";
codyopel = "Cody Opel <codyopel@gmail.com>";
@ -164,6 +167,7 @@
joelmo = "Joel Moberg <joel.moberg@gmail.com>";
joelteon = "Joel Taylor <me@joelt.io>";
jpbernardy = "Jean-Philippe Bernardy <jeanphilippe.bernardy@gmail.com>";
jraygauthier = "Raymond Gauthier <jraygauthier@gmail.com>";
jwiegley = "John Wiegley <johnw@newartisans.com>";
jwilberding = "Jordan Wilberding <jwilberding@afiniate.com>";
jzellner = "Jeff Zellner <jeffz@eml.cc>";

File diff suppressed because it is too large Load Diff

@ -279,7 +279,7 @@ sub get_deps {
next if $n eq "perl";
# Hacky way to figure out if this module is part of Perl.
if ( $n !~ /^JSON/ && $n !~ /^YAML/ && $n !~ /^Module::Pluggable/ ) {
if ( $n !~ /^JSON/ && $n !~ /^YAML/ && $n !~ /^Module::Pluggable/ && $n !~ /^if$/ ) {
eval "use $n;";
if ( !$@ ) {
DEBUG("skipping Perl-builtin module $n");
@ -431,7 +431,7 @@ my $build_fun = -e "$pkg_path/Build.PL"
print STDERR "===\n";
print <<EOF;
"$attr_name" = $build_fun rec {
${\(is_reserved($attr_name) ? "\"$attr_name\"" : $attr_name)} = $build_fun rec {
name = "$pkg_name";
src = fetchurl {
url = "mirror://cpan/${\$module->path}/\${name}.${\$module->package_extension}";
@ -450,7 +450,7 @@ EOF
print <<EOF if defined $homepage;
homepage = $homepage;
EOF
print <<EOF if defined $description;
print <<EOF if defined $description && $description ne "Unknown";
description = "$description";
EOF
print <<EOF if defined $license;

@ -327,6 +327,7 @@
./services/networking/ircd-hybrid/default.nix
./services/networking/kippo.nix
./services/networking/lambdabot.nix
./services/networking/libreswan.nix
./services/networking/mailpile.nix
./services/networking/minidlna.nix
./services/networking/miniupnpd.nix

@ -254,7 +254,7 @@ in
${concatStringsSep "\n" (mapAttrsToList (to: from: ''
if [ -d '${from}' ]; then
mkdir '${stateDir}/sieve/${to}'
cp ${from}/*.sieve '${stateDir}/sieve/${to}'
cp "${from}/"*.sieve '${stateDir}/sieve/${to}'
else
cp '${from}' '${stateDir}/sieve/${to}'
fi

@ -0,0 +1,126 @@
{ config, lib, pkgs, ... }:
with lib;
let
cfg = config.services.libreswan;
libexec = "${pkgs.libreswan}/libexec/ipsec";
ipsec = "${pkgs.libreswan}/sbin/ipsec";
trim = chars: str: let
nonchars = filter (x : !(elem x.value chars))
(imap (i: v: {ind = (sub i 1); value = v;}) (stringToCharacters str));
in
if length nonchars == 0 then ""
else substring (head nonchars).ind (add 1 (sub (last nonchars).ind (head nonchars).ind)) str;
indent = str: concatStrings (concatMap (s: [" " (trim [" " "\t"] s) "\n"]) (splitString "\n" str));
configText = indent (toString cfg.configSetup);
connectionText = concatStrings (mapAttrsToList (n: v:
''
conn ${n}
${indent v}
'') cfg.connections);
configFile = pkgs.writeText "ipsec.conf"
''
config setup
${configText}
${connectionText}
'';
in
{
###### interface
options = {
services.libreswan = {
enable = mkEnableOption "libreswan ipsec service";
configSetup = mkOption {
type = types.lines;
default = ''
protostack=netkey
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10
'';
example = ''
secretsfile=/root/ipsec.secrets
protostack=netkey
nat_traversal=yes
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10
'';
description = "Options to go in the 'config setup' section of the libreswan ipsec configuration";
};
connections = mkOption {
type = types.attrsOf types.lines;
default = {};
example = {
myconnection = ''
auto=add
left=%defaultroute
leftid=@user
right=my.vpn.com
ikev2=no
ikelifetime=8h
'';
};
description = "A set of connections to define for the libreswan ipsec service";
};
};
};
###### implementation
config = mkIf cfg.enable {
environment.systemPackages = [ pkgs.libreswan pkgs.iproute ];
systemd.services.ipsec = {
description = "Internet Key Exchange (IKE) Protocol Daemon for IPsec";
path = [
"${pkgs.libreswan}"
"${pkgs.iproute}"
"${pkgs.procps}"
];
wants = [ "network-online.target" ];
after = [ "network-online.target" ];
wantedBy = [ "multi-user.target" ];
serviceConfig = {
Type = "simple";
Restart = "always";
EnvironmentFile = "${pkgs.libreswan}/etc/sysconfig/pluto";
ExecStartPre = [
"${libexec}/addconn --config ${configFile} --checkconfig"
"${libexec}/_stackmanager start"
"${ipsec} --checknss"
"${ipsec} --checknflog"
];
ExecStart = "${libexec}/pluto --config ${configFile} --nofork \$PLUTO_OPTIONS";
ExecStop = "${libexec}/whack --shutdown";
ExecStopPost = [
"${pkgs.iproute}/bin/ip xfrm policy flush"
"${pkgs.iproute}/bin/ip xfrm state flush"
"${ipsec} --stopnflog"
];
ExecReload = "${libexec}/whack --listen";
};
};
};
}

@ -21,7 +21,7 @@ let
else toString ''"${x}"'';
# for users in group "transmission" to have access to torrents
fullSettings = { download-dir = downloadDir; incomplete-dir = incompleteDir; } // cfg.settings // { umask = 2; };
fullSettings = { umask = 2; download-dir = downloadDir; incomplete-dir = incompleteDir; } // cfg.settings;
in
{
options = {

@ -160,6 +160,7 @@ let
"systemd-timedated.service"
"systemd-localed.service"
"systemd-hostnamed.service"
"systemd-binfmt.service"
]
++ cfg.additionalUpstreamSystemUnits;
@ -779,6 +780,7 @@ in
systemd.services.systemd-user-sessions.restartIfChanged = false; # Restart kills all active sessions.
systemd.targets.local-fs.unitConfig.X-StopOnReconfiguration = true;
systemd.targets.remote-fs.unitConfig.X-StopOnReconfiguration = true;
systemd.services.systemd-binfmt.wants = [ "proc-sys-fs-binfmt_misc.automount" ];
# Don't bother with certain units in containers.
systemd.services.systemd-remount-fs.unitConfig.ConditionVirtualization = "!container";

@ -0,0 +1,12 @@
{ config, pkgs, modulesPath, ... }:
{
# To build the configuration or use nix-env, you need to run
# either nixos-rebuild --upgrade or nix-channel --update
# to fetch the nixos channel.
# This configures everything but bootstrap services,
# which only need to be run once and have already finished
# if you are able to see this comment.
imports = [ "${modulesPath}/virtualisation/azure-common.nix" ];
}

@ -78,7 +78,7 @@ in
echo Install a configuration.nix.
mkdir -p /mnt/etc/nixos /mnt/boot/grub
cp ${./azure-config.nix} /mnt/etc/nixos/configuration.nix
cp ${./azure-config-user.nix} /mnt/etc/nixos/configuration.nix
echo Generate the GRUB menu.
ln -s vda /dev/sda

@ -31,7 +31,7 @@ let
# If the test is only for a particular system, use only the specified
# system instead of generating attributes for all available systems.
in if args ? system then discover (import fn args)
else foldAttrs (a: b: a // b) {} (map discoverForSystem supportedSystems);
else foldAttrs mergeAttrs {} (map discoverForSystem supportedSystems);
pkgs = import nixpkgs { system = "x86_64-linux"; };

@ -5,18 +5,21 @@ import ./make-test.nix ({ pkgs, ... } : {
maintainers = [ eelco chaoflow ];
};
nodes = {
one =
{ config, pkgs, ... }: {
services.avahi.enable = true;
services.avahi.nssmdns = true;
};
two =
{ config, pkgs, ... }: {
services.avahi.enable = true;
services.avahi.nssmdns = true;
nodes = let
cfg = { config, pkgs, ... }: {
services.avahi = {
enable = true;
nssmdns = true;
publish.addresses = true;
publish.domain = true;
publish.enable = true;
publish.userServices = true;
publish.workstation = true;
};
};
in {
one = cfg;
two = cfg;
};
testScript =

@ -46,7 +46,7 @@ let
, grubIdentifier, preBootCommands, extraConfig
}:
let
iface = if grubVersion == 1 then "scsi" else "virtio";
iface = if grubVersion == 1 then "ide" else "virtio";
qemuFlags =
(if system == "x86_64-linux" then "-m 768 " else "-m 512 ") +
(optionalString (system == "x86_64-linux") "-cpu kvm64 ");

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, buildDotnetPackage, makeWrapper, unzip, makeDesktopItem, plugins ? [] }:
{ stdenv, lib, fetchurl, buildDotnetPackage, makeWrapper, unzip, makeDesktopItem, icoutils, plugins ? [] }:
# KeePass looks for plugins in under directory in which KeePass.exe is
# located. It follows symlinks where looking for that directory, so
@ -17,7 +17,7 @@ with builtins; buildDotnetPackage rec {
sourceRoot = ".";
buildInputs = [ unzip makeWrapper ];
buildInputs = [ unzip makeWrapper icoutils ];
pluginLoadPathsPatch =
let outputLc = toString (add 8 (length plugins));
@ -52,9 +52,14 @@ with builtins; buildDotnetPackage rec {
name = "keepass";
exec = "keepass";
comment = "Password manager";
icon = "keepass";
desktopName = "Keepass";
genericName = "Password manager";
categories = "Application;Other;";
categories = "Application;Utility;";
mimeType = stdenv.lib.concatStringsSep ";" [
"application/x-keepass2"
""
];
};
outputFiles = [ "Build/KeePass/Release/*" "Build/KeePassLib/Release/*" ];
@ -67,16 +72,29 @@ with builtins; buildDotnetPackage rec {
# is found and does not pollute output path.
binPaths = lib.concatStrings (lib.intersperse ":" (map (x: x + "/bin") plugins));
postInstall = ''
postInstall =
let
extractFDeskIcons = ./extractWinRscIconsToStdFreeDesktopDir.sh;
in
''
mkdir -p "$out/share/applications"
cp ${desktopItem}/share/applications/* $out/share/applications
wrapProgram $out/bin/keepass --prefix PATH : "$binPaths"
${extractFDeskIcons} \
"./Translation/TrlUtil/Resources/KeePass.ico" \
'[^\.]+_[0-9]+_([0-9]+x[0-9]+)x[0-9]+\.png' \
'\1' \
'([^\.]+).+' \
'keepass' \
"$out" \
"./tmp"
'';
meta = {
description = "GUI password manager with strong cryptography";
homepage = http://www.keepass.info/;
maintainers = with stdenv.lib.maintainers; [ amorsillo obadz ];
maintainers = with stdenv.lib.maintainers; [ amorsillo obadz jraygauthier ];
platforms = with stdenv.lib.platforms; all;
license = stdenv.lib.licenses.gpl2;
};

@ -0,0 +1,61 @@
#!/bin/sh
# The file from which to extract *.ico files.
#rscFile="./KeePass.exe"
rscFile=$1
# A regexp that can extract the image size from the file name.
# sizeRegex='[^\.]+\.exe_[0-9]+_[0-9]+_[0-9]+_[0-9]+_([0-9]+x[0-9]+)x[0-9]+\.png'
sizeRegex=$2
# sizeReplaceExp='\1'
sizeReplaceExp=$3
# A regexp that can extract the name of the target image from the file name.
# nameRegex='([^\.]+)\.exe.+'
nameRegex=$4
# nameReplaceExp='\1'
nameReplaceExp=$5
# out=./myOut
out=$6
# An optional temp dir. TODO: Generate it randomly by default instead.
tmp=./tmp
if [ "" != "$4" ]; then
tmp=$7
fi
rm -rf $tmp/png $tmp/ico
mkdir -p $tmp/png $tmp/ico
# Extract the ressource file's extension.
rscFileExt=`echo "$rscFile" | sed -re 's/.+\.(.+)$/\1/'`
# Debug ressource file extension.
echo "rscFileExt=$rscFileExt"
if [ "ico" = "$rscFileExt" ]; then
cp -p $rscFile $tmp/ico
else
wrestool -x --output=$tmp/ico -t14 $rscFile
fi
icotool --icon -x --palette-size=0 -o $tmp/png $tmp/ico/*.ico
mkdir -p $out
for i in $tmp/png/*.png; do
fn=`basename "$i"`
size=$(echo $fn | sed -re 's/'${sizeRegex}'/'${sizeReplaceExp}'/')
name=$(echo $fn | sed -re 's/'${nameRegex}'/'${nameReplaceExp}'/')
targetDir=$out/share/icons/hicolor/$size/apps
targetFile=$targetDir/$name.png
mkdir -p $targetDir
mv $i $targetFile
done
rm -rf $tmp/png $tmp/ico

@ -1,6 +1,6 @@
{ stdenv, fetchurl, pkgs, pythonPackages }:
{ stdenv, fetchurl, pkgs, python3Packages }:
pythonPackages.buildPythonApplication rec {
python3Packages.buildPythonApplication rec {
version = "0.7.0";
name = "khal-${version}";
@ -9,7 +9,7 @@ pythonPackages.buildPythonApplication rec {
sha256 = "00llxj7cv31mjsx0j6zxmyi9s1q20yvfkn025xcy8cv1ylfwic66";
};
propagatedBuildInputs = with pythonPackages; [
propagatedBuildInputs = with python3Packages; [
atomicwrites
click
configobj
@ -22,7 +22,6 @@ pythonPackages.buildPythonApplication rec {
requests_toolbelt
tzlocal
urwid
python.modules.sqlite3
pkginfo
];

@ -1,30 +1,40 @@
{ stdenv, fetchurl, pkgconfig, cmake, pango, cairo, glib, imlib2, libXinerama
{ stdenv, fetchFromGitLab, pkgconfig, cmake, pango, cairo, glib, imlib2, libXinerama
, libXrender, libXcomposite, libXdamage, libX11, libXrandr, gtk, libpthreadstubs
, libXdmcp
, libXdmcp, librsvg, libstartup_notification
}:
stdenv.mkDerivation rec {
name = "tint2-${version}";
version = "0.11";
version = "0.12.7";
src = fetchurl {
url = "http://tint2.googlecode.com/files/${name}.tar.bz2";
sha256 = "07a74ag7lhc6706z34zvqj2ikyyl7wnzisfxpld67ljpc1m6w47y";
src = fetchFromGitLab {
owner = "o9000";
repo = "tint2";
rev = version;
sha256 = "01wb1yy7zfi01fl34yzpn1d30fykcf8ivmdlynnxp5znqrdsqm2r";
};
enableParallelBuilding = true;
buildInputs = [ pkgconfig cmake pango cairo glib imlib2 libXinerama
libXrender libXcomposite libXdamage libX11 libXrandr gtk libpthreadstubs
libXdmcp
libXdmcp librsvg libstartup_notification
];
preConfigure = "substituteInPlace CMakeLists.txt --replace /etc $out/etc";
preConfigure =
''
substituteInPlace CMakeLists.txt --replace /etc $out/etc
'';
cmakeFlags = [
"-DENABLE_TINT2CONF=0"
];
prePatch =
''
substituteInPlace ./src/tint2conf/properties.c --replace /usr/share/ /run/current-system/sw/share/
substituteInPlace ./src/launcher/apps-common.c --replace /usr/share/ /run/current-system/sw/share/
substituteInPlace ./src/launcher/icon-theme-common.c --replace /usr/share/ /run/current-system/sw/share/
'';
meta = {
homepage = http://code.google.com/p/tint2;
homepage = https://gitlab.com/o9000/tint2;
license = stdenv.lib.licenses.gpl2;
description = "A simple panel/taskbar unintrusive and light (memory / cpu / aestetic)";
platforms = stdenv.lib.platforms.linux;

@ -1,27 +1,29 @@
{ stdenv, fetchurl, pkgconfig, python, makeWrapper, pygtk
, webkit, glib_networking, gsettings_desktop_schemas
{ stdenv, fetchurl, pkgconfig, python3, makeWrapper, pygtk
, webkit, glib_networking, gsettings_desktop_schemas, pythonPackages
}:
stdenv.mkDerivation rec {
name = "uzbl-20120514";
name = "uzbl-v0.9.0";
meta = with stdenv.lib; {
description = "Tiny externally controllable webkit browser";
homepage = "http://uzbl.org/";
license = licenses.gpl3;
platforms = platforms.linux;
maintainers = with maintainers; [ raskin ];
maintainers = with maintainers; [ raskin dgonyeo ];
};
src = fetchurl {
name = "${name}.tar.gz";
url = "https://github.com/uzbl/uzbl/archive/2012.05.14.tar.gz";
sha256 = "1flpf0rg0c3n9bjifr37zxljn9yxslg8vkll7ghkm341x76cbkwn";
url = "https://github.com/uzbl/uzbl/archive/v0.9.0.tar.gz";
sha256 = "0iskhv653fdm5raiidimh9fzlsw28zjqx7b5n3fl1wgbj6yz074k";
};
preConfigure = ''
makeFlags="$makeFlags PREFIX=$out"
makeFlags="$makeFlags PYINSTALL_EXTRA=--prefix=$out"
mkdir -p $out/lib/python3.4/site-packages/
export PYTHONPATH=$PYTHONPATH:$out/lib/python3.4/site-packages/
'';
preFixup = ''
@ -33,7 +35,7 @@ stdenv.mkDerivation rec {
done
'';
nativeBuildInputs = [ pkgconfig python makeWrapper ];
nativeBuildInputs = [ pkgconfig python3 makeWrapper ];
buildInputs = [ gsettings_desktop_schemas webkit pygtk ];
buildInputs = [ gsettings_desktop_schemas webkit pygtk pythonPackages.six ];
}

@ -1,13 +1,13 @@
{ stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
, pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla }:
let version = "3.15.0.2"; in
let version = "3.16.0"; in
stdenv.mkDerivation {
name = "filezilla-${version}";
src = fetchurl {
url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
sha256 = "0kvwkz01v73qi8y6n8wlidglwh0vg7pajsjm8xq7gch6jmq4cg1k";
sha256 = "0ilv4xhgav4srx6iqn0v0kv8rifgkysyx1hb9bnm45dc0skmbgbx";
};
configureFlags = [

@ -4,11 +4,11 @@
stdenv.mkDerivation rec {
name = "mcabber-${version}";
version = "1.0.1";
version = "1.0.2";
src = fetchurl {
url = "http://mcabber.com/files/mcabber-${version}.tar.bz2";
sha256 = "14rd17rs26knmwinfv63w2xzlkj5ygvhicx95h0mai4lpji4b6jp";
sha256 = "1phzfsl6cfzaga140dm8bb8q678j0qsw29cc03rw4vkcxa8kh577";
};
buildInputs = [ openssl ncurses pkgconfig glib loudmouth libotr gpgme ];

@ -1,31 +1,37 @@
{ stdenv, fetchFromGitHub
, qtbase, qtquick1, qtmultimedia, qtquickcontrols, qtgraphicaleffects, makeQtWrapper
, telegram-qml, libqtelegram-aseman-edition }:
{ stdenv, fetchgit
, qtbase, qtmultimedia, qtquick1, qtquickcontrols, qtgraphicaleffects
, telegram-qml, libqtelegram-aseman-edition
, gst_plugins_base, gst_plugins_good, gst_plugins_bad, gst_plugins_ugly
, makeQtWrapper }:
stdenv.mkDerivation rec {
name = "cutegram-${version}";
version = "2.7.0-stable";
name = "cutegram-${meta.version}";
src = fetchFromGitHub {
owner = "Aseman-Land";
repo = "Cutegram";
rev = "v${version}";
sha256 = "0qhy30gb8zdrphz1b7zcnv8hmm5fd5qwlvrg7wpsh3hk5niz3zxk";
src = fetchgit {
url = "https://github.com/Aseman-Land/Cutegram.git";
rev = "1dbe2792fb5a1760339379907f906e236c09db84";
sha256 = "080153bpa92jpi0zdrfajrn0yqy3jp8m4704sirbz46dv7471rzl";
};
# TODO appindicator, for system tray plugin
buildInputs = [ qtbase qtquick1 qtmultimedia qtquickcontrols qtgraphicaleffects telegram-qml libqtelegram-aseman-edition ];
buildInputs =
[ qtbase qtmultimedia qtquick1 qtquickcontrols qtgraphicaleffects
telegram-qml libqtelegram-aseman-edition
gst_plugins_base gst_plugins_good gst_plugins_bad gst_plugins_ugly ];
nativeBuildInputs = [ makeQtWrapper ];
enableParallelBuild = true;
fixupPhase = "wrapQtProgram $out/bin/cutegram";
configurePhase = "qmake -r PREFIX=$out";
fixupPhase = "wrapQtProgram $out/bin/cutegram";
meta = with stdenv.lib; {
version = "2.7.1";
description = "Telegram client forked from sigram";
homepage = "http://aseman.co/en/products/cutegram/";
license = licenses.gpl3;
maintainers = [ maintainers.profpatsch ];
maintainers = with maintainers; [ profpatsch AndersonTorres ];
};
}
#TODO: appindicator, for system tray plugin (by @profpatsch)

@ -2,14 +2,13 @@
, qtbase, qtmultimedia, qtquick1 }:
stdenv.mkDerivation rec {
name = "libqtelegram-aseman-edition-${version}";
version = "6.0";
name = "libqtelegram-aseman-edition-${meta.version}";
src = fetchFromGitHub {
owner = "Aseman-Land";
repo = "libqtelegram-aseman-edition";
rev = "v${version}";
sha256 = "17hlxf43xwic8m06q3gwbxjpvz31ks6laffjw6ny98d45zfnfwra";
rev = "v${meta.version}-stable";
sha256 = "1pfd4pvh51639zk9shv1s4f6pf0ympnhar8a302vhrkga9i4cbx6";
};
buildInputs = [ qtbase qtmultimedia qtquick1 ];
@ -25,6 +24,7 @@ stdenv.mkDerivation rec {
'';
meta = with stdenv.lib; {
version = "6.1";
description = "A fork of libqtelegram by Aseman, using qmake";
homepage = src.meta.homepage;
license = stdenv.lib.licenses.gpl3;

@ -3,17 +3,16 @@
, libqtelegram-aseman-edition }:
stdenv.mkDerivation rec {
name = "telegram-qml-${version}";
version = "0.9.1-stable";
name = "telegram-qml-${meta.version}";
src = fetchFromGitHub {
owner = "Aseman-Land";
repo = "TelegramQML";
rev = "v${version}";
sha256 = "077j06lfr6qccqv664hn0ln023xlh5cfm50kapjc2inapxj2yqmn";
rev = "v${meta.version}";
sha256 = "0j8vn845f2virvddk9yjbljy6vkr9ikyn6iy7hpj8nvr2xls3499";
};
buildInputs = [ qtbase qtmultimedia qtquick1 libqtelegram-aseman-edition ];
propagatedBuildInputs = [ qtbase qtmultimedia qtquick1 libqtelegram-aseman-edition ];
enableParallelBuild = true;
patchPhase = ''
@ -26,6 +25,7 @@ stdenv.mkDerivation rec {
'';
meta = with stdenv.lib; {
version = "0.9.2";
description = "Telegram API tools for QtQml and Qml";
homepage = src.meta.homepage;
license = stdenv.lib.licenses.gpl3;

@ -1,10 +1,10 @@
{stdenv, fetchurl, gtk, gperf, pkgconfig, bzip2, tcl, tk, judy, xz}:
stdenv.mkDerivation rec {
name = "gtkwave-3.3.66";
name = "gtkwave-3.3.70";
src = fetchurl {
url = "mirror://sourceforge/gtkwave/${name}.tar.gz";
sha256 = "17mrmgr6zzl1x1qml0wmjjhcbw7bg3w4mqy60rsy0z6gxd8hikh4";
sha256 = "1akzf1sq8mwarrbrbz5chrvgwlsp444h5za8rg1dfyqk733s7piz";
};
buildInputs = [ gtk gperf pkgconfig bzip2 tcl tk judy xz ];

@ -11,6 +11,11 @@ stdenv.mkDerivation rec {
hardening_format = false;
preConfigure = ''
substituteInPlace Makefile \
--replace "CC=gcc" ""
'';
installPhase = ''
mkdir -p $out/bin
mv ltl2ba $out/bin
@ -20,7 +25,7 @@ stdenv.mkDerivation rec {
description = "fast translation from LTL formulae to Buchi automata";
homepage = "http://www.lsv.ens-cachan.fr/~gastin/ltl2ba";
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.linux;
platforms = stdenv.lib.platforms.darwin ++ stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
};
}

@ -0,0 +1,23 @@
{ python27Packages, fetchurl, lib } :
python27Packages.buildPythonApplication rec {
name = "motu-client-${version}";
version = "1.0.8";
src = fetchurl {
url = "https://github.com/quiet-oceans/motuclient-setuptools/archive/${name}.tar.gz";
sha256 = "1naqmav312agn72iad9kyxwscn2lz4v1cfcqqi1qcgvc82vnwkw2";
};
meta = with lib; {
homepage = https://github.com/quiet-oceans/motuclient-setuptools;
description = "CLI to query oceanographic data to Motu servers";
longDescription = ''
Access data from (motu)[http://sourceforge.net/projects/cls-motu/] servers.
This is a refactored fork of the original release in order to simplify integration,
deployment and packaging. Upstream code can be found at
http://sourceforge.net/projects/cls-motu/ .
'';
license = licenses.lgpl3Plus;
maintainers = [ maintainers.lsix ];
};
}

@ -4,7 +4,7 @@
stdenv.mkDerivation rec {
rev = "e716a9e1a9e460a45663694ba4e9e8894a8452b2";
version = "v0.2-e716a9e1a9e460a45663694ba4e9e8894a8452b2";
version = "0.2-${rev}";
name = "git-remote-hg-${version}";
src = fetchgit {

@ -21,6 +21,7 @@
, youtubeSupport ? true, youtube-dl ? null
, cacaSupport ? true, libcaca ? null
, vaapiSupport ? false, libva ? null
, waylandSupport ? false, wayland ? null, libxkbcommon ? null
}:
assert x11Support -> (libX11 != null && libXext != null && mesa != null && libXxf86vm != null);
@ -41,6 +42,7 @@ assert bs2bSupport -> libbs2b != null;
assert libpngSupport -> libpng != null;
assert youtubeSupport -> youtube-dl != null;
assert cacaSupport -> libcaca != null;
assert waylandSupport -> (wayland != null && libxkbcommon != null);
let
inherit (stdenv.lib) optional optionals optionalString;
@ -77,7 +79,8 @@ stdenv.mkDerivation rec {
"--enable-manpage-build"
"--disable-build-date" # Purity
"--enable-zsh-comp"
] ++ optional vaapiSupport "--enable-vaapi";
] ++ optional vaapiSupport "--enable-vaapi"
++ optional waylandSupport "--enable-wayland";
configurePhase = ''
python ${waf} configure --prefix=$out $configureFlags
@ -105,7 +108,8 @@ stdenv.mkDerivation rec {
++ optional youtubeSupport youtube-dl
++ optional sdl2Support SDL2
++ optional cacaSupport libcaca
++ optional vaapiSupport libva;
++ optional vaapiSupport libva
++ optionals waylandSupport [ wayland libxkbcommon ];
enableParallelBuilding = true;
@ -139,6 +143,5 @@ stdenv.mkDerivation rec {
'';
};
}
# TODO: Wayland support
# TODO: investigate caca support
# TODO: investigate lua5_sockets bug

@ -0,0 +1,31 @@
{ stdenv, fetchzip }:
stdenv.mkDerivation rec {
name = "gentium-book-basic-${version}";
major = "1";
minor = "102";
version = "${major}.${minor}";
src = fetchzip {
name = "${name}.zip";
url = "http://software.sil.org/downloads/gentium/GentiumBasic_${major}${minor}.zip";
sha256 = "109yiqwdfb1bn7d6bjp8d50k1h3z3kz86p3faz11f9acvsbsjad0";
};
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
mkdir -p $out/share/fonts/truetype
mkdir -p $out/share/doc/${name}
cp -v *.ttf $out/share/fonts/truetype/
cp -v FONTLOG.txt GENTIUM-FAQ.txt $out/share/doc/${name}
'';
meta = with stdenv.lib; {
homepage = "http://software.sil.org/gentium/";
description = "A high-quality typeface family for Latin, Cyrillic, and Greek";
maintainers = with maintainers; [ DamienCassou ];
license = licenses.ofl;
platforms = platforms.all;
};
}

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