Merge branch 'staging.upstream' into staging.post-15.06

This commit is contained in:
William A. Kennington III 2015-09-19 14:39:57 -07:00
commit 8b670fba26
222 changed files with 36480 additions and 1631 deletions

View File

@ -899,6 +899,34 @@ following:
phase.</para></listitem>
</varlistentry>
<varlistentry>
<term><varname>separateDebugInfo</varname></term>
<listitem><para>If set to <literal>true</literal>, the standard
environment will enable debug information in C/C++ builds. After
installation, the debug information will be separated from the
executables and stored in the output named
<literal>debug</literal>. (This output is enabled automatically;
you dont need to set the <varname>outputs</varname> attribute
explicitly.) To be precise, the debug information is stored in
<filename><replaceable>debug</replaceable>/lib/debug/.build-id/<replaceable>XX</replaceable>/<replaceable>YYYY…</replaceable></filename>,
where <replaceable>XXYYYY…</replaceable> is the <replaceable>build
ID</replaceable> of the binary — a SHA-1 hash of the contents of
the binary. Debuggers like GDB use the build ID to look up the
separated debug information.</para>
<para>For example, with GDB, you can add
<programlisting>
set debug-file-directory ~/.nix-profile/lib/debug
</programlisting>
to <filename>~/.gdbinit</filename>. GDB will then be able to find
debug information installed via <literal>nix-env
-i</literal>.</para>
</listitem>
</varlistentry>
</variablelist>
</section>

View File

