forked from mirrors/nixpkgs
Merge remote-tracking branch 'origin/master' into glibc-2.19
This commit is contained in:
commit
db9d204d33
|
@ -108,7 +108,7 @@ a <varname>preConfigure</varname> hook to generate a configuration
|
||||||
file used by <filename>Makefile.PL</filename>:
|
file used by <filename>Makefile.PL</filename>:
|
||||||
|
|
||||||
<programlisting>
|
<programlisting>
|
||||||
{buildPerlPackage, fetchurl, db4}:
|
{buildPerlPackage, fetchurl, db}:
|
||||||
|
|
||||||
buildPerlPackage rec {
|
buildPerlPackage rec {
|
||||||
name = "BerkeleyDB-0.36";
|
name = "BerkeleyDB-0.36";
|
||||||
|
@ -119,8 +119,8 @@ buildPerlPackage rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
echo "LIB = ${db4}/lib" > config.in
|
echo "LIB = ${db}/lib" > config.in
|
||||||
echo "INCLUDE = ${db4}/include" >> config.in
|
echo "INCLUDE = ${db}/include" >> config.in
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
</programlisting>
|
</programlisting>
|
||||||
|
|
|
@ -28,12 +28,14 @@
|
||||||
garbas = "Rok Garbas <rok@garbas.si>";
|
garbas = "Rok Garbas <rok@garbas.si>";
|
||||||
goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
|
goibhniu = "Cillian de Róiste <cillian.deroiste@gmail.com>";
|
||||||
guibert = "David Guibert <david.guibert@gmail.com>";
|
guibert = "David Guibert <david.guibert@gmail.com>";
|
||||||
|
hinton = "Tom Hinton <t@larkery.com>";
|
||||||
ianwookim = "Ian-Woo Kim <ianwookim@gmail.com>";
|
ianwookim = "Ian-Woo Kim <ianwookim@gmail.com>";
|
||||||
iElectric = "Domen Kozar <domen@dev.si>";
|
iElectric = "Domen Kozar <domen@dev.si>";
|
||||||
iyzsong = "Song Wenwu <iyzsong@gmail.com>";
|
iyzsong = "Song Wenwu <iyzsong@gmail.com>";
|
||||||
jcumming = "Jack Cummings <jack@mudshark.org>";
|
jcumming = "Jack Cummings <jack@mudshark.org>";
|
||||||
kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
|
kkallio = "Karn Kallio <tierpluspluslists@gmail.com>";
|
||||||
ktosiek = "Tomasz Kontusz <tomasz.kontusz@gmail.com>";
|
ktosiek = "Tomasz Kontusz <tomasz.kontusz@gmail.com>";
|
||||||
|
lethalman = "Luca Bruno <lucabru@src.gnome.org>";
|
||||||
linquize = "Linquize <linquize@yahoo.com.hk>";
|
linquize = "Linquize <linquize@yahoo.com.hk>";
|
||||||
lovek323 = "Jason O'Conal <jason@oconal.id.au>";
|
lovek323 = "Jason O'Conal <jason@oconal.id.au>";
|
||||||
ludo = "Ludovic Courtès <ludo@gnu.org>";
|
ludo = "Ludovic Courtès <ludo@gnu.org>";
|
||||||
|
@ -64,6 +66,7 @@
|
||||||
sprock = "Roger Mason <rmason@mun.ca>";
|
sprock = "Roger Mason <rmason@mun.ca>";
|
||||||
thammers = "Tobias Hammerschmidt <jawr@gmx.de>";
|
thammers = "Tobias Hammerschmidt <jawr@gmx.de>";
|
||||||
the-kenny = "Moritz Ulrich <moritz@tarn-vedra.de>";
|
the-kenny = "Moritz Ulrich <moritz@tarn-vedra.de>";
|
||||||
|
thoughtpolice = "Austin Seipp <aseipp@pobox.com>";
|
||||||
tomberek = "Thomas Bereknyei <tomberek@gmail.com>";
|
tomberek = "Thomas Bereknyei <tomberek@gmail.com>";
|
||||||
urkud = "Yury G. Kudryashov <urkud+nix@ya.ru>";
|
urkud = "Yury G. Kudryashov <urkud+nix@ya.ru>";
|
||||||
vcunat = "Vladimír Čunát <vcunat@gmail.com>";
|
vcunat = "Vladimír Čunát <vcunat@gmail.com>";
|
||||||
|
@ -71,6 +74,7 @@
|
||||||
vizanto = "Danny Wilson <danny@prime.vc>";
|
vizanto = "Danny Wilson <danny@prime.vc>";
|
||||||
vlstill = "Vladimír Štill <xstill@fi.muni.cz>";
|
vlstill = "Vladimír Štill <xstill@fi.muni.cz>";
|
||||||
winden = "Antonio Vargas Gonzalez <windenntw@gmail.com>";
|
winden = "Antonio Vargas Gonzalez <windenntw@gmail.com>";
|
||||||
|
wizeman = "Ricardo M. Correia <rcorreia@wizy.org>";
|
||||||
z77z = "Marco Maggesi <maggesi@math.unifi.it>";
|
z77z = "Marco Maggesi <maggesi@math.unifi.it>";
|
||||||
zef = "Zef Hemel <zef@zef.me>";
|
zef = "Zef Hemel <zef@zef.me>";
|
||||||
zimbatm = "zimbatm <zimbatm@zimbatm.com>";
|
zimbatm = "zimbatm <zimbatm@zimbatm.com>";
|
||||||
|
|
|
@ -41,4 +41,13 @@ rec {
|
||||||
pathExists readFile isBool isFunction
|
pathExists readFile isBool isFunction
|
||||||
isInt add sub lessThan;
|
isInt add sub lessThan;
|
||||||
|
|
||||||
|
# Return the Nixpkgs version number.
|
||||||
|
nixpkgsVersion =
|
||||||
|
let suffixFile = ../.version-suffix; in
|
||||||
|
readFile ../.version
|
||||||
|
+ (if pathExists suffixFile then readFile suffixFile else "pre-git");
|
||||||
|
|
||||||
|
# Whether we're being called by nix-shell. This is useful to
|
||||||
|
inNixShell = builtins.getEnv "IN_NIX_SHELL" == "1";
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -132,7 +132,7 @@ rec {
|
||||||
{ inherit (def) file;
|
{ inherit (def) file;
|
||||||
value = listToAttrs (
|
value = listToAttrs (
|
||||||
imap (elemIdx: elem:
|
imap (elemIdx: elem:
|
||||||
{ name = "${elem.name or "unnamed"}-${toString defIdx}.${toString elemIdx}";
|
{ name = elem.name or "unnamed-${toString defIdx}.${toString elemIdx}";
|
||||||
value = elem;
|
value = elem;
|
||||||
}) def.value);
|
}) def.value);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
#! /bin/sh -e
|
|
||||||
|
|
||||||
distDir=${NIX_TARBALLS_CACHE:-/tarballs}
|
|
||||||
|
|
||||||
url="$1"
|
|
||||||
file="$2"
|
|
||||||
if [ -z "$url" ]; then echo "syntax: $0 URL"; exit 0; fi
|
|
||||||
|
|
||||||
base="$(basename "$url")"
|
|
||||||
if [ -z "$base" ]; then echo "bad URL"; exit 1; fi
|
|
||||||
dstPath="$distDir/$base"
|
|
||||||
|
|
||||||
if [ -e "$dstPath" ]; then if [ -n "$VERBOSE" ]; then echo "$dstPath already exists"; fi; exit 0; fi
|
|
||||||
|
|
||||||
if [ -z "$file" ]; then
|
|
||||||
|
|
||||||
echo "downloading $url to $dstPath"
|
|
||||||
|
|
||||||
if [ -n "$DRY_RUN" ]; then exit 0; fi
|
|
||||||
|
|
||||||
declare -a res
|
|
||||||
if ! res=($(PRINT_PATH=1 nix-prefetch-url "$url")); then
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
|
|
||||||
storePath=${res[1]}
|
|
||||||
|
|
||||||
else
|
|
||||||
storePath="$file"
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp $storePath "$dstPath.tmp.$$"
|
|
||||||
mv -f "$dstPath.tmp.$$" "$dstPath"
|
|
||||||
|
|
||||||
echo "hashing $dstPath"
|
|
||||||
|
|
||||||
md5=$(nix-hash --flat --type md5 "$dstPath")
|
|
||||||
ln -sfn "../$base" $distDir/md5/$md5
|
|
||||||
|
|
||||||
sha1=$(nix-hash --flat --type sha1 "$dstPath")
|
|
||||||
ln -sfn "../$base" $distDir/sha1/$sha1
|
|
||||||
|
|
||||||
sha256=$(nix-hash --flat --type sha256 "$dstPath")
|
|
||||||
ln -sfn "../$base" $distDir/sha256/$sha256
|
|
||||||
ln -sfn "../$base" $distDir/sha256/$(nix-hash --type sha256 --to-base32 "$sha256")
|
|
95
maintainers/scripts/copy-tarballs.pl
Executable file
95
maintainers/scripts/copy-tarballs.pl
Executable file
|
@ -0,0 +1,95 @@
|
||||||
|
#! /run/current-system/sw/bin/perl -w
|
||||||
|
|
||||||
|
use strict;
|
||||||
|
use XML::Simple;
|
||||||
|
use File::Basename;
|
||||||
|
use File::Path;
|
||||||
|
use File::Copy 'cp';
|
||||||
|
use IPC::Open2;
|
||||||
|
use Nix::Store;
|
||||||
|
|
||||||
|
my $myDir = dirname($0);
|
||||||
|
|
||||||
|
my $tarballsCache = $ENV{'NIX_TARBALLS_CACHE'} // "/tarballs";
|
||||||
|
|
||||||
|
my $xml = `nix-instantiate --eval-only --xml --strict '<nixpkgs/maintainers/scripts/find-tarballs.nix>'`;
|
||||||
|
die "$0: evaluation failed\n" if $? != 0;
|
||||||
|
|
||||||
|
my $data = XMLin($xml) or die;
|
||||||
|
|
||||||
|
mkpath($tarballsCache);
|
||||||
|
mkpath("$tarballsCache/md5");
|
||||||
|
mkpath("$tarballsCache/sha1");
|
||||||
|
mkpath("$tarballsCache/sha256");
|
||||||
|
|
||||||
|
foreach my $file (@{$data->{list}->{attrs}}) {
|
||||||
|
my $url = $file->{attr}->{url}->{string}->{value};
|
||||||
|
my $algo = $file->{attr}->{type}->{string}->{value};
|
||||||
|
my $hash = $file->{attr}->{hash}->{string}->{value};
|
||||||
|
|
||||||
|
if ($url !~ /^http:/ && $url !~ /^https:/ && $url !~ /^ftp:/ && $url !~ /^mirror:/) {
|
||||||
|
print STDERR "skipping $url (unsupported scheme)\n";
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
$url =~ /([^\/]+)$/;
|
||||||
|
my $fn = $1;
|
||||||
|
|
||||||
|
if (!defined $fn) {
|
||||||
|
print STDERR "skipping $url (no file name)\n";
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($fn =~ /[&?=%]/ || $fn =~ /^\./) {
|
||||||
|
print STDERR "skipping $url (bad character in file name)\n";
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($fn !~ /[a-zA-Z]/) {
|
||||||
|
print STDERR "skipping $url (no letter in file name)\n";
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($fn !~ /[0-9]/) {
|
||||||
|
print STDERR "skipping $url (no digit in file name)\n";
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($fn !~ /[-_\.]/) {
|
||||||
|
print STDERR "skipping $url (no dash/dot/underscore in file name)\n";
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
|
my $dstPath = "$tarballsCache/$fn";
|
||||||
|
|
||||||
|
next if -e $dstPath;
|
||||||
|
|
||||||
|
print "downloading $url to $dstPath...\n";
|
||||||
|
|
||||||
|
next if $ENV{DRY_RUN};
|
||||||
|
|
||||||
|
$ENV{QUIET} = 1;
|
||||||
|
$ENV{PRINT_PATH} = 1;
|
||||||
|
my $fh;
|
||||||
|
my $pid = open($fh, "-|", "nix-prefetch-url", "--type", $algo, $url, $hash) or die;
|
||||||
|
waitpid($pid, 0) or die;
|
||||||
|
if ($? != 0) {
|
||||||
|
print STDERR "failed to fetch $url: $?\n";
|
||||||
|
last if $? >> 8 == 255;
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
<$fh>; my $storePath = <$fh>; chomp $storePath;
|
||||||
|
|
||||||
|
die unless -e $storePath;
|
||||||
|
|
||||||
|
cp($storePath, $dstPath) or die;
|
||||||
|
|
||||||
|
my $md5 = hashFile("md5", 0, $storePath) or die;
|
||||||
|
symlink("../$fn", "$tarballsCache/md5/$md5");
|
||||||
|
|
||||||
|
my $sha1 = hashFile("sha1", 0, $storePath) or die;
|
||||||
|
symlink("../$fn", "$tarballsCache/sha1/$sha1");
|
||||||
|
|
||||||
|
my $sha256 = hashFile("sha256", 0, $storePath) or die;
|
||||||
|
symlink("../$fn", "$tarballsCache/sha256/$sha256");
|
||||||
|
}
|
|
@ -1,27 +0,0 @@
|
||||||
#! /bin/sh -e
|
|
||||||
|
|
||||||
urls=$(nix-instantiate --eval-only --xml --strict '<nixpkgs/maintainers/scripts/eval-release.nix>' \
|
|
||||||
| grep -A2 'name="urls"' \
|
|
||||||
| grep '<string value=' \
|
|
||||||
| sed 's/.*"\(.*\)".*/\1/' \
|
|
||||||
| sort | uniq)
|
|
||||||
|
|
||||||
for url in $urls; do
|
|
||||||
if echo "$url" | grep -q -E "www.cs.uu.nl|nixos.org|.stratego-language.org|java.sun.com|ut2004|linuxq3a|RealPlayer|Adbe|belastingdienst|microsoft|armijn/.nix|sun.com|archive.eclipse.org"; then continue; fi
|
|
||||||
|
|
||||||
# Check the URL scheme.
|
|
||||||
if ! echo "$url" | grep -q -E "^[a-z]+://"; then echo "skipping $url (no URL scheme)"; continue; fi
|
|
||||||
|
|
||||||
# Check the basename. It should include something resembling a version.
|
|
||||||
base="$(basename "$url")"
|
|
||||||
#if ! echo "$base" | grep -q -E "[-_].*[0-9].*"; then echo "skipping $url (no version)"; continue; fi
|
|
||||||
if ! echo "$base" | grep -q -E "[a-zA-Z]"; then echo "skipping $url (no letter in name)"; continue; fi
|
|
||||||
if ! echo "$base" | grep -q -E "[0-9]"; then echo "skipping $url (no digit in name)"; continue; fi
|
|
||||||
if ! echo "$base" | grep -q -E "[-_\.]"; then echo "skipping $url (no dot/underscore in name)"; continue; fi
|
|
||||||
if echo "$base" | grep -q -E "[&?=%]"; then echo "skipping $url (bad character in name)"; continue; fi
|
|
||||||
if [ "${base:0:1}" = "." ]; then echo "skipping $url (starts with a dot)"; continue; fi
|
|
||||||
|
|
||||||
$(dirname $0)/copy-tarball.sh "$url"
|
|
||||||
done
|
|
||||||
|
|
||||||
echo DONE
|
|
45
maintainers/scripts/find-tarballs.nix
Normal file
45
maintainers/scripts/find-tarballs.nix
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
# This expression returns a list of all fetchurl calls used by all
|
||||||
|
# packages reachable from release.nix.
|
||||||
|
|
||||||
|
with import ../.. { };
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
root = removeAttrs (import ../../pkgs/top-level/release.nix { }) [ "tarball" "unstable" ];
|
||||||
|
|
||||||
|
uniqueUrls = map (x: x.file) (genericClosure {
|
||||||
|
startSet = map (file: { key = file.url; inherit file; }) urls;
|
||||||
|
operator = const [ ];
|
||||||
|
});
|
||||||
|
|
||||||
|
urls = map (drv: { url = head drv.urls; hash = drv.outputHash; type = drv.outputHashAlgo; }) fetchurlDependencies;
|
||||||
|
|
||||||
|
fetchurlDependencies = filter (drv: drv.outputHash or "" != "" && drv ? urls) dependencies;
|
||||||
|
|
||||||
|
dependencies = map (x: x.value) (genericClosure {
|
||||||
|
startSet = map keyDrv (derivationsIn' root);
|
||||||
|
operator = { key, value }: map keyDrv (immediateDependenciesOf value);
|
||||||
|
});
|
||||||
|
|
||||||
|
derivationsIn' = x:
|
||||||
|
if !canEval x then []
|
||||||
|
else if isDerivation x then optional (canEval x.drvPath) x
|
||||||
|
else if isList x then concatLists (map derivationsIn' x)
|
||||||
|
else if isAttrs x then concatLists (mapAttrsToList (n: v: derivationsIn' v) x)
|
||||||
|
else [ ];
|
||||||
|
|
||||||
|
keyDrv = drv: if canEval drv.drvPath then { key = drv.drvPath; value = drv; } else { };
|
||||||
|
|
||||||
|
immediateDependenciesOf = drv:
|
||||||
|
concatLists (mapAttrsToList (n: v: derivationsIn v) (removeAttrs drv ["meta" "passthru"]));
|
||||||
|
|
||||||
|
derivationsIn = x:
|
||||||
|
if !canEval x then []
|
||||||
|
else if isDerivation x then optional (canEval x.drvPath) x
|
||||||
|
else if isList x then concatLists (map derivationsIn x)
|
||||||
|
else [ ];
|
||||||
|
|
||||||
|
canEval = val: (builtins.tryEval val).success;
|
||||||
|
|
||||||
|
in uniqueUrls
|
|
@ -1183,7 +1183,7 @@ driver from a set of X.org drivers (such as <literal>vesa</literal>
|
||||||
and <literal>intel</literal>). You can also specify a driver
|
and <literal>intel</literal>). You can also specify a driver
|
||||||
manually, e.g.
|
manually, e.g.
|
||||||
<programlisting>
|
<programlisting>
|
||||||
services.xserver.videoDrivers = [ "r128" ];
|
hardware.opengl.videoDrivers = [ "r128" ];
|
||||||
</programlisting>
|
</programlisting>
|
||||||
to enable X.org’s <literal>xf86-video-r128</literal> driver.</para>
|
to enable X.org’s <literal>xf86-video-r128</literal> driver.</para>
|
||||||
|
|
||||||
|
@ -1226,7 +1226,7 @@ $ systemctl start display-manager.service
|
||||||
has better 3D performance than the X.org drivers. It is not enabled
|
has better 3D performance than the X.org drivers. It is not enabled
|
||||||
by default because it’s not free software. You can enable it as follows:
|
by default because it’s not free software. You can enable it as follows:
|
||||||
<programlisting>
|
<programlisting>
|
||||||
services.xserver.videoDrivers = [ "nvidia" ];
|
hardware.opengl.videoDrivers = [ "nvidia" ];
|
||||||
</programlisting>
|
</programlisting>
|
||||||
You may need to reboot after enabling this driver to prevent a clash
|
You may need to reboot after enabling this driver to prevent a clash
|
||||||
with other kernel modules.</para>
|
with other kernel modules.</para>
|
||||||
|
|
|
@ -295,7 +295,7 @@ $ reboot</screen>
|
||||||
}</screen>
|
}</screen>
|
||||||
</example>
|
</example>
|
||||||
|
|
||||||
<section>
|
<section xml:id="sec-uefi-installation">
|
||||||
|
|
||||||
<title>UEFI Installation</title>
|
<title>UEFI Installation</title>
|
||||||
|
|
||||||
|
@ -305,14 +305,15 @@ changes:
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>You should boot the livecd in UEFI mode (consult your specific
|
<para>You should boot the live CD in UEFI mode (consult your
|
||||||
hardware's documentation for instructions how).</para>
|
specific hardware's documentation for instructions).</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Instead of <command>fdisk</command>, you should use <command>
|
<para>Instead of <command>fdisk</command>, you should use
|
||||||
gdisk</command> to partition your disks. You will need to have a
|
<command>gdisk</command> to partition your disks. You will need to
|
||||||
separate partition for <filename>/boot</filename> with partition code
|
have a separate partition for <filename>/boot</filename> with
|
||||||
EF00, and it should be formatted with a vfat filesystem.</para>
|
partition code EF00, and it should be formatted as a
|
||||||
|
<literal>vfat</literal> filesystem.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>You must set <option>boot.loader.gummiboot.enable</option> to
|
<para>You must set <option>boot.loader.gummiboot.enable</option> to
|
||||||
|
@ -327,8 +328,8 @@ changes:
|
||||||
as well.</para>
|
as well.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>To see console messages during early boot, put <literal>"fbcon"</literal>
|
<para>To see console messages during early boot, add <literal>"fbcon"</literal>
|
||||||
in your <option>boot.initrd.kernelModules</option></para>
|
to your <option>boot.initrd.kernelModules</option>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
|
|
|
@ -55,9 +55,12 @@
|
||||||
<!-- <xi:include href="userconfiguration.xml" /> -->
|
<!-- <xi:include href="userconfiguration.xml" /> -->
|
||||||
<xi:include href="troubleshooting.xml" />
|
<xi:include href="troubleshooting.xml" />
|
||||||
<xi:include href="development.xml" />
|
<xi:include href="development.xml" />
|
||||||
<chapter xml:id="ch-options">
|
|
||||||
|
<xi:include href="release-notes.xml" />
|
||||||
|
|
||||||
|
<appendix xml:id="ch-options">
|
||||||
<title>List of options</title>
|
<title>List of options</title>
|
||||||
<xi:include href="options-db.xml" />
|
<xi:include href="options-db.xml" />
|
||||||
</chapter>
|
</appendix>
|
||||||
|
|
||||||
</book>
|
</book>
|
||||||
|
|
53
nixos/doc/manual/release-notes.xml
Normal file
53
nixos/doc/manual/release-notes.xml
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
<appendix xmlns="http://docbook.org/ns/docbook"
|
||||||
|
xml:id="ch-release-notes">
|
||||||
|
|
||||||
|
<title>Release notes</title>
|
||||||
|
|
||||||
|
<!--==================================================================-->
|
||||||
|
|
||||||
|
<section xml:id="sec-release-14.02">
|
||||||
|
|
||||||
|
<title>Release 14.02 (“Baboon”, 2014/02/??)</title>
|
||||||
|
|
||||||
|
<para>This is the second stable release branch of NixOS. The main
|
||||||
|
enhancements are the following:
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem><para>Installation on UEFI systems is now supported. See
|
||||||
|
<xref linkend="sec-uefi-installation"/> for
|
||||||
|
details.</para></listitem>
|
||||||
|
|
||||||
|
<listitem><para>NixOS is now based on Glibc 2.18 and GCC
|
||||||
|
4.8.</para></listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>When upgrading from a previous release, please be aware of the
|
||||||
|
following incompatible changes:
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
|
||||||
|
<listitem><para>The option
|
||||||
|
<option>boot.loader.grub.memtest86</option> has been renamed to
|
||||||
|
<option>boot.loader.grub.memtest86.enable</option>.</para></listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<!--==================================================================-->
|
||||||
|
|
||||||
|
<section xml:id="sec-release-13.10">
|
||||||
|
|
||||||
|
<title>Release 13.10 (“Aardvark”, 2013/10/31)</title>
|
||||||
|
|
||||||
|
<para>This is the first stable release branch of NixOS.</para>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
|
||||||
|
</appendix>
|
|
@ -369,7 +369,7 @@ in
|
||||||
home = "/root";
|
home = "/root";
|
||||||
shell = cfg.defaultUserShell;
|
shell = cfg.defaultUserShell;
|
||||||
group = "root";
|
group = "root";
|
||||||
hashedPassword = config.security.initialRootPassword;
|
hashedPassword = mkDefault config.security.initialRootPassword;
|
||||||
};
|
};
|
||||||
nobody = {
|
nobody = {
|
||||||
uid = ids.uids.nobody;
|
uid = ids.uids.nobody;
|
||||||
|
|
|
@ -138,8 +138,7 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
# Setting vesa, we don't get the nvidia driver, which can't work in arm.
|
# Setting vesa, we don't get the nvidia driver, which can't work in arm.
|
||||||
services.xserver.videoDriver = "vesa";
|
hardware.opengl.videoDrivers = [ "vesa" ];
|
||||||
services.xserver.videoDrivers = [];
|
|
||||||
services.nixosManual.enable = false;
|
services.nixosManual.enable = false;
|
||||||
|
|
||||||
# Include the firmware for various wireless cards.
|
# Include the firmware for various wireless cards.
|
||||||
|
|
|
@ -163,7 +163,7 @@ foreach my $path (glob "/sys/bus/pci/devices/*") {
|
||||||
pciCheck $path;
|
pciCheck $path;
|
||||||
}
|
}
|
||||||
|
|
||||||
push @attrs, "services.xserver.videoDrivers = [ \"$videoDriver\" ];" if $videoDriver;
|
push @attrs, "hardware.opengl.videoDrivers = [ \"$videoDriver\" ];" if $videoDriver;
|
||||||
|
|
||||||
|
|
||||||
# Idem for USB devices.
|
# Idem for USB devices.
|
||||||
|
|
|
@ -15,5 +15,5 @@ with pkgs.lib;
|
||||||
|
|
||||||
# Add some more video drivers to give X11 a shot at working in
|
# Add some more video drivers to give X11 a shot at working in
|
||||||
# VMware and QEMU.
|
# VMware and QEMU.
|
||||||
services.xserver.videoDrivers = mkOverride 40 [ "virtualbox" "vmware" "cirrus" "vesa" ];
|
hardware.opengl.videoDrivers = mkOverride 40 [ "virtualbox" "vmware" "cirrus" "vesa" ];
|
||||||
}
|
}
|
||||||
|
|
|
@ -112,6 +112,8 @@
|
||||||
cgminer = 101;
|
cgminer = 101;
|
||||||
munin = 102;
|
munin = 102;
|
||||||
logcheck = 103;
|
logcheck = 103;
|
||||||
|
nix-ssh = 104;
|
||||||
|
dictd = 105;
|
||||||
|
|
||||||
# When adding a uid, make sure it doesn't match an existing gid.
|
# When adding a uid, make sure it doesn't match an existing gid.
|
||||||
|
|
||||||
|
@ -203,6 +205,7 @@
|
||||||
connman = 94;
|
connman = 94;
|
||||||
munin = 95;
|
munin = 95;
|
||||||
keys = 96;
|
keys = 96;
|
||||||
|
dictd = 105;
|
||||||
|
|
||||||
# When adding a gid, make sure it doesn't match an existing uid.
|
# When adding a gid, make sure it doesn't match an existing uid.
|
||||||
|
|
||||||
|
|
|
@ -125,6 +125,7 @@
|
||||||
./services/misc/gpsd.nix
|
./services/misc/gpsd.nix
|
||||||
./services/misc/nix-daemon.nix
|
./services/misc/nix-daemon.nix
|
||||||
./services/misc/nix-gc.nix
|
./services/misc/nix-gc.nix
|
||||||
|
./services/misc/nix-ssh-serve.nix
|
||||||
./services/misc/nixos-manual.nix
|
./services/misc/nixos-manual.nix
|
||||||
./services/misc/rogue.nix
|
./services/misc/rogue.nix
|
||||||
./services/misc/svnserve.nix
|
./services/misc/svnserve.nix
|
||||||
|
|
|
@ -28,34 +28,36 @@ in
|
||||||
echo "WARNING: bad ownership on $NIX_USER_PROFILE_DIR" >&2
|
echo "WARNING: bad ownership on $NIX_USER_PROFILE_DIR" >&2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if ! test -L $HOME/.nix-profile; then
|
if test -w $HOME; then
|
||||||
if test "$USER" != root; then
|
if ! test -L $HOME/.nix-profile; then
|
||||||
ln -s $NIX_USER_PROFILE_DIR/profile $HOME/.nix-profile
|
if test "$USER" != root; then
|
||||||
else
|
ln -s $NIX_USER_PROFILE_DIR/profile $HOME/.nix-profile
|
||||||
# Root installs in the system-wide profile by default.
|
else
|
||||||
ln -s /nix/var/nix/profiles/default $HOME/.nix-profile
|
# Root installs in the system-wide profile by default.
|
||||||
fi
|
ln -s /nix/var/nix/profiles/default $HOME/.nix-profile
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
# Subscribe the root user to the NixOS channel by default.
|
# Subscribe the root user to the NixOS channel by default.
|
||||||
if [ "$USER" = root -a ! -e $HOME/.nix-channels ]; then
|
if [ "$USER" = root -a ! -e $HOME/.nix-channels ]; then
|
||||||
echo "${config.system.defaultChannel} nixos" > $HOME/.nix-channels
|
echo "${config.system.defaultChannel} nixos" > $HOME/.nix-channels
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Create the per-user garbage collector roots directory.
|
# Create the per-user garbage collector roots directory.
|
||||||
NIX_USER_GCROOTS_DIR=/nix/var/nix/gcroots/per-user/$USER
|
NIX_USER_GCROOTS_DIR=/nix/var/nix/gcroots/per-user/$USER
|
||||||
mkdir -m 0755 -p $NIX_USER_GCROOTS_DIR
|
mkdir -m 0755 -p $NIX_USER_GCROOTS_DIR
|
||||||
if test "$(stat --printf '%u' $NIX_USER_GCROOTS_DIR)" != "$(id -u)"; then
|
if test "$(stat --printf '%u' $NIX_USER_GCROOTS_DIR)" != "$(id -u)"; then
|
||||||
echo "WARNING: bad ownership on $NIX_USER_GCROOTS_DIR" >&2
|
echo "WARNING: bad ownership on $NIX_USER_GCROOTS_DIR" >&2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Set up a default Nix expression from which to install stuff.
|
# Set up a default Nix expression from which to install stuff.
|
||||||
if [ ! -e $HOME/.nix-defexpr -o -L $HOME/.nix-defexpr ]; then
|
if [ ! -e $HOME/.nix-defexpr -o -L $HOME/.nix-defexpr ]; then
|
||||||
rm -f $HOME/.nix-defexpr
|
rm -f $HOME/.nix-defexpr
|
||||||
mkdir $HOME/.nix-defexpr
|
mkdir $HOME/.nix-defexpr
|
||||||
if [ "$USER" != root ]; then
|
if [ "$USER" != root ]; then
|
||||||
ln -s /nix/var/nix/profiles/per-user/root/channels $HOME/.nix-defexpr/channels_root
|
ln -s /nix/var/nix/profiles/per-user/root/channels $HOME/.nix-defexpr/channels_root
|
||||||
fi
|
fi
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -79,5 +79,10 @@ in {
|
||||||
preStart = "mkdir -p /var/spool";
|
preStart = "mkdir -p /var/spool";
|
||||||
serviceConfig.ExecStart = "${opensmtpd}/sbin/smtpd -d -f ${conf} ${args}";
|
serviceConfig.ExecStart = "${opensmtpd}/sbin/smtpd -d -f ${conf} ${args}";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [ (pkgs.runCommand "opensmtpd-sendmail" {} ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
ln -s ${opensmtpd}/sbin/smtpctl $out/bin/sendmail
|
||||||
|
'') ];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,10 +43,12 @@ with pkgs.lib;
|
||||||
group = "dictd";
|
group = "dictd";
|
||||||
description = "DICT.org dictd server";
|
description = "DICT.org dictd server";
|
||||||
home = "${dictdb}/share/dictd";
|
home = "${dictdb}/share/dictd";
|
||||||
|
uid = config.ids.uids.dictd;
|
||||||
};
|
};
|
||||||
|
|
||||||
users.extraGroups = singleton
|
users.extraGroups = singleton
|
||||||
{ name = "dictd";
|
{ name = "dictd";
|
||||||
|
gid = config.ids.gids.dictd;
|
||||||
};
|
};
|
||||||
|
|
||||||
jobs.dictd =
|
jobs.dictd =
|
||||||
|
|
|
@ -286,8 +286,8 @@ in
|
||||||
systemd.services."nix-daemon" =
|
systemd.services."nix-daemon" =
|
||||||
{ description = "Nix Daemon";
|
{ description = "Nix Daemon";
|
||||||
|
|
||||||
path = [ nix pkgs.openssl pkgs.utillinux ]
|
path = [ nix pkgs.openssl pkgs.utillinux pkgs.openssh ]
|
||||||
++ optionals cfg.distributedBuilds [ pkgs.openssh pkgs.gzip ];
|
++ optionals cfg.distributedBuilds [ pkgs.gzip ];
|
||||||
|
|
||||||
environment = cfg.envVars // { CURL_CA_BUNDLE = "/etc/ssl/certs/ca-bundle.crt"; };
|
environment = cfg.envVars // { CURL_CA_BUNDLE = "/etc/ssl/certs/ca-bundle.crt"; };
|
||||||
|
|
||||||
|
|
45
nixos/modules/services/misc/nix-ssh-serve.nix
Normal file
45
nixos/modules/services/misc/nix-ssh-serve.nix
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
serveOnly = pkgs.writeScript "nix-store-serve" ''
|
||||||
|
#!${pkgs.stdenv.shell}
|
||||||
|
if [ "$SSH_ORIGINAL_COMMAND" != "nix-store --serve" ]; then
|
||||||
|
echo 'Error: You are only allowed to run `nix-store --serve'\'''!' >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
exec /run/current-system/sw/bin/nix-store --serve
|
||||||
|
'';
|
||||||
|
|
||||||
|
inherit (lib) mkIf mkOption types;
|
||||||
|
in {
|
||||||
|
options = {
|
||||||
|
nix.sshServe = {
|
||||||
|
enable = mkOption {
|
||||||
|
description = "Whether to enable serving the nix store over ssh.";
|
||||||
|
default = false;
|
||||||
|
type = types.bool;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf config.nix.sshServe.enable {
|
||||||
|
users.extraUsers.nix-ssh = {
|
||||||
|
description = "User for running nix-store --serve.";
|
||||||
|
uid = config.ids.uids.nix-ssh;
|
||||||
|
shell = pkgs.stdenv.shell;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.openssh.enable = true;
|
||||||
|
|
||||||
|
services.openssh.extraConfig = ''
|
||||||
|
Match User nix-ssh
|
||||||
|
AllowAgentForwarding no
|
||||||
|
AllowTcpForwarding no
|
||||||
|
PermitTTY no
|
||||||
|
PermitTunnel no
|
||||||
|
X11Forwarding no
|
||||||
|
ForceCommand ${serveOnly}
|
||||||
|
Match All
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
|
@ -128,6 +128,17 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPortRanges = mkOption {
|
||||||
|
default = [];
|
||||||
|
example = [ { from = 8999; to = 9003; } ];
|
||||||
|
type = types.listOf (types.attrsOf types.int);
|
||||||
|
description =
|
||||||
|
''
|
||||||
|
A range of TCP ports on which incoming connections are
|
||||||
|
accepted.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
networking.firewall.allowedUDPPorts = mkOption {
|
networking.firewall.allowedUDPPorts = mkOption {
|
||||||
default = [];
|
default = [];
|
||||||
example = [ 53 ];
|
example = [ 53 ];
|
||||||
|
@ -138,6 +149,16 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedUDPPortRanges = mkOption {
|
||||||
|
default = [];
|
||||||
|
example = [ { from = 60000; to = 61000; } ];
|
||||||
|
type = types.listOf (types.attrsOf types.int);
|
||||||
|
description =
|
||||||
|
''
|
||||||
|
Range of open UDP ports.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
networking.firewall.allowPing = mkOption {
|
networking.firewall.allowPing = mkOption {
|
||||||
default = false;
|
default = false;
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
|
@ -322,6 +343,15 @@ in
|
||||||
) cfg.allowedTCPPorts
|
) cfg.allowedTCPPorts
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Accept connections to the allowed TCP port ranges.
|
||||||
|
${concatMapStrings (rangeAttr:
|
||||||
|
let range = toString rangeAttr.from + ":" + toString rangeAttr.to; in
|
||||||
|
''
|
||||||
|
ip46tables -A nixos-fw -p tcp --dport ${range} -j nixos-fw-accept
|
||||||
|
''
|
||||||
|
) cfg.allowedTCPPortRanges
|
||||||
|
}
|
||||||
|
|
||||||
# Accept packets on the allowed UDP ports.
|
# Accept packets on the allowed UDP ports.
|
||||||
${concatMapStrings (port:
|
${concatMapStrings (port:
|
||||||
''
|
''
|
||||||
|
@ -330,6 +360,15 @@ in
|
||||||
) cfg.allowedUDPPorts
|
) cfg.allowedUDPPorts
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Accept packets on the allowed UDP port ranges.
|
||||||
|
${concatMapStrings (rangeAttr:
|
||||||
|
let range = toString rangeAttr.from + ":" + toString rangeAttr.to; in
|
||||||
|
''
|
||||||
|
ip46tables -A nixos-fw -p udp --dport ${range} -j nixos-fw-accept
|
||||||
|
''
|
||||||
|
) cfg.allowedUDPPortRanges
|
||||||
|
}
|
||||||
|
|
||||||
# Accept IPv4 multicast. Not a big security risk since
|
# Accept IPv4 multicast. Not a big security risk since
|
||||||
# probably nobody is listening anyway.
|
# probably nobody is listening anyway.
|
||||||
#iptables -A nixos-fw -d 224.0.0.0/4 -j nixos-fw-accept
|
#iptables -A nixos-fw -d 224.0.0.0/4 -j nixos-fw-accept
|
||||||
|
|
|
@ -28,6 +28,17 @@ with pkgs.lib;
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
serialSpeed = mkOption {
|
||||||
|
type = types.listOf types.int;
|
||||||
|
default = [ 115200 57600 38400 9600 ];
|
||||||
|
example = [ 38400 9600 ];
|
||||||
|
description = ''
|
||||||
|
Bitrates to allow for agetty's listening on serial ports. Listing more
|
||||||
|
bitrates gives more interoperability but at the cost of long delays
|
||||||
|
for getting a sync on the line.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
@ -78,8 +89,9 @@ with pkgs.lib;
|
||||||
X-RestartIfChanged=false
|
X-RestartIfChanged=false
|
||||||
'';
|
'';
|
||||||
|
|
||||||
systemd.units."serial-getty@.service".text =
|
systemd.units."serial-getty@.service".text = let
|
||||||
''
|
speeds = with pkgs.lib; concatStringsSep "," (map toString config.services.mingetty.serialSpeed);
|
||||||
|
in ''
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=Serial Getty on %I
|
Description=Serial Getty on %I
|
||||||
Documentation=man:agetty(8) man:systemd-getty-generator(8)
|
Documentation=man:agetty(8) man:systemd-getty-generator(8)
|
||||||
|
@ -95,7 +107,7 @@ with pkgs.lib;
|
||||||
[Service]
|
[Service]
|
||||||
Environment=TERM=linux
|
Environment=TERM=linux
|
||||||
Environment=LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive
|
Environment=LOCALE_ARCHIVE=/run/current-system/sw/lib/locale/locale-archive
|
||||||
ExecStart=@${pkgs.utillinux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login %I 115200,57600,38400,9600
|
ExecStart=@${pkgs.utillinux}/sbin/agetty agetty --login-program ${pkgs.shadow}/bin/login %I ${speeds}
|
||||||
Type=idle
|
Type=idle
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=0
|
RestartSec=0
|
||||||
|
|
|
@ -63,6 +63,7 @@ let
|
||||||
enablePHP = false;
|
enablePHP = false;
|
||||||
phpOptions = "";
|
phpOptions = "";
|
||||||
options = {};
|
options = {};
|
||||||
|
documentRoot = null;
|
||||||
};
|
};
|
||||||
res = defaults // svcFunction { inherit config pkgs serverInfo php; };
|
res = defaults // svcFunction { inherit config pkgs serverInfo php; };
|
||||||
in res;
|
in res;
|
||||||
|
@ -188,7 +189,11 @@ let
|
||||||
|
|
||||||
subservices = callSubservices serverInfo cfg.extraSubservices;
|
subservices = callSubservices serverInfo cfg.extraSubservices;
|
||||||
|
|
||||||
documentRoot = if cfg.documentRoot != null then cfg.documentRoot else
|
maybeDocumentRoot = fold (svc: acc:
|
||||||
|
if acc == null then svc.documentRoot else assert svc.documentRoot == null; acc
|
||||||
|
) null ([ cfg ] ++ subservices);
|
||||||
|
|
||||||
|
documentRoot = if maybeDocumentRoot != null then maybeDocumentRoot else
|
||||||
pkgs.runCommand "empty" {} "ensureDir $out";
|
pkgs.runCommand "empty" {} "ensureDir $out";
|
||||||
|
|
||||||
documentRootConf = ''
|
documentRootConf = ''
|
||||||
|
@ -240,7 +245,7 @@ let
|
||||||
|
|
||||||
${robotsConf}
|
${robotsConf}
|
||||||
|
|
||||||
${if isMainServer || cfg.documentRoot != null then documentRootConf else ""}
|
${if isMainServer || maybeDocumentRoot != null then documentRootConf else ""}
|
||||||
|
|
||||||
${if cfg.enableUserDir then ''
|
${if cfg.enableUserDir then ''
|
||||||
|
|
||||||
|
|
|
@ -126,7 +126,7 @@ in
|
||||||
</Directory>
|
</Directory>
|
||||||
''}
|
''}
|
||||||
|
|
||||||
Alias ${config.urlPrefix} ${mediawikiRoot}
|
${optionalString (config.urlPrefix != "") "Alias ${config.urlPrefix} ${mediawikiRoot}"}
|
||||||
|
|
||||||
<Directory ${mediawikiRoot}>
|
<Directory ${mediawikiRoot}>
|
||||||
Order allow,deny
|
Order allow,deny
|
||||||
|
@ -137,8 +137,17 @@ in
|
||||||
${optionalString (config.articleUrlPrefix != "") ''
|
${optionalString (config.articleUrlPrefix != "") ''
|
||||||
Alias ${config.articleUrlPrefix} ${mediawikiRoot}/index.php
|
Alias ${config.articleUrlPrefix} ${mediawikiRoot}/index.php
|
||||||
''}
|
''}
|
||||||
|
|
||||||
|
RewriteEngine On
|
||||||
|
RewriteCond ${mediawikiRoot}/$0 !-f
|
||||||
|
RewriteCond ${mediawikiRoot}/$0 !-d
|
||||||
|
RewriteRule ^(.*)$ ${mediawikiRoot}/index.php [L]
|
||||||
|
|
||||||
|
RewriteRule ^/*$ ${mediawikiRoot}/index.php [L] # For syntax hilighter: */
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
documentRoot = if config.urlPrefix == "" then mediawikiRoot else null;
|
||||||
|
|
||||||
enablePHP = true;
|
enablePHP = true;
|
||||||
|
|
||||||
options = {
|
options = {
|
||||||
|
|
|
@ -34,7 +34,7 @@ in {
|
||||||
export GTK_DATA_PREFIX=${config.system.path}
|
export GTK_DATA_PREFIX=${config.system.path}
|
||||||
|
|
||||||
# find theme engines
|
# find theme engines
|
||||||
export GTK_PATH=${config.system.path}/lib/gtk-3.0:{config.system.path}/lib/gtk-2.0
|
export GTK_PATH=${config.system.path}/lib/gtk-3.0:${config.system.path}/lib/gtk-2.0
|
||||||
|
|
||||||
export XDG_MENU_PREFIX=gnome
|
export XDG_MENU_PREFIX=gnome
|
||||||
|
|
||||||
|
@ -43,9 +43,17 @@ in {
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
environment.variables.GIO_EXTRA_MODULES = "${gnome3.dconf}/lib/gio/modules";
|
||||||
environment.systemPackages =
|
environment.systemPackages =
|
||||||
[ gnome3.evince
|
[ gnome3.evince
|
||||||
gnome3.eog
|
gnome3.eog
|
||||||
|
gnome3.dconf
|
||||||
|
gnome3.vino
|
||||||
|
gnome3.epiphany
|
||||||
|
gnome3.baobab
|
||||||
|
gnome3.gucharmap
|
||||||
|
gnome3.nautilus
|
||||||
|
gnome3.yelp
|
||||||
pkgs.ibus
|
pkgs.ibus
|
||||||
gnome3.gnome_shell
|
gnome3.gnome_shell
|
||||||
gnome3.gnome_settings_daemon
|
gnome3.gnome_settings_daemon
|
||||||
|
@ -56,4 +64,5 @@ in {
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,24 +14,37 @@ in {
|
||||||
|
|
||||||
services.redshift.latitude = mkOption {
|
services.redshift.latitude = mkOption {
|
||||||
description = "Your current latitude";
|
description = "Your current latitude";
|
||||||
type = types.string;
|
type = types.uniq types.string;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.redshift.longitude = mkOption {
|
services.redshift.longitude = mkOption {
|
||||||
description = "Your current longitude";
|
description = "Your current longitude";
|
||||||
type = types.string;
|
type = types.uniq types.string;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.redshift.temperature = {
|
services.redshift.temperature = {
|
||||||
day = mkOption {
|
day = mkOption {
|
||||||
description = "Colour temperature to use during day time";
|
description = "Colour temperature to use during day time";
|
||||||
default = 5500;
|
default = 5500;
|
||||||
type = types.int;
|
type = types.uniq types.int;
|
||||||
};
|
};
|
||||||
night = mkOption {
|
night = mkOption {
|
||||||
description = "Colour temperature to use during night time";
|
description = "Colour temperature to use during night time";
|
||||||
default = 3700;
|
default = 3700;
|
||||||
type = types.int;
|
type = types.uniq types.int;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.redshift.brightness = {
|
||||||
|
day = mkOption {
|
||||||
|
description = "Screen brightness to apply during the day (between 0.1 and 1.0)";
|
||||||
|
default = "1";
|
||||||
|
type = types.uniq types.string;
|
||||||
|
};
|
||||||
|
night = mkOption {
|
||||||
|
description = "Screen brightness to apply during the night (between 0.1 and 1.0)";
|
||||||
|
default = "1";
|
||||||
|
type = types.uniq types.string;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -41,10 +54,12 @@ in {
|
||||||
description = "Redshift colour temperature adjuster";
|
description = "Redshift colour temperature adjuster";
|
||||||
requires = [ "display-manager.service" ];
|
requires = [ "display-manager.service" ];
|
||||||
after = [ "display-manager.service" ];
|
after = [ "display-manager.service" ];
|
||||||
script = ''
|
wantedBy = [ "graphical.target" ];
|
||||||
|
serviceConfig.ExecStart = ''
|
||||||
${pkgs.redshift}/bin/redshift \
|
${pkgs.redshift}/bin/redshift \
|
||||||
-l ${cfg.latitude}:${cfg.longitude} \
|
-l ${cfg.latitude}:${cfg.longitude} \
|
||||||
-t ${toString cfg.temperature.day}:${toString cfg.temperature.night}
|
-t ${toString cfg.temperature.day}:${toString cfg.temperature.night} \
|
||||||
|
-b ${toString cfg.brightness.day}:${toString cfg.brightness.night}
|
||||||
'';
|
'';
|
||||||
environment = { DISPLAY = ":0"; };
|
environment = { DISPLAY = ":0"; };
|
||||||
serviceConfig.Restart = "always";
|
serviceConfig.Restart = "always";
|
||||||
|
|
|
@ -27,7 +27,7 @@ in
|
||||||
config = {
|
config = {
|
||||||
|
|
||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
services.xserver.videoDrivers = [];
|
hardware.opengl.videoDrivers = [];
|
||||||
|
|
||||||
# Enable KDM. Any display manager will do as long as it supports XDMCP.
|
# Enable KDM. Any display manager will do as long as it supports XDMCP.
|
||||||
services.xserver.displayManager.kdm.enable = true;
|
services.xserver.displayManager.kdm.enable = true;
|
||||||
|
|
|
@ -7,7 +7,6 @@ with pkgs.lib;
|
||||||
let
|
let
|
||||||
memtest86 = pkgs.memtest86plus;
|
memtest86 = pkgs.memtest86plus;
|
||||||
cfg = config.boot.loader.grub.memtest86;
|
cfg = config.boot.loader.grub.memtest86;
|
||||||
params = concatStringsSep " " cfg.params;
|
|
||||||
in
|
in
|
||||||
|
|
||||||
{
|
{
|
||||||
|
@ -82,7 +81,7 @@ in
|
||||||
if config.boot.loader.grub.version == 2 then
|
if config.boot.loader.grub.version == 2 then
|
||||||
''
|
''
|
||||||
menuentry "Memtest86+" {
|
menuentry "Memtest86+" {
|
||||||
linux16 @bootRoot@/memtest.bin ${params}
|
linux16 @bootRoot@/memtest.bin ${toString cfg.params}
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
else
|
else
|
||||||
|
|
|
@ -320,6 +320,10 @@ while read -u 3 mountPoint; do
|
||||||
echo -n "waiting for device $device to appear..."
|
echo -n "waiting for device $device to appear..."
|
||||||
for try in $(seq 1 20); do
|
for try in $(seq 1 20); do
|
||||||
sleep 1
|
sleep 1
|
||||||
|
# also re-try lvm activation now that new block devices might have appeared
|
||||||
|
lvm vgchange -ay
|
||||||
|
# and tell udev to create nodes for the new LVs
|
||||||
|
udevadm trigger --action=add
|
||||||
if test -e $device; then break; fi
|
if test -e $device; then break; fi
|
||||||
echo -n "."
|
echo -n "."
|
||||||
done
|
done
|
||||||
|
|
|
@ -164,5 +164,5 @@ with pkgs.lib;
|
||||||
# Prevent logging in as root without a password. This doesn't really matter,
|
# Prevent logging in as root without a password. This doesn't really matter,
|
||||||
# since the only PAM services that allow logging in with a null
|
# since the only PAM services that allow logging in with a null
|
||||||
# password are local ones that are inaccessible on EC2 machines.
|
# password are local ones that are inaccessible on EC2 machines.
|
||||||
security.initialRootPassword = "!";
|
security.initialRootPassword = mkDefault "!";
|
||||||
}
|
}
|
||||||
|
|
|
@ -55,7 +55,7 @@ with pkgs.lib;
|
||||||
modules =
|
modules =
|
||||||
let extraConfig =
|
let extraConfig =
|
||||||
{ boot.isContainer = true;
|
{ boot.isContainer = true;
|
||||||
security.initialRootPassword = "!";
|
security.initialRootPassword = mkDefault "!";
|
||||||
networking.hostName = mkDefault name;
|
networking.hostName = mkDefault name;
|
||||||
};
|
};
|
||||||
in [ extraConfig config.config ];
|
in [ extraConfig config.config ];
|
||||||
|
@ -134,4 +134,4 @@ with pkgs.lib;
|
||||||
}) config.systemd.containers;
|
}) config.systemd.containers;
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,7 +114,7 @@ with pkgs.lib;
|
||||||
# Prevent logging in as root without a password. This doesn't really matter,
|
# Prevent logging in as root without a password. This doesn't really matter,
|
||||||
# since the only PAM services that allow logging in with a null
|
# since the only PAM services that allow logging in with a null
|
||||||
# password are local ones that are inaccessible on Google Compute machines.
|
# password are local ones that are inaccessible on Google Compute machines.
|
||||||
security.initialRootPassword = "!";
|
security.initialRootPassword = mkDefault "!";
|
||||||
|
|
||||||
# Configure default metadata hostnames
|
# Configure default metadata hostnames
|
||||||
networking.extraHosts = ''
|
networking.extraHosts = ''
|
||||||
|
|
|
@ -386,7 +386,6 @@ in
|
||||||
|
|
||||||
# When building a regular system configuration, override whatever
|
# When building a regular system configuration, override whatever
|
||||||
# video driver the host uses.
|
# video driver the host uses.
|
||||||
services.xserver.videoDriver = mkVMOverride null;
|
|
||||||
hardware.opengl.videoDrivers = mkVMOverride [ "vesa" ];
|
hardware.opengl.videoDrivers = mkVMOverride [ "vesa" ];
|
||||||
services.xserver.defaultDepth = mkVMOverride 0;
|
services.xserver.defaultDepth = mkVMOverride 0;
|
||||||
services.xserver.resolutions = mkVMOverride [ { x = 1024; y = 768; } ];
|
services.xserver.resolutions = mkVMOverride [ { x = 1024; y = 768; } ];
|
||||||
|
|
|
@ -6,17 +6,16 @@
|
||||||
, perl, pkgconfig, python, serd, sord, sratom, suil }:
|
, perl, pkgconfig, python, serd, sord, sratom, suil }:
|
||||||
|
|
||||||
let
|
let
|
||||||
# Ardour 3.0 tag
|
tag = "3.5.357";
|
||||||
rev = "79db9422";
|
|
||||||
in
|
in
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation rec {
|
||||||
name = "ardour-3.0";
|
name = "ardour-${tag}";
|
||||||
|
|
||||||
src = fetchgit {
|
src = fetchgit {
|
||||||
url = git://git.ardour.org/ardour/ardour.git;
|
url = git://git.ardour.org/ardour/ardour.git;
|
||||||
inherit rev;
|
rev = "refs/tags/${tag}";
|
||||||
sha256 = "cdbe4ca6d4b639fcd66a3d1cf9c2816b4755655c9d81bdd2417263f413aa7096";
|
sha256 = "1e026fb9a6ad4179d52c4b578cc3861bdfd3629b9e7b7a7341d431c7d3692c42";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
|
@ -28,13 +27,16 @@ stdenv.mkDerivation {
|
||||||
];
|
];
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
printf '#include "ardour/svn_revision.h"\nnamespace ARDOUR { const char* svn_revision = \"${rev}\"; }\n' > libs/ardour/svn_revision.cc
|
# The funny revision number is from `git describe rev`
|
||||||
|
printf '#include "libs/ardour/ardour/revision.h"\nnamespace ARDOUR { const char* revision = \"${tag}-gce4d125\"; }\n' > libs/ardour/revision.cc
|
||||||
|
# Note the different version number
|
||||||
|
sed -i '33i rev = \"3.5-357-gce4d125\"' wscript
|
||||||
|
sed 's|/usr/include/libintl.h|${glibc}/include/libintl.h|' -i wscript
|
||||||
sed -e 's|^#!/usr/bin/perl.*$|#!${perl}/bin/perl|g' -i tools/fmt-bindings
|
sed -e 's|^#!/usr/bin/perl.*$|#!${perl}/bin/perl|g' -i tools/fmt-bindings
|
||||||
sed -e 's|^#!/usr/bin/env.*$|#!${perl}/bin/perl|g' -i tools/*.pl
|
sed -e 's|^#!/usr/bin/env.*$|#!${perl}/bin/perl|g' -i tools/*.pl
|
||||||
sed 's|/usr/include/libintl.h|${glibc}/include/libintl.h|' -i wscript
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
configurePhase = "python waf configure --prefix=$out";
|
configurePhase = "python waf configure --optimize --prefix=$out";
|
||||||
|
|
||||||
buildPhase = "python waf";
|
buildPhase = "python waf";
|
||||||
|
|
||||||
|
@ -43,7 +45,7 @@ stdenv.mkDerivation {
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
python waf install
|
python waf install
|
||||||
mkdir -pv $out/gtk2/engines
|
mkdir -pv $out/gtk2/engines
|
||||||
mv $out/lib/ardour3/libclearlooks.so $out/gtk2/engines/
|
cp build/libs/clearlooks-newer/libclearlooks.so $out/gtk2/engines/
|
||||||
wrapProgram $out/bin/ardour3 --prefix GTK_PATH : $out/gtk2
|
wrapProgram $out/bin/ardour3 --prefix GTK_PATH : $out/gtk2
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
|
|
@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
|
||||||
Also read "The importance of Paying Something" on their homepage, please!
|
Also read "The importance of Paying Something" on their homepage, please!
|
||||||
'';
|
'';
|
||||||
homepage = http://ardour.org/;
|
homepage = http://ardour.org/;
|
||||||
|
branch = "2";
|
||||||
license = "GPLv2";
|
license = "GPLv2";
|
||||||
maintainers = [ stdenv.lib.maintainers.marcweber ];
|
maintainers = [ stdenv.lib.maintainers.marcweber ];
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = stdenv.lib.platforms.linux;
|
||||||
|
|
|
@ -1,19 +1,20 @@
|
||||||
{ stdenv, fetchurl, python, gettext, intltool, pkgconfig, jackaudio, libsndfile
|
{ stdenv, fetchurl, avahi, boost, fftw, gettext, glib, glibmm, gtk
|
||||||
, glib, gtk, glibmm, gtkmm, fftw, librdf, ladspaH, boost }:
|
, gtkmm, intltool, jackaudio, ladspaH, librdf, libsndfile, lv2
|
||||||
|
, pkgconfig, python }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "guitarix-${version}";
|
name = "guitarix-${version}";
|
||||||
version = "0.25.2";
|
version = "0.28.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.bz2";
|
url = "mirror://sourceforge/guitarix/guitarix2-${version}.tar.bz2";
|
||||||
sha256 = "1wcg3yc2iy72hj6z9l88393f00by0iwhhn8xrc3q55p4rj0mnrga";
|
sha256 = "0ks5avylyicqfj9l1wf4gj62i8m6is2jmp0h11h5l2wbg3xiwxjd";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs = [
|
||||||
[ python gettext intltool pkgconfig jackaudio libsndfile glib gtk glibmm
|
avahi boost fftw gettext glib glibmm gtk gtkmm intltool jackaudio
|
||||||
gtkmm fftw librdf ladspaH boost
|
ladspaH librdf libsndfile lv2 pkgconfig python
|
||||||
];
|
];
|
||||||
|
|
||||||
configurePhase = "python waf configure --prefix=$out";
|
configurePhase = "python waf configure --prefix=$out";
|
||||||
|
|
||||||
|
@ -21,7 +22,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
installPhase = "python waf install";
|
installPhase = "python waf install";
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
description = "A virtual guitar amplifier for Linux running with JACK";
|
description = "A virtual guitar amplifier for Linux running with JACK";
|
||||||
longDescription = ''
|
longDescription = ''
|
||||||
guitarix is a virtual guitar amplifier for Linux running with
|
guitarix is a virtual guitar amplifier for Linux running with
|
||||||
|
@ -46,8 +47,8 @@ stdenv.mkDerivation rec {
|
||||||
crazy sounds never heard before.
|
crazy sounds never heard before.
|
||||||
'';
|
'';
|
||||||
homepage = http://guitarix.sourceforge.net/;
|
homepage = http://guitarix.sourceforge.net/;
|
||||||
license = stdenv.lib.licenses.gpl3Plus;
|
license = licenses.gpl3Plus;
|
||||||
maintainers = [ stdenv.lib.maintainers.astsmtl ];
|
maintainers = with maintainers; [ astsmtl goibhniu ];
|
||||||
platforms = stdenv.lib.platforms.linux;
|
platforms = platforms.linux;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,8 +19,6 @@ pythonPackages.buildPythonPackage rec {
|
||||||
|
|
||||||
propagatedBuildInputs = pythonPath;
|
propagatedBuildInputs = pythonPath;
|
||||||
|
|
||||||
installCommand = "python setup.py install --prefix=$out";
|
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = "https://github.com/aszlig/LastWatch";
|
homepage = "https://github.com/aszlig/LastWatch";
|
||||||
description = "An inotify-based last.fm audio scrobbler";
|
description = "An inotify-based last.fm audio scrobbler";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, speex, ffmpeg_0_10, libvorbis, mpc, libsndfile, jackaudio, db4, libmodplug, timidity, libid3tag, libtool }:
|
{ stdenv, fetchurl, ncurses, pkgconfig, alsaLib, flac, libmad, speex, ffmpeg_0_10, libvorbis, mpc, libsndfile, jackaudio, db, libmodplug, timidity, libid3tag, libtool }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "moc-${version}";
|
name = "moc-${version}";
|
||||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
configurePhase = "./configure prefix=$out";
|
configurePhase = "./configure prefix=$out";
|
||||||
|
|
||||||
buildInputs = [ ncurses pkgconfig alsaLib flac libmad speex ffmpeg_0_10 libvorbis mpc libsndfile jackaudio db4 libmodplug timidity libid3tag libtool ];
|
buildInputs = [ ncurses pkgconfig alsaLib flac libmad speex ffmpeg_0_10 libvorbis mpc libsndfile jackaudio db libmodplug timidity libid3tag libtool ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "MOC (music on console) is a console audio player for LINUX/UNIX designed to be powerful and easy to use.";
|
description = "MOC (music on console) is a console audio player for LINUX/UNIX designed to be powerful and easy to use.";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, python, buildPythonPackage, mutagen, pygtk, pygobject
|
{ stdenv, fetchurl, python, buildPythonPackage, mutagen, pygtk, pygobject, intltool
|
||||||
, pythonDBus, gst_python, withGstPlugins ? false, gst_plugins_base ? null
|
, pythonDBus, gst_python, withGstPlugins ? false, gst_plugins_base ? null
|
||||||
, gst_plugins_good ? null, gst_plugins_ugly ? null, gst_plugins_bad ? null }:
|
, gst_plugins_good ? null, gst_plugins_ugly ? null, gst_plugins_bad ? null }:
|
||||||
|
|
||||||
|
@ -29,6 +29,11 @@ buildPythonPackage {
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
# TODO: for now don't a apply gdist overrides, will be needed for shipping icons, gtk, etc
|
||||||
|
sed -i /distclass/d setup.py
|
||||||
|
'';
|
||||||
|
|
||||||
sourceRoot = "quodlibet-${version}";
|
sourceRoot = "quodlibet-${version}";
|
||||||
postUnpack = ''
|
postUnpack = ''
|
||||||
# the patch searches for plugins in directory ../plugins
|
# the patch searches for plugins in directory ../plugins
|
||||||
|
@ -42,7 +47,7 @@ buildPythonPackage {
|
||||||
];
|
];
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
mutagen pygtk pygobject pythonDBus gst_python
|
mutagen pygtk pygobject pythonDBus gst_python intltool
|
||||||
];
|
];
|
||||||
|
|
||||||
postInstall = stdenv.lib.optionalString withGstPlugins ''
|
postInstall = stdenv.lib.optionalString withGstPlugins ''
|
||||||
|
|
|
@ -2,27 +2,25 @@
|
||||||
|
|
||||||
{ stdenv, fetchurl, alsaLib, bzip2, fftw, jackaudio, libX11, liblo
|
{ stdenv, fetchurl, alsaLib, bzip2, fftw, jackaudio, libX11, liblo
|
||||||
, libmad, libogg, librdf, librdf_raptor, librdf_rasqal, libsamplerate
|
, libmad, libogg, librdf, librdf_raptor, librdf_rasqal, libsamplerate
|
||||||
, libsndfile, makeWrapper, pkgconfig, pulseaudio, qt4, redland
|
, libsndfile, pkgconfig, pulseaudio, qt5, redland
|
||||||
, rubberband, vampSDK
|
, rubberband, serd, sord, vampSDK
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "sonic-visualiser-${version}";
|
name = "sonic-visualiser-${version}";
|
||||||
version = "1.9";
|
version = "2.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://code.soundsoftware.ac.uk/attachments/download/194/${name}.tar.gz";
|
|
||||||
sha256 = "00igf7j6s8xfyxnlkbqma0yby9pknxqzy8cmh0aw95ix80cw56fq";
|
url = "http://code.soundsoftware.ac.uk/attachments/download/918/${name}.tar.gz";
|
||||||
|
sha256 = "1f06w2rin4r2mbi00bg3nmqdi2xdy9vq4jcmfanxzj3ld66ik40c";
|
||||||
};
|
};
|
||||||
patches = [(fetchurl {
|
|
||||||
url = http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/media-sound/sonic-visualiser/files/sonic-visualiser-1.9-gcc47.patch;
|
|
||||||
sha256 = "0dhh111crvjvhcjqp7j9jqnvs8zmd6xrcirmzqrrnca1h0vbpkay";
|
|
||||||
name = "gcc47.patch";
|
|
||||||
})];
|
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ libsndfile qt4 fftw /* should be fftw3f ??*/ bzip2 librdf rubberband
|
[ libsndfile qt5 fftw /* should be fftw3f ??*/ bzip2 librdf rubberband
|
||||||
libsamplerate vampSDK alsaLib librdf_raptor librdf_rasqal redland
|
libsamplerate vampSDK alsaLib librdf_raptor librdf_rasqal redland
|
||||||
|
serd
|
||||||
|
sord
|
||||||
pkgconfig
|
pkgconfig
|
||||||
# optional
|
# optional
|
||||||
jackaudio
|
jackaudio
|
||||||
|
@ -33,11 +31,10 @@ stdenv.mkDerivation rec {
|
||||||
# fishsound
|
# fishsound
|
||||||
liblo
|
liblo
|
||||||
libX11
|
libX11
|
||||||
makeWrapper
|
|
||||||
];
|
];
|
||||||
|
|
||||||
buildPhase = ''
|
buildPhase = ''
|
||||||
for i in sonic-visualiser svapp svcore svgui;
|
for i in sonic-visualiser svapp svcore svgui;
|
||||||
do cd $i && qmake -makefile PREFIX=$out && cd ..;
|
do cd $i && qmake -makefile PREFIX=$out && cd ..;
|
||||||
done
|
done
|
||||||
make
|
make
|
||||||
|
@ -45,19 +42,15 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
mkdir -p $out/{bin,share/sonic-visualiser}
|
mkdir -p $out/{bin,share/sonic-visualiser}
|
||||||
cp sonic-visualiser/sonic-visualiser $out/bin
|
cp sonic-visualiser $out/bin/
|
||||||
cp -r sonic-visualiser/samples $out/share/sonic-visualiser/samples
|
cp -r samples $out/share/sonic-visualiser/
|
||||||
wrapProgram $out/bin/sonic-visualiser --prefix LD_LIBRARY_PATH : ${libX11}/lib
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
description = "View and analyse contents of music audio files";
|
description = "View and analyse contents of music audio files";
|
||||||
homepage = http://www.sonicvisualiser.org/;
|
homepage = http://www.sonicvisualiser.org/;
|
||||||
license = "GPLv2";
|
license = licenses.gpl2Plus;
|
||||||
maintainers =
|
maintainers = [ maintainers.goibhniu maintainers.marcweber ];
|
||||||
[ stdenv.lib.maintainers.marcweber
|
platforms = platforms.linux;
|
||||||
stdenv.lib.maintainers.goibhniu
|
|
||||||
];
|
|
||||||
platforms = stdenv.lib.platforms.linux;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,12 +9,12 @@
|
||||||
assert stdenv ? glibc;
|
assert stdenv ? glibc;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "1.2.3";
|
version = "1.4.1";
|
||||||
name = "darktable-${version}";
|
name = "darktable-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/darktable/darktable/1.2/darktable-${version}.tar.xz";
|
url = "mirror://sourceforge/darktable/darktable/1.2/darktable-${version}.tar.xz";
|
||||||
sha256 = "05kkkz13a5rhb246rq1nxv7h91pcvm15filvik8n8gn143h64sv8";
|
sha256 = "1pkixhiyyjx5wx4dlkvabga9glcx374f1ic2kxmzzdprfm6kkqfd";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, x11, imlib2, libjpeg, libpng, giblib
|
{ stdenv, makeWrapper, fetchurl, x11, imlib2, libjpeg, libpng, giblib
|
||||||
, libXinerama, curl }:
|
, libXinerama, curl }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
@ -9,12 +9,16 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "1wlhfbglzc1jzsh80s4s1fawclgzyjy2105ffzx2mw9s0c1xds5l";
|
sha256 = "1wlhfbglzc1jzsh80s4s1fawclgzyjy2105ffzx2mw9s0c1xds5l";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [x11 imlib2 giblib libjpeg libpng libXinerama curl ];
|
buildInputs = [makeWrapper x11 imlib2 giblib libjpeg libpng libXinerama curl ];
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
makeFlags="PREFIX=$out"
|
makeFlags="PREFIX=$out"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
wrapProgram "$out/bin/feh" --prefix PATH : "${libjpeg}/bin"
|
||||||
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A light-weight image viewer";
|
description = "A light-weight image viewer";
|
||||||
homepage = https://derf.homelinux.org/projects/feh/;
|
homepage = https://derf.homelinux.org/projects/feh/;
|
||||||
|
|
12
pkgs/applications/graphics/freecad/cmake.patch
Normal file
12
pkgs/applications/graphics/freecad/cmake.patch
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
diff -ru freecad-0.13.1830.orig/CMakeLists.txt freecad-0.13.1830/CMakeLists.txt
|
||||||
|
--- freecad-0.13.1830.orig/CMakeLists.txt 2013-02-02 18:09:17.000000000 +0100
|
||||||
|
+++ freecad-0.13.1830/CMakeLists.txt 2014-02-15 10:16:00.939725500 +0100
|
||||||
|
@@ -321,7 +321,7 @@
|
||||||
|
foreach(it ${moc_files})
|
||||||
|
get_filename_component(it ${it} ABSOLUTE)
|
||||||
|
QT4_MAKE_OUTPUT_FILE(${it} moc_ cpp outfile)
|
||||||
|
- QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_flags}" "${moc_options}")
|
||||||
|
+ QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_flags}" "${moc_options}" "")
|
||||||
|
set(${outfiles} ${${outfiles}} ${outfile})
|
||||||
|
add_file_dependencies(${it} ${outfile})
|
||||||
|
endforeach(it)
|
|
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
|
||||||
--set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1
|
--set COIN_GL_NO_CURRENT_CONTEXT_CHECK 1
|
||||||
'';
|
'';
|
||||||
|
|
||||||
patches = [ ./pythonpath.patch ];
|
patches = [ ./pythonpath.patch ./cmake.patch ];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
homepage = http://free-cad.sourceforge.net/;
|
homepage = http://free-cad.sourceforge.net/;
|
||||||
|
|
|
@ -9,10 +9,6 @@ buildPythonPackage rec {
|
||||||
sha256 = "d214a1b6d99d1d1e83da5848a2cef181f6781e0990e93f7ebff5880b0c43f43c";
|
sha256 = "d214a1b6d99d1d1e83da5848a2cef181f6781e0990e93f7ebff5880b0c43f43c";
|
||||||
};
|
};
|
||||||
|
|
||||||
postInstall = ''
|
|
||||||
mv $out/lib/${python.libPrefix}/site-packages/*.egg/share $out
|
|
||||||
'';
|
|
||||||
|
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
|
||||||
buildInputs = [ stdenv libX11 gettext ];
|
buildInputs = [ stdenv libX11 gettext ];
|
||||||
|
|
|
@ -4,11 +4,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "oiio-${version}";
|
name = "oiio-${version}";
|
||||||
version = "1.1.12";
|
version = "1.3.12";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip";
|
url = "https://github.com/OpenImageIO/oiio/archive/Release-${version}.zip";
|
||||||
sha256 = "0v84xna2vp83njxbizlxnindcp2i67xd89kgl9nic1hz6ywlylz6";
|
sha256 = "114jx4pcqhzdchzpxbwrfzqmnxr2bm8cw13g4akz1hg8pvr1dhsb";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
|
|
@ -2,11 +2,11 @@
|
||||||
, intltool, gettext, shared_mime_info, glib, gdk_pixbuf, perl}:
|
, intltool, gettext, shared_mime_info, glib, gdk_pixbuf, perl}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "viewnior-1.3";
|
name = "viewnior-1.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://cloud.github.com/downloads/xsisqox/Viewnior/${name}.tar.gz";
|
url = "https://www.dropbox.com/s/zytq0suabesv933/${name}.tar.gz";
|
||||||
sha256 = "46c97c1a85361519b42fe008cfb8911e66f709f3a3a988c11047ab3726889f10";
|
sha256 = "0vv1133phgfzm92md6bbccmcvfiqb4kz28z1572c0qj971yz457a";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
|
@ -14,6 +14,10 @@ stdenv.mkDerivation rec {
|
||||||
shared_mime_info glib gdk_pixbuf perl
|
shared_mime_info glib gdk_pixbuf perl
|
||||||
];
|
];
|
||||||
|
|
||||||
|
preFixup = ''
|
||||||
|
rm $out/share/icons/*/icon-theme.cache
|
||||||
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Viewnior is a fast and simple image viewer for GNU/Linux";
|
description = "Viewnior is a fast and simple image viewer for GNU/Linux";
|
||||||
longDescription =
|
longDescription =
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ fetchurl, stdenv, openssl, db4, boost, zlib, miniupnpc, qt4 }:
|
{ fetchurl, stdenv, openssl, db, boost, zlib, miniupnpc, qt4 }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.8.6";
|
version = "0.8.6";
|
||||||
|
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
|
||||||
sha256 = "036xx06gyrfh65rpdapff3viz1f38vzkj7lnhil6fc0s7pjmsjbk";
|
sha256 = "036xx06gyrfh65rpdapff3viz1f38vzkj7lnhil6fc0s7pjmsjbk";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ openssl db4 boost zlib miniupnpc qt4 ];
|
buildInputs = [ openssl db boost zlib miniupnpc qt4 ];
|
||||||
|
|
||||||
configurePhase = ''
|
configurePhase = ''
|
||||||
cd src
|
cd src
|
||||||
|
|
|
@ -5,11 +5,11 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "blender-2.67";
|
name = "blender-2.69";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://download.blender.org/source/${name}.tar.gz";
|
url = "http://download.blender.org/source/${name}.tar.gz";
|
||||||
sha256 = "066lwrm85455gs187bxr3jhqidc2f6f0791b4216jkagbszd9a8l";
|
sha256 = "02ffakkbax1kl4ycakxq20yp9hmw1qj1qndjjqxnhhhdxifpyjn9";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
|
@ -35,11 +35,14 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
description = "3D Creation/Animation/Publishing System";
|
description = "3D Creation/Animation/Publishing System";
|
||||||
homepage = http://www.blender.org;
|
homepage = http://www.blender.org;
|
||||||
# They comment two licenses: GPLv2 and Blender License, but they
|
# They comment two licenses: GPLv2 and Blender License, but they
|
||||||
# say: "We've decided to cancel the BL offering for an indefinite period."
|
# say: "We've decided to cancel the BL offering for an indefinite period."
|
||||||
license = "GPLv2+";
|
license = licenses.gpl2Plus;
|
||||||
|
platforms = platforms.linux;
|
||||||
|
maintainers = [ maintainers.goibhniu ];
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ fetchurl, stdenv, db4, boost, gmp, mpfr, miniupnpc, qt4, unzip }:
|
{ fetchurl, stdenv, db, boost, gmp, mpfr, miniupnpc, qt4, unzip }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.8.3-1";
|
version = "0.8.3-1";
|
||||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
# I think that openssl and zlib are required, but come through other
|
# I think that openssl and zlib are required, but come through other
|
||||||
# packages
|
# packages
|
||||||
buildInputs = [ db4 boost gmp mpfr miniupnpc qt4 unzip ];
|
buildInputs = [ db boost gmp mpfr miniupnpc qt4 unzip ];
|
||||||
|
|
||||||
configurePhase = "qmake";
|
configurePhase = "qmake";
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
{ stdenv, fetchurl, pkgconfig, gtk, gettext }:
|
{ stdenv, fetchurl, pkgconfig, gtk, gettext }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "girara-0.1.9";
|
name = "girara-0.2.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://pwmt.org/projects/girara/download/${name}.tar.gz";
|
url = "http://pwmt.org/projects/girara/download/${name}.tar.gz";
|
||||||
sha256 = "1kd20dalnpy07hajv0rkmkbsym4bpfxh0gby7j2mvkvl5qr3vx70";
|
sha256 = "0k8p5sgazqw7r78ssqh8bm2hn98xjml5w76l9awa66yq0k5m8jyi";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ pkgconfig gtk gettext ];
|
buildInputs = [ pkgconfig gtk gettext ];
|
||||||
|
|
|
@ -1,30 +0,0 @@
|
||||||
{ stdenv, fetchurl, python, pygtk, vte, gettext, intltool, makeWrapper }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "gnome-terminator-0.96";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://launchpad.net/terminator/trunk/0.96/+download/terminator_0.96.tar.gz";
|
|
||||||
sha256 = "d708c783c36233fcafbd0139a91462478ae40f5cf696ef4acfcaf5891a843201";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs =
|
|
||||||
[ python pygtk vte gettext intltool makeWrapper
|
|
||||||
];
|
|
||||||
|
|
||||||
phases = "unpackPhase installPhase";
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
python setup.py --without-icon-cache install --prefix=$out
|
|
||||||
for i in $(cd $out/bin && ls); do
|
|
||||||
wrapProgram $out/bin/$i \
|
|
||||||
--prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH"
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Gnome terminal emulator with support for tiling and tabs";
|
|
||||||
homepage = http://www.tenshu.net/p/terminator.html;
|
|
||||||
license = "GPLv2";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, db4, gtk, bzip2 }:
|
{ stdenv, fetchurl, db, gtk, bzip2 }:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "jigdo-0.7.3";
|
name = "jigdo-0.7.3";
|
||||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation {
|
||||||
sha256 = "0jnlzm9m2hjlnw0zs2fv456ml5r2jj2q1lncqbrgg52lq18f6fa3";
|
sha256 = "0jnlzm9m2hjlnw0zs2fv456ml5r2jj2q1lncqbrgg52lq18f6fa3";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ db4 gtk bzip2 ];
|
buildInputs = [ db gtk bzip2 ];
|
||||||
|
|
||||||
configureFlags = "--without-libdb";
|
configureFlags = "--without-libdb";
|
||||||
|
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
{ stdenv, fetchurl, kdelibs, gettext }:
|
{ stdenv, fetchurl, kdelibs, gettext, xf86_input_wacom }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "wacomtablet-1.3.5";
|
name = "wacomtablet-2.0";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://kde-apps.org/CONTENT/content-files/114856-wacomtablet-v1.3.5.tar.bz2";
|
url = "http://kde-apps.org/CONTENT/content-files/114856-wacomtablet-2.0.tar.bz2";
|
||||||
sha256 = "0dgsp3izx2v44f6j8mhxc6zybjn5sj9038w6b4v2fgix47fri0ja";
|
sha256 = "1vqdmkfl0awsjxl6p8bihz198hlc75d3zn7xwwryc674l76s25ax";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ kdelibs ];
|
buildInputs = [ kdelibs xf86_input_wacom ];
|
||||||
|
|
||||||
nativeBuildInputs = [ gettext ];
|
nativeBuildInputs = [ gettext ];
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
{ stdenv, fetchurl, qt4, muparser, which}:
|
{ stdenv, fetchurl, qt4, muparser, which}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "librecad-1.0.2";
|
name = "librecad-1.0.4";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = https://github.com/LibreCAD/LibreCAD/tarball/v1.0.2;
|
url = https://github.com/LibreCAD/LibreCAD/tarball/v1.0.4;
|
||||||
name = "librecad-1.0.2.tar.gz";
|
name = "librecad-1.0.4.tar.gz";
|
||||||
sha256 = "13ee7e401e4f5fbc68c2e017b7189bec788038f4f6e77f559861ceb8cfb1907d";
|
sha256 = "00nzbijw7pn1zkj4256da501xcm6rkcvycpa79y6dr2p6c43yc6m";
|
||||||
};
|
};
|
||||||
|
|
||||||
patchPhase = ''
|
patchPhase = ''
|
||||||
|
|
17
pkgs/applications/misc/lxappearance/default.nix
Normal file
17
pkgs/applications/misc/lxappearance/default.nix
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
{ stdenv, fetchurl, intltool, pkgconfig, libX11, gtk }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "lxappearance-0.5.5";
|
||||||
|
src = fetchurl{
|
||||||
|
url = "http://downloads.sourceforge.net/project/lxde/LXAppearance/${name}.tar.xz";
|
||||||
|
sha256 = "8cae82e6425ba8a0267774e4d10096df2d91b0597520058331684a5ece068b4c";
|
||||||
|
};
|
||||||
|
buildInputs = [ intltool libX11 pkgconfig gtk ];
|
||||||
|
meta = {
|
||||||
|
description = "A lightweight program for configuring the theme and fonts of gtk applications";
|
||||||
|
maintainers = [ stdenv.lib.maintainers.hinton ];
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
license = stdenv.lib.licenses.gpl2;
|
||||||
|
homepage = "http://lxappearance.sourceforce.net/";
|
||||||
|
};
|
||||||
|
}
|
16
pkgs/applications/misc/nc-indicators/default.nix
Normal file
16
pkgs/applications/misc/nc-indicators/default.nix
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{ cabal, attoparsec, gtk, hflags, lens, pipes, stm }:
|
||||||
|
|
||||||
|
cabal.mkDerivation (self: {
|
||||||
|
pname = "nc-indicators";
|
||||||
|
version = "0.1";
|
||||||
|
sha256 = "19amwfcbwfxcj0gr7w0vgxl427l43q3l2s3n3zsxhqwkfblxmfy5";
|
||||||
|
isLibrary = false;
|
||||||
|
isExecutable = true;
|
||||||
|
buildDepends = [ attoparsec gtk hflags lens pipes stm ];
|
||||||
|
meta = {
|
||||||
|
homepage = "https://github.com/nilcons/nc-indicators/issues";
|
||||||
|
description = "CPU load and memory usage indicators for i3bar";
|
||||||
|
license = self.stdenv.lib.licenses.asl20;
|
||||||
|
platforms = self.ghc.meta.platforms;
|
||||||
|
};
|
||||||
|
})
|
40
pkgs/applications/misc/terminator/default.nix
Normal file
40
pkgs/applications/misc/terminator/default.nix
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
{ stdenv, fetchurl, python, pygtk, notify, keybinder, vte, gettext, intltool
|
||||||
|
, makeWrapper
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "terminator-${version}";
|
||||||
|
version = "0.97";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://launchpad.net/terminator/trunk/${version}/+download/${name}.tar.gz";
|
||||||
|
sha256 = "1xykpx10g2zssx0ss6351ca6vmmma7zwxxhjz0fg28ps4dq88cci";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [
|
||||||
|
python pygtk notify keybinder vte gettext intltool makeWrapper
|
||||||
|
];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
python setup.py --without-icon-cache install --prefix="$out"
|
||||||
|
|
||||||
|
for file in "$out"/bin/*; do
|
||||||
|
wrapProgram "$file" \
|
||||||
|
--prefix PYTHONPATH : "$(toPythonPath $out):$PYTHONPATH"
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Terminal emulator with support for tiling and tabs";
|
||||||
|
longDescription = ''
|
||||||
|
The goal of this project is to produce a useful tool for arranging
|
||||||
|
terminals. It is inspired by programs such as gnome-multi-term,
|
||||||
|
quadkonsole, etc. in that the main focus is arranging terminals in grids
|
||||||
|
(tabs is the most common default method, which Terminator also supports).
|
||||||
|
'';
|
||||||
|
homepage = http://gnometerminator.blogspot.no/p/introduction.html;
|
||||||
|
license = licenses.gpl2;
|
||||||
|
maintainers = [ maintainers.bjornfor ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
29
pkgs/applications/misc/twmn/default.nix
Normal file
29
pkgs/applications/misc/twmn/default.nix
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
{ fetchurl, stdenv, fetchgit, qt4, pkgconfig, boost, dbus }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
rev = "9f52882688ba03d7aaab2e3fd83cb05cfbf1a374";
|
||||||
|
name = "twmn-${rev}";
|
||||||
|
|
||||||
|
src = fetchgit {
|
||||||
|
inherit rev;
|
||||||
|
url = "https://github.com/sboli/twmn.git";
|
||||||
|
sha256 = "1jd2y0ydcpjdmjbx77lw35710sqfwbgyrnpv66mi3gwvrbyiwpf3";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ qt4 pkgconfig boost ];
|
||||||
|
propagatedBuildInputs = [ dbus ];
|
||||||
|
|
||||||
|
configurePhase = "qmake";
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p "$out/bin"
|
||||||
|
cp bin/* "$out/bin"
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A notification system for tiling window managers";
|
||||||
|
homepage = "https://github.com/sboli/twmn";
|
||||||
|
platforms = with stdenv.lib.platforms; linux;
|
||||||
|
maintainers = [ stdenv.lib.maintainers.matejc ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,12 +1,12 @@
|
||||||
{ stdenv, fetchurl, pkgconfig, gtk, girara, gettext, docutils, file, makeWrapper }:
|
{ stdenv, fetchurl, pkgconfig, gtk, girara, gettext, docutils, file, makeWrapper, zathura_icon }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.2.6";
|
version = "0.2.7";
|
||||||
name = "zathura-core-${version}";
|
name = "zathura-core-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://pwmt.org/projects/zathura/download/zathura-${version}.tar.gz";
|
url = "http://pwmt.org/projects/zathura/download/zathura-${version}.tar.gz";
|
||||||
sha1 = "d84878388969d523027a1661f49fd29638bd460b";
|
sha256 = "ef43be7705612937d095bfbe719a03503bf7e45493ea9409cb43a45cf96f0daf";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ pkgconfig file gtk girara gettext makeWrapper ];
|
buildInputs = [ pkgconfig file gtk girara gettext makeWrapper ];
|
||||||
|
@ -21,7 +21,12 @@ stdenv.mkDerivation rec {
|
||||||
makeFlags = [ "PREFIX=$(out)" "RSTTOMAN=${docutils}/bin/rst2man.py" "VERBOSE=1" ];
|
makeFlags = [ "PREFIX=$(out)" "RSTTOMAN=${docutils}/bin/rst2man.py" "VERBOSE=1" ];
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
wrapProgram "$out/bin/zathura" --prefix PATH ":" "${file}/bin"
|
wrapProgram "$out/bin/zathura" \
|
||||||
|
--prefix PATH ":" "${file}/bin" \
|
||||||
|
--prefix XDG_CONFIG_DIRS ":" "$out/etc"
|
||||||
|
|
||||||
|
mkdir -pv $out/etc
|
||||||
|
echo "set window-icon ${zathura_icon}" > $out/etc/zathurarc
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
|
|
|
@ -3,8 +3,11 @@
|
||||||
rec {
|
rec {
|
||||||
inherit (pkgs) stdenv;
|
inherit (pkgs) stdenv;
|
||||||
|
|
||||||
|
icon = ./icon.xpm;
|
||||||
|
|
||||||
zathura_core = callPackage ./core {
|
zathura_core = callPackage ./core {
|
||||||
gtk = pkgs.gtk3;
|
gtk = pkgs.gtk3;
|
||||||
|
zathura_icon = icon;
|
||||||
};
|
};
|
||||||
|
|
||||||
zathura_pdf_poppler = callPackage ./pdf-poppler { };
|
zathura_pdf_poppler = callPackage ./pdf-poppler { };
|
||||||
|
@ -19,7 +22,7 @@ rec {
|
||||||
|
|
||||||
zathuraWrapper = stdenv.mkDerivation {
|
zathuraWrapper = stdenv.mkDerivation {
|
||||||
|
|
||||||
inherit zathura_core;
|
inherit zathura_core icon;
|
||||||
|
|
||||||
name = "zathura-${zathura_core.version}";
|
name = "zathura-${zathura_core.version}";
|
||||||
|
|
||||||
|
@ -29,8 +32,6 @@ rec {
|
||||||
zathura_ps
|
zathura_ps
|
||||||
];
|
];
|
||||||
|
|
||||||
icon = ./icon.xpm;
|
|
||||||
|
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
|
|
||||||
preferLocalBuild = true;
|
preferLocalBuild = true;
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
{ stdenv, fetchurl, pkgconfig, zathura_core, girara, poppler, gettext }:
|
{ stdenv, fetchurl, pkgconfig, zathura_core, girara, poppler, gettext }:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "0.2.4";
|
version = "0.2.5";
|
||||||
name = "zathura-pdf-poppler-${version}";
|
name = "zathura-pdf-poppler-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
|
url = "http://pwmt.org/projects/zathura/plugins/download/${name}.tar.gz";
|
||||||
sha256 = "1x1n21naixb87g1knznjfjfibazzwbn1cv7d42kxgwlnf1p1wbzm";
|
sha256 = "1b0chsds8iwjm4g629p6a67nb6wgra65pw2vvngd7g35dmcjgcv0";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ pkgconfig poppler gettext zathura_core girara ];
|
buildInputs = [ pkgconfig poppler gettext zathura_core girara ];
|
||||||
|
|
|
@ -1,18 +1,18 @@
|
||||||
# This file is autogenerated from update.sh in the same directory.
|
# This file is autogenerated from update.sh in the same directory.
|
||||||
{
|
{
|
||||||
dev = {
|
dev = {
|
||||||
version = "34.0.1809.0";
|
version = "34.0.1847.3";
|
||||||
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-34.0.1809.0.tar.xz";
|
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-34.0.1847.3.tar.xz";
|
||||||
sha256 = "0hyqqqq2hzbzk325pk9bc70lsh0al2nqf1mlahybp5vigy5jzy88";
|
sha256 = "1jm9cr1qqfqd82fy3f1q4d0qg94vsrzyq8dbn4hrxyzqbjc4sclg";
|
||||||
};
|
};
|
||||||
beta = {
|
beta = {
|
||||||
version = "33.0.1750.46";
|
version = "33.0.1750.117";
|
||||||
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-33.0.1750.46.tar.xz";
|
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-33.0.1750.117.tar.xz";
|
||||||
sha256 = "04n43c4vn8i7qhlybqb19c2c8kri8nc1wpa2l83vin4sqxkq519h";
|
sha256 = "0nyaqrxz8kcnppcya68qpr47fw4d959p4l63kqzvd9ifdqfgk18f";
|
||||||
};
|
};
|
||||||
stable = {
|
stable = {
|
||||||
version = "32.0.1700.107";
|
version = "33.0.1750.117";
|
||||||
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-32.0.1700.107.tar.xz";
|
url = "http://commondatastorage.googleapis.com/chromium-browser-official/chromium-33.0.1750.117.tar.xz";
|
||||||
sha256 = "1bf1gbjf4r9nf3xdn7zgq0ny1ihak21ka4rkkiadxsg8aq9vdsqz";
|
sha256 = "0nyaqrxz8kcnppcya68qpr47fw4d959p4l63kqzvd9ifdqfgk18f";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,9 +17,9 @@ assert stdenv.gcc ? libc && stdenv.gcc.libc != null;
|
||||||
|
|
||||||
rec {
|
rec {
|
||||||
|
|
||||||
firefoxVersion = "27.0";
|
firefoxVersion = "27.0.1";
|
||||||
|
|
||||||
xulVersion = "27.0"; # this attribute is used by other packages
|
xulVersion = "27.0.1"; # this attribute is used by other packages
|
||||||
|
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
|
@ -29,7 +29,7 @@ rec {
|
||||||
# Fall back to this url for versions not available at releases.mozilla.org.
|
# Fall back to this url for versions not available at releases.mozilla.org.
|
||||||
"http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"
|
"http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/${firefoxVersion}/source/firefox-${firefoxVersion}.source.tar.bz2"
|
||||||
];
|
];
|
||||||
sha1 = "ec2031385237e30be829817ac79caa8e80cc2a14";
|
sha256 = "13qd53yf8dn9m03p4x5ml9h3mys60nba5nz82lcvaq7ycp1pl1bn";
|
||||||
};
|
};
|
||||||
|
|
||||||
commonConfigureFlags =
|
commonConfigureFlags =
|
||||||
|
@ -82,7 +82,7 @@ rec {
|
||||||
"--disable-javaxpcom"
|
"--disable-javaxpcom"
|
||||||
] ++ commonConfigureFlags;
|
] ++ commonConfigureFlags;
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
#enableParallelBuilding = true; # cf. https://github.com/NixOS/nixpkgs/pull/1699#issuecomment-35196282
|
||||||
|
|
||||||
preConfigure =
|
preConfigure =
|
||||||
''
|
''
|
||||||
|
|
|
@ -8,12 +8,12 @@
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
version = "2.5";
|
version = "2.8";
|
||||||
name = "links2-${version}";
|
name = "links2-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "${meta.homepage}/download/links-${version}.tar.bz2";
|
url = "${meta.homepage}/download/links-${version}.tar.bz2";
|
||||||
sha256 = "1wlmj8s6bxgznh0pnawihyvhffzryciz3lkagcxhf7fp64zz5izm";
|
sha256 = "15h07498z52jfdahzgvkphg1f7qvxnpbyfn2xmsls0d2dwwdll3r";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
# -> http://get.adobe.com/flashplayer/
|
# -> http://get.adobe.com/flashplayer/
|
||||||
version = "11.2.202.336";
|
version = "11.2.202.341";
|
||||||
|
|
||||||
src =
|
src =
|
||||||
if stdenv.system == "x86_64-linux" then
|
if stdenv.system == "x86_64-linux" then
|
||||||
|
@ -47,7 +47,7 @@ let
|
||||||
else rec {
|
else rec {
|
||||||
inherit version;
|
inherit version;
|
||||||
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
|
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.x86_64.tar.gz";
|
||||||
sha256 = "1wri6y5vllgs452dfklv23k7bp5daajnaqblkn5cb2gl28l5xcni";
|
sha256 = "0d1ic70awdig0v699svmq8mmnil8xmmwsap30sgi0r94saxmq49j";
|
||||||
}
|
}
|
||||||
else if stdenv.system == "i686-linux" then
|
else if stdenv.system == "i686-linux" then
|
||||||
if debug then {
|
if debug then {
|
||||||
|
@ -58,7 +58,7 @@ let
|
||||||
} else rec {
|
} else rec {
|
||||||
inherit version;
|
inherit version;
|
||||||
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
|
url = "http://fpdownload.macromedia.com/get/flashplayer/pdc/${version}/install_flash_player_11_linux.i386.tar.gz";
|
||||||
sha256 = "0mjxjbj75r74gqpmqzqa6vlrk2wv7r358wcqbmg132bhv8kaph85";
|
sha256 = "0bfz1id4035jnkwy4xm0dj8l9lygrrzqdbf8dgc9pcy8c63d1hac";
|
||||||
}
|
}
|
||||||
else throw "Flash Player is not supported on this platform";
|
else throw "Flash Player is not supported on this platform";
|
||||||
|
|
||||||
|
|
|
@ -47,18 +47,18 @@ stdenv.mkDerivation rec {
|
||||||
name = "google-talk-plugin-${version}";
|
name = "google-talk-plugin-${version}";
|
||||||
# Use the following to determine the current upstream version:
|
# Use the following to determine the current upstream version:
|
||||||
# curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages | sed -nr 's/^Version: *([^ ]+)-1$/\1/p'
|
# curl -s http://dl.google.com/linux/talkplugin/deb/dists/stable/main/binary-amd64/Packages | sed -nr 's/^Version: *([^ ]+)-1$/\1/p'
|
||||||
version = "4.2.1.0";
|
version = "5.1.4.0";
|
||||||
|
|
||||||
src =
|
src =
|
||||||
if stdenv.system == "x86_64-linux" then
|
if stdenv.system == "x86_64-linux" then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb";
|
url = "${baseURL}/google-talkplugin_${version}-1_amd64.deb";
|
||||||
sha256 = "1g7kpz2lzzz1gri5rd3isp7cfyls6gzwcw2kc8jgrgrixq9iixfd";
|
sha256 = "19x1ss6kx7w8833f40pg1mwqr6sygz4ij4a7r7h3flmk67zywj4c";
|
||||||
}
|
}
|
||||||
else if stdenv.system == "i686-linux" then
|
else if stdenv.system == "i686-linux" then
|
||||||
fetchurl {
|
fetchurl {
|
||||||
url = "${baseURL}/google-talkplugin_${version}-1_i386.deb";
|
url = "${baseURL}/google-talkplugin_${version}-1_i386.deb";
|
||||||
sha256 = "1z0zbblzlky9nyifxmnl49v4zafpqp3l08b9v1486sinm35rf58r";
|
sha256 = "1jxcridpqx46sdy4bw381rvffn1z93s280vhihwbgmiwjq5h4g41";
|
||||||
}
|
}
|
||||||
else throw "Google Talk does not support your platform.";
|
else throw "Google Talk does not support your platform.";
|
||||||
|
|
||||||
|
|
25
pkgs/applications/networking/davmail/default.nix
Normal file
25
pkgs/applications/networking/davmail/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ fetchurl, stdenv, jre, glib, libXtst, gtk, makeWrapper }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "davmail-4.4.1";
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://downloads.sourceforge.net/project/davmail/davmail/4.4.1/davmail-linux-x86_64-4.4.1-2225.tgz";
|
||||||
|
sha256 = "66c7ae23c0242860cca1576e5fc29343431789a821f7623e420b91ba91e480a9";
|
||||||
|
};
|
||||||
|
|
||||||
|
buildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "A Java application which presents a Microsoft Exchange server as local CALDAV, IMAP and SMTP servers";
|
||||||
|
maintainers = [ stdenv.lib.maintainers.hinton ];
|
||||||
|
platforms = stdenv.lib.platforms.all;
|
||||||
|
homepage = "http://davmail.sourceforce.net/";
|
||||||
|
license = stdenv.lib.licenses.gpl2;
|
||||||
|
};
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir -p $out/bin
|
||||||
|
cp ./* $out/bin/ -R
|
||||||
|
wrapProgram $out/bin/davmail.sh --prefix PATH : ${jre}/bin --prefix LD_LIBRARY_PATH : ${glib}/lib:${gtk}/lib:${libXtst}/lib
|
||||||
|
'';
|
||||||
|
}
|
|
@ -2,7 +2,7 @@ x@{builderDefsPackage
|
||||||
, cyrus_sasl, gettext, openldap, ptlib, opal, GConf, libXv, rarian, intltool
|
, cyrus_sasl, gettext, openldap, ptlib, opal, GConf, libXv, rarian, intltool
|
||||||
, perl, perlXMLParser, evolution_data_server, gnome_doc_utils, avahi
|
, perl, perlXMLParser, evolution_data_server, gnome_doc_utils, avahi
|
||||||
, libsigcxx, gtk, dbus_glib, libnotify, libXext, xextproto, automake
|
, libsigcxx, gtk, dbus_glib, libnotify, libXext, xextproto, automake
|
||||||
, autoconf, pkgconfig, libxml2, videoproto, unixODBC, db4, nspr, nss, zlib
|
, autoconf, pkgconfig, libxml2, videoproto, unixODBC, db, nspr, nss, zlib
|
||||||
, libXrandr, randrproto, which, libxslt, libtasn1, gmp, nettle
|
, libXrandr, randrproto, which, libxslt, libtasn1, gmp, nettle
|
||||||
, ...}:
|
, ...}:
|
||||||
builderDefsPackage
|
builderDefsPackage
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
diff -ru kadu-0.12.2.orig/plugins/jabber_protocol/3rdparty/CMakeLists.txt kadu-0.12.2/plugins/jabber_protocol/3rdparty/CMakeLists.txt
|
||||||
|
--- kadu-0.12.2.orig/plugins/jabber_protocol/3rdparty/CMakeLists.txt 2012-08-30 16:13:17.000000000 +0200
|
||||||
|
+++ kadu-0.12.2/plugins/jabber_protocol/3rdparty/CMakeLists.txt 2014-02-15 10:20:33.368716013 +0100
|
||||||
|
@@ -26,7 +26,7 @@
|
||||||
|
get_filename_component (_basename ${_current_MOC} NAME_WE)
|
||||||
|
set (_header ${_abs_FILE})
|
||||||
|
set (_moc ${_abs_PATH}/${_current_MOC})
|
||||||
|
- QT4_CREATE_MOC_COMMAND (${_header} ${_moc} "${_moc_INCS}" "")
|
||||||
|
+ QT4_CREATE_MOC_COMMAND (${_header} ${_moc} "${_moc_INCS}" "" "")
|
||||||
|
MACRO_ADD_FILE_DEPENDENCIES (${_abs_FILE} ${_moc})
|
||||||
|
endforeach (_current_MOC_INC)
|
||||||
|
endif (_match)
|
||||||
|
Only in kadu-0.12.2/plugins/jabber_protocol/3rdparty: CMakeLists.txt~
|
|
@ -26,6 +26,7 @@ stdenv.mkDerivation {
|
||||||
sed -i -e '/mpd_mediaplayer/d' \
|
sed -i -e '/mpd_mediaplayer/d' \
|
||||||
-e '/encryption_ng/d' \
|
-e '/encryption_ng/d' \
|
||||||
-e '/encryption_ng_simlite/d' Plugins.cmake
|
-e '/encryption_ng_simlite/d' Plugins.cmake
|
||||||
|
patch -p1 < ${./cmake.patch}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
NIX_LDFLAGS="-lX11";
|
NIX_LDFLAGS="-lX11";
|
||||||
|
|
|
@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
configureFlags = "--enable-call";
|
configureFlags = "--enable-call";
|
||||||
|
|
||||||
|
installFlags = "gsettingsschemadir=\${out}/share/telepathy/logger/glib-2.0/schemas/";
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "Logger service for Telepathy framework";
|
description = "Logger service for Telepathy framework";
|
||||||
homepage = http://telepathy.freedesktop.org/wiki/Logger ;
|
homepage = http://telepathy.freedesktop.org/wiki/Logger ;
|
||||||
|
|
|
@ -2,8 +2,8 @@
|
||||||
, libtoxcore, pkgconfig }:
|
, libtoxcore, pkgconfig }:
|
||||||
|
|
||||||
let
|
let
|
||||||
version = "da99d776df";
|
version = "b308e19e6b";
|
||||||
date = "20140203";
|
date = "20140224";
|
||||||
in
|
in
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "toxic-${date}-${version}";
|
name = "toxic-${date}-${version}";
|
||||||
|
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://github.com/Tox/toxic/tarball/${version}";
|
url = "https://github.com/Tox/toxic/tarball/${version}";
|
||||||
name = "${name}.tar.gz";
|
name = "${name}.tar.gz";
|
||||||
sha256 = "0d97crkslyk7sgcsawnnwyzp31azp80yprpd6xqjcraxd442dfyj";
|
sha256 = "0fgkvnpy3dl2h378h796z9md0zg05b3174fgx17b919av6j9x4ma";
|
||||||
};
|
};
|
||||||
|
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
|
|
|
@ -2,17 +2,21 @@
|
||||||
|
|
||||||
stdenv.mkDerivation (rec {
|
stdenv.mkDerivation (rec {
|
||||||
pname = "rdesktop";
|
pname = "rdesktop";
|
||||||
version = "1.7.1";
|
version = "1.8.1";
|
||||||
name = "${pname}-${version}";
|
name = "${pname}-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/${pname}/${name}.tar.gz";
|
url = "mirror://sourceforge/${pname}/${name}.tar.gz";
|
||||||
sha256 = "0yc4xz95w40m8ailpjgqp9h7bkc758vp0dlq4nj1pvr3xfnl7sni";
|
sha256 = "0il248cdsxvwjsl4bswf27ld9r1a7d48jf6bycr86kf3i55q7k3n";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [openssl libX11];
|
buildInputs = [openssl libX11];
|
||||||
|
|
||||||
configureFlags = [ "--with-openssl=${openssl}" ];
|
configureFlags = [
|
||||||
|
"--with-openssl=${openssl}"
|
||||||
|
"--disable-credssp"
|
||||||
|
"--disable-smartcard"
|
||||||
|
];
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "rdesktop is an open source client for Windows Terminal Services";
|
description = "rdesktop is an open source client for Windows Terminal Services";
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{stdenv, fetchurl, openssl, pkgconfig
|
{ stdenv, fetchurl, openssl, pkgconfig
|
||||||
, withPerl ? false, perl
|
, withPerl ? false, perl
|
||||||
, withPython ? false, python3
|
, withPython ? false, python3
|
||||||
, withTcl ? false, tcl
|
, withTcl ? false, tcl
|
||||||
|
@ -7,10 +7,11 @@
|
||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "znc-1.0";
|
name = "znc-1.2";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://znc.in/releases/${name}.tar.gz";
|
url = "http://znc.in/releases/${name}.tar.gz";
|
||||||
sha256 = "0ah6890ngvj97kah3x7fd8yzi6dpdgrxw1b2skj2cyv98bd3jmd8";
|
sha256 = "07bh306wl5494sqsgz4a526wvyrylkc8vpnbr5pkxwjg90mcv8nr";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ openssl pkgconfig ]
|
buildInputs = [ openssl pkgconfig ]
|
||||||
|
@ -24,11 +25,11 @@ stdenv.mkDerivation rec {
|
||||||
+ optionalString withTcl "--enable-tcl --with-tcl=${tcl}/lib "
|
+ optionalString withTcl "--enable-tcl --with-tcl=${tcl}/lib "
|
||||||
+ optionalString withCyrus "--enable-cyrus ";
|
+ optionalString withCyrus "--enable-cyrus ";
|
||||||
|
|
||||||
meta = {
|
meta = with stdenv.lib; {
|
||||||
description = "Advanced IRC bouncer";
|
description = "Advanced IRC bouncer";
|
||||||
homepage = http://wiki.znc.in/ZNC;
|
homepage = http://wiki.znc.in/ZNC;
|
||||||
maintainers = [ stdenv.lib.maintainers.viric ];
|
maintainers = with maintainers; [ viric ];
|
||||||
license = "ASL2.0";
|
license = licenses.asl20;
|
||||||
platforms = stdenv.lib.platforms.unix;
|
platforms = platforms.unix;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk, libgnomeui, libofx
|
{ fetchurl, stdenv, pkgconfig, libxml2, gconf, glib, gtk, libgnomeui, libofx
|
||||||
, libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui
|
, libgtkhtml, gtkhtml, libgnomeprint, goffice, enchant, gettext, libbonoboui
|
||||||
, intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade
|
, intltool, perl, guile, slibGuile, swig, isocodes, bzip2, makeWrapper, libglade
|
||||||
, libgsf, libart_lgpl, perlPackages
|
, libgsf, libart_lgpl, perlPackages, aqbanking, gwenhywfar
|
||||||
}:
|
}:
|
||||||
|
|
||||||
/* If you experience GConf errors when running GnuCash on NixOS, see
|
/* If you experience GConf errors when running GnuCash on NixOS, see
|
||||||
|
@ -21,10 +21,10 @@ stdenv.mkDerivation rec {
|
||||||
pkgconfig libxml2 gconf glib gtk libgnomeui libgtkhtml gtkhtml
|
pkgconfig libxml2 gconf glib gtk libgnomeui libgtkhtml gtkhtml
|
||||||
libgnomeprint goffice enchant gettext intltool perl guile slibGuile
|
libgnomeprint goffice enchant gettext intltool perl guile slibGuile
|
||||||
swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl
|
swig isocodes bzip2 makeWrapper libofx libglade libgsf libart_lgpl
|
||||||
perlPackages.DateManip perlPackages.FinanceQuote
|
perlPackages.DateManip perlPackages.FinanceQuote aqbanking gwenhywfar
|
||||||
];
|
];
|
||||||
|
|
||||||
configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx";
|
configureFlags = "CFLAGS=-O3 CXXFLAGS=-O3 --disable-dbi --enable-ofx --enable-aqbanking";
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
# Auto-updaters don't make sense in Nix.
|
# Auto-updaters don't make sense in Nix.
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
{ stdenv, fetchurl, pam, python3, tcsh, libxslt, perl, ArchiveZip
|
{ stdenv, fetchurl, pam, python3, tcsh, libxslt, perl, ArchiveZip
|
||||||
, CompressZlib, zlib, libjpeg, expat, pkgconfigUpstream, freetype, libwpd
|
, CompressZlib, zlib, libjpeg, expat, pkgconfigUpstream, freetype, libwpd
|
||||||
, libxml2, db4, sablotron, curl, libXaw, fontconfig, libsndfile, neon
|
, libxml2, db, sablotron, curl, libXaw, fontconfig, libsndfile, neon
|
||||||
, bison, flex, zip, unzip, gtk, libmspack, getopt, file, cairo, which
|
, bison, flex, zip, unzip, gtk, libmspack, getopt, file, cairo, which
|
||||||
, icu, boost, jdk, ant, libXext, libX11, libXtst, libXi, cups
|
, icu, boost, jdk, ant, libXext, libX11, libXtst, libXi, cups
|
||||||
, libXinerama, openssl, gperf, cppunit, GConf, ORBit2, poppler
|
, libXinerama, openssl, gperf, cppunit, GConf, ORBit2, poppler
|
||||||
|
@ -248,7 +248,7 @@ stdenv.mkDerivation rec {
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
[ ant ArchiveZip autoconf automake bison boost cairo clucene_core
|
[ ant ArchiveZip autoconf automake bison boost cairo clucene_core
|
||||||
CompressZlib cppunit cups curl db4 dbus_glib expat file flex fontconfig
|
CompressZlib cppunit cups curl db dbus_glib expat file flex fontconfig
|
||||||
freetype GConf getopt gnome_vfs gperf gst_plugins_base gstreamer gtk
|
freetype GConf getopt gnome_vfs gperf gst_plugins_base gstreamer gtk
|
||||||
hunspell icu jdk kde4.kdelibs lcms libcdr libexttextcat unixODBC libjpeg
|
hunspell icu jdk kde4.kdelibs lcms libcdr libexttextcat unixODBC libjpeg
|
||||||
libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
|
libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
|
||||||
|
|
|
@ -65,7 +65,7 @@ stdenv.mkDerivation {
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''make DESTDIR="$out" MKDIR_P="mkdir -p" install'';
|
installPhase = ''make MKDIR_P="mkdir -p" install'';
|
||||||
|
|
||||||
enableParallelBuilding = true;
|
enableParallelBuilding = true;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
args : with args;
|
args : with args;
|
||||||
|
|
||||||
if (! python ? db4Support) || (! python.db4Support) then
|
if (! python ? dbSupport) || (! python.dbSupport) then
|
||||||
throw ''Python DB4 support is required for codeville.''
|
throw ''Python DB4 support is required for codeville.''
|
||||||
else
|
else
|
||||||
|
|
||||||
|
|
|
@ -15,8 +15,8 @@
|
||||||
|
|
||||||
cabal.mkDerivation (self: {
|
cabal.mkDerivation (self: {
|
||||||
pname = "git-annex";
|
pname = "git-annex";
|
||||||
version = "5.20140210";
|
version = "5.20140221";
|
||||||
sha256 = "0l5fny743v27yv7spppms64qca0mizh776b6wv8wca0wmcbc6j88";
|
sha256 = "0z6awqbk6kagssx26ddixbrl381c1kmsmlgaqmx087g4rwp43wqb";
|
||||||
isLibrary = false;
|
isLibrary = false;
|
||||||
isExecutable = true;
|
isExecutable = true;
|
||||||
buildDepends = [
|
buildDepends = [
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
version = "1.8.5.4";
|
version = "1.9.0";
|
||||||
|
|
||||||
svn = subversionClient.override { perlBindings = true; };
|
svn = subversionClient.override { perlBindings = true; };
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://git-core.googlecode.com/files/git-${version}.tar.gz";
|
url = "http://git-core.googlecode.com/files/git-${version}.tar.gz";
|
||||||
sha256 = "062z4j4hfhfdlvkxs2mzarsyvbqvfy4kv8j5h4c75ymb5yp8iklk";
|
sha256 = "10lq71vrg1zbqm923wb0p36ily6y5x057f2bryk4wqkdqgyrfc6y";
|
||||||
};
|
};
|
||||||
|
|
||||||
patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ];
|
patches = [ ./docbook2texi.patch ./symlinks-in-bin.patch ];
|
||||||
|
@ -66,7 +66,7 @@ stdenv.mkDerivation {
|
||||||
mkdir -p $out/etc/bash_completion.d
|
mkdir -p $out/etc/bash_completion.d
|
||||||
ln -s $out/share/git/contrib/completion/git-completion.bash $out/etc/bash_completion.d/
|
ln -s $out/share/git/contrib/completion/git-completion.bash $out/etc/bash_completion.d/
|
||||||
|
|
||||||
# grep is a runtime dependence, need to patch so that it's found
|
# grep is a runtime dependency, need to patch so that it's found
|
||||||
substituteInPlace $out/libexec/git-core/git-sh-setup \
|
substituteInPlace $out/libexec/git-core/git-sh-setup \
|
||||||
--replace ' grep' ' ${gnugrep}/bin/grep' \
|
--replace ' grep' ' ${gnugrep}/bin/grep' \
|
||||||
--replace ' egrep' ' ${gnugrep}/bin/egrep'
|
--replace ' egrep' ' ${gnugrep}/bin/egrep'
|
||||||
|
@ -77,7 +77,7 @@ stdenv.mkDerivation {
|
||||||
-e 's| perl -e| ${perl}/bin/perl -e|g' \
|
-e 's| perl -e| ${perl}/bin/perl -e|g' \
|
||||||
$out/libexec/git-core/{git-am,git-submodule}
|
$out/libexec/git-core/{git-am,git-submodule}
|
||||||
|
|
||||||
# gzip (and optionally bzip2, xz, zip) are a runtime dependencies for
|
# gzip (and optionally bzip2, xz, zip) are runtime dependencies for
|
||||||
# gitweb.cgi, need to patch so that it's found
|
# gitweb.cgi, need to patch so that it's found
|
||||||
sed -i -e "s|'compressor' => \['gzip'|'compressor' => ['${gzip}/bin/gzip'|" \
|
sed -i -e "s|'compressor' => \['gzip'|'compressor' => ['${gzip}/bin/gzip'|" \
|
||||||
$out/share/gitweb/gitweb.cgi
|
$out/share/gitweb/gitweb.cgi
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, fetchurl, gettext, apr, aprutil, subversion, db4, kdelibs, expat }:
|
{ stdenv, fetchurl, gettext, apr, aprutil, subversion, db, kdelibs, expat }:
|
||||||
|
|
||||||
# the homepage mentions this is the final release.
|
# the homepage mentions this is the final release.
|
||||||
# from now on, kdesvn will be part of the official kde software distribution
|
# from now on, kdesvn will be part of the official kde software distribution
|
||||||
|
@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
|
||||||
sed -i -e "s|/usr|${subversion}|g" src/svnqt/cmakemodules/FindSubversion.cmake
|
sed -i -e "s|/usr|${subversion}|g" src/svnqt/cmakemodules/FindSubversion.cmake
|
||||||
'';
|
'';
|
||||||
|
|
||||||
buildInputs = [ apr aprutil subversion db4 kdelibs expat ];
|
buildInputs = [ apr aprutil subversion db kdelibs expat ];
|
||||||
|
|
||||||
nativeBuildInputs = [ gettext ];
|
nativeBuildInputs = [ gettext ];
|
||||||
|
|
||||||
|
|
|
@ -17,13 +17,13 @@ assert javahlBindings -> jdk != null && perl != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
|
|
||||||
version = "1.8.5";
|
version = "1.8.8";
|
||||||
|
|
||||||
name = "subversion-${version}";
|
name = "subversion-${version}";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://apache/subversion/${name}.tar.bz2";
|
url = "mirror://apache/subversion/${name}.tar.bz2";
|
||||||
sha256 = "0r3mxrrlr1l9s2nh829bf0qmrfaafkq3di6ndr10j76sxkqjnlpx";
|
sha256 = "1cqxwydjidyf59y4lgkxl7bra1sy28abqm2mi5971qjsv0f96s8m";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ zlib apr aprutil sqlite ]
|
buildInputs = [ zlib apr aprutil sqlite ]
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
{ stdenv, fetchurl, alsaLib, boost, cmake, gtkmm, libXau, libXdmcp
|
|
||||||
, libXv, libav, pixman, libpthreadstubs, pkgconfig
|
|
||||||
}:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
name = "dvswitch-${version}";
|
|
||||||
version = "0.8.3.6";
|
|
||||||
|
|
||||||
src = fetchurl {
|
|
||||||
url = "https://alioth.debian.org/frs/download.php/3615/${name}.tar.gz";
|
|
||||||
sha256 = "7bd196389f9913ae08e12a29e168d79324c508bb545eab114df77b0375cd87f0";
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
alsaLib boost cmake gtkmm libXau libXdmcp libXv libav
|
|
||||||
libpthreadstubs pixman pkgconfig
|
|
||||||
];
|
|
||||||
|
|
||||||
patchPhase = ''
|
|
||||||
sed -e "s@prefix /usr/local@prefix $out@" -i CMakeLists.txt
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
|
||||||
description = "interactive live video mixer for DV streams";
|
|
||||||
homepage = "http://dvswitch.alioth.debian.org";
|
|
||||||
license = licenses.gpl2Plus;
|
|
||||||
maintainers = [ maintainers.goibhniu ];
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -40,10 +40,6 @@ buildPythonPackage rec {
|
||||||
plat/resources.py
|
plat/resources.py
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installCommand = ''
|
|
||||||
python setup.py install --prefix= --root="$out"
|
|
||||||
'';
|
|
||||||
|
|
||||||
# Disabled for now, because it requires networking and even if we skip those
|
# Disabled for now, because it requires networking and even if we skip those
|
||||||
# tests, the whole test run takes around 10-20 minutes.
|
# tests, the whole test run takes around 10-20 minutes.
|
||||||
doCheck = false;
|
doCheck = false;
|
||||||
|
@ -51,6 +47,12 @@ buildPythonPackage rec {
|
||||||
HOME="$TEMPDIR" LANG=en_US.UTF-8 python miro.real --unittest
|
HOME="$TEMPDIR" LANG=en_US.UTF-8 python miro.real --unittest
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
preInstall = ''
|
||||||
|
# see https://bitbucket.org/pypa/setuptools/issue/130/install_data-doesnt-respect-prefix
|
||||||
|
${python}/bin/${python.executable} setup.py install_data --root=$out
|
||||||
|
sed -i '/data_files=data_files/d' setup.py
|
||||||
|
'';
|
||||||
|
|
||||||
postInstall = ''
|
postInstall = ''
|
||||||
mv "$out/bin/miro.real" "$out/bin/miro"
|
mv "$out/bin/miro.real" "$out/bin/miro"
|
||||||
'';
|
'';
|
||||||
|
|
|
@ -10,11 +10,11 @@
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "vlc-${version}";
|
name = "vlc-${version}";
|
||||||
version = "2.1.2";
|
version = "2.1.3";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://download.videolan.org/pub/videolan/vlc/${version}/${name}.tar.xz";
|
url = "http://download.videolan.org/pub/videolan/vlc/${version}/${name}.tar.xz";
|
||||||
sha256 = "1i4fzjv2x8mzx0bg52mgh1rrlircmb81jr58z90blbmww4mq36r1";
|
sha256 = "04d1lr7lxrq2767rjy4j0wr3sirx5sf1s9wdl3p4x500r7z64dp0";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
|
@ -49,5 +49,6 @@ stdenv.mkDerivation rec {
|
||||||
description = "Cross-platform media player and streaming server";
|
description = "Cross-platform media player and streaming server";
|
||||||
homepage = http://www.videolan.org/vlc/;
|
homepage = http://www.videolan.org/vlc/;
|
||||||
platforms = platforms.linux;
|
platforms = platforms.linux;
|
||||||
|
license = licenses.lgpl21Plus;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ with stdenv.lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
version = "4.2.18"; # changes ./guest-additions as well
|
version = "4.2.22"; # changes ./guest-additions as well
|
||||||
|
|
||||||
forEachModule = action: ''
|
forEachModule = action: ''
|
||||||
for mod in \
|
for mod in \
|
||||||
|
@ -31,13 +31,13 @@ let
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# See https://github.com/NixOS/nixpkgs/issues/672 for details
|
# See https://github.com/NixOS/nixpkgs/issues/672 for details
|
||||||
extpackRevision = "88780";
|
extpackRevision = "91556";
|
||||||
extensionPack = requireFile rec {
|
extensionPack = requireFile rec {
|
||||||
name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack";
|
name = "Oracle_VM_VirtualBox_Extension_Pack-${version}-${extpackRevision}.vbox-extpack";
|
||||||
# IMPORTANT: Hash must be base16 encoded because it's used as an input to
|
# IMPORTANT: Hash must be base16 encoded because it's used as an input to
|
||||||
# VBoxExtPackHelperApp!
|
# VBoxExtPackHelperApp!
|
||||||
# Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.2.18/SHA256SUMS
|
# Tip: see http://dlc.sun.com.edgesuite.net/virtualbox/4.2.22/SHA256SUMS
|
||||||
sha256 = "1d1737b59d0f30f5d42beeabaff168bdc0a75b8b28df685979be6173e5adbbba";
|
sha256 = "79c0da87451cab3868f64d48bf9a7fdd710786c05ed4b3070b008c3aa1ce4f7a";
|
||||||
message = ''
|
message = ''
|
||||||
In order to use the extension pack, you need to comply with the VirtualBox Personal Use
|
In order to use the extension pack, you need to comply with the VirtualBox Personal Use
|
||||||
and Evaluation License (PUEL) by downloading the related binaries from:
|
and Evaluation License (PUEL) by downloading the related binaries from:
|
||||||
|
@ -56,7 +56,7 @@ in stdenv.mkDerivation {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
|
url = "http://download.virtualbox.org/virtualbox/${version}/VirtualBox-${version}.tar.bz2";
|
||||||
sha256 = "9dbddf393b029c549249f627d12040c1d257972bc09292969b8819a31ab78d74";
|
sha256 = "4a017ec5fa0e0cfa830ae6c2b9d680c9b108e5fb96348e1397a7d0ea051f8bc1";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs =
|
buildInputs =
|
||||||
|
|
|
@ -12,7 +12,7 @@ stdenv.mkDerivation {
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
|
url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
|
||||||
sha256 = "f11a7f13dfe7bf9f246fb877144bb467fe6deadcd876568ec79b6ccd3b59d767";
|
sha256 = "222e003d038b757cd761361bb5da33123e0f9574af246fb95eb558593c8c7c76";
|
||||||
};
|
};
|
||||||
|
|
||||||
KERN_DIR = "${kernel.dev}/lib/modules/*/build";
|
KERN_DIR = "${kernel.dev}/lib/modules/*/build";
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
Fix SDL fullscreen problems when the resolution changes:
|
|
||||||
https://groups.google.com/d/msg/wmii/nJBrSjrnnq8/ZEYWOWE5pj4J
|
|
||||||
|
|
||||||
diff -r ec4baab78314 dwm.c
|
|
||||||
--- a/dwm.c Mon Dec 19 15:38:30 2011 +0100
|
|
||||||
+++ b/dwm.c Sat Jan 14 12:35:50 2012 +0100
|
|
||||||
@@ -397,9 +397,10 @@
|
|
||||||
showhide(m->stack);
|
|
||||||
else for(m = mons; m; m = m->next)
|
|
||||||
showhide(m->stack);
|
|
||||||
- if(m)
|
|
||||||
+ if(m) {
|
|
||||||
arrangemon(m);
|
|
||||||
- else for(m = mons; m; m = m->next)
|
|
||||||
+ restack(m);
|
|
||||||
+ } else for(m = mons; m; m = m->next)
|
|
||||||
arrangemon(m);
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -408,7 +409,6 @@
|
|
||||||
strncpy(m->ltsymbol, m->lt[m->sellt]->symbol, sizeof m->ltsymbol);
|
|
||||||
if(m->lt[m->sellt]->arrange)
|
|
||||||
m->lt[m->sellt]->arrange(m);
|
|
||||||
- restack(m);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
@@ -1827,6 +1827,8 @@
|
|
||||||
.event_mask = ButtonPressMask|ExposureMask
|
|
||||||
};
|
|
||||||
for(m = mons; m; m = m->next) {
|
|
||||||
+ if (m->barwin)
|
|
||||||
+ continue;
|
|
||||||
m->barwin = XCreateWindow(dpy, root, m->wx, m->by, m->ww, bh, 0, DefaultDepth(dpy, screen),
|
|
||||||
CopyFromParent, DefaultVisual(dpy, screen),
|
|
||||||
CWOverrideRedirect|CWBackPixmap|CWEventMask, &wa);
|
|
|
@ -16,7 +16,7 @@ stdenv.mkDerivation {
|
||||||
prePatch = ''sed -i "s@/usr/local@$out@" config.mk'';
|
prePatch = ''sed -i "s@/usr/local@$out@" config.mk'';
|
||||||
|
|
||||||
# Allow users set their own list of patches
|
# Allow users set their own list of patches
|
||||||
patches = [ ./confnotify-6.0.patch ] ++ patches;
|
inherit patches;
|
||||||
|
|
||||||
buildPhase = " make ";
|
buildPhase = " make ";
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,8 @@
|
||||||
server admins start using the new version?
|
server admins start using the new version?
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
assert md5 != "" || sha256 != "";
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "git-export";
|
name = "git-export";
|
||||||
builder = ./builder.sh;
|
builder = ./builder.sh;
|
||||||
|
|
|
@ -66,6 +66,7 @@ in
|
||||||
showURLs ? false
|
showURLs ? false
|
||||||
}:
|
}:
|
||||||
|
|
||||||
|
assert builtins.isList urls;
|
||||||
assert urls != [] -> url == "";
|
assert urls != [] -> url == "";
|
||||||
assert url != "" -> urls == [];
|
assert url != "" -> urls == [];
|
||||||
|
|
||||||
|
|
|
@ -924,6 +924,32 @@ rec {
|
||||||
packages = commonFedoraPackages ++ [ "cronie" "util-linux" ];
|
packages = commonFedoraPackages ++ [ "cronie" "util-linux" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
fedora17i386 = {
|
||||||
|
name = "fedora-17-i386";
|
||||||
|
fullName = "Fedora 17 (i386)";
|
||||||
|
packagesList = fetchurl {
|
||||||
|
url = mirror://fedora/linux/releases/17/Everything/i386/os/repodata/82dc1ea6d26e53a367dc6e7472113c4454c9a8ac7c98d4bfb11fd0b6f311450f-primary.xml.gz;
|
||||||
|
sha256 = "03s527rvdl0zn6zx963wmjlcjm247h8p4x3fviks6lvfsak1xp42";
|
||||||
|
};
|
||||||
|
urlPrefix = mirror://fedora/linux/releases/17/Everything/i386/os;
|
||||||
|
archs = ["noarch" "i386" "i586" "i686"];
|
||||||
|
packages = commonFedoraPackages ++ [ "cronie" "util-linux" ];
|
||||||
|
unifiedSystemDir = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
fedora17x86_64 = {
|
||||||
|
name = "fedora-17-x86_64";
|
||||||
|
fullName = "Fedora 17 (x86_64)";
|
||||||
|
packagesList = fetchurl {
|
||||||
|
url = mirror://fedora/linux/releases/17/Everything/x86_64/os/repodata/7009de56f1a1c399930fa72094a310a40d38153c96d0b5af443914d3d6a7d811-primary.xml.gz;
|
||||||
|
sha256 = "04fqlzbd651r8jpvbl4n7hakh3d422ir88571y9rkhx1y5bdw2bh";
|
||||||
|
};
|
||||||
|
urlPrefix = mirror://fedora/linux/releases/17/Everything/x86_64/os;
|
||||||
|
archs = ["noarch" "x86_64"];
|
||||||
|
packages = commonFedoraPackages ++ [ "cronie" "util-linux" ];
|
||||||
|
unifiedSystemDir = true;
|
||||||
|
};
|
||||||
|
|
||||||
fedora18i386 = {
|
fedora18i386 = {
|
||||||
name = "fedora-18-i386";
|
name = "fedora-18-i386";
|
||||||
fullName = "Fedora 18 (i386)";
|
fullName = "Fedora 18 (i386)";
|
||||||
|
@ -1505,22 +1531,22 @@ rec {
|
||||||
debian70x86_64 = debian7x86_64;
|
debian70x86_64 = debian7x86_64;
|
||||||
|
|
||||||
debian7i386 = {
|
debian7i386 = {
|
||||||
name = "debian-7.3-wheezy-i386";
|
name = "debian-7.4-wheezy-i386";
|
||||||
fullName = "Debian 7.3 Wheezy (i386)";
|
fullName = "Debian 7.4 Wheezy (i386)";
|
||||||
packagesList = fetchurl {
|
packagesList = fetchurl {
|
||||||
url = mirror://debian/dists/wheezy/main/binary-i386/Packages.bz2;
|
url = mirror://debian/dists/wheezy/main/binary-i386/Packages.bz2;
|
||||||
sha256 = "037637520ce371a50beb5446fd27a731f30b51bc362c2f4a5dcfce9c7e30ffb6";
|
sha256 = "9f19822c82e25cd149f82b0d16fdbc00d1080db7f34e41de456498dc7c54f2b4";
|
||||||
};
|
};
|
||||||
urlPrefix = mirror://debian;
|
urlPrefix = mirror://debian;
|
||||||
packages = commonDebianPackages;
|
packages = commonDebianPackages;
|
||||||
};
|
};
|
||||||
|
|
||||||
debian7x86_64 = {
|
debian7x86_64 = {
|
||||||
name = "debian-7.3-wheezy-amd64";
|
name = "debian-7.4-wheezy-amd64";
|
||||||
fullName = "Debian 7.3 Wheezy (amd64)";
|
fullName = "Debian 7.4 Wheezy (amd64)";
|
||||||
packagesList = fetchurl {
|
packagesList = fetchurl {
|
||||||
url = mirror://debian/dists/wheezy/main/binary-amd64/Packages.bz2;
|
url = mirror://debian/dists/wheezy/main/binary-amd64/Packages.bz2;
|
||||||
sha256 = "c2ed55a2a263d482826c934b97ad910984fa5695ab1c480841741b828d0590a5";
|
sha256 = "160ee0917693bc2e8f69b233c220857f35a70d906540d99d2779def576daf5f7";
|
||||||
};
|
};
|
||||||
urlPrefix = mirror://debian;
|
urlPrefix = mirror://debian;
|
||||||
packages = commonDebianPackages;
|
packages = commonDebianPackages;
|
||||||
|
@ -1688,5 +1714,4 @@ rec {
|
||||||
};
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
} // import ./windows pkgs
|
||||||
}
|
|
||||||
|
|
80
pkgs/build-support/vm/windows/bootstrap.nix
Normal file
80
pkgs/build-support/vm/windows/bootstrap.nix
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
{ stdenv, fetchurl, vmTools, writeScript, writeText, runCommand, makeInitrd
|
||||||
|
, python, perl, coreutils, dosfstools, gzip, mtools, netcat, openssh, qemu
|
||||||
|
, samba, socat, vde2, cdrkit, pathsFromGraph
|
||||||
|
}:
|
||||||
|
|
||||||
|
{ isoFile, productKey }:
|
||||||
|
|
||||||
|
with stdenv.lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
controller = import ./controller {
|
||||||
|
inherit stdenv writeScript vmTools makeInitrd;
|
||||||
|
inherit samba vde2 openssh socat netcat coreutils gzip;
|
||||||
|
};
|
||||||
|
|
||||||
|
mkCygwinImage = import ./cygwin-iso {
|
||||||
|
inherit stdenv fetchurl runCommand python perl cdrkit pathsFromGraph;
|
||||||
|
};
|
||||||
|
|
||||||
|
installer = import ./install {
|
||||||
|
inherit controller mkCygwinImage;
|
||||||
|
inherit stdenv runCommand openssh qemu writeText dosfstools mtools;
|
||||||
|
};
|
||||||
|
in rec {
|
||||||
|
installedVM = installer {
|
||||||
|
inherit isoFile productKey;
|
||||||
|
};
|
||||||
|
|
||||||
|
runInVM = img: attrs: controller (attrs // {
|
||||||
|
inherit (installedVM) sshKey;
|
||||||
|
qemuArgs = attrs.qemuArgs or [] ++ [
|
||||||
|
"-boot order=c"
|
||||||
|
"-drive file=${img},index=0,media=disk"
|
||||||
|
];
|
||||||
|
});
|
||||||
|
|
||||||
|
runAndSuspend = let
|
||||||
|
drives = {
|
||||||
|
s = {
|
||||||
|
source = "nixstore";
|
||||||
|
target = "/nix/store";
|
||||||
|
};
|
||||||
|
x = {
|
||||||
|
source = "xchg";
|
||||||
|
target = "/tmp/xchg";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
genDriveCmds = letter: { source, target }: [
|
||||||
|
"net use ${letter}: '\\\\192.168.0.2\\${source}' /persistent:yes"
|
||||||
|
"mkdir -p '${target}'"
|
||||||
|
"mount -o bind '/cygdrive/${letter}' '${target}'"
|
||||||
|
"echo '/cygdrive/${letter} ${target} none bind 0 0' >> /etc/fstab"
|
||||||
|
];
|
||||||
|
in runInVM "winvm.img" {
|
||||||
|
command = concatStringsSep " && " ([
|
||||||
|
"net config server /autodisconnect:-1"
|
||||||
|
] ++ concatLists (mapAttrsToList genDriveCmds drives));
|
||||||
|
suspendTo = "state.gz";
|
||||||
|
};
|
||||||
|
|
||||||
|
suspendedVM = stdenv.mkDerivation {
|
||||||
|
name = "cygwin-suspended-vm";
|
||||||
|
buildCommand = ''
|
||||||
|
${qemu}/bin/qemu-img create \
|
||||||
|
-b "${installedVM}/disk.img" \
|
||||||
|
-f qcow2 winvm.img
|
||||||
|
${runAndSuspend}
|
||||||
|
ensureDir "$out"
|
||||||
|
cp winvm.img "$out/disk.img"
|
||||||
|
cp state.gz "$out/state.gz"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
resumeAndRun = command: runInVM "${suspendedVM}/disk.img" {
|
||||||
|
resumeFrom = "${suspendedVM}/state.gz";
|
||||||
|
qemuArgs = singleton "-snapshot";
|
||||||
|
inherit command;
|
||||||
|
};
|
||||||
|
}
|
229
pkgs/build-support/vm/windows/controller/default.nix
Normal file
229
pkgs/build-support/vm/windows/controller/default.nix
Normal file
|
@ -0,0 +1,229 @@
|
||||||
|
{ stdenv, writeScript, vmTools, makeInitrd
|
||||||
|
, samba, vde2, openssh, socat, netcat, coreutils, gzip
|
||||||
|
}:
|
||||||
|
|
||||||
|
{ sshKey
|
||||||
|
, qemuArgs ? []
|
||||||
|
, command ? "sync"
|
||||||
|
, suspendTo ? null
|
||||||
|
, resumeFrom ? null
|
||||||
|
, installMode ? false
|
||||||
|
}:
|
||||||
|
|
||||||
|
with stdenv.lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
preInitScript = writeScript "preinit.sh" ''
|
||||||
|
#!${vmTools.initrdUtils}/bin/ash -e
|
||||||
|
export PATH=${vmTools.initrdUtils}/bin
|
||||||
|
mount -t proc none /proc
|
||||||
|
mount -t sysfs none /sys
|
||||||
|
for arg in $(cat /proc/cmdline); do
|
||||||
|
if [ "x''${arg#command=}" != "x$arg" ]; then
|
||||||
|
command="''${arg#command=}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in $(cat ${modulesClosure}/insmod-list); do
|
||||||
|
insmod $i
|
||||||
|
done
|
||||||
|
|
||||||
|
mkdir -p /dev /fs
|
||||||
|
|
||||||
|
mount -t tmpfs none /dev
|
||||||
|
mknod /dev/null c 1 3
|
||||||
|
mknod /dev/zero c 1 5
|
||||||
|
mknod /dev/random c 1 8
|
||||||
|
mknod /dev/urandom c 1 9
|
||||||
|
mknod /dev/tty c 5 0
|
||||||
|
|
||||||
|
ifconfig lo up
|
||||||
|
ifconfig eth0 up 192.168.0.2
|
||||||
|
|
||||||
|
mount -t tmpfs none /fs
|
||||||
|
mkdir -p /fs/nix/store /fs/xchg /fs/dev /fs/sys /fs/proc /fs/etc /fs/tmp
|
||||||
|
|
||||||
|
mount -o bind /dev /fs/dev
|
||||||
|
mount -t sysfs none /fs/sys
|
||||||
|
mount -t proc none /fs/proc
|
||||||
|
|
||||||
|
mount -t 9p \
|
||||||
|
-o trans=virtio,version=9p2000.L,msize=262144,cache=loose \
|
||||||
|
store /fs/nix/store
|
||||||
|
|
||||||
|
mount -t 9p \
|
||||||
|
-o trans=virtio,version=9p2000.L,msize=262144,cache=loose \
|
||||||
|
xchg /fs/xchg
|
||||||
|
|
||||||
|
echo root:x:0:0::/root:/bin/false > /fs/etc/passwd
|
||||||
|
|
||||||
|
set +e
|
||||||
|
chroot /fs $command $out
|
||||||
|
echo $? > /fs/xchg/in-vm-exit
|
||||||
|
|
||||||
|
poweroff -f
|
||||||
|
'';
|
||||||
|
|
||||||
|
initrd = makeInitrd {
|
||||||
|
contents = singleton {
|
||||||
|
object = preInitScript;
|
||||||
|
symlink = "/init";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
shellEscape = x: "'${replaceChars ["'"] [("'\\'" + "'")] x}'";
|
||||||
|
|
||||||
|
loopForever = "while :; do ${coreutils}/bin/sleep 1; done";
|
||||||
|
|
||||||
|
initScript = writeScript "init.sh" (''
|
||||||
|
#!${stdenv.shell}
|
||||||
|
${coreutils}/bin/cp -L "${sshKey}" /ssh.key
|
||||||
|
${coreutils}/bin/chmod 600 /ssh.key
|
||||||
|
'' + (if installMode then ''
|
||||||
|
echo -n "Waiting for Windows installation to finish..."
|
||||||
|
while ! ${netcat}/bin/netcat -z 192.168.0.1 22; do
|
||||||
|
echo -n .
|
||||||
|
# Print a dot every 10 seconds only to shorten line length.
|
||||||
|
${coreutils}/bin/sleep 10
|
||||||
|
done
|
||||||
|
echo " success."
|
||||||
|
# Loop forever, because this VM is going to be killed.
|
||||||
|
${loopForever}
|
||||||
|
'' else ''
|
||||||
|
${coreutils}/bin/mkdir -p /etc/samba /etc/samba/private \
|
||||||
|
/var/lib/samba /var/log /var/run
|
||||||
|
${coreutils}/bin/cat > /etc/samba/smb.conf <<CONFIG
|
||||||
|
[global]
|
||||||
|
security = user
|
||||||
|
map to guest = Bad User
|
||||||
|
guest account = root
|
||||||
|
workgroup = cygwin
|
||||||
|
netbios name = controller
|
||||||
|
server string = %h
|
||||||
|
log level = 1
|
||||||
|
max log size = 1000
|
||||||
|
log file = /var/log/samba.log
|
||||||
|
|
||||||
|
[nixstore]
|
||||||
|
path = /nix/store
|
||||||
|
writable = yes
|
||||||
|
guest ok = yes
|
||||||
|
|
||||||
|
[xchg]
|
||||||
|
path = /xchg
|
||||||
|
writable = yes
|
||||||
|
guest ok = yes
|
||||||
|
CONFIG
|
||||||
|
|
||||||
|
${samba}/sbin/nmbd -D
|
||||||
|
${samba}/sbin/smbd -D
|
||||||
|
|
||||||
|
echo -n "Waiting for Windows VM to become available..."
|
||||||
|
while ! ${netcat}/bin/netcat -z 192.168.0.1 22; do
|
||||||
|
echo -n .
|
||||||
|
${coreutils}/bin/sleep 1
|
||||||
|
done
|
||||||
|
echo " success."
|
||||||
|
|
||||||
|
${openssh}/bin/ssh \
|
||||||
|
-o UserKnownHostsFile=/dev/null \
|
||||||
|
-o StrictHostKeyChecking=no \
|
||||||
|
-i /ssh.key \
|
||||||
|
-l Administrator \
|
||||||
|
192.168.0.1 -- ${shellEscape command}
|
||||||
|
'') + optionalString (suspendTo != null) ''
|
||||||
|
${coreutils}/bin/touch /xchg/suspend_now
|
||||||
|
${loopForever}
|
||||||
|
'');
|
||||||
|
|
||||||
|
kernelAppend = concatStringsSep " " [
|
||||||
|
"panic=1"
|
||||||
|
"loglevel=4"
|
||||||
|
"console=tty1"
|
||||||
|
"console=ttyS0"
|
||||||
|
"command=${initScript}"
|
||||||
|
];
|
||||||
|
|
||||||
|
controllerQemuArgs = concatStringsSep " " (maybeKvm64 ++ [
|
||||||
|
"-nographic"
|
||||||
|
"-no-reboot"
|
||||||
|
"-virtfs local,path=/nix/store,security_model=none,mount_tag=store"
|
||||||
|
"-virtfs local,path=$XCHG_DIR,security_model=none,mount_tag=xchg"
|
||||||
|
"-kernel ${modulesClosure.kernel}/bzImage"
|
||||||
|
"-initrd ${initrd}/initrd"
|
||||||
|
"-append \"${kernelAppend}\""
|
||||||
|
"-net nic,vlan=0,macaddr=52:54:00:12:01:02,model=virtio"
|
||||||
|
"-net vde,vlan=0,sock=$QEMU_VDE_SOCKET"
|
||||||
|
]);
|
||||||
|
|
||||||
|
maybeKvm64 = optional (stdenv.system == "x86_64-linux") "-cpu kvm64";
|
||||||
|
|
||||||
|
cygwinQemuArgs = concatStringsSep " " (maybeKvm64 ++ [
|
||||||
|
"-monitor unix:$MONITOR_SOCKET,server,nowait"
|
||||||
|
"-nographic"
|
||||||
|
"-net nic,vlan=0,macaddr=52:54:00:12:01:01"
|
||||||
|
"-net vde,vlan=0,sock=$QEMU_VDE_SOCKET"
|
||||||
|
"-rtc base=2010-01-01,clock=vm"
|
||||||
|
] ++ qemuArgs ++ optionals (resumeFrom != null) [
|
||||||
|
"-incoming 'exec: ${gzip}/bin/gzip -c -d \"${resumeFrom}\"'"
|
||||||
|
]);
|
||||||
|
|
||||||
|
modulesClosure = overrideDerivation vmTools.modulesClosure (o: {
|
||||||
|
rootModules = o.rootModules ++ singleton "virtio_net";
|
||||||
|
});
|
||||||
|
|
||||||
|
preVM = ''
|
||||||
|
(set; declare -p) > saved-env
|
||||||
|
XCHG_DIR="$(${coreutils}/bin/mktemp -d nix-vm.XXXXXXXXXX --tmpdir)"
|
||||||
|
${coreutils}/bin/mv saved-env "$XCHG_DIR/"
|
||||||
|
|
||||||
|
eval "$preVM"
|
||||||
|
|
||||||
|
QEMU_VDE_SOCKET="$(pwd)/vde.ctl"
|
||||||
|
MONITOR_SOCKET="$(pwd)/monitor"
|
||||||
|
${vde2}/bin/vde_switch -s "$QEMU_VDE_SOCKET" &
|
||||||
|
echo 'alive?' | ${socat}/bin/socat - \
|
||||||
|
UNIX-CONNECT:$QEMU_VDE_SOCKET/ctl,retry=20
|
||||||
|
'';
|
||||||
|
|
||||||
|
bgBoth = optionalString (suspendTo != null) " &";
|
||||||
|
|
||||||
|
vmExec = if installMode then ''
|
||||||
|
${vmTools.qemuProg} ${controllerQemuArgs} &
|
||||||
|
${vmTools.qemuProg} ${cygwinQemuArgs}${bgBoth}
|
||||||
|
'' else ''
|
||||||
|
${vmTools.qemuProg} ${cygwinQemuArgs} &
|
||||||
|
${vmTools.qemuProg} ${controllerQemuArgs}${bgBoth}
|
||||||
|
'';
|
||||||
|
|
||||||
|
postVM = if suspendTo != null then ''
|
||||||
|
while ! test -e "$XCHG_DIR/suspend_now"; do sleep 1; done
|
||||||
|
${socat}/bin/socat - UNIX-CONNECT:$MONITOR_SOCKET <<CMD
|
||||||
|
stop
|
||||||
|
migrate_set_speed 4095m
|
||||||
|
migrate "exec:${gzip}/bin/gzip -c > '${suspendTo}'"
|
||||||
|
quit
|
||||||
|
CMD
|
||||||
|
wait %-
|
||||||
|
|
||||||
|
eval "$postVM"
|
||||||
|
exit 0
|
||||||
|
'' else if installMode then ''
|
||||||
|
eval "$postVM"
|
||||||
|
exit 0
|
||||||
|
'' else ''
|
||||||
|
if ! test -e "$XCHG_DIR/in-vm-exit"; then
|
||||||
|
echo "Virtual machine didn't produce an exit code."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
eval "$postVM"
|
||||||
|
exit $(< "$XCHG_DIR/in-vm-exit")
|
||||||
|
'';
|
||||||
|
|
||||||
|
in writeScript "run-cygwin-vm.sh" ''
|
||||||
|
#!${stdenv.shell} -e
|
||||||
|
${preVM}
|
||||||
|
${vmExec}
|
||||||
|
${postVM}
|
||||||
|
''
|
46
pkgs/build-support/vm/windows/cygwin-iso/default.nix
Normal file
46
pkgs/build-support/vm/windows/cygwin-iso/default.nix
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
{ stdenv, fetchurl, runCommand, python, perl, cdrkit, pathsFromGraph }:
|
||||||
|
|
||||||
|
{ packages ? []
|
||||||
|
, mirror ? "http://ftp.gwdg.de/pub/linux/sources.redhat.com/cygwin"
|
||||||
|
, extraContents ? []
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
cygPkgList = if stdenv.is64bit then fetchurl {
|
||||||
|
url = "${mirror}/x86_64/setup.ini";
|
||||||
|
sha256 = "142f8zyfwgi6s2djxv3z5wn0ysl94pxwa79z8rjfqz4kvnpgz120";
|
||||||
|
} else fetchurl {
|
||||||
|
url = "${mirror}/x86/setup.ini";
|
||||||
|
sha256 = "1v596lln2iip5h7wxjnig5rflzvqa21zzd2iyhx07zs28q5h76i9";
|
||||||
|
};
|
||||||
|
|
||||||
|
makeCygwinClosure = { packages, packageList }: let
|
||||||
|
expr = import (runCommand "cygwin.nix" { buildInputs = [ python ]; } ''
|
||||||
|
python ${./mkclosure.py} "${packages}" ${toString packageList} > "$out"
|
||||||
|
'');
|
||||||
|
gen = { url, md5 }: {
|
||||||
|
source = fetchurl {
|
||||||
|
url = "${mirror}/${url}";
|
||||||
|
inherit md5;
|
||||||
|
};
|
||||||
|
target = url;
|
||||||
|
};
|
||||||
|
in map gen expr;
|
||||||
|
|
||||||
|
in import <nixpkgs/nixos/lib/make-iso9660-image.nix> {
|
||||||
|
inherit (import <nixpkgs> {}) stdenv perl cdrkit pathsFromGraph;
|
||||||
|
contents = [
|
||||||
|
{ source = fetchurl {
|
||||||
|
url = "http://cygwin.com/setup-x86_64.exe";
|
||||||
|
sha256 = "1bjmq9h1p6mmiqp6f1kvmg94jbsdi1pxfa07a5l497zzv9dsfivm";
|
||||||
|
};
|
||||||
|
target = "setup.exe";
|
||||||
|
}
|
||||||
|
{ source = cygPkgList;
|
||||||
|
target = "setup.ini";
|
||||||
|
}
|
||||||
|
] ++ makeCygwinClosure {
|
||||||
|
packages = cygPkgList;
|
||||||
|
packageList = packages;
|
||||||
|
} ++ extraContents;
|
||||||
|
}
|
78
pkgs/build-support/vm/windows/cygwin-iso/mkclosure.py
Normal file
78
pkgs/build-support/vm/windows/cygwin-iso/mkclosure.py
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
# Ugliest Python code I've ever written. -- aszlig
|
||||||
|
import sys
|
||||||
|
|
||||||
|
def get_plist(path):
|
||||||
|
in_pack = False
|
||||||
|
in_str = False
|
||||||
|
current_key = None
|
||||||
|
buf = ""
|
||||||
|
packages = {}
|
||||||
|
package_name = None
|
||||||
|
package_attrs = {}
|
||||||
|
with open(path, 'r') as setup:
|
||||||
|
for line in setup:
|
||||||
|
if in_str and line.rstrip().endswith('"'):
|
||||||
|
package_attrs[current_key] = buf + line.rstrip()[:-1]
|
||||||
|
in_str = False
|
||||||
|
continue
|
||||||
|
elif in_str:
|
||||||
|
buf += line
|
||||||
|
continue
|
||||||
|
|
||||||
|
if line.startswith('@'):
|
||||||
|
in_pack = True
|
||||||
|
package_name = line[1:].strip()
|
||||||
|
package_attrs = {}
|
||||||
|
elif in_pack and ':' in line:
|
||||||
|
key, value = line.split(':', 1)
|
||||||
|
if value.lstrip().startswith('"'):
|
||||||
|
if value.lstrip()[1:].rstrip().endswith('"'):
|
||||||
|
value = value.strip().strip('"')
|
||||||
|
else:
|
||||||
|
in_str = True
|
||||||
|
current_key = key.strip().lower()
|
||||||
|
buf = value.lstrip()[1:]
|
||||||
|
continue
|
||||||
|
package_attrs[key.strip().lower()] = value.strip()
|
||||||
|
elif in_pack:
|
||||||
|
in_pack = False
|
||||||
|
packages[package_name] = package_attrs
|
||||||
|
return packages
|
||||||
|
|
||||||
|
def main():
|
||||||
|
packages = get_plist(sys.argv[1])
|
||||||
|
to_include = set()
|
||||||
|
|
||||||
|
def traverse(package):
|
||||||
|
to_include.add(package)
|
||||||
|
attrs = packages.get(package, {})
|
||||||
|
deps = attrs.get('requires', '').split()
|
||||||
|
for new_dep in set(deps) - to_include:
|
||||||
|
traverse(new_dep)
|
||||||
|
|
||||||
|
map(traverse, sys.argv[2:])
|
||||||
|
|
||||||
|
sys.stdout.write('[\n')
|
||||||
|
for package, attrs in packages.iteritems():
|
||||||
|
if package not in to_include:
|
||||||
|
cats = [c.lower() for c in attrs.get('category', '').split()]
|
||||||
|
if 'base' not in cats:
|
||||||
|
continue
|
||||||
|
|
||||||
|
install_line = attrs.get('install')
|
||||||
|
if install_line is None:
|
||||||
|
continue
|
||||||
|
|
||||||
|
url, size, md5 = install_line.split(' ', 2)
|
||||||
|
|
||||||
|
pack = [
|
||||||
|
' {',
|
||||||
|
' url = "{0}";'.format(url),
|
||||||
|
' md5 = "{0}";'.format(md5),
|
||||||
|
' }',
|
||||||
|
];
|
||||||
|
sys.stdout.write('\n'.join(pack) + '\n')
|
||||||
|
sys.stdout.write(']\n')
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue