Merge remote-tracking branch 'upstream/master' into hardened-stdenv
This commit is contained in:
commit
fed49425c5
4
.gitignore
vendored
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
|
||||
|
|
126
nixos/modules/services/networking/libreswan.nix
Normal file
126
nixos/modules/services/networking/libreswan.nix
Normal file
|
@ -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";
|
||||
|
|
12
nixos/modules/virtualisation/azure-config-user.nix
Normal file
12
nixos/modules/virtualisation/azure-config-user.nix
Normal file
|
@ -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;
|
||||
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;
|
||||
};
|
||||
|
||||
two =
|
||||
{ config, pkgs, ... }: {
|
||||
services.avahi.enable = true;
|
||||
services.avahi.nssmdns = 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;
|
||||
};
|
||||
|
|
61
pkgs/applications/misc/keepass/extractWinRscIconsToStdFreeDesktopDir.sh
Executable file
61
pkgs/applications/misc/keepass/extractWinRscIconsToStdFreeDesktopDir.sh
Executable file
|
@ -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 ];
|
||||
};
|
||||
}
|
||||
|
|
23
pkgs/applications/science/misc/motu-client/default.nix
Normal file
23
pkgs/applications/science/misc/motu-client/default.nix
Normal file
|
@ -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
|
||||
|
|
31
pkgs/data/fonts/gentium-book-basic/default.nix
Normal file
31
pkgs/data/fonts/gentium-book-basic/default.nix
Normal file
|
@ -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
Loading…
Reference in a new issue