@ -6,7 +6,7 @@ with import ./attrsets.nix;
with import ./options.nix;
with import ./trivial.nix;
with import ./strings.nix;
with {inherit (import ./modules.nix) mergeDefinitions; };
with {inherit (import ./modules.nix) mergeDefinitions filterOverrides; };
rec {
@ -166,6 +166,23 @@ rec {
substSubModules = m: loaOf (elemType.substSubModules m);
};
# List or element of ...
loeOf = elemType: mkOptionType {
name = "element or list of ${elemType.name}s";
check = x: isList x || elemType.check x;
merge = loc: defs:
let
defs' = filterOverrides defs;
res = (head defs').value;
in
if isList res then concatLists (getValues defs')
else if lessThan 1 (length defs') then
throw "The option `${showOption loc}' is defined multiple times, in ${showFiles (getFiles defs)}."
else if !isString res then
throw "The option `${showOption loc}' does not have a string value, in ${showFiles (getFiles defs)}."
else res;
};
uniq = elemType: mkOptionType {
inherit (elemType) name check;
merge = mergeOneOption;

View File

@ -1,95 +0,0 @@
#!/usr/bin/env bash
GNOME_FTP="ftp.gnome.org/pub/GNOME/sources"
project=$1
if [ "$project" == "--help" ]; then
echo "Usage: $0 project [major.minor]"
exit 0
fi
baseVersion=$2
if [ -z "$project" ]; then
echo "No project specified, exiting"
exit 1
fi
# curl -l ftp://... doesn't work from my office in HSE, and I don't want to have
# any conversations with sysadmin. Somehow lftp works.
if [ "$FTP_CLIENT" = "lftp" ]; then
ls_ftp() {
lftp -c "open $1; cls"
}
else
ls_ftp() {
curl -l "$1"/
}
fi
if [ -z "$baseVersion" ]; then
echo "Looking for available versions..." >&2
available_baseversions=( `ls_ftp ftp://${GNOME_FTP}/${project} | grep '[0-9]\.[0-9]' | sort -t. -k1,1n -k 2,2n` )
echo -e "The following versions are available:\n ${available_baseversions[@]}" >&2
echo -en "Choose one of them: " >&2
read baseVersion
fi
FTPDIR="${GNOME_FTP}/${project}/${baseVersion}"
#version=`curl -l ${FTPDIR}/ 2>/dev/null | grep LATEST-IS | sed -e s/LATEST-IS-//`
# gnome's LATEST-IS is broken. Do not trust it.
files=$(ls_ftp "${FTPDIR}")
declare -A versions
for f in $files; do
case $f in
(LATEST-IS-*|*.news|*.changes|*.sha256sum|*.diff*):
;;
($project-*.*.9*.tar.*):
tmp=${f#$project-}
tmp=${tmp%.tar*}
echo "Ignored unstable version ${tmp}" >&2
;;
($project-*.tar.*):
tmp=${f#$project-}
tmp=${tmp%.tar*}
versions[${tmp}]=1
;;
(*):
echo "UNKNOWN FILE $f"
;;
esac
done
echo "Found versions ${!versions[@]}" >&2
version=`echo ${!versions[@]} | sed -e 's/ /\n/g' | sort -t. -k1,1n -k 2,2n -k 3,3n | tail -n1`
echo "Latest version is: ${version}" >&2
name=${project}-${version}
echo "Fetching .sha256 file" >&2
curl -O http://${FTPDIR}/${name}.sha256sum
extensions=( "xz" "bz2" "gz" )
echo "Choosing archive extension (known are ${extensions[@]})..." >&2
for ext in ${extensions[@]}; do
if grep "\\.tar\\.${ext}$" ${name}.sha256sum >& /dev/null; then
ext_pref=$ext
sha256=$(grep "\\.tar\\.${ext}$" ${name}.sha256sum | cut -f1 -d\ )
break
fi
done
sha256=`nix-hash --to-base32 --type sha256 $sha256`
echo "Chosen ${ext_pref}, hash is ${sha256}" >&2
cat <<EOF
name = "${project}-${version}";
src = fetchurl {
url = mirror://gnome/sources/${project}/${baseVersion}/${project}-${version}.tar.${ext_pref};
sha256 = "${sha256}";
};
EOF
rm -v ${name}.sha256sum >&2

138
maintainers/scripts/gnome.sh Executable file
View File

@ -0,0 +1,138 @@
#!/usr/bin/env bash
set -o pipefail
GNOME_FTP="ftp.gnome.org/pub/GNOME/sources"
usage() {
echo "Usage: $0 show|update project [major.minor]" >&2
exit 0
}
if [ "$#" -lt 1 ]; then
usage
fi
action="$1"
project="$2"
majorVersion="$3"
if [ "$action" != "show" ] && [ "$action" != "update" ]; then
echo "Unknown action $action" >&2
usage
fi
if [ -z "$project" ]; then
echo "No project specified, exiting"
exit 1
fi
# curl -l ftp://... doesn't work from my office in HSE, and I don't want to have
# any conversations with sysadmin. Somehow lftp works.
if [ "$FTP_CLIENT" = "lftp" ]; then
ls_ftp() {
lftp -c "open $1; cls"
}
else
ls_ftp() {
curl -s -l "$1"/
}
fi
if [ -z "$majorVersion" ]; then
echo "Looking for available versions..." >&2
available_baseversions=( `ls_ftp ftp://${GNOME_FTP}/${project} | grep '[0-9]\.[0-9]' | sort -t. -k1,1n -k 2,2n` )
if [ "$?" -ne "0" ]; then
echo "Project $project not found" >&2
exit 1
fi
echo -e "The following versions are available:\n ${available_baseversions[@]}" >&2
echo -en "Choose one of them: " >&2
read majorVersion
fi
if echo "$majorVersion" | grep -q "[0-9]\+\.[0-9]\+\.[0-9]\+"; then
# not a major version
version="$majorVersion"
majorVersion=$(echo "$majorVersion" | cut -d '.' -f 1,2)
fi
FTPDIR="${GNOME_FTP}/${project}/${majorVersion}"
#version=`curl -l ${FTPDIR}/ 2>/dev/null | grep LATEST-IS | sed -e s/LATEST-IS-//`
# gnome's LATEST-IS is broken. Do not trust it.
if [ -z "$version" ]; then
files=$(ls_ftp "${FTPDIR}")
declare -A versions
for f in $files; do
case $f in
(LATEST-IS-*|*.news|*.changes|*.sha256sum|*.diff*):
;;
($project-*.*.9*.tar.*):
tmp=${f#$project-}
tmp=${tmp%.tar*}
echo "Ignored unstable version ${tmp}" >&2
;;
($project-*.tar.*):
tmp=${f#$project-}
tmp=${tmp%.tar*}
versions[${tmp}]=1
;;
(*):
echo "UNKNOWN FILE $f"
;;
esac
done
echo "Found versions ${!versions[@]}" >&2
version=`echo ${!versions[@]} | sed -e 's/ /\n/g' | sort -t. -k1,1n -k 2,2n -k 3,3n | tail -n1`
echo "Latest version is: ${version}" >&2
fi
name=${project}-${version}
echo "Fetching .sha256 file" >&2
sha256out=$(curl -s -f http://${FTPDIR}/${name}.sha256sum)
if [ "$?" -ne "0" ]; then
echo "Version not found" >&2
exit 1
fi
extensions=( "xz" "bz2" "gz" )
echo "Choosing archive extension (known are ${extensions[@]})..." >&2
for ext in ${extensions[@]}; do
if echo -e "$sha256out" | grep -q "\\.tar\\.${ext}$"; then
ext_pref=$ext
sha256=$(echo -e "$sha256out" | grep "\\.tar\\.${ext}$" | cut -f1 -d\ )
break
fi
done
echo "Chosen ${ext_pref}, hash is ${sha256}" >&2
src="# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = \"${project}-${version}\";
src = fetchurl {
url = mirror://gnome/sources/${project}/${majorVersion}/${project}-${version}.tar.${ext_pref};
sha256 = \"${sha256}\";
};
}"
if [ "$action" == "update" ]; then
# find project in nixpkgs tree
GNOME_TOP=$(readlink -e $(dirname "${BASH_SOURCE[0]}")"/../../pkgs/desktops/gnome-3/")
projectPath=$(find "$GNOME_TOP" -name "$project" -print)
if [ -z "$projectPath" ]; then
echo "Project $project not found under $GNOME_TOP"
exit 1
fi
echo "Updating $projectPath/src.nix"
echo -e "$src" > "$projectPath/src.nix"
else
echo -e "\n$src"
fi

View File

@ -108,10 +108,8 @@ with lib;
subpixel = {
rgba = mkOption {
type = types.string // {
check = flip elem ["rgb" "bgr" "vrgb" "vbgr" "none"];
};
default = "rgb";
type = types.enum ["rgb" "bgr" "vrgb" "vbgr" "none"];
description = ''
Subpixel order, one of <literal>none</literal>,
<literal>rgb</literal>, <literal>bgr</literal>,
@ -120,10 +118,8 @@ with lib;
};
lcdfilter = mkOption {
type = types.str // {
check = flip elem ["none" "default" "light" "legacy"];
};
default = "default";
type = types.enum ["none" "default" "light" "legacy"];
description = ''
FreeType LCD filter, one of <literal>none</literal>,
<literal>default</literal>, <literal>light</literal>, or

View File

@ -108,7 +108,7 @@ in
extraConfig = mkOption {
default = "";
type = types.string;
type = types.lines;
description = ''
Extra configuration options that will be added verbatim at
the end of the nslcd configuration file (nslcd.conf).
@ -120,7 +120,7 @@ in
distinguishedName = mkOption {
default = "";
example = "cn=admin,dc=example,dc=com";
type = types.string;
type = types.str;
description = ''
The distinguished name to bind to the LDAP server with. If this
is not specified, an anonymous bind will be done.
@ -129,7 +129,7 @@ in
password = mkOption {
default = "/etc/ldap/bind.password";
type = types.string;
type = types.str;
description = ''
The path to a file containing the credentials to use when binding
to the LDAP server (if not binding anonymously).
@ -149,7 +149,7 @@ in
policy = mkOption {
default = "hard_open";
type = types.string;
type = types.enum [ "hard_open" "hard_init" "soft" ];
description = ''
Specifies the policy to use for reconnecting to an unavailable
LDAP server. The default is <literal>hard_open</literal>, which
@ -168,7 +168,7 @@ in
extraConfig = mkOption {
default = "";
type = types.string;
type = types.lines;
description = ''
Extra configuration options that will be added verbatim at
the end of the ldap configuration file (ldap.conf).

View File

@ -41,20 +41,7 @@ in
strings. The latter is concatenated, interspersed with colon
characters.
'';
type = types.attrsOf (mkOptionType {
name = "a string or a list of strings";
merge = loc: defs:
let
defs' = filterOverrides defs;
res = (head defs').value;
in
if isList res then concatLists (getValues defs')
else if lessThan 1 (length defs') then
throw "The option `${showOption loc}' is defined multiple times, in ${showFiles (getFiles defs)}."
else if !isString res then
throw "The option `${showOption loc}' does not have a string value, in ${showFiles (getFiles defs)}."
else res;
});
type = types.attrsOf (types.loeOf types.str);
apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else v);
};

View File

@ -23,20 +23,7 @@ in
strings. The latter is concatenated, interspersed with colon
characters.
'';
type = types.attrsOf (mkOptionType {
name = "a string or a list of strings";
merge = loc: defs:
let
defs' = filterOverrides defs;
res = (head defs').value;
in
if isList res then concatLists (getValues defs')
else if lessThan 1 (length defs') then
throw "The option `${showOption loc}' is defined multiple times, in ${showFiles (getFiles defs)}."
else if !isString res then
throw "The option `${showOption loc}' does not have a string value, in ${showFiles (getFiles defs)}."
else res;
});
type = types.attrsOf (types.loeOf types.str);
apply = mapAttrs (n: v: if isList v then concatStringsSep ":" v else v);
};

View File

@ -103,7 +103,8 @@ in
[ "/bin"
"/etc/xdg"
"/info"
"/lib"
"/lib" # FIXME: remove
#"/lib/debug/.build-id" # enables GDB to find separated debug info
"/man"
"/sbin"
"/share/applications"

View File

@ -47,7 +47,7 @@
];
# Include support for various filesystems.
boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" "zfs" "ntfs" "cifs" ];
boot.supportedFilesystems = [ "btrfs" "reiserfs" "vfat" "f2fs" "xfs" "zfs" "ntfs" "cifs" ];
# Configure host id for ZFS to work
networking.hostId = "8425e349";

View File

@ -41,7 +41,7 @@ in
dates = mkOption {
default = "*:0/15";
type = types.string;
type = types.str;
description = ''
Specification (in the format described by
<citerefentry><refentrytitle>systemd.time</refentrytitle>
@ -52,7 +52,7 @@ in
user = mkOption {
default = "root";
type = types.string;
type = types.str;
description = ''
User for running venus script.
'';
@ -60,7 +60,7 @@ in
group = mkOption {
default = "root";
type = types.string;
type = types.str;
description = ''
Group for running venus script.
'';
@ -68,7 +68,7 @@ in
name = mkOption {
default = "NixOS Planet";
type = types.string;
type = types.str;
description = ''
Your planet's name.
'';
@ -76,7 +76,7 @@ in
link = mkOption {
default = "http://planet.nixos.org";
type = types.string;
type = types.str;
description = ''
Link to the main page.
'';
@ -84,7 +84,7 @@ in
ownerName = mkOption {
default = "Rok Garbas";
type = types.string;
type = types.str;
description = ''
Your name.
'';
@ -92,7 +92,7 @@ in
ownerEmail = mkOption {
default = "some@example.com";
type = types.string;
type = types.str;
description = ''
Your e-mail address.
'';

View File

@ -24,7 +24,7 @@ in
dialerDefaults = mkOption {
default = "";
type = types.string;
type = types.str;
example = ''Init1 = AT+CGDCONT=1,"IP","internet.t-mobile"'';
description = ''
Contents of the "Dialer Defaults" section of
@ -40,7 +40,7 @@ in
persist
noauth
'';
type = types.string;
type = types.str;
description = "Default ppp settings for wvdial.";
};

View File

@ -32,25 +32,25 @@ in
};
fileSystem = mkOption {
type = types.string;
type = types.str;
description = "XFS filesystem hosting the xfs_quota project.";
default = "/";
};
path = mkOption {
type = types.string;
type = types.str;
description = "Project directory.";
};
sizeSoftLimit = mkOption {
type = types.nullOr types.string;
type = types.nullOr types.str;
default = null;
example = "30g";
description = "Soft limit of the project size";
};
sizeHardLimit = mkOption {
type = types.nullOr types.string;
type = types.nullOr types.str;
default = null;
example = "50g";
description = "Hard limit of the project size.";

View File

@ -419,7 +419,7 @@ in
users.motd = mkOption {
default = null;
example = "Today is Sweetmorn, the 4th day of The Aftermath in the YOLD 3178.";
type = types.nullOr types.string;
type = types.nullOr types.lines;
description = "Message of the day shown to users when they log in.";
};

View File

@ -24,7 +24,7 @@ in {
};
deviceKey = mkOption {
type = types.string;
type = types.str;
description = ''
<literal>Device key</literal> obtained by visiting
<link xlink:href="https://panel.preyproject.com/devices" />
@ -33,7 +33,7 @@ in {
};
apiKey = mkOption {
type = types.string;
type = types.str;
description = ''
<literal>API key</literal> obtained from
<link xlink:href="https://panel.preyproject.com/profile" />.

View File

@ -109,9 +109,10 @@ in
${pkgs.coreutils}/bin/chown -R ${cfg.user}:${cfg.group} ${spoolDir}
${lib.concatMapStrings (createList cfg.listDomain) cfg.mailLists}
echo ${lib.concatMapStrings (virtual cfg.listDomain) cfg.mailLists} > ${stateDir}/virtuals
echo ${cfg.listDomain} mailman: > ${stateDir}/transports
echo ${lib.concatMapStrings (transport cfg.listDomain) cfg.mailLists} >> ${stateDir}/transports
'';
echo ${lib.concatMapStrings (transport cfg.listDomain) cfg.mailLists} > ${stateDir}/transports
${pkgs.postfix}/bin/postmap ${stateDir}/virtuals
${pkgs.postfix}/bin/postmap ${stateDir}/transports
'';
systemd.services."mlmmj-maintd" = {
description = "mlmmj maintenance daemon";

View File

@ -119,7 +119,7 @@ in
recipient = mkOption {
default = "root";
type = types.string;
type = types.str;
description = "Recipient of the notification messages.";
};
@ -153,7 +153,7 @@ in
display = mkOption {
default = ":${toString config.services.xserver.display}";
type = types.string;
type = types.str;
description = "DISPLAY to send X11 notifications to.";
};
};

View File

@ -28,7 +28,9 @@ with lib;
jobs.oidentd =
{ startOn = "started network-interfaces";
daemonType = "fork";
exec = "${pkgs.oidentd}/sbin/oidentd -u oidentd -g nogroup";
exec = "${pkgs.oidentd}/sbin/oidentd -u oidentd -g nogroup" +
optionalString config.networking.enableIPv6 " -a ::"
;
};
users.extraUsers.oidentd = {

View File

@ -37,6 +37,12 @@ in {
type = types.bool;
};
package = mkOption {
description = "Elasticsearch package to use.";
default = pkgs.elasticsearch;
type = types.package;
};
host = mkOption {
description = "Elasticsearch listen address.";
default = "127.0.0.1";
@ -123,7 +129,7 @@ in {
after = [ "network-interfaces.target" ];
environment = { ES_HOME = cfg.dataDir; };
serviceConfig = {
ExecStart = "${pkgs.elasticsearch}/bin/elasticsearch -Des.path.conf=${configDir} ${toString cfg.extraCmdLineOptions}";
ExecStart = "${cfg.package}/bin/elasticsearch -Des.path.conf=${configDir} ${toString cfg.extraCmdLineOptions}";
User = "elasticsearch";
PermissionsStartOnly = true;
};
@ -142,7 +148,7 @@ in {
'';
};
environment.systemPackages = [ pkgs.elasticsearch ];
environment.systemPackages = [ cfg.package ];
users.extraUsers = singleton {
name = "elasticsearch";

View File

@ -13,7 +13,6 @@ let
# Map video driver names to driver packages. FIXME: move into card-specific modules.
knownVideoDrivers = {
nouveau = { modules = [ pkgs.xf86_video_nouveau ]; };
unichrome = { modules = [ pkgs.xorgVideoUnichrome ]; };
virtualbox = { modules = [ kernelPackages.virtualboxGuestAdditions ]; driverName = "vboxvideo"; };
ati = { modules = [ pkgs.xorg.xf86videoati pkgs.xorg.glamoregl ]; };

View File

@ -99,7 +99,9 @@ let
# makes it bootable.
baseSystem = showWarnings (
if [] == failed then pkgs.stdenv.mkDerivation {
name = "nixos-${config.system.nixosVersion}";
name = let hn = config.networking.hostName;
nn = if (hn != "") then hn else "unnamed";
in "nixos-system-${nn}-${config.system.nixosVersion}";
preferLocalBuild = true;
allowSubstitutes = false;
buildCommand = systemBuilder;

View File

@ -15,7 +15,7 @@ with lib;
efiSysMountPoint = mkOption {
default = "/boot";
type = types.string;
type = types.str;
description = "Where the EFI System Partition is mounted.";
};

View File

@ -242,20 +242,20 @@ in
name = mkOption {
example = "luksroot";
type = types.string;
type = types.str;
description = "Named to be used for the generated device in /dev/mapper.";
};
device = mkOption {
example = "/dev/sda2";
type = types.string;
type = types.str;
description = "Path of the underlying block device.";
};
header = mkOption {
default = null;
example = "/root/header.img";
type = types.nullOr types.string;
type = types.nullOr types.str;
description = ''
The name of the file or block device that
should be used as header for the encrypted device.
@ -265,7 +265,7 @@ in
keyFile = mkOption {
default = null;
example = "/dev/sdb1";
type = types.nullOr types.string;
type = types.nullOr types.str;
description = ''
The name of the file (can be a raw device or a partition) that
should be used as the decryption key for the encrypted device. If
@ -349,7 +349,7 @@ in
ramfsMountPoint = mkOption {
default = "/crypt-ramfs";
type = types.string;
type = types.str;
description = "Path where the ramfs used to update the LUKS key will be mounted during early boot.";
};
@ -369,19 +369,19 @@ in
fsType = mkOption {
default = "vfat";
type = types.string;
type = types.str;
description = "The filesystem of the unencrypted device.";
};
mountPoint = mkOption {
default = "/crypt-storage";
type = types.string;
type = types.str;
description = "Path where the unencrypted device will be mounted during early boot.";
};
path = mkOption {
default = "/crypt-storage/default";
type = types.string;
type = types.str;
description = ''
Absolute path of the salt on the unencrypted device with
that device's root directory as "/".

View File

@ -22,21 +22,21 @@ let
blkDev = mkOption {
default = null;
example = "/dev/sda1";
type = types.uniq (types.nullOr types.string);
type = types.nullOr types.str;
description = "Location of the backing encrypted device.";
};
label = mkOption {
default = null;
example = "rootfs";
type = types.uniq (types.nullOr types.string);
type = types.nullOr types.str;
description = "Label of the backing encrypted device.";
};
keyFile = mkOption {
default = null;
example = "/root/.swapkey";
type = types.uniq (types.nullOr types.string);
type = types.nullOr types.str;
description = "File system location of keyfile.";
};
};

View File

@ -22,14 +22,14 @@ let
device = mkOption {
default = null;
example = "/dev/sda";
type = types.uniq (types.nullOr types.string);
type = types.nullOr types.str;
description = "Location of the device.";
};
label = mkOption {
default = null;
example = "root-partition";
type = types.uniq (types.nullOr types.string);
type = types.nullOr types.str;
description = "Label of the device (if any).";
};

View File

@ -499,7 +499,7 @@ in
interface = mkOption {
example = "enp4s0";
type = types.string;
type = types.str;
description = "The interface the macvlan will transmit packets through.";
};
@ -605,7 +605,7 @@ in
interface = mkOption {
example = "enp4s0";
type = types.string;
type = types.str;
description = "The interface the vlan will transmit packets through.";
};

View File

@ -26,7 +26,7 @@ in
${pkgs.vmTools.qemu}/bin/qemu-img convert -f raw -O vpc $diskImage $out/disk.vhd
rm $diskImage
'';
diskImageBase = "nixos-${config.system.nixosVersion}-${pkgs.stdenv.system}.raw";
diskImageBase = "nixos-image-${config.system.nixosVersion}-${pkgs.stdenv.system}.raw";
buildInputs = [ pkgs.utillinux pkgs.perl ];
exportReferencesGraph =
[ "closure" config.system.build.toplevel ];

View File

@ -26,7 +26,7 @@ in
rm $diskImageBase
popd
'';
diskImageBase = "nixos-${config.system.nixosVersion}-${pkgs.stdenv.system}.raw";
diskImageBase = "nixos-image-${config.system.nixosVersion}-${pkgs.stdenv.system}.raw";
buildInputs = [ pkgs.utillinux pkgs.perl ];
exportReferencesGraph =
[ "closure" config.system.build.toplevel ];

View File

@ -12,6 +12,12 @@ let
perl = "${pkgs.perl}/bin/perl -I${pkgs.perlPackages.FileSlurp}/lib/perl5/site_perl";
su = "${pkgs.shadow.su}/bin/su";
inherit (pkgs) utillinux;
postInstall = ''
t=$out/etc/bash_completion.d
mkdir -p $t
cp ${./nixos-container-completion.sh} $t/nixos-container
'';
};
# The container's init script, a small wrapper around the regular
@ -102,7 +108,7 @@ in
};
hostAddress = mkOption {
type = types.nullOr types.string;
type = types.nullOr types.str;
default = null;
example = "10.231.136.1";
description = ''
@ -111,7 +117,7 @@ in
};
localAddress = mkOption {
type = types.nullOr types.string;
type = types.nullOr types.str;
default = null;
example = "10.231.136.2";
description = ''

View File

@ -67,7 +67,7 @@ in
postStart =
mkOption {
type = types.string;
type = types.lines;
default = ''
while ! [ -e /var/run/docker.sock ]; do
sleep 0.1

View File

@ -30,7 +30,7 @@ in
rm $out/disk.raw
popd
'';
diskImageBase = "nixos-${config.system.nixosVersion}-${pkgs.stdenv.system}.raw";
diskImageBase = "nixos-image-${config.system.nixosVersion}-${pkgs.stdenv.system}.raw";
buildInputs = [ pkgs.utillinux pkgs.perl ];
exportReferencesGraph =
[ "closure" config.system.build.toplevel ];

View File

@ -0,0 +1,33 @@
#!/usr/bin/env bash
_nixos-container() {
local cur prev opts
COMPREPLY=()
cur="${COMP_WORDS[COMP_CWORD]}"
prev="${COMP_WORDS[COMP_CWORD-1]}"
opts="list create destroy start stop status update login root-login run show-ip show-host-key"
startstop_opts=$(nixos-container list)
update_opts="--config"
if [[ "$prev" == "nixos-container" ]]
then
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
return 0
fi
if [[ $(echo "$opts" | grep "$prev") ]]
then
if [[ "$prev" == "start" || "$prev" == "stop" ]]
then
COMPREPLY=( $(compgen -W "${startstop_opts}" -- ${cur}) )
return 0
elif [[ "$prev" == "update" ]]
then
COMPREPLY=( $(compgen -W "${update_opts}" -- ${cur}) )
return 0
fi
fi
}
complete -F _nixos-container nixos-container

View File

@ -101,7 +101,7 @@ in {
system.build.virtualBoxOVA = pkgs.runCommand "virtualbox-ova"
{ buildInputs = [ pkgs.linuxPackages.virtualbox ];
vmName = "NixOS ${config.system.nixosVersion} (${pkgs.stdenv.system})";
fileName = "nixos-${config.system.nixosVersion}-${pkgs.stdenv.system}.ova";
fileName = "nixos-image-${config.system.nixosVersion}-${pkgs.stdenv.system}.ova";
}
''
echo "creating VirtualBox VM..."
@ -109,7 +109,8 @@ in {
VBoxManage createvm --name "$vmName" --register \
--ostype ${if pkgs.stdenv.system == "x86_64-linux" then "Linux26_64" else "Linux26"}
VBoxManage modifyvm "$vmName" \
--memory 1536 --acpi on --vram 10 \
--memory 1536 --acpi on --vram 32 \
${optionalString (pkgs.stdenv.system == "i686-linux") "--pae on"} \
--nictype1 virtio --nic1 nat \
--audiocontroller ac97 --audio alsa \
--rtcuseutc on \

View File

@ -1,26 +1,41 @@
{ debug ? false, ... } @ args:
import ./make-test.nix ({ pkgs, ... }: with pkgs.lib; let
debug = false;
testVMConfig = vmName: attrs: { config, pkgs, ... }: let
guestAdditions = pkgs.linuxPackages.virtualboxGuestAdditions;
testVMConfig = vmName: attrs: { config, pkgs, ... }: {
boot.kernelParams = let
miniInit = ''
#!${pkgs.stdenv.shell} -xe
export PATH="${pkgs.coreutils}/bin:${pkgs.utillinux}/bin"
miniInit = ''
#!${pkgs.stdenv.shell} -xe
export PATH="${pkgs.coreutils}/bin:${pkgs.utillinux}/bin"
${pkgs.linuxPackages.virtualboxGuestAdditions}/bin/VBoxService
${(attrs.vmScript or (const "")) pkgs}
mkdir -p /etc/dbus-1 /var/run/dbus
cat > /etc/passwd <<EOF
root:x:0:0::/root:/bin/false
messagebus:x:1:1::/var/run/dbus:/bin/false
EOF
cat > /etc/group <<EOF
root:x:0:
messagebus:x:1:
EOF
cp -v "${pkgs.dbus.daemon}/etc/dbus-1/system.conf" \
/etc/dbus-1/system.conf
"${pkgs.dbus.daemon}/bin/dbus-daemon" --fork --system
i=0
while [ ! -e /mnt-root/shutdown ]; do
sleep 10
i=$(($i + 10))
[ $i -le 120 ] || fail
done
${guestAdditions}/bin/VBoxService
${(attrs.vmScript or (const "")) pkgs}
rm -f /mnt-root/boot-done /mnt-root/shutdown
'';
in [
i=0
while [ ! -e /mnt-root/shutdown ]; do
sleep 10
i=$(($i + 10))
[ $i -le 120 ] || fail
done
rm -f /mnt-root/boot-done /mnt-root/shutdown
'';
in {
boot.kernelParams = [
"console=tty0" "console=ttyS0" "ignore_loglevel"
"boot.trace" "panic=1" "boot.panic_on_fail"
"init=${pkgs.writeScript "mini-init.sh" miniInit}"
@ -39,7 +54,7 @@ import ./make-test.nix ({ pkgs, ... }: with pkgs.lib; let
];
boot.initrd.extraUtilsCommands = ''
copy_bin_and_libs "${pkgs.linuxPackages.virtualboxGuestAdditions}/bin/mount.vboxsf"
copy_bin_and_libs "${guestAdditions}/bin/mount.vboxsf"
copy_bin_and_libs "${pkgs.utillinux}/bin/unshare"
${(attrs.extraUtilsCommands or (const "")) pkgs}
'';
@ -156,30 +171,26 @@ import ./make-test.nix ({ pkgs, ... }: with pkgs.lib; let
];
in {
machine = {
systemd.sockets = listToAttrs (singleton {
name = "vboxtestlog-${name}";
value = {
description = "VirtualBox Test Machine Log Socket";
wantedBy = [ "sockets.target" ];
before = [ "multi-user.target" ];
socketConfig.ListenStream = "/run/virtualbox-log-${name}.sock";
socketConfig.Accept = true;
};
});
systemd.sockets."vboxtestlog-${name}" = {
description = "VirtualBox Test Machine Log Socket For ${name}";
wantedBy = [ "sockets.target" ];
before = [ "multi-user.target" ];
socketConfig.ListenStream = "/run/virtualbox-log-${name}.sock";
socketConfig.Accept = true;
};
systemd.services = listToAttrs (singleton {
name = "vboxtestlog-${name}@";
value = {
description = "VirtualBox Test Machine Log";
serviceConfig.StandardInput = "socket";
serviceConfig.StandardOutput = "syslog";
serviceConfig.SyslogIdentifier = "GUEST-${name}";
serviceConfig.ExecStart = "${pkgs.coreutils}/bin/cat";
};
});
systemd.services."vboxtestlog-${name}@" = {
description = "VirtualBox Test Machine Log For ${name}";
serviceConfig.StandardInput = "socket";
serviceConfig.StandardOutput = "syslog";
serviceConfig.SyslogIdentifier = "GUEST-${name}";
serviceConfig.ExecStart = "${pkgs.coreutils}/bin/cat";
};
};
testSubs = ''
my ${"$" + name}_sharepath = '${sharePath}';
sub checkRunning_${name} {
my $cmd = 'VBoxManage list runningvms | grep -q "^\"${name}\""';
my ($status, $out) = $machine->execute(ru $cmd);
@ -286,9 +297,15 @@ import ./make-test.nix ({ pkgs, ... }: with pkgs.lib; let
echo "$otherIP reachable" | ${pkgs.netcat}/bin/netcat -clp 5678 || :
'';
sysdDetectVirt = pkgs: ''
${pkgs.systemd}/bin/systemd-detect-virt > /mnt-root/result
'';
vboxVMs = mapAttrs createVM {
simple = {};
detectvirt.vmScript = sysdDetectVirt;
test1.vmFlags = hostonlyVMFlags;
test1.vmScript = dhcpScript;
@ -307,7 +324,7 @@ in {
mkVMConf = name: val: val.machine // { key = "${name}-config"; };
vmConfigs = mapAttrsToList mkVMConf vboxVMs;
in [ ./common/user-account.nix ./common/x11.nix ] ++ vmConfigs;
virtualisation.memorySize = 768;
virtualisation.memorySize = 1024;
virtualisation.virtualbox.host.enable = true;
users.extraUsers.alice.extraGroups = let
inherit (config.virtualisation.virtualbox.host) enableHardening;
@ -372,6 +389,18 @@ in {
destroyVM_simple;
subtest "systemd-detect-virt", sub {
createVM_detectvirt;
vbm("startvm detectvirt");
waitForStartup_detectvirt;
waitForVMBoot_detectvirt;
shutdownVM_detectvirt;
my $result = $machine->succeed("cat '$detectvirt_sharepath/result'");
chomp $result;
die "systemd-detect-virt returned \"$result\" instead of \"oracle\""
if $result ne "oracle";
};
subtest "net-hostonlyif", sub {
createVM_test1;
createVM_test2;
@ -403,4 +432,4 @@ in {
destroyVM_test2;
};
'';
})
}) args

View File

@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
description = "A Faust implementation of a 1969 designed Yamaha combo organ, the YC-20";
homepage = https://github.com/sampov2/foo-yc20;
license = "BSD";
maintainers = stdenv.lib.maintainers.magnetophon;
maintainers = [ stdenv.lib.maintainers.magnetophon ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@ -0,0 +1,61 @@
{ stdenv, lib, requireFile, demo, fetchurl, libX11, libXext, libXcursor, libXrandr, libjack2, alsaLib, ... }:
stdenv.mkDerivation rec {
name = "renoise";
buildInputs = [ libX11 libXext libXcursor libXrandr alsaLib libjack2 ];
src =
if builtins.currentSystem == "x86_64-linux" then
if demo then
fetchurl {
url = "http://files.renoise.com/demo/Renoise_3_0_1_Demo_x86_64.tar.bz2";
sha256 = "1q7f94wz2dbz659kpp53a3n1qyndsk0pkb29lxdff4pc3ddqwykg";
}
else
requireFile {
url = "http://backstage.renoise.com/frontend/app/index.html#/login";
name = "rns_3_0_1_reg_x86_64.tar.gz";
sha256 = "1swax2jz0gswdpzz8alwjfd8rhigc2yfspj7p8wvdvylqrf7n8q7";
}
else if builtins.currentSystem == "i686-linux" then
if demo then
fetchurl {
url = "http://files.renoise.com/demo/Renoise_3_0_1_Demo_x86.tar.bz2";
sha256 = "0dgqvib4xh2yhgh2wajj11wsb6xiiwgfkhyz32g8vnyaij5q8f58";
}
else
requireFile {
url = "http://backstage.renoise.com/frontend/app/index.html#/login";
name = "rns_3_0_1_reg_x86.tar.gz";
sha256 = "1swax2jz0gswdpzz8alwjfd8rhigc2yfspj7p8wvdvylqrf7n8q7";
}
else throw "platform is not suppored by Renoise";
installPhase = ''
cp -r Resources $out
mkdir -p $out/lib/
mv $out/AudioPluginServer* $out/lib/
cp renoise $out/renoise
for path in ${toString buildInputs}; do
ln -s $path/lib/*.so* $out/lib/
done
ln -s ${stdenv.cc.cc}/lib/libstdc++.so.6 $out/lib/
mkdir $out/bin
ln -s $out/renoise $out/bin/renoise
patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) --set-rpath $out/lib $out/renoise
'';
meta = {
description = "modern tracker-based DAW";
homepage = http://www.renoise.com/;
license = stdenv.lib.licenses.unfree;
};
}

View File

@ -1,30 +1,31 @@
{ stdenv, fetchurl, pam, pkgconfig, libxcb, glib, libXdmcp, itstool, libxml2
, intltool, x11, libxklavier, libgcrypt
, intltool, x11, libxklavier, libgcrypt, libaudit
, qt4 ? null, qt5 ? null
}:
let
ver_branch = "1.14";
version = "1.14.2";
ver_branch = "1.16";
version = "1.16.2";
in
stdenv.mkDerivation rec {
name = "lightdm-${version}";
src = fetchurl {
url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz";
sha256 = "18dvipdkp6hc1hysyiwpd5nwq6db3mg98rwi3am2ly3hk2bpic18";
sha256 = "062jj21bjrl29mk66lpihwhrff038h2wny3p6b5asacf2mklf0hq";
};
patches = [ ./fix-paths.patch ];
buildInputs = [
pkgconfig pam libxcb glib libXdmcp itstool libxml2 intltool libxklavier libgcrypt
qt4
qt4 libaudit
] ++ stdenv.lib.optional (qt5 != null) qt5.base;
configureFlags = [
"--localstatedir=/var"
"--sysconfdir=/etc"
"--disable-tests"
] ++ stdenv.lib.optional (qt4 != null) "--enable-liblightdm-qt"
++ stdenv.lib.optional ((qt5.base or null) != null) "--enable-liblightdm-qt5";

View File

@ -127,6 +127,29 @@ rec {
};
};
bytecode-outline = buildEclipsePlugin rec {
name = "bytecode-outline-${version}";
version = "2.4.3";
srcFeature = fetchurl {
url = "http://andrei.gmxhome.de/eclipse/features/de.loskutov.BytecodeOutline.feature_${version}.jar";
sha256 = "0imhwp73gxy1y5d5gpjgd05ywn0xg3vqc5980wcx3fd51g4ifc67";
};
srcPlugin = fetchurl {
url = "http://dl.bintray.com/iloveeclipse/plugins/de.loskutov.BytecodeOutline_${version}.jar";
sha256 = "0230i88mvvxhn11m9c5mv3494zhh1xkxyfyva9qahck0wbqwpzkw";
};
meta = with stdenv.lib; {
homepage = http://andrei.gmxhome.de/bytecode/;
description = "Shows disassembled bytecode of current java editor or class file";
license = licenses.bsd2;
platforms = platforms.all;
maintainers = [ maintainers.rycee ];
};
};
cdt = buildEclipseUpdateSite rec {
name = "cdt-${version}";
version = "8.7.0";

View File

@ -11,7 +11,8 @@ in stdenv.mkDerivation {
# a quick configure to get the Makefile generated. Since
# we do not build the ocaml itself, we don't really
# need it to support any features.
configureFlags = [ "-no-tk" "-no-curses" "-no-pthread" ];
configureFlags = (with stdenv.lib; optional (!(versionAtLeast version "4.02")) "-no-tk") ++
[ "-no-curses" "-no-pthread" ];
buildInputs = [ emacs ];
dontBuild = true;

View File

@ -177,7 +177,7 @@ let
strigi taglib udev xlibs xplanet xscreensaver xz;
alsa = alsaLib;
assuan = libassuan;
boost = boost156;
boost = boost155;
canberra = libcanberra;
eigen3 = eigen;
epub = ebook_tools;

View File

@ -1,28 +0,0 @@
From 55e33019afcb3256cccedf606548b86816f6da59 Mon Sep 17 00:00:00 2001
From: Chris Bagwell <chris@cnpbagwell.com>
Date: Sat, 13 Dec 2014 12:48:37 -0600
Subject: [PATCH 1/2] Check for minimum size sphere headers
---
src/sphere.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/sphere.c b/src/sphere.c
index 479a552..a3fd1c6 100644
--- a/src/sphere.c
+++ b/src/sphere.c
@@ -47,6 +47,11 @@ static int start_read(sox_format_t * ft)
/* Determine header size, and allocate a buffer large enough to hold it. */
sscanf(fldsval, "%lu", &header_size_ul);
+ if (header_size_ul < 16) {
+ lsx_fail_errno(ft, SOX_EHDR, "Error reading Sphere header");
+ return (SOX_EOF);
+ }
+
buf = lsx_malloc(header_size = header_size_ul);
/* Skip what we have read so far */
--
2.1.0

View File

@ -1,28 +0,0 @@
From ebb64cddde59ecc9cedf3741ce2337c72148cc0c Mon Sep 17 00:00:00 2001
From: Chris Bagwell <chris@cnpbagwell.com>
Date: Sat, 13 Dec 2014 12:49:55 -0600
Subject: [PATCH 2/2] More checks for invalid MS ADPCM blocks.
If block doesn't exacty match blockAlign then do not allow
number of samples in invalid size block to ever be more than
what WAV header defined as samplesPerBlock.
---
src/wav.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/wav.c b/src/wav.c
index 61d5908..5202556 100644
--- a/src/wav.c
+++ b/src/wav.c
@@ -168,7 +168,7 @@ static unsigned short AdpcmReadBlock(sox_format_t * ft)
/* work with partial blocks. Specs say it should be null */
/* padded but I guess this is better than trailing quiet. */
samplesThisBlock = lsx_ms_adpcm_samples_in((size_t)0, (size_t)ft->signal.channels, bytesRead, (size_t)0);
- if (samplesThisBlock == 0)
+ if (samplesThisBlock == 0 || samplesThisBlock > wav->samplesPerBlock)
{
lsx_warn("Premature EOF on .wav input file");
return 0;
--
2.1.0

View File

@ -11,20 +11,13 @@
with stdenv.lib;
stdenv.mkDerivation rec {
name = "sox-14.4.1";
name = "sox-14.4.2";
src = fetchurl {
url = "mirror://sourceforge/sox/${name}.tar.gz";
sha256 = "16x8gykfjdhxg0kdxwzcwgwpm5caa08y2mx18siqsq0ywmpjr34s";
sha256 = "0v2znlxkxxcd3f48hf3dx9pq7i6fdhb62kgj7wv8xggz8f35jpxl";
};
patches = [
# Patches for CVE-2014-8145, found via RedHat bug 1174792. It was not
# clear whether these address a NULL deref and a division by zero.
./0001-Check-for-minimum-size-sphere-headers.patch
./0002-More-checks-for-invalid-MS-ADPCM-blocks.patch
];
buildInputs =
optional (enableAlsa && stdenv.isLinux) alsaLib ++
optional enableLibao libao ++

View File

@ -1,14 +1,14 @@
{ stdenv, fetchgit, cmake, qt5, file, kde5}:
let
version = "git-2015-06-10";
version = "git-2015-07-25";
in
stdenv.mkDerivation rec {
name = "dfilemanager-${version}";
src = fetchgit {
url = "git://git.code.sf.net/p/dfilemanager/code";
rev = "806a28aa8fed30941a2fd6784c7c9c240bca30e3";
sha256 = "1k15qzjmqg9ffv4cl809b071dpyckf8jspkhfhpbmfd9wasr0m7i";
rev = "99afcde199378eb0d499c49a9e28846c22e27483";
sha256 = "1dd21xl24xvxs100j8nzhpaqfqk8srqs92al9c03jmyjlk31s6lf";
};
buildInputs = [ cmake qt5.base qt5.tools qt5.x11extras file kde5.solid];
@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
meta = {
homepage = "http://dfilemanager.sourceforge.net/";
description = "File manager written in Qt/C++, it does use one library from kdelibs, the solid lib for easy device handling";
#license = stdenv.lib.licenses; # license not specified
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.eduarrrd ];
};

View File

@ -8,7 +8,9 @@ stdenv.mkDerivation rec {
sha256 = "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i";
};
doCheck = true;
doCheck = false;
separateDebugInfo = true;
meta = {
description = "A program that produces a familiar, friendly greeting";

View File

@ -29,5 +29,5 @@ mkDerivation rec {
homepage = "https://github.com/NorfairKing/super-user-spark";
description = "A safe way to never worry about your beautifully configured system again";
platforms = ghc.meta.platforms;
maintainers = stdenv.lib.maintainers.badi;
maintainers = [ stdenv.lib.maintainers.badi ];
}

View File

@ -0,0 +1,39 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "tthsum-${version}";
version = "1.3.2";
src = fetchurl {
url = "http://tthsum.devs.nu/pkg/tthsum-${version}.tar.bz2";
sha256 = "0z6jq8lbg9rasv98kxfs56936dgpgzsg3yc9k52878qfw1l2bp59";
};
installPhase = ''
mkdir -p $out/bin $out/share/man/man1
cp share/tthsum.1.gz $out/share/man/man1
cp obj-unix/tthsum $out/bin
'';
meta = with stdenv.lib; {
description = "An md5sum-alike program that works with Tiger/THEX hashes";
longDescription = ''
tthsum generates or checks TTH checksums (root of the THEX hash
tree). The Merkle Hash Tree, invented by Ralph Merkle, is a hash
construct that exhibits desirable properties for verifying the
integrity of files and file subranges in an incremental or
out-of-order fashion. tthsum uses the Tiger hash algorithm for
both the internal and the leaf nodes.
The specification of the Tiger hash algorithm is at:
http://www.cs.technion.ac.il/~biham/Reports/Tiger/
The specification of the THEX algorithm is at:
http://adc.sourceforge.net/draft-jchapweske-thex-02.html
'';
homepage = http://tthsum.devs.nu/;
license = licenses.gpl3Plus;
maintainers = [ maintainers.ebzzry ];
platforms = platforms.unix;
};
}

View File

@ -1,21 +1,21 @@
# This file is autogenerated from update.sh in the parent directory.
{
dev = {
version = "47.0.2503.0";
sha256 = "1f8swcnrhzh6rc1vyhr6zjwbs74vifr2dmpqppyqa5n8wp2gyhmg";
sha256bin32 = "0mb047g1x3nc51wqbkiss2q3dxwgvi0ah4x2i9fwy4wfrvm57jnl";
sha256bin64 = "0cxma0rj70cwzhmx10ib2k60q4w2gar3h55l1pp8b1wgb1pm1vdk";
version = "47.0.2508.0";
sha256 = "1jmcvbimj3x91czvclnqbp8w2nfqhk2bd7bw9yd37c576md1wnw2";
sha256bin32 = "10spq63yfyzw419bz22r2g5rmnaxy5861715mkrcbpfm8cylzmzh";
sha256bin64 = "1ycdp37ikdc9w4hp9qgpzjp47zh37g01ax8x4ack202vrv0dxhsh";
};
beta = {
version = "46.0.2490.22";
sha256 = "0cpdv1x49xdcparpwq96a7axk16jpj8jhvafmxzh9zfkl1xxvp2i";
sha256bin32 = "0y4mirk0qrih7nlkyxg2qbhmzrkz4fa8ng5sgbh9vw3pjv0djc2s";
sha256bin64 = "0vlfjq6fxn2snan2kj4gf35iy2xb444hklv94vm4rwmfydygg2bw";
version = "46.0.2490.33";
sha256 = "196b49mqwkmz1i8qbrfmkxwd74wl40ncyyllj6kcfsq7mpms11ci";
sha256bin32 = "0488cspmnk14jjb6v5c6y3070rmcxsfngyam5mg42q0fcz4593l1";
sha256bin64 = "1kn0k8gpjnm1xsdiby76phwr0i8yb1w9mzmnf7ppj5cddikc5n3v";
};
stable = {
version = "45.0.2454.85";
sha256 = "14acjc80dmypybbvm087szp0g0m1gil5hjj02x8c6k7alsjh731y";
sha256bin32 = "1945m765a05wfdfslrb22r1jpicyghfkf4h7ijzw1z9whmxa9y1v";
sha256bin64 = "0d63akpr3yp128v01xgz1nd364w7p89gkvjpr4qz99q67dh3z1q1";
version = "45.0.2454.93";
sha256 = "1iraimblbzp9q16s5q7rbbb7079v095kr8dzqq1wwdb1bvcsllh6";
sha256bin32 = "1gndmychajm4qb623k57zirp72w4y1vfxp17gyrbjpg4kzbi1qcg";
sha256bin64 = "107l7f7crhcsv4xa219lmnsg2i7jqi5zly71cix54qg2bb7wgfwn";
};
}

View File

@ -19,11 +19,11 @@
let
# NOTE: When updating, please also update in current stable, as older versions stop working
version = "3.8.5";
version = "3.8.9";
sha256 =
{
"x86_64-linux" = "1r0wz2fsx2piasl04qsgwbl88bi0ajr0dm2swbslxwkf789vk18y";
"i686-linux" = "1dvfgp9dg3frhwmchwa6fyws4im9vgicchfsv0zzflvc7rm9fcig";
"x86_64-linux" = "1mdhf57bqi4vihbzv5lz8zk4n576c1qjm7hzcq4f5qvkdsmp5in2";
"i686-linux" = "0gighh782jjmlgqgbw2d00a3ri5h3inqdik7v70f1yygvkr7awy8";
}."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
arch =

View File

@ -5,7 +5,7 @@
let
version = "2.2.1373";
version = "2.2.1388";
rpath = stdenv.lib.makeSearchPath "lib" [
stdenv.glibc
@ -47,12 +47,12 @@ let
if stdenv.system == "x86_64-linux" then
fetchurl {
url = "http://downloads.hipchat.com/linux/arch/x86_64/hipchat-${version}-x86_64.pkg.tar.xz";
sha256 = "0mxjzigncp8sh5w2rpr7kvkiahagm3adss1zv6rqk8hc1awrnd8n";
sha256 = "18vl0c7xgyzd2miwkfzc638z0wzszgsdlbnslkkvxmg95ykdrdnz";
}
else if stdenv.system == "i686-linux" then
fetchurl {
url = "http://downloads.hipchat.com/linux/arch/i686/hipchat-${version}-i686.pkg.tar.xz";
sha256 = "1f4cjbazgifxpyr6589frs417h4wpxbykf46w5qiw0m2wiqpqff5";
sha256 = "12q8hf3gmcgrqg6v9xqyknwsmwywpwm76jc54sfniiqv5ngq24hl";
}
else
throw "HipChat is not supported on ${stdenv.system}";

View File

@ -1,4 +1,9 @@
{ stdenv, fetchurl, makeDesktopItem, unzip, ant, jdk }:
{ stdenv, lib, fetchurl, makeDesktopItem, unzip, ant, jdk
# Optional, Jitsi still runs without, but you may pass null:
, alsaLib, dbus_libs, gtk2, libpulseaudio, openssl, xlibs
}:
assert stdenv.isLinux;
stdenv.mkDerivation rec {
@ -22,6 +27,21 @@ stdenv.mkDerivation rec {
categories = "Application;Internet;";
};
libPath = lib.makeLibraryPath ([
stdenv.cc.cc # For libstdc++.
] ++ lib.filter (x: x != null) [
alsaLib
dbus_libs
gtk2
libpulseaudio
openssl
] ++ lib.optionals (xlibs != null) [
xlibs.libX11
xlibs.libXext
xlibs.libXScrnSaver
xlibs.libXv
]);
buildInputs = [unzip ant jdk];
buildPhase = ''ant make'';
@ -29,12 +49,21 @@ stdenv.mkDerivation rec {
installPhase = ''
mkdir -p $out
cp -a lib $out/
rm -rf $out/lib/native/solaris
cp -a sc-bundles $out/
mkdir $out/bin
cp resources/install/generic/run.sh $out/bin/jitsi
chmod +x $out/bin/jitsi
sed -i 's| java | ${jdk}/bin/java |' $out/bin/jitsi
substituteInPlace $out/bin/jitsi \
--subst-var-by JAVA ${jdk}/bin/java \
--subst-var-by EXTRALIBS ${gtk2}/lib
patchShebangs $out
libPath="$libPath:${jdk.jre.home}/lib/${jdk.architecture}"
find $out/ -type f -name '*.so' | while read file; do
patchelf --set-rpath "$libPath" "$file" && \
patchelf --shrink-rpath "$file"
done
'';
meta = {
@ -42,6 +71,7 @@ stdenv.mkDerivation rec {
description = "Open Source Video Calls and Chat";
license = stdenv.lib.licenses.lgpl21Plus.shortName;
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.khumba ];
};
}

View File

@ -7,7 +7,7 @@
+
+#mkdir -p $HOME/.sip-communicator/log
+
+cd "$( dirname "$( dirname "${BASH_SOURCE[0]}" )" )"
+cd "$(dirname "$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")")"
# Get architecture
ARCH=`uname -m | sed -e s/x86_64/64/ -e s/i.86/32/`
@ -24,4 +24,4 @@
export PATH=$PATH:native
-java $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=native -Dfelix.config.properties=file:./lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator
+exec java $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=$NATIVELIBS -Dfelix.config.properties=file:lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator
+LD_LIBRARY_PATH=@EXTRALIBS@ exec @JAVA@ $CLIENTARGS -classpath "lib/felix.jar:sc-bundles/sc-launcher.jar:sc-bundles/util.jar:lib/" -Djava.library.path=$NATIVELIBS -Dfelix.config.properties=file:lib/felix.client.run.properties -Djava.util.logging.config.file=lib/logging.properties net.java.sip.communicator.launcher.SIPCommunicator

View File

@ -1,13 +1,13 @@
{ stdenv, fetchurl, pidgin, intltool, libxml2, nss, nspr }:
let version = "1.18.1"; in
let version = "1.20.0"; in
stdenv.mkDerivation {
name = "pidgin-sipe-${version}";
src = fetchurl {
url = "mirror://sourceforge/sipe/pidgin-sipe-${version}.tar.gz";
sha256 = "18ch7jpi7ki7xlpahi88xrnmnhc6dcq4hafm0z6d5nfjfp8ldal5";
sha256 = "14d8q9by531hfssm6ydn75xkgidka3ar4sy3czjdb03s1ps82srs";
};
meta = with stdenv.lib; {

View File

@ -1,7 +1,7 @@
{ fetchurl, stdenv
, curl, dbus, dbus_glib, enchant, gtk, gnutls, gnupg, gpgme, libarchive
, libcanberra, libetpan, libnotify, libsoup, libxml2, networkmanager, openldap
, perl, pkgconfig, poppler, python, webkitgtk2
, perl, pkgconfig, poppler, python, shared_mime_info, webkitgtk2
# Build options
# TODO: A flag to build the manual.
@ -47,6 +47,8 @@ stdenv.mkDerivation {
sha256 = "0w13xzri9d3165qsxf1dig1f0gxn3ib4lysfc9pgi4zpyzd0zgrw";
};
patches = [ ./mime.patch ];
buildInputs =
[ curl dbus dbus_glib gtk gnutls libetpan perl pkgconfig python ]
++ optional enableSpellcheck enchant
@ -80,8 +82,12 @@ stdenv.mkDerivation {
++ optional (!enablePluginVcalendar) "--disable-vcalendar-plugin"
++ optional (!enableSpellcheck) "--disable-enchant";
enableParallelBuilding = true;
postInstall = ''
mkdir -p $out/share/applications
cp claws-mail.desktop $out/share/applications
ln -sT ${shared_mime_info}/share/mime $out/share/mime
'';
}

View File

@ -0,0 +1,14 @@
--- a/src/procmime.c 2015-09-18 04:03:11.767654094 -0700
+++ b/src/procmime.c 2015-09-18 04:08:38.834503034 -0700
@@ -1196,11 +1196,7 @@
if (mime_type_list)
return mime_type_list;
-#if defined(__NetBSD__) || defined(__OpenBSD__) || defined(__FreeBSD__)
if ((fp = procmime_fopen(DATAROOTDIR "/mime/globs", "rb")) == NULL)
-#else
- if ((fp = procmime_fopen("/usr/share/mime/globs", "rb")) == NULL)
-#endif
{
fp_is_glob_file = FALSE;
if ((fp = procmime_fopen("/etc/mime.types", "rb")) == NULL) {

View File

@ -10,7 +10,7 @@ assert withQt -> !withGtk && qt4 != null;
with stdenv.lib;
let
version = "1.12.5";
version = "1.12.7";
variant = if withGtk then "gtk" else if withQt then "qt" else "cli";
in
@ -19,7 +19,7 @@ stdenv.mkDerivation {
src = fetchurl {
url = "http://www.wireshark.org/download/src/wireshark-${version}.tar.bz2";
sha256 = "10mxgj916bwv92pfhk4kldcaanr9vndjklzp9ypdxr29xyr7gwfh";
sha256 = "0b7rc1l1gvzcz7gfa6g7pcn32zrcfiqjx0rxm6cg3q1cwwa1qjn7";
};
buildInputs = [

View File

@ -1,12 +1,12 @@
{ stdenv, fetchurl, python }:
stdenv.mkDerivation {
name = "git-repo-1.21";
name = "git-repo-1.22";
src = fetchurl {
# I could not find a versioned url for the 1.21 version. In case
# the sha mismatches, check the homepage for new version and sha.
url = "http://commondatastorage.googleapis.com/git-repo-downloads/repo";
sha1 = "b8bd1804f432ecf1bab730949c82b93b0fc5fede";
sha1 = "da0514e484f74648a890c0467d61ca415379f791";
};
unpackPhase = "true";
@ -20,4 +20,4 @@ stdenv.mkDerivation {
homepage = "http://source.android.com/source/downloading.html";
description = "Android's repo management tool";
};
}
}

View File

@ -0,0 +1,40 @@
{ fetchFromGitHub, lib, python2Packages, meld, subversion, gvfs, xdg_utils }:
python2Packages.buildPythonPackage rec {
name = "rabbitvcs-${version}";
version = "0.16";
namePrefix = "";
src = fetchFromGitHub {
owner = "rabbitvcs";
repo = "rabbitvcs";
rev = "v${version}";
sha256 = "0964pdylrx4n9c9l8ncwv4q1p63y4hadb5v4pgvm0m2fah2jlkly";
};
pythonPath = with python2Packages; [ configobj dbus pygobject pygtk simplejson pysvn dulwich tkinter gvfs xdg_utils ];
prePatch = ''
sed -ie 's|if sys\.argv\[1\] == "install":|if False:|' ./setup.py
sed -ie "s|PREFIX = sys.prefix|PREFIX = \"$out\"|" ./setup.py
sed -ie 's|/usr/bin/meld|${meld}/bin/meld|' ./rabbitvcs/util/configspec/configspec.ini
sed -ie 's|/usr/bin/svnadmin|${subversion}/bin/svnadmin|' ./rabbitvcs/ui/create.py
sed -ie "s|/usr/share/doc|$out/share/doc|" ./rabbitvcs/ui/about.py
sed -ie "s|gnome-open|xdg-open|" ./rabbitvcs/util/helper.py
'';
outputs = [ "out" "cli" ];
postInstall = ''
mkdir -p $cli/bin
cp clients/cli/rabbitvcs $cli/bin
wrapPythonProgramsIn $cli "$out $pythonPath"
'';
meta = {
description = "Graphical tools for working with version control systems";
homepage = http://rabbitvcs.org/;
license = lib.licenses.gpl2Plus;
platforms = lib.platforms.linux;
maintainers = [ lib.maintainers.mathnerd314 ];
};
}

View File

@ -17,13 +17,13 @@ assert javahlBindings -> jdk != null && perl != null;
stdenv.mkDerivation (rec {
version = "1.8.14";
version = "1.9.1";
name = "subversion-${version}";
src = fetchurl {
url = "mirror://apache/subversion/${name}.tar.bz2";
sha1 = "0698efc58373e7657f6dd3ce13cab7b002ffb497";
sha1 = "1244a741dbcf24f2b1d165225f0159a0c994e37a";
};
buildInputs = [ zlib apr aprutil sqlite ]

View File

@ -1,16 +1,16 @@
{ stdenv, fetchurl, pkgconfig, intltool, itstool, makeWrapper
, pythonPackages, gst, clutter-gst, clutter-gtk, hicolor_icon_theme
, gobjectIntrospection, clutter, gtk3, librsvg, gnome3, libnotify
, python3Packages, gst, clutter-gtk, hicolor_icon_theme
, gobjectIntrospection, librsvg, gnome3, libnotify
}:
let
version = "0.93";
version = "0.94";
in stdenv.mkDerivation rec {
name = "pitivi-${version}";
src = fetchurl {
url = "mirror://gnome/sources/pitivi/${version}/${name}.tar.xz";
sha256 = "0z89dwrd7akhkap270i372yszqib8yqcymv78lhdmn3a8bsa7jhp";
sha256 = "1v7s0qsibwykkmknspjhpdrj80s987pvbl01kh34k4aspi1hcapm";
};
meta = with stdenv.lib; {
@ -29,15 +29,15 @@ in stdenv.mkDerivation rec {
nativeBuildInputs = [ pkgconfig intltool itstool makeWrapper ];
buildInputs = [
gobjectIntrospection clutter-gst clutter-gtk librsvg gnome3.gnome_desktop
gobjectIntrospection clutter-gtk librsvg gnome3.gnome_desktop
gnome3.defaultIconTheme
gnome3.gsettings_desktop_schemas libnotify
] ++ (with gst; [
gstreamer gst-python gst-editing-services
gstreamer gst-editing-services
gst-plugins-base gst-plugins-good
gst-plugins-bad gst-plugins-ugly gst-libav
]) ++ (with pythonPackages; [
python pygobject3 pyxdg numpy pycairo sqlite3
]) ++ (with python3Packages; [
python pygobject3 gst-python pyxdg numpy pycairo sqlite3
]);
preFixup = ''

View File

@ -6,7 +6,7 @@
, mpeg2dec, udev, gnutls, avahi, libcddb, libjack2, SDL, SDL_image
, libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz
, libass, libva, libdvbpsi, libdc1394, libraw1394, libopus
, libvdpau
, libvdpau, libsamplerate
, onlyLibVLC ? false
, qt4 ? null, qt5 ? null, withQt5 ? false
, jackSupport ? false
@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
udev gnutls avahi libcddb SDL SDL_image libmtp unzip taglib
libkate libtiger libv4l samba liboggz libass libdvbpsi libva
xlibs.xlibs xlibs.libXv xlibs.libXvMC xlibs.libXpm xlibs.xcbutilkeysyms
libdc1394 libraw1394 libopus libebml libmatroska libvdpau
libdc1394 libraw1394 libopus libebml libmatroska libvdpau libsamplerate
]
++ (if withQt5 then with qt5; [ base ] else [qt4])
++ optional jackSupport libjack2;
@ -47,6 +47,7 @@ stdenv.mkDerivation rec {
"--enable-ncurses"
"--enable-vdpau"
"--enable-dvdnav"
"--enable-samplerate"
]
++ optional onlyLibVLC "--disable-vlc";

View File

@ -11,17 +11,17 @@
with stdenv.lib;
let
n = "qemu-2.4.0";
version = "2.4.0";
audio = optionalString (hasSuffix "linux" stdenv.system) "alsa,"
+ optionalString pulseSupport "pa,"
+ optionalString sdlSupport "sdl,";
in
stdenv.mkDerivation rec {
name = n + (if x86Only then "-x86-only" else "");
name = "qemu-" + stdenv.lib.optionalString x86Only "x86-only-" + version;
src = fetchurl {
url = "http://wiki.qemu.org/download/${n}.tar.bz2";
url = "http://wiki.qemu.org/download/qemu-${version}.tar.bz2";
sha256 = "0836gqv5zcl0xswwjcns3mlkn18lyz2fiq8rl1ihcm6cpf8vkc3j";
};

View File

@ -1,6 +1,6 @@
{ stdenv, fetchurl, lib, iasl, dev86, pam, libxslt, libxml2, libX11, xproto, libXext
, libXcursor, libXmu, qt4, libIDL, SDL, libcap, zlib, libpng, glib, kernel, lvm2
, which, alsaLib, curl, libvpx, gawk, nettools
, which, alsaLib, curl, libvpx, gawk, nettools, dbus
, xorriso, makeself, perl, pkgconfig, nukeReferences
, javaBindings ? false, jdk ? null
, pythonBindings ? false, python ? null
@ -85,11 +85,14 @@ in stdenv.mkDerivation {
ls kBuild/bin/linux.amd64/k* tools/linux.amd64/bin/* | xargs -n 1 patchelf --set-interpreter ${stdenv.glibc}/lib/ld-linux-x86-64.so.2
find . -type f -iname '*makefile*' -exec sed -i -e 's/depmod -a/:/g' {} +
sed -i -e '
s@"libasound.so.2"@"${alsaLib}/lib/libasound.so.2"@g
s@"libdbus-1\.so\.3"@"${dbus}/lib/libdbus-1.so.3"@g
s@"libasound\.so\.2"@"${alsaLib}/lib/libasound.so.2"@g
${optionalString pulseSupport ''
s@"libpulse.so.0"@"${libpulseaudio}/lib/libpulse.so.0"@g
s@"libpulse\.so\.0"@"${libpulseaudio}/lib/libpulse.so.0"@g
''}
' src/VBox/Main/xml/Settings.cpp src/VBox/Devices/Audio/{alsa,pulse}_stubs.c
' src/VBox/Main/xml/Settings.cpp \
src/VBox/Devices/Audio/{alsa,pulse}_stubs.c \
include/VBox/dbus-calls.h
export USER=nix
set +x
'';

View File

@ -2,14 +2,17 @@
stdenv.mkDerivation rec {
name = "xhyve-${version}";
version = "0.1.0";
version = "0.2.0";
src = fetchurl {
url = "https://github.com/mist64/xhyve/archive/v${version}.tar.gz";
sha256 = "0nbb9zy4iqmdz2dpyvcl1ynimrrpyd6f6cq8y2p78n1lmgqhrgkm";
sha256 = "0g1vknnh88kxc8aaqv3j9wqhq45mm9xxxbn1vcrypj3kk9991hrj";
};
buildFlags = "CFLAGS=-Wno-pedantic -Wno-shift-sign-overflow";
# Don't use git to determine version
buildFlags = ''
CFLAGS=-DVERSION=\"${version}\"
'';
installPhase = ''
mkdir -p $out/bin
@ -19,7 +22,7 @@ stdenv.mkDerivation rec {
meta = {
description = "Lightweight Virtualization on OS X Based on bhyve";
homepage = "https://github.com/mist64/xhyve";
maintainers = lib.maintainers.lnl7;
maintainers = [ lib.maintainers.lnl7 ];
platforms = lib.platforms.darwin;
};
}

View File

@ -142,10 +142,11 @@ while (scalar(keys %postponed) > 0) {
# Create the symlinks.
my $extraPrefix = $ENV{"extraPrefix"};
my $nrLinks = 0;
foreach my $relName (sort keys %symlinks) {
my ($target, $priority) = @{$symlinks{$relName}};
my $abs = "$out/$relName";
my $abs = "$out" . "$extraPrefix" . "/$relName";
next unless isInPathsToLink $relName;
if ($target eq "") {
#print "creating directory $relName\n";

View File

@ -21,14 +21,20 @@
# directories in the list is not symlinked.
pathsToLink ? ["/"]
, # Shell command to run after building the symlink tree.
, # Root the result in directory "$out${extraPrefix}", e.g. "/share".
extraPrefix ? ""
, # Shell commands to run after building the symlink tree.
postBuild ? ""
, # Additional inputs. Handy e.g. if using makeWrapper in `postBuild`.
buildInputs ? []
, passthru ? {}
}:
runCommand name
{ inherit manifest ignoreCollisions passthru pathsToLink postBuild;
{ inherit manifest ignoreCollisions passthru pathsToLink extraPrefix postBuild buildInputs;
pkgs = builtins.toJSON (map (drv: {
paths = [ drv ]; # FIXME: handle multiple outputs
priority = drv.meta.priority or 5;

View File

@ -5,7 +5,7 @@
# rewritten to /nix/store/<hash>/bin/python. Interpreters that are
# already in the store are left untouched.
fixupOutputHooks+=('if [ -z "$dontPatchShebangs" ]; then patchShebangs "$prefix"; fi')
fixupOutputHooks+=('if [ -z "$dontPatchShebangs" -a -e "$prefix" ]; then patchShebangs "$prefix"; fi')
patchShebangs() {
local dir="$1"

View File

@ -0,0 +1,37 @@
export NIX_LDFLAGS+=" --build-id"
export NIX_CFLAGS_COMPILE+=" -ggdb"
dontStrip=1
fixupOutputHooks+=(_separateDebugInfo)
_separateDebugInfo() {
local dst="${debug:-$out}"
if [ "$prefix" = "$dst" ]; then return; fi
dst="$dst/lib/debug/.build-id"
# Find executables and dynamic libraries.
local -a files=($(find "$prefix" -type f -a \( -perm /0100 -o -name "*.so" -o -name "*.so.*" \)))
local i magic
for i in "${files[@]}"; do
# Skip non-ELF files.
exec 10< "$i"
read -n 4 -u 10 magic
if [[ "$magic" =~ ELF ]]; then echo FOO; fi
exec 10<&-
# Extract the Build ID. FIXME: there's probably a cleaner way.
local id="$(readelf -n "$i" | sed 's/.*Build ID: \([0-9a-f]*\).*/\1/; t; d')"
if [ "${#id}" != 40 ]; then
echo "could not find build ID of $i, skipping" >&2
continue
fi
# Extract the debug info.
header "separating debug info from $i (build ID $id)"
mkdir -p "$dst/${id:0:2}"
objcopy --only-keep-debug "$i" "$dst/${id:0:2}/${id:2}.debug"
strip --strip-debug "$i"
done
}

View File

@ -8,12 +8,7 @@
# http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/gnome-base/gnome-shell/gnome-shell-3.10.2.1.ebuild?revision=1.3&view=markup
stdenv.mkDerivation rec {
name = "gnome-shell-${gnome3.version}.1";
src = fetchurl {
url = "mirror://gnome/sources/gnome-shell/${gnome3.version}/${name}.tar.xz";
sha256 = "00gjdfaznpnspb4jmjc19axiz6snd9drvqmzpq4sw0xh1ysgpncv";
};
inherit (import ./src.nix fetchurl) name src;
# Needed to find /etc/NetworkManager/VPN
configureFlags = [ "--sysconfdir=/etc" ];

View File

@ -0,0 +1,10 @@
# Autogenerated by maintainers/scripts/gnome.sh update
fetchurl: {
name = "gnome-shell-3.16.1";
src = fetchurl {
url = mirror://gnome/sources/gnome-shell/3.16/gnome-shell-3.16.1.tar.xz;
sha256 = "9bd9fbb40fb003ae09bebfe29d5b6a569b1fbb4a81c92ac9bada5efb956bf201";
};
}

View File

@ -129,7 +129,7 @@ let
modemmanager openconnect openexr pam pango qt4 samba
socat substituteAll taglib utillinux wayland xapian
xkeyboard_config xlibs xorg;
boost = boost156;
boost = boost155;
canberra = libcanberra;
epub = ebook_tools;
fontforge_executable = fontforge;

View File

@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
src = fetchsvn {
url = http://svn.clozure.com/publicsvn/openmcl/release/1.10/linuxx86/ccl;
rev = revision;
sha256 = "11lmdvzj1mbm7mbr22vjbcrsvinyz8n32a91ms324xqdqpr82ifb";
sha256 = "04p77n18cw0bc8i66mp2vfrhlliahrx66lm004a3nw3h0mdk0gd8";
};
buildInputs = [ gcc glibc m4 ];

View File

@ -15,6 +15,7 @@ stdenv.mkDerivation {
substituteInPlace src/dmd/posix.mak --replace g++ clang++
'';
# Buid and install are based on http://wiki.dlang.org/Building_DMD
buildPhase = ''
cd src/dmd
make -f posix.mak INSTALL_DIR=$out
@ -50,7 +51,7 @@ stdenv.mkDerivation {
cd $out/bin
tee dmd.conf << EOF
[Environment]
DFLAGS=-I$out/include/d2 -L-L$out/lib -L--no-warn-search-mismatch -L--export-dynamic
DFLAGS=-I$out/include/d2 -L-L$out/lib ${stdenv.lib.optionalString (!stdenv.cc.isClang) "-L--no-warn-search-mismatch -L--export-dynamic"}
EOF
'';

View File

@ -6,7 +6,7 @@ let
mpfr m4 binutils emacs gmp
libX11 xproto inputproto libXi
libXext xextproto libXt libXaw libXmu
zlib which texinfo texLive
zlib which texinfo
];
in

View File

@ -1,26 +1,26 @@
{ stdenv, fetchurl, jdk, gtk2, xulrunner, zip, pkgconfig, perl, npapi_sdk, bash }:
{ stdenv, fetchurl, jdk, gtk2, xulrunner, zip, pkgconfig, perl, npapi_sdk, bash, bc }:
stdenv.mkDerivation rec {
name = "icedtea-web-${version}";
version = "1.6";
version = "1.6.1";
src = fetchurl {
url = "http://icedtea.wildebeest.org/download/source/${name}.tar.gz";
sha256 = "0z8iirvpciai55s4vhpfkhyx4h4hm6dqy4pg4c61pia3innqd4qn";
sha256 = "0869j9jn0z5b5pfspp4v5cj2ksmbqmmmjhqicn4kqc6wr6v6md59";
};
buildInputs = [ gtk2 xulrunner zip pkgconfig npapi_sdk ];
nativeBuildInputs = [ pkgconfig bc perl ];
buildInputs = [ gtk2 xulrunner zip npapi_sdk ];
preConfigure = ''
substituteInPlace javac.in --replace '#!/usr/bin/perl' '#!${perl}/bin/perl'
configureFlags="BIN_BASH=${bash}/bin/bash $configureFlags"
#patchShebangs javac.in
configureFlagsArray+=("BIN_BASH=${bash}/bin/bash")
'';
configureFlags = [
"--with-jdk-home=${jdk.home}"
"--disable-docs"
];
mozillaPlugin = "/lib";

View File

@ -1,6 +1,7 @@
{ stdenv, fetchurl
, pkgconfig
, bison, flex }:
, bison, flex
, makeWrapper }:
with stdenv.lib;
stdenv.mkDerivation rec {
@ -14,7 +15,12 @@ stdenv.mkDerivation rec {
};
buildInputs =
[ pkgconfig bison flex ];
[ pkgconfig bison flex makeWrapper ];
# Intercal invokes gcc, so we need an explicit PATH
postInstall = ''
wrapProgram $out/bin/ick --suffix PATH ':' ${stdenv.cc}/bin
'';
meta = {
description = "The original esoteric programming language";
@ -33,3 +39,4 @@ stdenv.mkDerivation rec {
platforms = platforms.linux;
};
}
# TODO: investigate if LD_LIBRARY_PATH needs to be set

View File

@ -5,11 +5,22 @@
, libunwind, llvm, readline, utf8proc, zlib
# standard library dependencies
, double_conversion, fftwSinglePrec, fftw, glpk, gmp, mpfr, pcre
# linear algebra
, openblas, arpack, suitesparse
}:
with stdenv.lib;
# All dependencies should use the same OpenBLAS.
let
arpack_ = arpack;
suitesparse_ = suitesparse;
in
let
arpack = arpack_.override { inherit openblas; };
suitesparse = suitesparse_.override { inherit openblas; };
in
stdenv.mkDerivation rec {
pname = "julia";
version = "0.3.11";
@ -68,7 +79,17 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [ gfortran git m4 patchelf perl which python2 ];
makeFlags =
[
let
arch = head (splitString "-" stdenv.system);
march =
{ "x86_64-linux" = "x86-64";
"x86_64-darwin" = "x86-64";
"i686-linux" = "i686";
}."${stdenv.system}" or (throw "unsupported system: ${stdenv.system}");
in [
"ARCH=${arch}"
"MARCH=${march}"
"JULIA_CPU_TARGET=${march}"
"PREFIX=$(out)"
"prefix=$(out)"
"SHELL=${stdenv.shell}"
@ -122,8 +143,6 @@ stdenv.mkDerivation rec {
enableParallelBuilding = true;
# Test fail on i686 (julia version 0.3.10)
doCheck = !stdenv.isi686;
checkTarget = "testall";
meta = {
@ -131,6 +150,6 @@ stdenv.mkDerivation rec {
homepage = "http://julialang.org/";
license = stdenv.lib.licenses.mit;
maintainers = with stdenv.lib.maintainers; [ raskin ttuegel ];
platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
platforms = [ "x86_64-linux" "x86_64-darwin" ];
};
}

View File

@ -5,6 +5,18 @@
}:
let
/**
* The JRE libraries are in directories that depend on the CPU.
*/
architecture =
if stdenv.system == "i686-linux" then
"i386"
else if stdenv.system == "x86_64-linux" then
"amd64"
else
throw "openjdk requires i686-linux or x86_64 linux";
update = "60";
build = "24";
baseurl = "http://hg.openjdk.java.net/jdk8u/jdk8u";
@ -204,6 +216,9 @@ let
platforms = platforms.linux;
};
passthru.home = "${openjdk8}/lib/openjdk";
passthru = {
inherit architecture;
home = "${openjdk8}/lib/openjdk";
};
};
in openjdk8

View File

@ -182,6 +182,9 @@ let result = stdenv.mkDerivation rec {
passthru.home = result;
meta.license = stdenv.lib.licenses.unfree;
meta = with stdenv.lib; {
license = licenses.unfree;
platforms = [ "i686-linux" "x86_64-linux" ]; # some inherit jre.meta.platforms
};
}; in result

View File

@ -82,7 +82,7 @@ self: super: {
# haddock: No input file(s).
nats = dontHaddock super.nats;
bytestring-builder = dontHaddock super.bytestring-builder;
bytestring-builder = dontHaddock (triggerRebuild super.bytestring-builder 1);
# We have time 1.5
aeson = disableCabalFlag super.aeson "old-locale";

View File

@ -1,10 +0,0 @@
{ callPackage, fetchurl, ... } @ args:
callPackage ./generic.nix (args // rec {
version = "1.56.0";
src = fetchurl {
url = "mirror://sourceforge/boost/boost_1_56_0.tar.bz2";
sha256 = "07gz62nj767qzwqm3xjh11znpyph8gcii0cqhnx7wvismyn34iqk";
};
})

View File

@ -1,40 +0,0 @@
{ stdenv, callPackage, fetchurl, ... } @ args:
callPackage ./generic.nix (args // rec {
version = "1.57.0";
src = fetchurl {
url = "mirror://sourceforge/boost/boost_1_57_0.tar.bz2";
sha256 = "0rs94vdmg34bwwj23fllva6mhrml2i7mvmlb11zyrk1k5818q34i";
};
patches = if stdenv.isCygwin then [
./cygwin-fedora-boost-1.50.0-fix-non-utf8-files.patch
./cygwin-fedora-boost-1.50.0-pool.patch
./cygwin-fedora-boost-1.57.0-mpl-print.patch
./cygwin-fedora-boost-1.57.0-spirit-unused_typedef.patch
./cygwin-fedora-boost-1.54.0-locale-unused_typedef.patch
./cygwin-fedora-boost-1.54.0-python-unused_typedef.patch
./cygwin-fedora-boost-1.57.0-pool-test_linking.patch
./cygwin-fedora-boost-1.54.0-pool-max_chunks_shadow.patch
./cygwin-fedora-boost-1.57.0-signals2-weak_ptr.patch
./cygwin-fedora-boost-1.57.0-uuid-comparison.patch
./cygwin-fedora-boost-1.57.0-move-is_class.patch
./cygwin-1.40.0-cstdint-cygwin.patch
./cygwin-1.57.0-asio-cygwin.patch
./cygwin-1.55.0-asio-MSG_EOR.patch
./cygwin-1.57.0-config-cygwin.patch
./cygwin-1.57.0-context-cygwin.patch
./cygwin-1.57.0-filesystem-cygwin.patch
./cygwin-1.55.0-interlocked-cygwin.patch
./cygwin-1.40.0-iostreams-cygwin.patch
./cygwin-1.57.0-locale-cygwin.patch
./cygwin-1.57.0-log-cygwin.patch
./cygwin-1.40.0-python-cygwin.patch
./cygwin-1.40.0-regex-cygwin.patch
./cygwin-1.57.0-smart_ptr-cygwin.patch
./cygwin-1.57.0-system-cygwin.patch
./cygwin-1.45.0-jam-cygwin.patch
./cygwin-1.50.0-jam-pep3149.patch
] else null;
})

View File

@ -1,40 +0,0 @@
{ stdenv, callPackage, fetchurl, ... } @ args:
callPackage ./generic.nix (args // rec {
version = "1.58.0";
src = fetchurl {
url = "mirror://sourceforge/boost/boost_1_58_0.tar.bz2";
sha256 = "1rfkqxns60171q62cppiyzj8pmsbwp1l8jd7p6crriryqd7j1z7x";
};
patches = if stdenv.isCygwin then [
./cygwin-fedora-boost-1.50.0-fix-non-utf8-files.patch
./cygwin-fedora-boost-1.50.0-pool.patch
./cygwin-fedora-boost-1.57.0-mpl-print.patch
./cygwin-fedora-boost-1.57.0-spirit-unused_typedef.patch
./cygwin-fedora-boost-1.54.0-locale-unused_typedef.patch
./cygwin-fedora-boost-1.54.0-python-unused_typedef.patch
./cygwin-fedora-boost-1.57.0-pool-test_linking.patch
./cygwin-fedora-boost-1.54.0-pool-max_chunks_shadow.patch
./cygwin-fedora-boost-1.57.0-signals2-weak_ptr.patch
./cygwin-fedora-boost-1.57.0-uuid-comparison.patch
./cygwin-fedora-boost-1.57.0-move-is_class.patch
./cygwin-1.40.0-cstdint-cygwin.patch
./cygwin-1.57.0-asio-cygwin.patch
./cygwin-1.55.0-asio-MSG_EOR.patch
./cygwin-1.57.0-config-cygwin.patch
./cygwin-1.57.0-context-cygwin.patch
./cygwin-1.57.0-filesystem-cygwin.patch
./cygwin-1.55.0-interlocked-cygwin.patch
./cygwin-1.40.0-iostreams-cygwin.patch
./cygwin-1.57.0-locale-cygwin.patch
./cygwin-1.57.0-log-cygwin.patch
./cygwin-1.40.0-python-cygwin.patch
./cygwin-1.40.0-regex-cygwin.patch
./cygwin-1.57.0-smart_ptr-cygwin.patch
./cygwin-1.57.0-system-cygwin.patch
./cygwin-1.45.0-jam-cygwin.patch
./cygwin-1.50.0-jam-pep3149.patch
] else null;
})

View File

@ -1,12 +1,12 @@
{ fetchurl, stdenv }:
let version = "0.9.14"; in
stdenv.mkDerivation {
stdenv.mkDerivation rec {
name = "check-${version}";
version = "0.10.0";
src = fetchurl {
url = "mirror://sourceforge/check/${version}/check-${version}.tar.gz";
sha256 = "02l4g79d81s07hzywcv1knwj5dyrwjiq2pgxaz7kidxi8m364wn2";
sha256 = "0lhhywf5nxl3dd0hdakra3aasl590756c9kmvyifb3vgm9k0gxgm";
};
# Test can randomly fail: http://hydra.nixos.org/build/7243912

View File

@ -2,15 +2,16 @@
stdenv.mkDerivation rec {
baseName="czmq";
version="3.0.0-rc1";
version="3.0.2";
name="${baseName}-${version}";
src = fetchurl {
url = "http://download.zeromq.org/${name}.tar.gz";
sha256 = "1g3rk3fz7xzsbqcdcwn0x18nmiyr70k47kg00gdrq8g10li8mmd9";
sha256 = "16k9awrhdsymx7dnmvqcnkaq8lz8x8zppy6sh7ls8prpd6mkkjlb";
};
buildInputs = [ zeromq ];
# Needs to be propagated for the .pc file to work
propagatedBuildInputs = [ zeromq ];
meta = with stdenv.lib; {
homepage = "http://czmq.zeromq.org/";

View File

@ -2,14 +2,14 @@
, google-gflags, python, libiberty, openssl }:
stdenv.mkDerivation rec {
version = "0.57.0";
version = "2015-09-17";
name = "folly-${version}";
src = fetchFromGitHub {
owner = "facebook";
repo = "folly";
rev = "v${version}";
sha256 = "12b9bkwmndfwmsknc209kpplxn9wqmwr3p2h0l2szrppq4qqyfq9";
rev = "e4527fb5d04f5fec823bd6a2402b620a6e1a64e3";
sha256 = "0iicq19yylafr7qs221xgk8pcwf6nnyx6srgsx9y9cyf72siadcb";
};
nativeBuildInputs = [ autoreconfHook python ];

View File

@ -10,11 +10,11 @@ composableDerivation.composableDerivation {} rec {
# (if args.use_svn then ["libtool" "autoconf" "automake" "swig"] else [])
# // edf { name = "ruby"; enable = { buildInputs = [ ruby ]; };}
name = "geos-3.4.2";
name = "geos-3.5.0";
src = fetchurl {
url = "http://download.osgeo.org/geos/${name}.tar.bz2";
sha256 = "0lvcs8x9as5jlxilykgg3i4220x8m4z59b2ngfapl219gvgvzs0m";
sha256 = "49982b23bcfa64a53333dab136b82e25354edeb806e5a2e2f5b8aa98b1d0ae02";
};
enableParallelBuilding = true;

View File

@ -2,11 +2,11 @@
stdenv.mkDerivation rec {
name = "gnu-efi-${version}";
version = "3.0.2";
version = "3.0.3";
src = fetchurl {
url = "mirror://sourceforge/gnu-efi/${name}.tar.bz2";
sha256 = "1mxl6xarwickhssn0nc5hyvayyf2cjh5p10l37jd1ymirl75hjqr";
sha256 = "1jxlypkgb8bd1c114x96i699ib0glb5aca9dv56j377x2ldg4c65";
};
buildInputs = [ pciutils ];

View File

@ -13,8 +13,6 @@ rec {
gst-libav = callPackage ./libav { inherit gst-plugins-base; };
gst-python = callPackage ./python { inherit gst-plugins-base gstreamer; };
gnonlin = callPackage ./gnonlin { inherit gst-plugins-base; };
gst-editing-services = callPackage ./ges { inherit gnonlin; };

View File

@ -1,5 +1,6 @@
{ fetchurl, stdenv, pkgconfig, python, gstreamer
, gst-plugins-base, pygtk, pygobject3
{ fetchurl, stdenv, pkgconfig, python
, gst-plugins-base, pygobject3
, ncurses
}:
stdenv.mkDerivation rec {
@ -15,15 +16,16 @@ stdenv.mkDerivation rec {
patches = [ ./different-path-with-pygobject.patch ];
buildInputs =
[ pkgconfig gst-plugins-base pygtk pygobject3 ]
;
nativeBuildInputs = [ pkgconfig python ];
# XXX: in the Libs.private field of python3.pc
buildInputs = [ ncurses ];
preConfigure = ''
export configureFlags="$configureFlags --with-pygi-overrides-dir=$out/lib/${python.libPrefix}/site-packages/gi/overrides"
'';
propagatedBuildInputs = [ gstreamer python ];
propagatedBuildInputs = [ gst-plugins-base pygobject3 ];
meta = {
homepage = http://gstreamer.freedesktop.org;

View File

@ -117,7 +117,7 @@ let
inherit acl cmake docbook_xml_dtd_45 docbook5_xsl epoxy fam gpgme
libgcrypt libgit2 modemmanager networkmanager perl
perlPackages qimageblitz xlibs zlib;
boost = boost156;
boost = boost155;
gif = giflib;
glib2 = glib;
jpeg = libjpeg;

View File

@ -117,7 +117,7 @@ let
inherit acl cmake docbook_xml_dtd_45 docbook5_xsl epoxy fam gpgme
libgcrypt libgit2 modemmanager networkmanager perl
perlPackages qimageblitz xlibs zlib;
boost = boost156;
boost = boost155;
gif = giflib;
glib2 = glib;
jpeg = libjpeg;

View File

@ -11,13 +11,13 @@ let
in
with stdenv.lib;
stdenv.mkDerivation rec {
name = "${type}heimdal-2015-06-17";
name = "${type}heimdal-2015-09-13";
src = fetchFromGitHub {
owner = "heimdal";
repo = "heimdal";
rev = "be63a2914adcbea7d42d56e674ee6edb4883ebaf";
sha256 = "147gv49gmy94y6f0x1vx523qni0frgcp3r7fill0r06rkfgfzc0j";
rev = "c81572ab5dcee3062e715b9e25ca7a20f6ec456b";
sha256 = "1r60i4v6y5lpll0l2qpn0ycp6q6f1xjg7k1csi547zls8k96yk9s";
};
nativeBuildInputs = [ autoreconfHook pkgconfig python perl yacc flex ]

View File

@ -8,11 +8,14 @@ stdenv.mkDerivation rec {
sha256 = "1kf8pkwhcssvgzhh6ha1pjjiziwvwmfaali7kaafh6118mcy124b";
};
patchPhase = ''
sed -i 's,\$(srcdir)/doc/doxyparse.pl,perl $(srcdir)/doc/doxyparse.pl,' Makefile.in
patches = [ ./perl-5.22-compat.patch ];
postPatch = ''
patchShebangs doc/doxyparse.pl
'';
buildInputs = [ openssl perl ];
nativeBuildInputs = [ perl ];
buildInputs = [ openssl ];
configureFlags = [ "--with-ssl=${openssl}" "--with-drill" ];

View File

@ -0,0 +1,12 @@
diff -Naur old/doc/doxyparse.pl new/doc/doxyparse.pl
--- old/doc/doxyparse.pl 2014-01-11 06:04:41.000000000 +0900
+++ new/doc/doxyparse.pl 2015-08-08 22:29:34.216889652 +0900
@@ -273,7 +273,7 @@
print MAN $MAN_MIDDLE;
- if (defined(@$also)) {
+ if (@$also) {
print MAN "\n.SH SEE ALSO\n\\fI";
print MAN join "\\fR, \\fI", @$also;
print MAN "\\fR.\nAnd ";

View File

@ -9,6 +9,12 @@ stdenv.mkDerivation rec {
sha256 = "0zi1zj4fpxgpglbbb5n1kg3dmhqq5rpf46lli89r5daavp19iing";
};
# Boost 1.59 compatability fix
# Attempt removing when updating
postPatch = ''
sed -i 's,^CPPFLAGS.*,\0 -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_SYSTEM_NO_DEPRECATED,' src/lib/Makefile.in
'';
buildInputs = [ boost doxygen gperf pkgconfig librevenge libxml2 perl ];
meta = with stdenv.lib; {

View File

@ -16,7 +16,8 @@ stdenv.mkDerivation rec {
] else null;
postInstall = ''
sed -i s/-lncurses/-lncursesw/g $out/lib/pkgconfig/libedit.pc
find $out/lib -type f | grep '\.\(la\|pc\)''$' | xargs sed -i \
-e 's,-lncurses[a-z]*,-L${ncurses}/lib -lncursesw,g'
'';
configureFlags = [ "--enable-widec" ];

View File

@ -0,0 +1,18 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "libhangul-0.1.0";
src = fetchurl {
url = "https://libhangul.googlecode.com/files/libhangul-0.1.0.tar.gz";
sha256 = "0ni9b0v70wkm0116na7ghv03pgxsfpfszhgyj3hld3bxamfal1ar";
};
meta = with stdenv.lib; {
description = "Core algorithm library for Korean input routines";
homepage = https://code.google.com/p/libhangul;
license = licenses.lgpl21;
maintainers = [ maintainers.ianwookim ];
platforms = platforms.linux;
};
}

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl, libibumad }:
stdenv.mkDerivation rec {
name = "libibmad-1.3.11";
name = "libibmad-1.3.12";
src = fetchurl {
url = "https://www.openfabrics.org/downloads/management/${name}.tar.gz";
sha256 = "1d5lh2lhz7zzs7bbjjv9i0pj3v1xgp8sdmcr425h563v2c3bp53h";
sha256 = "0ywkz0rskci414r6h6jd4iz4qjbj37ga2k91z1mlj9xrnl9bbgzi";
};
buildInputs = [ libibumad ];

View File

@ -1,11 +1,11 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "libibumad-1.3.9";
name = "libibumad-1.3.10.2";
src = fetchurl {
url = "https://www.openfabrics.org/downloads/management/${name}.tar.gz";
sha256 = "0j52aiwfgasf7bzx65svd5h2ya7848c5racf191i8irsxa155q74";
sha256 = "0bkygb3lbpaj6s4vsyixybrrkcnilbijv4ga5p1xdwyr3gip83sh";
};
meta = with stdenv.lib; {

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