Merge branch 'master' into staging
This commit is contained in:
commit
fa2e5b25ba
@ -29,8 +29,8 @@ rec {
|
||||
|
||||
For another application, see build-support/vm, where this
|
||||
function is used to build arbitrary derivations inside a QEMU
|
||||
virtual machine. */
|
||||
|
||||
virtual machine.
|
||||
*/
|
||||
overrideDerivation = drv: f:
|
||||
let
|
||||
newDrv = derivation (drv.drvAttrs // (f drv));
|
||||
@ -56,18 +56,17 @@ rec {
|
||||
makeOverridable = f: origArgs:
|
||||
let
|
||||
ff = f origArgs;
|
||||
overrideWith = newArgs: origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs);
|
||||
in
|
||||
if builtins.isAttrs ff then (ff //
|
||||
{ override = newArgs:
|
||||
makeOverridable f (origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs));
|
||||
{ override = newArgs: makeOverridable f (overrideWith newArgs);
|
||||
deepOverride = newArgs:
|
||||
makeOverridable f (lib.overrideExisting (lib.mapAttrs (deepOverrider newArgs) origArgs) newArgs);
|
||||
overrideDerivation = fdrv:
|
||||
makeOverridable (args: overrideDerivation (f args) fdrv) origArgs;
|
||||
})
|
||||
else if builtins.isFunction ff then
|
||||
{ override = newArgs:
|
||||
makeOverridable f (origArgs // (if builtins.isFunction newArgs then newArgs origArgs else newArgs));
|
||||
{ override = newArgs: makeOverridable f (overrideWith newArgs);
|
||||
__functor = self: ff;
|
||||
deepOverride = throw "deepOverride not yet supported for functors";
|
||||
overrideDerivation = throw "overrideDerivation not yet supported for functors";
|
||||
@ -102,8 +101,10 @@ rec {
|
||||
};
|
||||
*/
|
||||
callPackageWith = autoArgs: fn: args:
|
||||
let f = if builtins.isFunction fn then fn else import fn; in
|
||||
makeOverridable f ((builtins.intersectAttrs (builtins.functionArgs f) autoArgs) // args);
|
||||
let
|
||||
f = if builtins.isFunction fn then fn else import fn;
|
||||
auto = builtins.intersectAttrs (builtins.functionArgs f) autoArgs;
|
||||
in makeOverridable f (auto // args);
|
||||
|
||||
|
||||
/* Add attributes to each output of a derivation without changing the derivation itself */
|
||||
|
@ -13,10 +13,11 @@ rec {
|
||||
|
||||
addErrorContextToAttrs = lib.mapAttrs (a: v: lib.addErrorContext "while evaluating ${a}" v);
|
||||
|
||||
traceIf = p: msg: x: if p then trace msg x else x;
|
||||
|
||||
traceVal = x: builtins.trace x x;
|
||||
traceXMLVal = x: builtins.trace (builtins.toXML x) x;
|
||||
traceXMLValMarked = str: x: builtins.trace (str + builtins.toXML x) x;
|
||||
traceVal = x: trace x x;
|
||||
traceXMLVal = x: trace (builtins.toXML x) x;
|
||||
traceXMLValMarked = str: x: trace (str + builtins.toXML x) x;
|
||||
|
||||
# this can help debug your code as well - designed to not produce thousands of lines
|
||||
traceShowVal = x : trace (showVal x) x;
|
||||
@ -42,6 +43,7 @@ rec {
|
||||
traceCall2 = n : f : a : b : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b));
|
||||
traceCall3 = n : f : a : b : c : let t = n2 : x : traceShowValMarked "${n} ${n2}:" x; in t "result" (f (t "arg 1" a) (t "arg 2" b) (t "arg 3" c));
|
||||
|
||||
# FIXME: rename this?
|
||||
traceValIfNot = c: x:
|
||||
if c x then true else trace (showVal x) false;
|
||||
|
||||
@ -106,6 +108,6 @@ rec {
|
||||
)
|
||||
else
|
||||
let r = strict expr;
|
||||
in builtins.trace "${str}\n result:\n${builtins.toXML r}" r
|
||||
in trace "${str}\n result:\n${builtins.toXML r}" r
|
||||
);
|
||||
}
|
||||
|
@ -5,6 +5,7 @@
|
||||
alphabetically sorted. */
|
||||
|
||||
_1126 = "Christian Lask <mail@elfsechsundzwanzig.de>";
|
||||
abaldeau = "Andreas Baldeau <andreas@baldeau.net>";
|
||||
abbradar = "Nikolay Amiantov <ab@fmap.me>";
|
||||
aforemny = "Alexander Foremny <alexanderforemny@googlemail.com>";
|
||||
aherrmann = "Andreas Herrmann <andreash87@gmx.ch>";
|
||||
|
@ -23,9 +23,9 @@ in
|
||||
boot.kernelParams = [ "console=ttyS0" ];
|
||||
|
||||
boot.initrd.extraUtilsCommands = ''
|
||||
cp -v ${pkgs.gawk}/bin/gawk $out/bin/gawk
|
||||
cp -v ${pkgs.gnused}/bin/sed $out/bin/gnused
|
||||
cp -v ${pkgs.utillinux}/sbin/sfdisk $out/bin/sfdisk
|
||||
copy_bin_and_libs ${pkgs.gawk}/bin/gawk
|
||||
copy_bin_and_libs ${pkgs.gnused}/bin/sed
|
||||
copy_bin_and_libs ${pkgs.utillinux}/sbin/sfdisk
|
||||
cp -v ${growpart} $out/bin/growpart
|
||||
'';
|
||||
boot.initrd.postDeviceCommands = ''
|
||||
|
@ -56,17 +56,28 @@ let
|
||||
echo "timeout 5" >> $out/loader/loader.conf
|
||||
'';
|
||||
|
||||
efiImg = pkgs.runCommand "efi-image_eltorito" { buildInputs = [ pkgs.mtools ]; }
|
||||
efiImg = pkgs.runCommand "efi-image_eltorito" { buildInputs = [ pkgs.mtools pkgs.libfaketime ]; }
|
||||
# Be careful about determinism: du --apparent-size,
|
||||
# dates (cp -p, touch, mcopy -m, faketime for label), IDs (mkfs.vfat -i)
|
||||
''
|
||||
#Let's hope 15M is enough
|
||||
dd bs=2048 count=7680 if=/dev/zero of="$out"
|
||||
${pkgs.dosfstools}/sbin/mkfs.vfat "$out"
|
||||
mcopy -svi "$out" ${efiDir}/* ::
|
||||
mmd -i "$out" boot
|
||||
mcopy -v -i "$out" \
|
||||
${config.boot.kernelPackages.kernel}/bzImage ::boot/bzImage
|
||||
mcopy -v -i "$out" \
|
||||
${config.system.build.initialRamdisk}/initrd ::boot/initrd
|
||||
mkdir ./contents && cd ./contents
|
||||
cp -rp "${efiDir}"/* .
|
||||
mkdir ./boot
|
||||
cp -p "${config.boot.kernelPackages.kernel}/bzImage" \
|
||||
"${config.system.build.initialRamdisk}/initrd" ./boot/
|
||||
touch --date=@0 ./*
|
||||
|
||||
usage_size=$(du -sb --apparent-size . | tr -cd '[:digit:]')
|
||||
# Make the image 110% as big as the files need to make up for FAT overhead
|
||||
image_size=$(( ($usage_size * 110) / 100 ))
|
||||
# Make the image fit blocks of 1M
|
||||
block_size=$((1024*1024))
|
||||
image_size=$(( ($image_size / $block_size + 1) * $block_size ))
|
||||
echo "Usage size: $usage_size"
|
||||
echo "Image size: $image_size"
|
||||
truncate --size=$image_size "$out"
|
||||
${pkgs.libfaketime}/bin/faketime "2000-01-01 00:00:00" ${pkgs.dosfstools}/sbin/mkfs.vfat -i 12345678 -n EFIBOOT "$out"
|
||||
mcopy -bpsvm -i "$out" ./* ::
|
||||
''; # */
|
||||
|
||||
targetArch = if pkgs.stdenv.isi686 then
|
||||
@ -155,7 +166,6 @@ in
|
||||
|
||||
};
|
||||
|
||||
|
||||
config = {
|
||||
|
||||
boot.loader.grub.version = 2;
|
||||
|
@ -98,7 +98,7 @@ in
|
||||
|
||||
boot.initrd.extraUtilsCommands =
|
||||
''
|
||||
cp ${pkgs.utillinux}/sbin/hwclock $out/bin
|
||||
copy_bin_and_libs ${pkgs.utillinux}/sbin/hwclock
|
||||
'';
|
||||
|
||||
boot.initrd.postDeviceCommands =
|
||||
|
@ -10,8 +10,6 @@ let
|
||||
|
||||
is55 = mysql.mysqlVersion == "5.5";
|
||||
|
||||
mysqldDir = if is55 then "${mysql}/bin" else "${mysql}/libexec";
|
||||
|
||||
pidFile = "${cfg.pidDir}/mysqld.pid";
|
||||
|
||||
mysqldOptions =
|
||||
@ -182,7 +180,7 @@ in
|
||||
chown -R ${cfg.user} ${cfg.pidDir}
|
||||
'';
|
||||
|
||||
serviceConfig.ExecStart = "${mysqldDir}/mysqld --defaults-extra-file=${myCnf} ${mysqldOptions}";
|
||||
serviceConfig.ExecStart = "${mysql}/bin/mysqld --defaults-extra-file=${myCnf} ${mysqldOptions}";
|
||||
|
||||
postStart =
|
||||
''
|
||||
|
@ -28,6 +28,7 @@ let
|
||||
# Perform substitutions in all udev rules files.
|
||||
udevRules = stdenv.mkDerivation {
|
||||
name = "udev-rules";
|
||||
preferLocalBuild = true;
|
||||
buildCommand = ''
|
||||
mkdir -p $out
|
||||
shopt -s nullglob
|
||||
|
@ -9,12 +9,6 @@ let
|
||||
|
||||
nssModulesPath = config.system.nssModules.path;
|
||||
|
||||
permitRootLoginCheck = v:
|
||||
v == "yes" ||
|
||||
v == "without-password" ||
|
||||
v == "forced-commands-only" ||
|
||||
v == "no";
|
||||
|
||||
knownHosts = map (h: getAttr h cfg.knownHosts) (attrNames cfg.knownHosts);
|
||||
|
||||
knownHostsText = flip (concatMapStringsSep "\n") knownHosts
|
||||
@ -116,12 +110,9 @@ in
|
||||
|
||||
permitRootLogin = mkOption {
|
||||
default = "without-password";
|
||||
type = types.addCheck types.str permitRootLoginCheck;
|
||||
type = types.enum ["yes" "without-password" "forced-commands-only" "no"];
|
||||
description = ''
|
||||
Whether the root user can login using ssh. Valid values are
|
||||
<literal>yes</literal>, <literal>without-password</literal>,
|
||||
<literal>forced-commands-only</literal> or
|
||||
<literal>no</literal>.
|
||||
Whether the root user can login using ssh.
|
||||
'';
|
||||
};
|
||||
|
||||
|
@ -405,29 +405,19 @@ in
|
||||
|
||||
# copy the cryptsetup binary and it's dependencies
|
||||
boot.initrd.extraUtilsCommands = ''
|
||||
cp -pdv ${pkgs.cryptsetup}/sbin/cryptsetup $out/bin
|
||||
|
||||
cp -pdv ${pkgs.libgcrypt}/lib/libgcrypt*.so.* $out/lib
|
||||
cp -pdv ${pkgs.libgpgerror}/lib/libgpg-error*.so.* $out/lib
|
||||
cp -pdv ${pkgs.cryptsetup}/lib/libcryptsetup*.so.* $out/lib
|
||||
cp -pdv ${pkgs.popt}/lib/libpopt*.so.* $out/lib
|
||||
copy_bin_and_libs ${pkgs.cryptsetup}/bin/cryptsetup
|
||||
|
||||
${optionalString luks.yubikeySupport ''
|
||||
cp -pdv ${pkgs.ykpers}/bin/ykchalresp $out/bin
|
||||
cp -pdv ${pkgs.ykpers}/bin/ykinfo $out/bin
|
||||
cp -pdv ${pkgs.openssl}/bin/openssl $out/bin
|
||||
copy_bin_and_libs ${pkgs.ykpers}/bin/ykchalresp
|
||||
copy_bin_and_libs ${pkgs.ykpers}/bin/ykinfo
|
||||
copy_bin_and_libs ${pkgs.openssl}/bin/openssl
|
||||
|
||||
cc -O3 -I${pkgs.openssl}/include -L${pkgs.openssl}/lib ${./pbkdf2-sha512.c} -o $out/bin/pbkdf2-sha512 -lcrypto
|
||||
strip -s $out/bin/pbkdf2-sha512
|
||||
cc -O3 -I${pkgs.openssl}/include -L${pkgs.openssl}/lib ${./pbkdf2-sha512.c} -o pbkdf2-sha512 -lcrypto
|
||||
strip -s pbkdf2-sha512
|
||||
copy_bin_and_libs pbkdf2-sha512
|
||||
|
||||
cp -pdv ${pkgs.libusb1}/lib/libusb*.so.* $out/lib
|
||||
cp -pdv ${pkgs.ykpers}/lib/libykpers*.so.* $out/lib
|
||||
cp -pdv ${pkgs.libyubikey}/lib/libyubikey*.so.* $out/lib
|
||||
cp -pdv ${pkgs.openssl}/lib/libssl*.so.* $out/lib
|
||||
cp -pdv ${pkgs.openssl}/lib/libcrypto*.so.* $out/lib
|
||||
|
||||
mkdir -p $out/etc/ssl
|
||||
cp -pdv ${pkgs.openssl}/etc/ssl/openssl.cnf $out/etc/ssl
|
||||
mkdir -p $out/etc/ssl
|
||||
cp -pdv ${pkgs.openssl}/etc/ssl/openssl.cnf $out/etc/ssl
|
||||
|
||||
cat > $out/bin/openssl-wrap <<EOF
|
||||
#!$out/bin/sh
|
||||
|
@ -39,42 +39,52 @@ let
|
||||
mkdir -p $out/bin $out/lib
|
||||
ln -s $out/bin $out/sbin
|
||||
|
||||
# Copy what we need from Glibc.
|
||||
# Copy ld manually since it isn't detected correctly
|
||||
cp -pv ${pkgs.glibc}/lib/ld*.so.? $out/lib
|
||||
cp -pv ${pkgs.glibc}/lib/libc.so.* $out/lib
|
||||
cp -pv ${pkgs.glibc}/lib/libm.so.* $out/lib
|
||||
cp -pv ${pkgs.glibc}/lib/libpthread.so.* $out/lib
|
||||
cp -pv ${pkgs.glibc}/lib/librt.so.* $out/lib
|
||||
cp -pv ${pkgs.glibc}/lib/libdl.so.* $out/lib
|
||||
cp -pv ${pkgs.gcc.cc}/lib*/libgcc_s.so.* $out/lib
|
||||
|
||||
copy_bin_and_libs () {
|
||||
[ -f "$out/bin/$(basename $1)" ] && return 0
|
||||
cp -pdv $1 $out/bin
|
||||
LDD="$(ldd $1)" || return 0
|
||||
LIBS="$(echo "$LDD" | awk '{print $3}' | sed '/^$/d')"
|
||||
for LIB in $LIBS; do
|
||||
[ ! -f "$out/lib/$(basename $LIB)" ] && cp -pdv $LIB $out/lib
|
||||
while [ "$(readlink $LIB)" != "" ]; do
|
||||
LINK="$(readlink $LIB)"
|
||||
if [ "${LINK:0:1}" != "/" ]; then
|
||||
LINK="$(dirname $LIB)/$LINK"
|
||||
fi
|
||||
LIB="$LINK"
|
||||
[ ! -f "$out/lib/$(basename $LIB)" ] && cp -pdv $LIB $out/lib
|
||||
done
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
# Copy BusyBox.
|
||||
cp -pvd ${pkgs.busybox}/bin/* ${pkgs.busybox}/sbin/* $out/bin/
|
||||
for BIN in ${pkgs.busybox}/{s,}bin/*; do
|
||||
copy_bin_and_libs $BIN
|
||||
done
|
||||
|
||||
# Copy some utillinux stuff.
|
||||
cp -vf --remove-destination ${pkgs.utillinux}/sbin/blkid $out/bin
|
||||
cp -pdv ${pkgs.utillinux}/lib/libblkid*.so.* $out/lib
|
||||
cp -pdv ${pkgs.utillinux}/lib/libuuid*.so.* $out/lib
|
||||
copy_bin_and_libs ${pkgs.utillinux}/sbin/blkid
|
||||
|
||||
# Copy dmsetup and lvm.
|
||||
cp -v ${pkgs.lvm2}/sbin/dmsetup $out/bin/dmsetup
|
||||
cp -v ${pkgs.lvm2}/sbin/lvm $out/bin/lvm
|
||||
cp -v ${pkgs.lvm2}/lib/libdevmapper.so.*.* $out/lib
|
||||
cp -v ${pkgs.systemd}/lib/libsystemd.so.* $out/lib
|
||||
copy_bin_and_libs ${pkgs.lvm2}/sbin/dmsetup
|
||||
copy_bin_and_libs ${pkgs.lvm2}/sbin/lvm
|
||||
|
||||
# Add RAID mdadm tool.
|
||||
cp -v ${pkgs.mdadm}/sbin/mdadm $out/bin/mdadm
|
||||
copy_bin_and_libs ${pkgs.mdadm}/sbin/mdadm
|
||||
|
||||
# Copy udev.
|
||||
cp -v ${udev}/lib/systemd/systemd-udevd ${udev}/bin/udevadm $out/bin
|
||||
cp -v ${udev}/lib/udev/*_id $out/bin
|
||||
cp -pdv ${udev}/lib/libudev.so.* $out/lib
|
||||
cp -v ${pkgs.kmod}/lib/libkmod.so.* $out/lib
|
||||
cp -v ${pkgs.acl}/lib/libacl.so.* $out/lib
|
||||
cp -v ${pkgs.attr}/lib/libattr.so.* $out/lib
|
||||
copy_bin_and_libs ${udev}/lib/systemd/systemd-udevd
|
||||
copy_bin_and_libs ${udev}/bin/udevadm
|
||||
for BIN in ${udev}/lib/udev/*_id; do
|
||||
copy_bin_and_libs $BIN
|
||||
done
|
||||
|
||||
# Copy modprobe.
|
||||
cp -v ${pkgs.kmod}/bin/kmod $out/bin/
|
||||
copy_bin_and_libs ${pkgs.kmod}/bin/kmod
|
||||
ln -sf kmod $out/bin/modprobe
|
||||
|
||||
${config.boot.initrd.extraUtilsCommands}
|
||||
@ -101,6 +111,7 @@ let
|
||||
$out/bin/ash -c 'echo hello world' | grep "hello world"
|
||||
export LD_LIBRARY_PATH=$out/lib
|
||||
$out/bin/mount --help 2>&1 | grep "BusyBox"
|
||||
$out/bin/blkid >/dev/null
|
||||
$out/bin/udevadm --version
|
||||
$out/bin/dmsetup --version 2>&1 | tee -a log | grep "version:"
|
||||
LVM_SYSTEM_DIR=$out $out/bin/lvm version 2>&1 | tee -a log | grep "LVM"
|
||||
|
@ -17,13 +17,9 @@ in
|
||||
|
||||
boot.initrd.extraUtilsCommands = mkIf inInitrd
|
||||
''
|
||||
mkdir -p $out/bin
|
||||
cp -v ${pkgs.btrfsProgs}/bin/btrfs $out/bin
|
||||
copy_bin_and_libs ${pkgs.btrfsProgs}/bin/btrfs
|
||||
ln -sv btrfs $out/bin/btrfsck
|
||||
ln -sv btrfsck $out/bin/fsck.btrfs
|
||||
# !!! Increases uncompressed initrd by 240k
|
||||
cp -pv ${pkgs.zlib}/lib/libz.so* $out/lib
|
||||
cp -pv ${pkgs.lzo}/lib/liblzo2.so* $out/lib
|
||||
'';
|
||||
|
||||
boot.initrd.extraUtilsCommandsTest = mkIf inInitrd
|
||||
|
@ -18,7 +18,7 @@ in
|
||||
|
||||
boot.initrd.extraUtilsCommands = mkIf inInitrd
|
||||
''
|
||||
cp -v ${pkgs.cifs_utils}/sbin/mount.cifs $out/bin
|
||||
copy_bin_and_libs ${pkgs.cifs_utils}/sbin/mount.cifs
|
||||
'';
|
||||
|
||||
};
|
||||
|
@ -10,12 +10,11 @@
|
||||
boot.initrd.extraUtilsCommands =
|
||||
''
|
||||
# Copy e2fsck and friends.
|
||||
cp -v ${pkgs.e2fsprogs}/sbin/e2fsck $out/bin
|
||||
cp -v ${pkgs.e2fsprogs}/sbin/tune2fs $out/bin
|
||||
copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/e2fsck
|
||||
copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/tune2fs
|
||||
ln -sv e2fsck $out/bin/fsck.ext2
|
||||
ln -sv e2fsck $out/bin/fsck.ext3
|
||||
ln -sv e2fsck $out/bin/fsck.ext4
|
||||
cp -pdv ${pkgs.e2fsprogs}/lib/lib*.so.* $out/lib
|
||||
'';
|
||||
|
||||
};
|
||||
|
@ -13,9 +13,7 @@ in
|
||||
boot.initrd.availableKernelModules = mkIf inInitrd [ "f2fs" ];
|
||||
|
||||
boot.initrd.extraUtilsCommands = mkIf inInitrd ''
|
||||
mkdir -p $out/bin $out/lib
|
||||
cp -v ${pkgs.f2fs-tools}/sbin/fsck.f2fs $out/bin
|
||||
cp -pdv ${pkgs.f2fs-tools}/lib/lib*.so.* $out/lib
|
||||
copy_bin_and_libs ${pkgs.f2fs-tools}/sbin/fsck.f2fs
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ in
|
||||
boot.initrd.kernelModules = mkIf inInitrd [ "jfs" ];
|
||||
|
||||
boot.initrd.extraUtilsCommands = mkIf inInitrd ''
|
||||
cp -v ${pkgs.jfsutils}/sbin/fsck.jfs "$out/bin/"
|
||||
copy_bin_and_libs ${pkgs.jfsutils}/sbin/fsck.jfs
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
@ -17,8 +17,8 @@ in
|
||||
|
||||
boot.initrd.extraUtilsCommands = mkIf inInitrd
|
||||
''
|
||||
cp -v ${pkgs.reiserfsprogs}/sbin/reiserfsck $out/bin
|
||||
ln -sv reiserfsck $out/bin/fsck.reiserfs
|
||||
copy_bin_and_libs ${pkgs.reiserfsprogs}/sbin/reiserfsck
|
||||
ln -s reiserfsck $out/bin/fsck.reiserfs
|
||||
'';
|
||||
|
||||
};
|
||||
|
@ -7,9 +7,8 @@
|
||||
boot.initrd.kernelModules = [ "fuse" ];
|
||||
|
||||
boot.initrd.extraUtilsCommands = ''
|
||||
cp -v ${pkgs.fuse}/lib/libfuse* $out/lib
|
||||
cp -v ${pkgs.fuse}/sbin/mount.fuse $out/bin
|
||||
cp -v ${pkgs.unionfs-fuse}/bin/unionfs $out/bin
|
||||
copy_bin_and_libs ${pkgs.fuse}/sbin/mount.fuse
|
||||
copy_bin_and_libs ${pkgs.unionfs-fuse}/bin/unionfs
|
||||
substitute ${pkgs.unionfs-fuse}/sbin/mount.unionfs-fuse $out/bin/mount.unionfs-fuse \
|
||||
--replace '${pkgs.bash}/bin/bash' /bin/sh \
|
||||
--replace '${pkgs.fuse}/sbin' /bin \
|
||||
|
@ -17,7 +17,7 @@ in
|
||||
|
||||
boot.initrd.extraUtilsCommands = mkIf inInitrd
|
||||
''
|
||||
cp -v ${pkgs.dosfstools}/sbin/dosfsck $out/bin
|
||||
copy_bin_and_libs ${pkgs.dosfstools}/sbin/dosfsck
|
||||
ln -sv dosfsck $out/bin/fsck.vfat
|
||||
'';
|
||||
|
||||
|
@ -17,7 +17,7 @@ in
|
||||
|
||||
boot.initrd.extraUtilsCommands = mkIf inInitrd
|
||||
''
|
||||
cp -v ${pkgs.xfsprogs}/sbin/fsck.xfs $out/bin
|
||||
copy_bin_and_libs ${pkgs.xfsprogs}/sbin/fsck.xfs
|
||||
'';
|
||||
|
||||
# Trick just to set 'sh' after the extraUtils nuke-refs.
|
||||
|
@ -203,11 +203,14 @@ in
|
||||
kernelModules = [ "spl" "zfs" ];
|
||||
extraUtilsCommands =
|
||||
''
|
||||
cp -v ${zfsUserPkg}/sbin/zfs $out/bin
|
||||
cp -v ${zfsUserPkg}/sbin/zdb $out/bin
|
||||
cp -v ${zfsUserPkg}/sbin/zpool $out/bin
|
||||
cp -pdv ${zfsUserPkg}/lib/lib*.so* $out/lib
|
||||
cp -pdv ${pkgs.zlib}/lib/lib*.so* $out/lib
|
||||
copy_bin_and_libs ${zfsUserPkg}/sbin/zfs
|
||||
copy_bin_and_libs ${zfsUserPkg}/sbin/zdb
|
||||
copy_bin_and_libs ${zfsUserPkg}/sbin/zpool
|
||||
'';
|
||||
extraUtilsCommandsTest = mkIf inInitrd
|
||||
''
|
||||
$out/bin/zfs --help >/dev/null 2>&1
|
||||
$out/bin/zpool --help >/dev/null 2>&1
|
||||
'';
|
||||
postDeviceCommands = concatStringsSep "\n" ([''
|
||||
ZFS_FORCE="${optionalString cfgZfs.forceImportRoot "-f"}"
|
||||
|
@ -165,7 +165,7 @@ in
|
||||
boot.initrd.extraUtilsCommands =
|
||||
''
|
||||
# We need swapon in the initrd.
|
||||
cp --remove-destination ${pkgs.utillinux}/sbin/swapon $out/bin
|
||||
copy_bin_and_libs ${pkgs.utillinux}/sbin/swapon
|
||||
'';
|
||||
|
||||
# Don't put old configurations in the GRUB menu. The user has no
|
||||
|
@ -346,7 +346,7 @@ in
|
||||
boot.initrd.extraUtilsCommands =
|
||||
''
|
||||
# We need mke2fs in the initrd.
|
||||
cp -vf --remove-destination ${pkgs.e2fsprogs}/sbin/mke2fs $out/bin
|
||||
copy_bin_and_libs ${pkgs.e2fsprogs}/sbin/mke2fs
|
||||
'';
|
||||
|
||||
boot.initrd.postDeviceCommands =
|
||||
|
@ -39,9 +39,8 @@ import ./make-test.nix ({ pkgs, ... }: with pkgs.lib; let
|
||||
];
|
||||
|
||||
boot.initrd.extraUtilsCommands = ''
|
||||
cp -av -t "$out/bin/" \
|
||||
"${pkgs.linuxPackages.virtualboxGuestAdditions}/sbin/mount.vboxsf" \
|
||||
"${pkgs.utillinux}/bin/unshare"
|
||||
copy_bin_and_libs "${pkgs.linuxPackages.virtualboxGuestAdditions}/sbin/mount.vboxsf"
|
||||
copy_bin_and_libs "${pkgs.utillinux}/bin/unshare"
|
||||
${(attrs.extraUtilsCommands or (const "")) pkgs}
|
||||
'';
|
||||
|
||||
|
@ -4,15 +4,15 @@
|
||||
}:
|
||||
|
||||
let
|
||||
ver_branch = "1.13";
|
||||
version = "1.13.1";
|
||||
ver_branch = "1.14";
|
||||
version = "1.14.0";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "lightdm-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz";
|
||||
sha256 = "0xa23maq6phkfil8xx26viig2m99sbzcf1w7s56hns2qw6pycn79";
|
||||
sha256 = "0fkbzqncx34dhylrg5328fih7xywmsqj2p40smnx33nyf047jdgc";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -160,6 +160,23 @@ let
|
||||
};
|
||||
});
|
||||
|
||||
buildWebStorm = { name, version, build, src, license, description }:
|
||||
(mkIdeaProduct {
|
||||
inherit name version build src;
|
||||
product = "WebStorm";
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "https://www.jetbrains.com/webstorm/";
|
||||
inherit description license;
|
||||
longDescription = ''
|
||||
WebStorm provides an editor for HTML, JavaScript (incl. Node.js),
|
||||
and CSS with on-the-fly code analysis, error prevention and
|
||||
automated refactorings for JavaScript code.
|
||||
'';
|
||||
maintainers = with maintainers; [ abaldeau ];
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
});
|
||||
|
||||
buildPycharm = { name, version, build, src, license, description }:
|
||||
(mkIdeaProduct rec {
|
||||
inherit name version build src;
|
||||
@ -288,4 +305,16 @@ in
|
||||
};
|
||||
};
|
||||
|
||||
webstorm = buildWebStorm rec {
|
||||
name = "webstorm-${version}";
|
||||
version = "9.0.3";
|
||||
build = "139.1112";
|
||||
description = "Professional IDE for Web and JavaScript devlopment";
|
||||
license = stdenv.lib.licenses.unfree;
|
||||
src = fetchurl {
|
||||
url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
|
||||
sha256 = "e4cfe7b5f1220b68d880c4f236df9c9df2b1efcc04775afad6149d949f45f0aa";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ stdenv, fetchurl, makeWrapper, unzip, jre }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "yEd-3.14";
|
||||
name = "yEd-3.14.1";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.yworks.com/products/yed/demo/${name}.zip";
|
||||
sha256 = "147bb081b063abee202a0019597ac960273454046afb29ebbe91e62102dd0471";
|
||||
sha256 = "09zik3pjs5x0vc0jvndm762blk85y44lxac3vdfqqbinwd9gfnm2";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ unzip makeWrapper ];
|
||||
|
@ -8,7 +8,11 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "1hmadwqfpg15vhwq9pa1sl5xslibrjpk6hpq2s9hfmx1s5l6ihfw";
|
||||
};
|
||||
|
||||
preConfigure = ''export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:"`pwd`/build/src'';
|
||||
preConfigure = if stdenv.isDarwin then ''
|
||||
export DYLD_LIBRARY_PATH="$DYLD_LIBRARY_PATH:"`pwd`/build/src
|
||||
'' else ''
|
||||
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:"`pwd`/build/src
|
||||
'';
|
||||
|
||||
buildInputs = [ cmake ];
|
||||
|
||||
|
@ -4,9 +4,9 @@ stdenv.mkDerivation {
|
||||
name = "urxvt-perls";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/muennich/urxvt-perls";
|
||||
rev = "4dec629b3631297d17855c35be1b723e2d9e7591";
|
||||
sha256 = "c61bc8819b4e6655ed4a3ce3b347cb6dbebcb484d5d3973cbe9aa7f2c98d372f";
|
||||
url = "git://github.com/muennich/urxvt-perls";
|
||||
rev = "e4dbde31edd19e2f4c2b6c91117ee91e2f83ddd7";
|
||||
sha256 = "1f8a27c3d54377fdd4ab0be2f4efb8329d4900bb1c792b306dc23b5ee59260b1";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
@ -23,4 +23,4 @@ stdenv.mkDerivation {
|
||||
license = licenses.gpl2;
|
||||
maintainers = maintainers.abbradar;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
28
pkgs/applications/science/logic/lean/default.nix
Normal file
28
pkgs/applications/science/logic/lean/default.nix
Normal file
@ -0,0 +1,28 @@
|
||||
{ stdenv, fetchFromGitHub, cmake, gmp, mpfr, luajit, boost, python
|
||||
, gperftools, ninja }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "lean-20150328";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "leanprover";
|
||||
repo = "lean";
|
||||
rev = "1b15036dba469020d37f7d6b77b88974d8a36cb1";
|
||||
sha256 = "0w38g83gp7d3ybfiz9jpl2jz3ljad70bxmar0dnnv45wx42clg96";
|
||||
};
|
||||
|
||||
buildInputs = [ gmp mpfr luajit boost cmake python gperftools ninja ];
|
||||
enableParallelBuilding = true;
|
||||
|
||||
preConfigure = "cd src";
|
||||
|
||||
cmakeFlags = [ "-DCMAKE_BUILD_TYPE=Release" ];
|
||||
|
||||
meta = {
|
||||
description = "Automatic and interactive theorem prover";
|
||||
homepage = "http://leanprover.github.io";
|
||||
license = stdenv.lib.licenses.asl20;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
|
||||
};
|
||||
}
|
@ -1,24 +1,20 @@
|
||||
{ stdenv, fetchurl, python, unzip }:
|
||||
{ stdenv, fetchFromGitHub, python }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "z3-${version}";
|
||||
version = "4.3.2";
|
||||
src = fetchurl {
|
||||
url = "http://download-codeplex.sec.s-msft.com/Download/SourceControlFileDownload.ashx\?ProjectName\=z3\&changeSetId\=cee7dd39444c9060186df79c2a2c7f8845de415b";
|
||||
name = "${name}.zip";
|
||||
sha256 = "0hagy7xm0m52jd6vlrbizkj24mn6c49hkb3r5p66wilvp15ivpbn";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "Z3Prover";
|
||||
repo = "z3";
|
||||
rev = "ac21ffebdf1512da2a77dc46c47bde87cc3850f3";
|
||||
sha256 = "1y86akhpy41wx3gx7r8gvf7xbax7dj36ikj6gqh5a7p6r6maz9ci";
|
||||
};
|
||||
|
||||
buildInputs = [ python unzip ];
|
||||
buildInputs = [ python ];
|
||||
enableParallelBuilding = true;
|
||||
|
||||
# The zip file doesn't unpack a directory, just the code itself.
|
||||
unpackPhase = "mkdir ${name} && cd ${name} && unzip $src";
|
||||
|
||||
configurePhase = ''
|
||||
python scripts/mk_make.py --prefix=$out
|
||||
cd build
|
||||
'';
|
||||
configurePhase = "python scripts/mk_make.py --prefix=$out && cd build";
|
||||
|
||||
# z3's install phase is stupid because it tries to calculate the
|
||||
# python package store location itself, meaning it'll attempt to
|
||||
@ -32,12 +28,13 @@ stdenv.mkDerivation rec {
|
||||
cp libz3${soext} $out/lib
|
||||
cp libz3${soext} $out/lib/${python.libPrefix}/site-packages
|
||||
cp z3*.pyc $out/lib/${python.libPrefix}/site-packages
|
||||
cp ../src/api/python/*.py $out/lib/${python.libPrefix}/site-packages
|
||||
'';
|
||||
|
||||
meta = {
|
||||
description = "A high-performance theorem prover and SMT solver";
|
||||
homepage = "http://z3.codeplex.com";
|
||||
license = stdenv.lib.licenses.msrla;
|
||||
homepage = "http://github.com/Z3Prover/z3";
|
||||
license = stdenv.lib.licenses.mit;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
|
||||
};
|
||||
|
@ -1,4 +1,4 @@
|
||||
{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, perl, python3
|
||||
{ stdenv, fetchurl, fetchFromGitHub, pkgconfig, perl, python3, which
|
||||
, libX11, libxcb, qt5, mesa
|
||||
, ffmpeg
|
||||
, libchardet
|
||||
@ -32,13 +32,13 @@ in
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "bomi-${version}";
|
||||
version = "0.9.0";
|
||||
version = "0.9.5";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "xylosper";
|
||||
repo = "bomi";
|
||||
rev = "v${version}";
|
||||
sha256 = "12xyz40kl03h1m8g7d7s0wf74l2c70v6bd1drhww7ky48hxi0z14";
|
||||
sha256 = "1pf82dp7v18yd7knsjl853sfzhq4rqc3sq15jgqiw37096gp0sll";
|
||||
};
|
||||
|
||||
buildInputs = with stdenv.lib;
|
||||
@ -82,7 +82,7 @@ stdenv.mkDerivation rec {
|
||||
++ optional cddaSupport "--enable-cdda"
|
||||
;
|
||||
|
||||
nativeBuildInputs = [ pkgconfig perl ];
|
||||
nativeBuildInputs = [ pkgconfig perl which ];
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
|
@ -43,11 +43,11 @@ let
|
||||
};
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "kodi-" + version;
|
||||
version = "14.1";
|
||||
version = "14.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/xbmc/xbmc/archive/${version}-${rel}.tar.gz";
|
||||
sha256 = "1mjmf8ag8dg5brzxy7cmnz72b1b85p69zr1li28j71fgjbi5k053";
|
||||
sha256 = "1x37l8db6xrvdw933p804lnwvkcm4vdb9gm5i6vmz4ha8f88bjyr";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
|
@ -2,8 +2,9 @@
|
||||
, xlibs, libstartup_notification, libxdg_basedir, libpthreadstubs
|
||||
, xcb-util-cursor, makeWrapper, pango, gobjectIntrospection, unclutter
|
||||
, compton, procps, iproute, coreutils, curl, alsaUtils, findutils, xterm
|
||||
, which, dbus, nettools, git, asciidoc, doxygen, xmlto, docbook_xml_dtd_45
|
||||
, docbook_xsl }:
|
||||
, which, dbus, nettools, git, asciidoc, doxygen
|
||||
#, xmlto, docbook_xml_dtd_45 , docbook_xsl
|
||||
}:
|
||||
|
||||
let
|
||||
version = "3.5.6";
|
||||
@ -54,10 +55,10 @@ stdenv.mkDerivation rec {
|
||||
xlibs.xcbutilkeysyms
|
||||
xlibs.xcbutilrenderutil
|
||||
xlibs.xcbutilwm
|
||||
xmlto docbook_xml_dtd_45 docbook_xsl
|
||||
#xmlto docbook_xml_dtd_45 docbook_xsl
|
||||
];
|
||||
|
||||
cmakeFlags = "-DGENERATE_MANPAGES=ON";
|
||||
#cmakeFlags = "-DGENERATE_MANPAGES=ON";
|
||||
|
||||
LD_LIBRARY_PATH = "${cairo}/lib:${pango}/lib:${gobjectIntrospection}/lib";
|
||||
GI_TYPELIB_PATH = "${pango}/lib/girepository-1.0";
|
||||
|
@ -1,282 +0,0 @@
|
||||
# generic builder for Cabal packages
|
||||
|
||||
{ stdenv, fetchurl, lib, pkgconfig, ghcjs, ghc, Cabal, jailbreakCabal, glibcLocales
|
||||
, gnugrep, coreutils, hscolour # hscolour is unused
|
||||
, enableLibraryProfiling ? false
|
||||
, enableSharedLibraries ? false
|
||||
, enableSharedExecutables ? false
|
||||
, enableStaticLibraries ? true
|
||||
, enableCheckPhase ? true
|
||||
, enableHyperlinkSource ? false
|
||||
, extension ? (self : super : {})
|
||||
}:
|
||||
|
||||
let
|
||||
enableFeature = stdenv.lib.enableFeature;
|
||||
optional = stdenv.lib.optional;
|
||||
optionals = stdenv.lib.optionals;
|
||||
optionalString = stdenv.lib.optionalString;
|
||||
filter = stdenv.lib.filter;
|
||||
|
||||
defaultSetupHs = builtins.toFile "Setup.hs" ''
|
||||
import Distribution.Simple
|
||||
main = defaultMain
|
||||
'';
|
||||
in
|
||||
|
||||
{
|
||||
mkDerivation =
|
||||
args : # arguments for the individual package, can modify the defaults
|
||||
let # These attributes are removed in the end. This is in order not to spoil the build
|
||||
# environment overly, but also to keep hash-backwards-compatible with the old cabal.nix.
|
||||
internalAttrs = [
|
||||
"internalAttrs" "buildDepends" "buildTools" "extraLibraries" "pkgconfigDepends"
|
||||
"isLibrary" "isExecutable" "testDepends"
|
||||
];
|
||||
|
||||
# Stuff happening after the user preferences have been processed. We remove
|
||||
# internal attributes and strip null elements from the dependency lists, all
|
||||
# in the interest of keeping hashes stable.
|
||||
postprocess =
|
||||
x : (removeAttrs x internalAttrs) // {
|
||||
buildInputs = filter (y : ! (y == null)) x.buildInputs;
|
||||
propagatedBuildInputs = filter (y : ! (y == null)) x.propagatedBuildInputs;
|
||||
propagatedUserEnvPkgs = filter (y : ! (y == null)) x.propagatedUserEnvPkgs;
|
||||
doCheck = enableCheckPhase && x.doCheck;
|
||||
hyperlinkSource = enableHyperlinkSource && x.hyperlinkSource;
|
||||
};
|
||||
|
||||
defaults =
|
||||
self : { # self is the final version of the attribute set
|
||||
|
||||
# pname should be defined by the client to be the package basename
|
||||
# version should be defined by the client to be the package version
|
||||
|
||||
# fname is the internal full name of the package
|
||||
fname = "${self.pname}-${self.version}";
|
||||
|
||||
# name is the external full name of the package; usually we prefix
|
||||
# all packages with haskell- to avoid name clashes for libraries;
|
||||
# if that is not desired (for applications), name can be set to
|
||||
# fname.
|
||||
name = if self.isLibrary then
|
||||
if enableLibraryProfiling && self.enableSharedLibraries then
|
||||
"haskell-${self.pname}-ghcjs${ghc.ghc.version}-${self.version}-profiling-shared"
|
||||
else if enableLibraryProfiling && !self.enableSharedLibraries then
|
||||
"haskell-${self.pname}-ghcjs${ghc.ghc.version}-${self.version}-profiling"
|
||||
else if !enableLibraryProfiling && self.enableSharedLibraries then
|
||||
"haskell-${self.pname}-ghcjs${ghc.ghc.version}-${self.version}-shared"
|
||||
else
|
||||
"haskell-${self.pname}-ghcjs${ghc.ghc.version}-${self.version}"
|
||||
else
|
||||
"${self.pname}-${self.version}";
|
||||
|
||||
# the default download location for Cabal packages is Hackage,
|
||||
# you still have to specify the checksum
|
||||
src = fetchurl {
|
||||
url = "mirror://hackage/${self.pname}/${self.fname}.tar.gz";
|
||||
inherit (self) sha256;
|
||||
};
|
||||
|
||||
# default buildInputs are just ghc, if more buildInputs are required
|
||||
# buildInputs can be extended by the client by using extraBuildInputs,
|
||||
# but often propagatedBuildInputs is preferable anyway
|
||||
buildInputs = [ghc ghc.ghc.parent.Cabal_1_22_0_0] ++ self.extraBuildInputs;
|
||||
extraBuildInputs = self.buildTools ++
|
||||
(optionals self.doCheck self.testDepends) ++
|
||||
(if self.pkgconfigDepends == [] then [] else [pkgconfig]) ++
|
||||
(if self.isLibrary then [] else self.buildDepends ++ self.extraLibraries ++ self.pkgconfigDepends);
|
||||
|
||||
# we make sure that propagatedBuildInputs is defined, so that we don't
|
||||
# have to check for its existence
|
||||
propagatedBuildInputs = if self.isLibrary then self.buildDepends ++ self.extraLibraries ++ self.pkgconfigDepends else [];
|
||||
|
||||
# By default, also propagate all dependencies to the user environment. This is required, otherwise packages would be broken, because
|
||||
# GHC also needs all dependencies to be available.
|
||||
propagatedUserEnvPkgs = if self.isLibrary then self.buildDepends else [];
|
||||
|
||||
# library directories that have to be added to the Cabal files
|
||||
extraLibDirs = [];
|
||||
|
||||
# build-depends Cabal field
|
||||
buildDepends = [];
|
||||
|
||||
# target(s) passed to the cabal build phase as an argument
|
||||
buildTarget = "";
|
||||
|
||||
# build-depends Cabal fields stated in test-suite stanzas
|
||||
testDepends = [];
|
||||
|
||||
# target(s) passed to the cabal test phase as an argument
|
||||
testTarget = "";
|
||||
|
||||
# build-tools Cabal field
|
||||
buildTools = [];
|
||||
|
||||
# extra-libraries Cabal field
|
||||
extraLibraries = [];
|
||||
|
||||
# pkgconfig-depends Cabal field
|
||||
pkgconfigDepends = [];
|
||||
|
||||
isLibrary = ! self.isExecutable;
|
||||
isExecutable = false;
|
||||
|
||||
# ignore version restrictions on the build inputs that the cabal file might specify
|
||||
jailbreak = false;
|
||||
|
||||
# pass the '--enable-split-objs' flag to cabal in the configure stage
|
||||
enableSplitObjs = false; # !stdenv.isDarwin; # http://hackage.haskell.org/trac/ghc/ticket/4013
|
||||
|
||||
# pass the '--enable-tests' flag to cabal in the configure stage
|
||||
# and run any regression test suites the package might have
|
||||
doCheck = false; #enableCheckPhase;
|
||||
|
||||
# pass the '--hyperlink-source' flag to ./Setup haddock
|
||||
hyperlinkSource = enableHyperlinkSource;
|
||||
|
||||
# abort the build if the configure phase detects that the package
|
||||
# depends on multiple versions of the same build input
|
||||
strictConfigurePhase = true;
|
||||
|
||||
# pass the '--enable-library-vanilla' flag to cabal in the
|
||||
# configure stage to enable building shared libraries
|
||||
inherit enableStaticLibraries;
|
||||
|
||||
# pass the '--enable-shared' flag to cabal in the configure
|
||||
# stage to enable building shared libraries
|
||||
inherit enableSharedLibraries;
|
||||
|
||||
# pass the '--enable-executable-dynamic' flag to cabal in
|
||||
# the configure stage to enable linking shared libraries
|
||||
inherit enableSharedExecutables;
|
||||
|
||||
extraConfigureFlags = [
|
||||
(enableFeature self.enableSplitObjs "split-objs")
|
||||
(enableFeature enableLibraryProfiling "library-profiling")
|
||||
(enableFeature true "shared")
|
||||
(enableFeature self.enableStaticLibraries "library-vanilla")
|
||||
(enableFeature self.enableSharedExecutables "executable-dynamic")
|
||||
(enableFeature self.doCheck "tests")
|
||||
];
|
||||
|
||||
# GHC needs the locale configured during the Haddock phase.
|
||||
LANG = "en_US.UTF-8";
|
||||
LOCALE_ARCHIVE = optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive";
|
||||
|
||||
# compiles Setup and configures
|
||||
configurePhase = ''
|
||||
eval "$preConfigure"
|
||||
|
||||
${optionalString self.jailbreak "${ghc.ghc.parent.jailbreakCabal}/bin/jailbreak-cabal ${self.pname}.cabal"}
|
||||
|
||||
PATH=$PATH:${ghc.ghc.ghc}/bin
|
||||
|
||||
for i in Setup.hs Setup.lhs ${defaultSetupHs}; do
|
||||
test -f $i && break
|
||||
done
|
||||
ghc --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
|
||||
|
||||
for p in $extraBuildInputs $propagatedBuildInputs $propagatedNativeBuildInputs; do
|
||||
PkgDir="$p/lib/ghcjs-${ghc.ghc.version}_ghc-${ghc.ghc.ghc.version}/package.conf.d"
|
||||
if [ -f "$PkgDir/package.cache" ]; then
|
||||
extraConfigureFlags+=" --package-db=$PkgDir"
|
||||
continue;
|
||||
fi
|
||||
if [ -d "$p/include" ]; then
|
||||
extraConfigureFlags+=" --extra-include-dirs=$p/include"
|
||||
fi
|
||||
for d in lib{,64}; do
|
||||
if [ -d "$p/$d" ]; then
|
||||
extraConfigureFlags+=" --extra-lib-dirs=$p/$d"
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
configureFlags+=" --package-db=${ghc.ghc}/${ghc.ghc.libDir}/package.conf.d"
|
||||
|
||||
${optionalString (self.enableSharedExecutables && self.stdenv.isLinux) ''
|
||||
configureFlags+=" --ghc-option=-optl=-Wl,-rpath=$out/lib/${ghc.ghc.name}/${self.pname}-${self.version}";
|
||||
''}
|
||||
${optionalString (self.enableSharedExecutables && self.stdenv.isDarwin) ''
|
||||
configureFlags+=" --ghc-option=-optl=-Wl,-headerpad_max_install_names";
|
||||
''}
|
||||
|
||||
echo "configure flags: $extraConfigureFlags $configureFlags"
|
||||
./Setup configure --ghcjs --verbose --prefix="$out" --libdir='$prefix/lib/$compiler' \
|
||||
--libsubdir='$pkgid' $extraConfigureFlags $configureFlags 2>&1 \
|
||||
${optionalString self.strictConfigurePhase ''
|
||||
| ${coreutils}/bin/tee "$NIX_BUILD_TOP/cabal-configure.log"
|
||||
if ${gnugrep}/bin/egrep -q '^Warning:.*depends on multiple versions' "$NIX_BUILD_TOP/cabal-configure.log"; then
|
||||
echo >&2 "*** abort because of serious configure-time warning from Cabal"
|
||||
exit 1
|
||||
fi
|
||||
''}
|
||||
|
||||
eval "$postConfigure"
|
||||
'';
|
||||
|
||||
# builds via Cabal
|
||||
buildPhase = ''
|
||||
eval "$preBuild"
|
||||
|
||||
./Setup build ${self.buildTarget}
|
||||
|
||||
export GHC_PACKAGE_PATH=$(${ghc.GHCPackages})
|
||||
#test -n "$noHaddock" || ./Setup haddock --html --hoogle \
|
||||
# ${optionalString self.hyperlinkSource "--hyperlink-source"}
|
||||
|
||||
eval "$postBuild"
|
||||
'';
|
||||
|
||||
checkPhase = optional self.doCheck ''
|
||||
eval "$preCheck"
|
||||
|
||||
./Setup test ${self.testTarget}
|
||||
|
||||
eval "$postCheck"
|
||||
'';
|
||||
|
||||
# installs via Cabal; creates a registration file for nix-support
|
||||
# so that the package can be used in other Haskell-builds; also
|
||||
# adds all propagated build inputs to the user environment packages
|
||||
installPhase = ''
|
||||
eval "$preInstall"
|
||||
|
||||
./Setup copy
|
||||
|
||||
mkdir -p $out/bin # necessary to get it added to PATH
|
||||
|
||||
local confDir=$out/lib/ghcjs-${ghc.ghc.version}_ghc-${ghc.ghc.ghc.version}/package.conf.d
|
||||
local installedPkgConf=$confDir/${self.fname}.installedconf
|
||||
local pkgConf=$confDir/${self.fname}.conf
|
||||
mkdir -p $confDir
|
||||
./Setup register --gen-pkg-config=$pkgConf
|
||||
if test -f $pkgConf; then
|
||||
echo '[]' > $installedPkgConf
|
||||
GHC_PACKAGE_PATH=$installedPkgConf ghcjs-pkg --global register $pkgConf --force --package-db=$confDir || true
|
||||
ghcjs-pkg recache --package-db=$confDir
|
||||
fi
|
||||
|
||||
if test -f $out/nix-support/propagated-native-build-inputs; then
|
||||
ln -s $out/nix-support/propagated-native-build-inputs $out/nix-support/propagated-user-env-packages
|
||||
fi
|
||||
|
||||
${optionalString (self.enableSharedExecutables && self.isExecutable && self.stdenv.isDarwin) ''
|
||||
for exe in $out/bin/* ; do
|
||||
install_name_tool -add_rpath $out/lib/${ghc.ghc.name}/${self.pname}-${self.version} $exe || true # Ignore failures, which seem to be due to hitting bash scripts rather than binaries
|
||||
done
|
||||
''}
|
||||
|
||||
eval "$postInstall"
|
||||
'';
|
||||
|
||||
# We inherit stdenv and ghc so that they can be used
|
||||
# in Cabal derivations.
|
||||
inherit stdenv ghc;
|
||||
};
|
||||
in
|
||||
stdenv.mkDerivation (postprocess (let super = defaults self // args self;
|
||||
self = super // extension self super;
|
||||
in self));
|
||||
}
|
@ -211,7 +211,7 @@ stdenv.mkDerivation {
|
||||
''
|
||||
|
||||
+ optionalString cc.langGo or false ''
|
||||
wrap ccgo ${./cc-wrapper.sh} $ccPath/gccgo
|
||||
wrap gccgo ${./cc-wrapper.sh} $ccPath/gccgo
|
||||
''
|
||||
|
||||
+ optionalString cc.langAda or false ''
|
||||
|
10
pkgs/build-support/fetchgitlocal/default.nix
Normal file
10
pkgs/build-support/fetchgitlocal/default.nix
Normal file
@ -0,0 +1,10 @@
|
||||
{ runCommand, git }: src:
|
||||
|
||||
runCommand "local-git-export" {} ''
|
||||
cd ${toString src}
|
||||
mkdir -p "$out"
|
||||
for file in $(${git}/bin/git ls-files); do
|
||||
mkdir -p "$out/$(dirname $file)"
|
||||
cp -d $file "$out/$file" || true # don't fail when trying to copy a directory
|
||||
done
|
||||
''
|
@ -116,7 +116,6 @@ hashes=builtins.listToAttrs[
|
||||
{name="ksnapshot";value="10grzlp7sq367g91858d16sadzipzmgwczhnb5xvy0437lqhhz7c";}
|
||||
{name="kspaceduel";value="0cwgmpv2xcjwz914hqx6rivi5sk4x66imcdqy7pjnj5vk4f197m7";}
|
||||
{name="ksquares";value="1zzg6y6zfqd1a0939hd1wy7ix4wld7ixp5pz2qs315g51m9lpn7i";}
|
||||
{name="kstars";value="1pjvy476yjir4z6x1j7192xjr9m0zcxq3x3lpvsxf92pk3l4c73p";}
|
||||
{name="ksudoku";value="0qgjx7fbawhn63vv37wv4z56jf0gi4chs64aw9bllbq52syirmgb";}
|
||||
{name="ksystemlog";value="11xh1psqhq7vimymb394kxjk83yax3gzi9fdckjspk6p10cycln2";}
|
||||
{name="kteatime";value="16rrlxc67afkin3afdf1s9dlr7z2281dfsja64pdrrdilwwpyqwi";}
|
||||
@ -220,7 +219,6 @@ versions=builtins.listToAttrs[
|
||||
{name="kdegraphics-mobipocket";value="4.14.3";}
|
||||
{name="kdegraphics-strigi-analyzer";value="4.14.3";}
|
||||
{name="kdegraphics-thumbnailers";value="4.14.3";}
|
||||
{name="kdelibs";value="4.14.3";}
|
||||
{name="kdenetwork-filesharing";value="4.14.3";}
|
||||
{name="kdenetwork-strigi-analyzers";value="4.14.3";}
|
||||
{name="kdepim";value="4.14.3";}
|
||||
@ -289,7 +287,6 @@ versions=builtins.listToAttrs[
|
||||
{name="ksnapshot";value="4.14.3";}
|
||||
{name="kspaceduel";value="4.14.3";}
|
||||
{name="ksquares";value="4.14.3";}
|
||||
{name="kstars";value="4.14.3";}
|
||||
{name="ksudoku";value="4.14.3";}
|
||||
{name="ksystemlog";value="4.14.3";}
|
||||
{name="kteatime";value="4.14.3";}
|
||||
@ -386,7 +383,6 @@ modules=[
|
||||
module="kdelibs";
|
||||
split=true;
|
||||
pkgs=[
|
||||
{ name="kdelibs"; }
|
||||
{ name="baloo"; }
|
||||
{ name="baloo-widgets"; sane="baloo_widgets"; }
|
||||
{ name="kfilemetadata"; }
|
||||
@ -531,7 +527,6 @@ modules=[
|
||||
{ name="klettres"; }
|
||||
{ name="kmplot"; }
|
||||
{ name="kqtquickcharts"; }
|
||||
{ name="kstars"; }
|
||||
{ name="ktouch"; }
|
||||
{ name="kturtle"; }
|
||||
{ name="kwordquiz"; }
|
||||
|
@ -1,14 +0,0 @@
|
||||
{ kde, kdelibs, eigen, xplanet, indilib_0_9_9, pkgconfig, qjson }:
|
||||
|
||||
kde {
|
||||
|
||||
# TODO: wcslib, astrometry
|
||||
|
||||
buildInputs = [ kdelibs eigen xplanet indilib_0_9_9 qjson ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
meta = {
|
||||
description = "A KDE graphical desktop planetarium";
|
||||
};
|
||||
}
|
@ -1,4 +1,5 @@
|
||||
{stdenv, fetchurl
|
||||
, libtool, autoconf, automake
|
||||
, gmp, mpfr, libffi
|
||||
, noUnicode ? false,
|
||||
}:
|
||||
@ -13,10 +14,10 @@ let
|
||||
sha256="13wlxkd5prm93gcm2dhm7v52fl803yx93aa97lrb39z0y6xzziid";
|
||||
};
|
||||
buildInputs = [
|
||||
libffi
|
||||
libtool autoconf automake
|
||||
];
|
||||
propagatedBuildInputs = [
|
||||
gmp mpfr
|
||||
libffi gmp mpfr
|
||||
];
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
@ -25,8 +26,18 @@ stdenv.mkDerivation {
|
||||
src = fetchurl {
|
||||
inherit (s) url sha256;
|
||||
};
|
||||
patches = [ ./libffi-prefix.patch ];
|
||||
preConfigure = ''
|
||||
(cd src ; libtoolize -f)
|
||||
(cd src ; autoheader -f)
|
||||
(cd src ; aclocal)
|
||||
(cd src ; automake --add-missing -c)
|
||||
(cd src ; autoconf -f)
|
||||
'';
|
||||
configureFlags = [
|
||||
"--enable-threads"
|
||||
"--with-gmp-prefix=${gmp}"
|
||||
"--with-libffi-prefix=${libffi}"
|
||||
]
|
||||
++
|
||||
(stdenv.lib.optional (! noUnicode)
|
||||
|
39
pkgs/development/compilers/ecl/libffi-prefix.patch
Normal file
39
pkgs/development/compilers/ecl/libffi-prefix.patch
Normal file
@ -0,0 +1,39 @@
|
||||
diff --git a/src/configure.in b/src/configure.in
|
||||
index 434da49..642c66c 100644
|
||||
--- ecl-15.3.7.orig/src/configure.ac
|
||||
+++ ecl-15.3.7/src/configure.ac
|
||||
@@ -191,6 +191,11 @@ AC_ARG_WITH(dffi,
|
||||
[(system|included|auto|no, default=AUTO if libffi available)]),
|
||||
[enable_libffi=${withval}], [enable_libffi=auto])
|
||||
|
||||
+AC_ARG_WITH(libffi-prefix,
|
||||
+ AS_HELP_STRING( [--with-libffi-prefix=path],
|
||||
+ [prefix for system LIBFFI includes and libraries] ),
|
||||
+ [LIBFFI_INCDIR="$withval/include"; LIBFFI_LIBDIR="$withval/lib"], [])
|
||||
+
|
||||
AC_ARG_WITH(fpe,
|
||||
AS_HELP_STRING( [--with-fpe],
|
||||
[detect floating point exceptions]
|
||||
@@ -368,6 +373,22 @@ else
|
||||
INFOEXT=info
|
||||
fi
|
||||
|
||||
+dnl libffi
|
||||
+
|
||||
+if test "x$LIBFFI_INCDIR" != "x"; then
|
||||
+ LIBFFI_CPPFLAGS="-I$LIBFFI_INCDIR"
|
||||
+fi
|
||||
+if test "x$LIBFFI_LIBDIR" != "x"; then
|
||||
+ LIBFFI_LDFLAGS="-L$LIBFFI_LIBDIR"
|
||||
+ if test "$enable_rpath" = "yes"; then
|
||||
+ if (echo "$ECL_LDRPATH" | grep '~A') > /dev/null; then
|
||||
+ LIBFFI_LDFLAGS=`echo $ECL_LDRPATH | sed "s,~A,$LIBFFI_LIBDIR,"`" $LIBFFI_LDFLAGS"
|
||||
+ fi
|
||||
+ fi
|
||||
+fi
|
||||
+CPPFLAGS="$CPPFLAGS $LIBFFI_CPPFLAGS"
|
||||
+LDFLAGS="$LDFLAGS $LIBFFI_LDFLAGS"
|
||||
+
|
||||
dnl ======================================================================
|
||||
dnl GNU multiprecision library
|
||||
dnl
|
@ -28,7 +28,9 @@ stdenv.mkDerivation rec {
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
# We patch Cabal for GHCJS. See: https://github.com/haskell/cabal/issues/2454
|
||||
preConfigure = ''
|
||||
sed -i 's/HcPkg.useSingleFileDb = .*/HcPkg.useSingleFileDb = False/' libraries/Cabal/Cabal/Distribution/Simple/GHCJS.hs
|
||||
echo >mk/build.mk "${buildMK}"
|
||||
sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
|
||||
'' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
|
||||
|
@ -1,64 +1,91 @@
|
||||
{ nodejs, cabal, filepath, HTTP, HUnit, mtl, network, QuickCheck, random, stm
|
||||
, testFramework, testFrameworkHunit, testFrameworkQuickcheck2, time
|
||||
, zlib, aeson, attoparsec, bzlib, dataDefault, ghcPaths, hashable
|
||||
, haskellSrcExts, haskellSrcMeta, lens, optparseApplicative
|
||||
, parallel, safe, shelly, split, stringsearch, syb, systemFileio
|
||||
, systemFilepath, tar, terminfo, textBinary, unorderedContainers
|
||||
, vector, wlPprintText, yaml, fetchgit, Cabal, cabalInstall
|
||||
, regexPosix, alex, happy, git, gnumake, gcc, autoconf, patch
|
||||
, automake, libtool, gmp, base16Bytestring
|
||||
, cryptohash, executablePath, transformersCompat, haddockApi
|
||||
, haddock, hspec, xhtml, primitive, cacert, pkgs, ghc
|
||||
{ mkDerivation
|
||||
, test-framework
|
||||
, test-framework-hunit
|
||||
, test-framework-quickcheck2
|
||||
, data-default
|
||||
, ghc-paths
|
||||
, haskell-src-exts
|
||||
, haskell-src-meta
|
||||
, optparse-applicative
|
||||
, system-fileio
|
||||
, system-filepath
|
||||
, text-binary
|
||||
, unordered-containers
|
||||
, cabal-install
|
||||
, wl-pprint-text
|
||||
, base16-bytestring
|
||||
, executable-path
|
||||
, transformers-compat
|
||||
, haddock-api
|
||||
, ghcjs-prim
|
||||
, regex-posix
|
||||
|
||||
, ghc, gmp
|
||||
, jailbreak-cabal
|
||||
|
||||
, nodejs, stdenv, filepath, HTTP, HUnit, mtl, network, QuickCheck, random, stm
|
||||
, time
|
||||
, zlib, aeson, attoparsec, bzlib, hashable
|
||||
, lens
|
||||
, parallel, safe, shelly, split, stringsearch, syb
|
||||
, tar, terminfo
|
||||
, vector, yaml, fetchgit, Cabal
|
||||
, alex, happy, git, gnumake, autoconf, patch
|
||||
, automake, libtool
|
||||
, cryptohash
|
||||
, haddock, hspec, xhtml, primitive, cacert, pkgs
|
||||
, coreutils
|
||||
, ghcjsPrim
|
||||
, libiconv
|
||||
}:
|
||||
let
|
||||
version = "0.1.0";
|
||||
libDir = "share/ghcjs/${pkgs.stdenv.system}-${version}-${ghc.ghc.version}/ghcjs";
|
||||
libDir = "share/ghcjs/${pkgs.stdenv.system}-${version}-${ghc.version}/ghcjs";
|
||||
ghcjsBoot = fetchgit {
|
||||
url = git://github.com/ghcjs/ghcjs-boot.git;
|
||||
rev = "5c7a71472d5a797e895914d3b82cea447a058793";
|
||||
sha256 = "0dp97bgbnlr3sd9yfnk27p6dfv46fi26sn6y6qv1wxs5i29kmjav";
|
||||
rev = "8cd6144870470258fb037b3e04a0a2a98c2b6551"; # 7.10 branch
|
||||
sha256 = "16cbncx179n5khf8hkj9r221wf73rc8isffk8rv3n9psshv1jiji";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
shims = fetchgit {
|
||||
url = git://github.com/ghcjs/shims.git;
|
||||
rev = "99bbd4bed584ec42bfcc5ea61c3808a2c670053d";
|
||||
sha256 = "1my3gqkln7hgm0bpy32pnhwjfza096alh0n9x9ny8xfpxhmzz4h6";
|
||||
rev = "6ada4bf1a084d1b80b993303d35ed863d219b031"; # master branch
|
||||
sha256 = "0dhfnjj3rxdbb2m1pbnjc2yp4xcgsfdrsinljgdmg0hpqkafp4vc";
|
||||
};
|
||||
in cabal.mkDerivation (self: rec {
|
||||
in mkDerivation (rec {
|
||||
pname = "ghcjs";
|
||||
inherit version;
|
||||
src = fetchgit {
|
||||
url = git://github.com/ghcjs/ghcjs.git;
|
||||
rev = "4b9461e8be646d5152a0ae7ece5b3616bf938637";
|
||||
sha256 = "19g62j1kkdwcgp0042ppmskwbvfk7qkf1fjs8bpjc6wwd19ipiar";
|
||||
rev = "35a59743c4027f26a227635cb24a6246bd851f8d"; # master branch
|
||||
sha256 = "107sh36ji3psdl3py84vxgqbywjyzglj3p0akzpvcmbarxwfr1mw";
|
||||
};
|
||||
isLibrary = true;
|
||||
isExecutable = true;
|
||||
jailbreak = true;
|
||||
noHaddock = true;
|
||||
doHaddock = false;
|
||||
doCheck = false;
|
||||
buildDepends = [
|
||||
filepath HTTP mtl network random stm time zlib aeson attoparsec
|
||||
bzlib dataDefault ghcPaths hashable haskellSrcExts haskellSrcMeta
|
||||
lens optparseApplicative parallel safe shelly split
|
||||
stringsearch syb systemFileio systemFilepath tar terminfo textBinary
|
||||
unorderedContainers vector wlPprintText yaml
|
||||
alex happy git gnumake gcc autoconf automake libtool patch gmp
|
||||
base16Bytestring cryptohash executablePath haddockApi
|
||||
transformersCompat QuickCheck haddock hspec xhtml
|
||||
ghcjsPrim regexPosix
|
||||
bzlib data-default ghc-paths hashable haskell-src-exts haskell-src-meta
|
||||
lens optparse-applicative parallel safe shelly split
|
||||
stringsearch syb system-fileio system-filepath tar terminfo text-binary
|
||||
unordered-containers vector wl-pprint-text yaml
|
||||
alex happy git gnumake autoconf automake libtool patch gmp
|
||||
base16-bytestring cryptohash executable-path haddock-api
|
||||
transformers-compat QuickCheck haddock hspec xhtml
|
||||
ghcjs-prim regex-posix libiconv
|
||||
];
|
||||
buildTools = [ nodejs git ];
|
||||
testDepends = [
|
||||
HUnit testFramework testFrameworkHunit
|
||||
HUnit test-framework test-framework-hunit
|
||||
];
|
||||
patches = [ ./ghcjs.patch ];
|
||||
postPatch = ''
|
||||
substituteInPlace Setup.hs --replace "/usr/bin/env" "${coreutils}/bin/env"
|
||||
substituteInPlace src/Compiler/Info.hs --replace "@PREFIX@" "$out"
|
||||
substituteInPlace src-bin/Boot.hs --replace "@PREFIX@" "$out"
|
||||
substituteInPlace src-bin/Boot.hs \
|
||||
--replace "@PREFIX@" "$out" \
|
||||
--replace "@CC@" "${stdenv.cc}/bin/cc"
|
||||
'';
|
||||
preBuild = ''
|
||||
local topDir=$out/${libDir}
|
||||
@ -69,23 +96,33 @@ in cabal.mkDerivation (self: rec {
|
||||
|
||||
cp -r ${shims} $topDir/shims
|
||||
chmod -R u+w $topDir/shims
|
||||
|
||||
# Make the patches be relative their corresponding package's directory.
|
||||
# See: https://github.com/ghcjs/ghcjs-boot/pull/12
|
||||
for patch in $topDir/ghcjs-boot/patches/*.patch; do
|
||||
echo "fixing patch: $patch"
|
||||
sed -i -e 's@ \(a\|b\)/boot/[^/]\+@ \1@g' $patch
|
||||
done
|
||||
'';
|
||||
postInstall = ''
|
||||
PATH=$out/bin:${Cabal}/bin:$PATH LD_LIBRARY_PATH=${gmp}/lib:${gcc.cc}/lib64:$LD_LIBRARY_PATH \
|
||||
PATH=$out/bin:$PATH LD_LIBRARY_PATH=${gmp}/lib:${stdenv.cc}/lib64:$LD_LIBRARY_PATH \
|
||||
env -u GHC_PACKAGE_PATH $out/bin/ghcjs-boot \
|
||||
--dev \
|
||||
--with-cabal ${cabalInstall}/bin/cabal \
|
||||
--with-cabal ${cabal-install}/bin/cabal \
|
||||
--with-gmp-includes ${gmp}/include \
|
||||
--with-gmp-libraries ${gmp}/lib
|
||||
'';
|
||||
passthru = {
|
||||
inherit libDir;
|
||||
isGhcjs = true;
|
||||
nativeGhc = ghc;
|
||||
};
|
||||
meta = {
|
||||
homepage = "https://github.com/ghcjs/ghcjs";
|
||||
description = "GHCJS is a Haskell to JavaScript compiler that uses the GHC API";
|
||||
license = self.stdenv.lib.licenses.bsd3;
|
||||
platforms = self.ghc.meta.platforms;
|
||||
maintainers = [ self.stdenv.lib.maintainers.jwiegley ];
|
||||
};
|
||||
|
||||
homepage = "https://github.com/ghcjs/ghcjs";
|
||||
description = "GHCJS is a Haskell to JavaScript compiler that uses the GHC API";
|
||||
license = stdenv.lib.licenses.bsd3;
|
||||
platforms = ghc.meta.platforms;
|
||||
maintainers = with stdenv.lib.maintainers; [
|
||||
jwiegley cstrahan
|
||||
];
|
||||
})
|
||||
|
@ -1,5 +1,5 @@
|
||||
diff --git a/src-bin/Boot.hs b/src-bin/Boot.hs
|
||||
index 988955b..a55f07b 100644
|
||||
index 3c68dcf..64f3cf7 100644
|
||||
--- a/src-bin/Boot.hs
|
||||
+++ b/src-bin/Boot.hs
|
||||
@@ -512,9 +512,7 @@ initPackageDB :: B ()
|
||||
@ -46,9 +46,11 @@ index 988955b..a55f07b 100644
|
||||
mapM_ patchPackage =<< allPackages
|
||||
preparePrimops
|
||||
buildGenPrim
|
||||
@@ -1086,7 +1077,9 @@ cabalInstallFlags parmakeGhcjs = do
|
||||
@@ -1085,8 +1076,11 @@ cabalInstallFlags parmakeGhcjs = do
|
||||
, "--avoid-reinstalls"
|
||||
, "--builddir", "dist"
|
||||
, "--with-compiler", ghcjs ^. pgmLocText
|
||||
+ , "--with-gcc", "@CC@"
|
||||
, "--with-hc-pkg", ghcjsPkg ^. pgmLocText
|
||||
- , "--prefix", toTextI instDir
|
||||
+ , "--prefix", "@PREFIX@"
|
||||
|
@ -1,36 +0,0 @@
|
||||
{ stdenv, fetchurl, builderDefs, unzip, clisp }:
|
||||
let localDefs = builderDefs.passthru.function {
|
||||
src = /* put a fetchurl here */
|
||||
fetchurl {
|
||||
url = http://www.lambdassociates.org/Download/Qi9.1.zip;
|
||||
sha256 = "1j584i7pj38rnlf7v9njfdwc6gc296v5friw2887dsw34dmwyg3f";
|
||||
};
|
||||
buildInputs = [ unzip clisp];
|
||||
configureFlags = [];
|
||||
};
|
||||
in with localDefs;
|
||||
let
|
||||
shell=stdenv.shell;
|
||||
in
|
||||
let
|
||||
allBuild = fullDepEntry ("
|
||||
(sleep 0.1; echo ) | clisp install.txt;
|
||||
(sleep 0.1; echo -e '1\n(quit)\n' ) | sh Qi-Linux-CLisp
|
||||
mkdir -p \$out/share
|
||||
mkdir -p \$out/bin
|
||||
cp -r . \$out/share/Qi-9.1
|
||||
echo -e '#! ${shell}
|
||||
arg1=\${1:-'\$out'/share/Qi-9.1/startup.txt}
|
||||
shift
|
||||
clisp -M '\$out'/share/Qi-9.1/lispinit.mem \$arg1 \"\$@\"\\n' > \$out/bin/qi
|
||||
chmod a+x \$out/bin/qi
|
||||
") [ addInputs minInit doUnpack defEnsureDir];
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "Qi-9.1";
|
||||
builder = writeScript (name + "-builder")
|
||||
(textClosure localDefs [allBuild doForceShare doPropagate]);
|
||||
meta = {
|
||||
description = "Functional programming language, built top of Common Lisp";
|
||||
};
|
||||
}
|
@ -33,6 +33,9 @@ self: super: {
|
||||
unix = null;
|
||||
xhtml = null;
|
||||
|
||||
# Cabal_1_22_1_1 requires filepath >=1 && <1.4
|
||||
cabal-install = dontCheck (super.cabal-install.override { Cabal = null; });
|
||||
|
||||
# We have Cabal 1.22.x.
|
||||
jailbreak-cabal = super.jailbreak-cabal.override { Cabal = null; };
|
||||
|
||||
@ -55,6 +58,9 @@ self: super: {
|
||||
# We have time 1.5
|
||||
aeson = disableCabalFlag super.aeson "old-locale";
|
||||
|
||||
# requires filepath >=1.1 && <1.4
|
||||
Glob = doJailbreak super.Glob;
|
||||
|
||||
# Setup: At least the following dependencies are missing: base <4.8
|
||||
hspec-expectations = overrideCabal super.hspec-expectations (drv: {
|
||||
patchPhase = "sed -i -e 's|base < 4.8|base|' hspec-expectations.cabal";
|
||||
@ -83,6 +89,20 @@ self: super: {
|
||||
# Test suite fails in "/tokens_bytestring_unicode.g.bin".
|
||||
alex = dontCheck super.alex;
|
||||
|
||||
# TODO: should eventually update the versions in hackage-packages.nix
|
||||
haddock-library = overrideCabal super.haddock-library (drv: {
|
||||
version = "1.2.0";
|
||||
sha256 = "0kf8qihkxv86phaznb3liq6qhjs53g3iq0zkvz5wkvliqas4ha56";
|
||||
});
|
||||
haddock-api = overrideCabal super.haddock-api (drv: {
|
||||
version = "2.16.0";
|
||||
sha256 = "0hk42w6fbr6xp8xcpjv00bhi9r75iig5kp34vxbxdd7k5fqxr1hj";
|
||||
});
|
||||
haddock = overrideCabal super.haddock (drv: {
|
||||
version = "2.16.0";
|
||||
sha256 = "1afb96w1vv3gmvha2f1h3p8zywpdk8dfk6bgnsa307ydzsmsc3qa";
|
||||
});
|
||||
|
||||
# Upstream was notified about the over-specified constraint on 'base'
|
||||
# but refused to do anything about it because he "doesn't want to
|
||||
# support a moving target". Go figure.
|
||||
@ -104,14 +124,13 @@ self: super: {
|
||||
sed -i '119iimport Prelude hiding ((<$>))' Text/PrettyPrint/Leijen/Text.hs
|
||||
'';
|
||||
});
|
||||
|
||||
|
||||
# https://github.com/kazu-yamamoto/unix-time/issues/30
|
||||
unix-time = dontCheck super.unix-time;
|
||||
|
||||
# Until the changes have been pushed to Hackage
|
||||
haskell-src-meta = appendPatch super.haskell-src-meta (pkgs.fetchpatch {
|
||||
url = "https://github.com/bmillwood/haskell-src-meta/pull/31.patch";
|
||||
sha256 = "0idf12b2wd6chyvsgdcfl5kzx67crvgs1cqklx5say3426j57g4q";
|
||||
haskell-src-meta = overrideCabal (doJailbreak (appendPatch super.haskell-src-meta ./haskell-src-meta-ghc710.patch)) (drv: {
|
||||
prePatch = "sed -i -e 's|template-haskell [^,]\\+|template-haskell|' haskell-src-meta.cabal && cat haskell-src-meta.cabal";
|
||||
});
|
||||
foldl = appendPatch super.foldl (pkgs.fetchpatch {
|
||||
url = "https://github.com/Gabriel439/Haskell-Foldl-Library/pull/30.patch";
|
||||
@ -144,4 +163,16 @@ self: super: {
|
||||
sha256 = "1fycvjfr1l9wa03k30bnppl3ns99lffh9kmp9r7sr8b6yiydcajq";
|
||||
stripLen = 1;
|
||||
});
|
||||
|
||||
ghcjs-prim = self.callPackage ({ mkDerivation, fetchgit, primitive }: mkDerivation {
|
||||
pname = "ghcjs-prim";
|
||||
version = "0.1.0.0";
|
||||
src = fetchgit {
|
||||
url = git://github.com/ghcjs/ghcjs-prim.git;
|
||||
rev = "ca08e46257dc276e01d08fb47a693024bae001fa"; # ghc-7.10 branch
|
||||
sha256 = "0w7sqzp5p70yhmdhqasgkqbf3b61wb24djlavwil2j8ry9y472w3";
|
||||
};
|
||||
buildDepends = [ primitive ];
|
||||
license = pkgs.stdenv.lib.licenses.bsd3;
|
||||
}) {};
|
||||
}
|
||||
|
@ -7,6 +7,12 @@ self: super: {
|
||||
# LLVM is not supported on this GHC; use the latest one.
|
||||
inherit (pkgs) llvmPackages;
|
||||
|
||||
jailbreak-cabal = pkgs.haskell-ng.packages.ghc7101.jailbreak-cabal;
|
||||
|
||||
# Many packages fail with:
|
||||
# haddock: internal error: expectJust getPackageDetails
|
||||
mkDerivation = drv: super.mkDerivation (drv // { doHaddock = false; });
|
||||
|
||||
# This is the list of packages that are built into a booted ghcjs installation
|
||||
# It can be generated with the command:
|
||||
# nix-shell '<nixpkgs>' -A pkgs.haskellPackages_ghcjs.ghc --command "ghcjs-pkg list | sed -n 's/^ \(.*\)-\([0-9.]*\)$/\1_\2/ p' | sed 's/\./_/g' | sed 's/-\(.\)/\U\1/' | sed 's/^\([^_]*\)\(.*\)$/\1 = null;/'"
|
||||
@ -19,21 +25,21 @@ self: super: {
|
||||
binary = null;
|
||||
rts = null;
|
||||
bytestring = null;
|
||||
caseInsensitive = null;
|
||||
case-insensitive = null;
|
||||
containers = null;
|
||||
deepseq = null;
|
||||
directory = null;
|
||||
dlist = null;
|
||||
extensibleExceptions = null;
|
||||
extensible-exceptions = null;
|
||||
filepath = null;
|
||||
ghcPrim = null;
|
||||
ghcjsBase = null;
|
||||
ghcjsPrim = null;
|
||||
ghc-prim = null;
|
||||
ghcjs-base = null;
|
||||
ghcjs-prim = null;
|
||||
hashable = null;
|
||||
integerGmp = null;
|
||||
integer-gmp = null;
|
||||
mtl = null;
|
||||
oldLocale = null;
|
||||
oldTime = null;
|
||||
old-locale = null;
|
||||
old-time = null;
|
||||
parallel = null;
|
||||
pretty = null;
|
||||
primitive = null;
|
||||
@ -41,12 +47,64 @@ self: super: {
|
||||
scientific = null;
|
||||
stm = null;
|
||||
syb = null;
|
||||
templateHaskell = null;
|
||||
template-haskell = null;
|
||||
text = null;
|
||||
time = null;
|
||||
transformers = null;
|
||||
unix = null;
|
||||
unorderedContainers = null;
|
||||
unordered-containers = null;
|
||||
vector = null;
|
||||
|
||||
pqueue = overrideCabal super.pqueue (drv: {
|
||||
patchPhase = ''
|
||||
sed -i -e '12s|null|Data.PQueue.Internals.null|' Data/PQueue/Internals.hs
|
||||
sed -i -e '64s|null|Data.PQueue.Internals.null|' Data/PQueue/Internals.hs
|
||||
sed -i -e '32s|null|Data.PQueue.Internals.null|' Data/PQueue/Min.hs
|
||||
sed -i -e '32s|null|Data.PQueue.Max.null|' Data/PQueue/Max.hs
|
||||
sed -i -e '42s|null|Data.PQueue.Prio.Internals.null|' Data/PQueue/Prio/Min.hs
|
||||
sed -i -e '42s|null|Data.PQueue.Prio.Max.null|' Data/PQueue/Prio/Max.hs
|
||||
'';
|
||||
});
|
||||
|
||||
reactive-banana = overrideCabal super.reactive-banana (drv: {
|
||||
patchPhase = ''
|
||||
cat >> src/Reactive/Banana/Switch.hs <<EOF
|
||||
instance Functor (AnyMoment Identity) where
|
||||
fmap = liftM
|
||||
|
||||
instance Applicative (AnyMoment Identity) where
|
||||
pure = return
|
||||
(<*>) = ap
|
||||
EOF
|
||||
'';
|
||||
});
|
||||
|
||||
transformers-compat = overrideCabal super.transformers-compat (drv: {
|
||||
configureFlags = [];
|
||||
});
|
||||
|
||||
dependent-map = overrideCabal super.dependent-map (drv: {
|
||||
preConfigure = ''
|
||||
sed -i 's/^.*trust base.*$//' *.cabal
|
||||
'';
|
||||
});
|
||||
|
||||
profunctors = overrideCabal super.profunctors (drv: {
|
||||
preConfigure = ''
|
||||
sed -i 's/^{-# ANN .* #-}//' src/Data/Profunctor/Unsafe.hs
|
||||
'';
|
||||
});
|
||||
|
||||
"ghcjs-dom" = self.callPackage
|
||||
({ mkDerivation, base, mtl, text, ghcjs-base
|
||||
}:
|
||||
mkDerivation {
|
||||
pname = "ghcjs-dom";
|
||||
version = "0.1.1.3";
|
||||
sha256 = "0pdxb2s7fflrh8sbqakv0qi13jkn3d0yc32xhg2944yfjg5fvlly";
|
||||
buildDepends = [ base mtl text ghcjs-base ];
|
||||
description = "DOM library that supports both GHCJS and WebKitGTK";
|
||||
license = pkgs.stdenv.lib.licenses.mit;
|
||||
hydraPlatforms = pkgs.stdenv.lib.platforms.none;
|
||||
}) {};
|
||||
}
|
||||
|
@ -15,8 +15,8 @@
|
||||
, doHoogle ? true
|
||||
, editedCabalFile ? null
|
||||
, enableLibraryProfiling ? false
|
||||
, enableSharedExecutables ? stdenv.lib.versionOlder "7.7" ghc.version
|
||||
, enableSharedLibraries ? stdenv.lib.versionOlder "7.7" ghc.version
|
||||
, enableSharedExecutables ? ((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version)
|
||||
, enableSharedLibraries ? ((ghc.isGhcjs or false) || stdenv.lib.versionOlder "7.7" ghc.version)
|
||||
, enableSplitObjs ? !stdenv.isDarwin # http://hackage.haskell.org/trac/ghc/ticket/4013
|
||||
, enableStaticLibraries ? true
|
||||
, extraLibraries ? []
|
||||
@ -53,6 +53,8 @@ let
|
||||
inherit (stdenv.lib) optional optionals optionalString versionOlder
|
||||
concatStringsSep enableFeature optionalAttrs;
|
||||
|
||||
isGhcjs = ghc.isGhcjs or false;
|
||||
|
||||
newCabalFile = fetchurl {
|
||||
url = "http://hackage.haskell.org/package/${pname}-${version}/revision/${revision}.cabal";
|
||||
sha256 = editedCabalFile;
|
||||
@ -64,7 +66,7 @@ let
|
||||
main = defaultMain
|
||||
'';
|
||||
|
||||
ghc76xOrLater = stdenv.lib.versionOlder "7.6" ghc.version;
|
||||
ghc76xOrLater = isGhcjs || stdenv.lib.versionOlder "7.6" ghc.version;
|
||||
packageDbFlag = if ghc76xOrLater then "package-db" else "package-conf";
|
||||
|
||||
hasActiveLibrary = isLibrary && (enableStaticLibraries || enableSharedLibraries || enableLibraryProfiling);
|
||||
@ -82,14 +84,17 @@ let
|
||||
(enableFeature enableSplitObjs "split-objs")
|
||||
(enableFeature enableLibraryProfiling "library-profiling")
|
||||
(enableFeature enableSharedLibraries "shared")
|
||||
(optionalString (versionOlder "7" ghc.version) (enableFeature enableStaticLibraries "library-vanilla"))
|
||||
(optionalString (versionOlder "7.4" ghc.version) (enableFeature enableSharedExecutables "executable-dynamic"))
|
||||
(optionalString (versionOlder "7" ghc.version) (enableFeature doCheck "tests"))
|
||||
(optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature enableStaticLibraries "library-vanilla"))
|
||||
(optionalString (isGhcjs || versionOlder "7.4" ghc.version) (enableFeature enableSharedExecutables "executable-dynamic"))
|
||||
(optionalString (isGhcjs || versionOlder "7" ghc.version) (enableFeature doCheck "tests"))
|
||||
] ++ optionals isGhcjs [
|
||||
"--with-hsc2hs=${ghc.nativeGhc}/bin/hsc2hs"
|
||||
"--ghcjs"
|
||||
];
|
||||
|
||||
setupCompileFlags = [
|
||||
(optionalString (!coreSetup) "-${packageDbFlag}=$packageConfDir")
|
||||
(optionalString (versionOlder "7.8" ghc.version) "-j$NIX_BUILD_CORES")
|
||||
(optionalString (isGhcjs || versionOlder "7.8" ghc.version) "-j$NIX_BUILD_CORES")
|
||||
(optionalString (versionOlder "7.10" ghc.version) "-threaded") # https://github.com/haskell/cabal/issues/2398
|
||||
];
|
||||
|
||||
@ -108,9 +113,12 @@ let
|
||||
|
||||
ghcEnv = ghc.withPackages (p: haskellBuildInputs);
|
||||
|
||||
setupBuilder = if isGhcjs then "${ghc.nativeGhc}/bin/ghc" else "ghc";
|
||||
ghcCommand = if isGhcjs then "ghcjs" else "ghc";
|
||||
|
||||
in
|
||||
stdenv.mkDerivation ({
|
||||
name = "${optionalString hasActiveLibrary "haskell-"}${pname}-${version}";
|
||||
name = "${optionalString (hasActiveLibrary && pname != "ghcjs") "haskell-"}${pname}-${version}";
|
||||
|
||||
pos = builtins.unsafeGetAttrPos "pname" args;
|
||||
|
||||
@ -162,7 +170,7 @@ stdenv.mkDerivation ({
|
||||
configureFlags+=" --extra-lib-dirs=$p/lib"
|
||||
fi
|
||||
done
|
||||
ghc-pkg --${packageDbFlag}="$packageConfDir" recache
|
||||
${ghcCommand}-pkg --${packageDbFlag}="$packageConfDir" recache
|
||||
|
||||
runHook postSetupCompilerEnvironment
|
||||
'';
|
||||
@ -175,7 +183,7 @@ stdenv.mkDerivation ({
|
||||
done
|
||||
|
||||
echo setupCompileFlags: $setupCompileFlags
|
||||
ghc $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
|
||||
${setupBuilder} $setupCompileFlags --make -o Setup -odir $TMPDIR -hidir $TMPDIR $i
|
||||
|
||||
runHook postCompileBuildDriver
|
||||
'';
|
||||
@ -248,13 +256,13 @@ stdenv.mkDerivation ({
|
||||
isHaskellLibrary = hasActiveLibrary;
|
||||
|
||||
env = stdenv.mkDerivation {
|
||||
name = "interactive-${optionalString hasActiveLibrary "haskell-"}${pname}-${version}-environment";
|
||||
name = "interactive-${optionalString (hasActiveLibrary && pname != "ghcjs") "haskell-"}${pname}-${version}-environment";
|
||||
nativeBuildInputs = [ ghcEnv systemBuildInputs ];
|
||||
LANG = "en_US.UTF-8";
|
||||
LOCALE_ARCHIVE = optionalString stdenv.isLinux "${glibcLocales}/lib/locale/locale-archive";
|
||||
shellHook = ''
|
||||
export NIX_GHC="${ghcEnv}/bin/ghc"
|
||||
export NIX_GHCPKG="${ghcEnv}/bin/ghc"
|
||||
export NIX_GHC="${ghcEnv}/bin/${ghcCommand}"
|
||||
export NIX_GHCPKG="${ghcEnv}/bin/${ghcCommand}-pkg"
|
||||
export NIX_GHC_DOCDIR="${ghcEnv}/share/doc/ghc/html"
|
||||
export NIX_GHC_LIBDIR="${ghcEnv}/lib/${ghcEnv.name}"
|
||||
'';
|
||||
|
@ -0,0 +1,55 @@
|
||||
From 24e6f45408083745080ff2f3710f58209041113c Mon Sep 17 00:00:00 2001
|
||||
From: Luite Stegeman <stegeman@gmail.com>
|
||||
Date: Sun, 28 Dec 2014 21:33:22 +0100
|
||||
Subject: [PATCH] updates for GHC 7.10 and Template Haskell 2.10
|
||||
|
||||
---
|
||||
haskell-src-meta.cabal | 4 ++--
|
||||
src/Language/Haskell/Meta/Syntax/Translate.hs | 6 ++++++
|
||||
src/Language/Haskell/Meta/Utils.hs | 5 ++++-
|
||||
3 files changed, 12 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/Language/Haskell/Meta/Syntax/Translate.hs b/src/Language/Haskell/Meta/Syntax/Translate.hs
|
||||
index 189d32e..36a08f1 100644
|
||||
--- a/src/Language/Haskell/Meta/Syntax/Translate.hs
|
||||
+++ b/src/Language/Haskell/Meta/Syntax/Translate.hs
|
||||
@@ -384,9 +384,15 @@ a .->. b = AppT (AppT ArrowT a) b
|
||||
toCxt :: Hs.Context -> Cxt
|
||||
toCxt = fmap toPred
|
||||
where
|
||||
+#if MIN_VERSION_template_haskell(2,10,0)
|
||||
+ toPred (Hs.ClassA n ts) = foldl' AppT (ConT (toName n)) (fmap toType ts)
|
||||
+ toPred (Hs.InfixA t1 n t2) = foldl' AppT (ConT (toName n)) (fmap toType [t1,t2])
|
||||
+ toPred (Hs.EqualP t1 t2) = foldl' AppT EqualityT (fmap toType [t1,t2])
|
||||
+#else
|
||||
toPred (Hs.ClassA n ts) = ClassP (toName n) (fmap toType ts)
|
||||
toPred (Hs.InfixA t1 n t2) = ClassP (toName n) (fmap toType [t1, t2])
|
||||
toPred (Hs.EqualP t1 t2) = EqualP (toType t1) (toType t2)
|
||||
+#endif
|
||||
toPred a@Hs.IParam{} = noTH "toCxt" a
|
||||
|
||||
foldAppT :: Type -> [Type] -> Type
|
||||
diff --git a/src/Language/Haskell/Meta/Utils.hs b/src/Language/Haskell/Meta/Utils.hs
|
||||
index 36f7e96..d194f3e 100644
|
||||
--- a/src/Language/Haskell/Meta/Utils.hs
|
||||
+++ b/src/Language/Haskell/Meta/Utils.hs
|
||||
@@ -166,6 +166,9 @@ renameT env new (ForallT ns cxt t) =
|
||||
unVarT (VarT n) = PlainTV n
|
||||
renamePreds = renameThings renamePred
|
||||
|
||||
+#if MIN_VERSION_template_haskell(2,10,0)
|
||||
+ renamePred = renameT
|
||||
+#else
|
||||
renamePred env new (ClassP n ts) = let
|
||||
(ts', env', new') = renameTs env new [] ts
|
||||
in (ClassP (normaliseName n) ts', env', new')
|
||||
@@ -174,7 +177,7 @@ renameT env new (ForallT ns cxt t) =
|
||||
(t1', env1, new1) = renameT env new t1
|
||||
(t2', env2, new2) = renameT env1 new1 t2
|
||||
in (EqualP t1' t2', env2, new2)
|
||||
-
|
||||
+#endif
|
||||
|
||||
-- | Remove qualification, etc.
|
||||
normaliseName :: Name -> Name
|
||||
|
@ -29,9 +29,11 @@ assert versionOlder "6.12" ghc.version;
|
||||
# fi
|
||||
|
||||
let
|
||||
ghc761OrLater = versionOlder "7.6.1" ghc.version;
|
||||
isGhcjs = ghc.isGhcjs or false;
|
||||
ghc761OrLater = isGhcjs || versionOlder "7.6.1" ghc.version;
|
||||
packageDBFlag = if ghc761OrLater then "--global-package-db" else "--global-conf";
|
||||
libDir = "$out/lib/ghc-${ghc.version}";
|
||||
ghcCommand = if isGhcjs then "ghcjs" else "ghc";
|
||||
libDir = "$out/lib/${ghcCommand}-${ghc.version}";
|
||||
docDir = "$out/share/doc/ghc/html";
|
||||
packageCfgDir = "${libDir}/package.conf.d";
|
||||
paths = filter (x: x ? isHaskellLibrary) (closePropagation packages);
|
||||
@ -50,6 +52,10 @@ buildEnv {
|
||||
postBuild = ''
|
||||
. ${makeWrapper}/nix-support/setup-hook
|
||||
|
||||
${optionalString isGhcjs ''
|
||||
cp -r "${ghc}/${ghc.libDir}/"* ${libDir}/
|
||||
''}
|
||||
|
||||
if test -L "$out/bin"; then
|
||||
binTarget="$(readlink -f "$out/bin")"
|
||||
rm "$out/bin"
|
||||
@ -59,32 +65,32 @@ buildEnv {
|
||||
|
||||
for prg in ghc ghci ghc-${ghc.version} ghci-${ghc.version}; do
|
||||
rm -f $out/bin/$prg
|
||||
makeWrapper ${ghc}/bin/$prg $out/bin/$prg \
|
||||
--add-flags '"-B$NIX_GHC_LIBDIR"' \
|
||||
--set "NIX_GHC" "$out/bin/ghc" \
|
||||
--set "NIX_GHCPKG" "$out/bin/ghc-pkg" \
|
||||
--set "NIX_GHC_DOCDIR" "${docDir}" \
|
||||
--set "NIX_GHC_LIBDIR" "${libDir}" \
|
||||
makeWrapper ${ghc}/bin/$prg $out/bin/$prg \
|
||||
--add-flags '"-B$NIX_GHC_LIBDIR"' \
|
||||
--set "NIX_GHC" "$out/bin/${ghcCommand}" \
|
||||
--set "NIX_GHCPKG" "$out/bin/${ghcCommand}-pkg" \
|
||||
--set "NIX_GHC_DOCDIR" "${docDir}" \
|
||||
--set "NIX_GHC_LIBDIR" "${libDir}" \
|
||||
${optionalString withLLVM ''--prefix "PATH" ":" "${llvm}"''}
|
||||
done
|
||||
|
||||
for prg in runghc runhaskell; do
|
||||
rm -f $out/bin/$prg
|
||||
makeWrapper ${ghc}/bin/$prg $out/bin/$prg \
|
||||
--add-flags "-f $out/bin/ghc" \
|
||||
--set "NIX_GHC" "$out/bin/ghc" \
|
||||
--set "NIX_GHCPKG" "$out/bin/ghc-pkg" \
|
||||
--set "NIX_GHC_DOCDIR" "${docDir}" \
|
||||
makeWrapper ${ghc}/bin/$prg $out/bin/$prg \
|
||||
--add-flags "-f $out/bin/ghc" \
|
||||
--set "NIX_GHC" "$out/bin/${ghcCommand}" \
|
||||
--set "NIX_GHCPKG" "$out/bin/${ghcCommand}-pkg" \
|
||||
--set "NIX_GHC_DOCDIR" "${docDir}" \
|
||||
--set "NIX_GHC_LIBDIR" "${libDir}"
|
||||
done
|
||||
|
||||
for prg in ghc-pkg ghc-pkg-${ghc.version}; do
|
||||
for prg in ${ghcCommand}-pkg ${ghcCommand}-pkg-${ghc.version}; do
|
||||
rm -f $out/bin/$prg
|
||||
makeWrapper ${ghc}/bin/$prg $out/bin/$prg --add-flags "${packageDBFlag}=${packageCfgDir}"
|
||||
done
|
||||
|
||||
${optionalString hasLibraries "$out/bin/ghc-pkg recache"}
|
||||
$out/bin/ghc-pkg check
|
||||
${optionalString hasLibraries "$out/bin/${ghcCommand}-pkg recache"}
|
||||
$out/bin/${ghcCommand}-pkg check
|
||||
'';
|
||||
} // {
|
||||
preferLocalBuild = true;
|
||||
|
@ -4,9 +4,9 @@ stdenv.mkDerivation rec {
|
||||
name = "cppzmq";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://github.com/zeromq/cppzmq";
|
||||
rev = "1f05e0d111197c64be32ad5aecd59f4d1b05a819";
|
||||
sha256 = "3a3507fd5646f191088e7a0a7a09846da54b0cac0fcb08f7c4c8d510b484e6da";
|
||||
url = "git://github.com/zeromq/cppzmq";
|
||||
rev = "ac705f604701e2ca1643fa31bae240f9da8b9b9a";
|
||||
sha256 = "1bcd5553601a6cdc926aa7a7c89fe54d3b14693cfce85dea97af25cf5a144398";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
@ -16,16 +16,20 @@ stdenv.mkDerivation rec {
|
||||
|
||||
configureFlags =
|
||||
[ "--enable-shared" "--disable-static"
|
||||
"--enable-threads" "--enable-openmp" # very small wrappers
|
||||
"--enable-threads"
|
||||
]
|
||||
++ optional (precision != "double") "--enable-${precision}"
|
||||
# all x86_64 have sse2
|
||||
++ optional stdenv.isx86_64 "--enable-sse2";
|
||||
++ optional stdenv.isx86_64 "--enable-sse2"
|
||||
++ optional (stdenv.cc.cc.isGNU or false) "--enable-openmp";
|
||||
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
description = "Fastest Fourier Transform in the West library";
|
||||
homepage = http://www.fftw.org/;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = [ maintainers.spwhitt ];
|
||||
platforms = platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -2,14 +2,14 @@
|
||||
, google-gflags, python, libiberty, openssl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "0.22.0";
|
||||
version = "0.32.0";
|
||||
name = "folly-${version}";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "facebook";
|
||||
repo = "folly";
|
||||
rev = "v${version}";
|
||||
sha256 = "12p7vbx73jmhf772nbqvd8imw4ihpi16cw6cwxq459r7qds4n0ca";
|
||||
sha256 = "0yviih6b220bv6d1rg4lx1hqprqapnzfv4rv64cwjxbmz49ckmzh";
|
||||
};
|
||||
|
||||
buildInputs = [ libiberty boost.lib libevent double_conversion glog google-gflags openssl ];
|
||||
@ -26,8 +26,8 @@ stdenv.mkDerivation rec {
|
||||
enableParallelBuilding = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "A YAML parser and emitter for C++";
|
||||
homepage = https://code.google.com/p/yaml-cpp/;
|
||||
description = "An open-source C++ library developed and used at Facebook";
|
||||
homepage = https://github.com/facebook/folly;
|
||||
license = licenses.mit;
|
||||
# 32bit is not supported: https://github.com/facebook/folly/issues/103
|
||||
platforms = [ "x86_64-linux" ];
|
||||
|
@ -1,15 +0,0 @@
|
||||
# This file was auto-generated by cabal2nix. Please do NOT edit manually!
|
||||
|
||||
{ cabal, ghcjsBase, mtl, text }:
|
||||
|
||||
cabal.mkDerivation (self: {
|
||||
pname = "ghcjs-dom";
|
||||
version = "0.1.1.3";
|
||||
sha256 = "0pdxb2s7fflrh8sbqakv0qi13jkn3d0yc32xhg2944yfjg5fvlly";
|
||||
buildDepends = [ ghcjsBase mtl text ];
|
||||
meta = {
|
||||
description = "DOM library that supports both GHCJS and WebKitGTK";
|
||||
license = self.stdenv.lib.licenses.mit;
|
||||
platforms = self.ghc.meta.platforms;
|
||||
};
|
||||
})
|
@ -1,21 +0,0 @@
|
||||
{ stdenv, fetchurl, cmake, cfitsio, libusb1, zlib, boost, libnova, libjpeg, gsl, pkgconfig }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "indilib-0.9.9";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/indi/libindi_0.9.9.tar.gz;
|
||||
sha256 = "720b9096baef1489fd7d7d4a236177863a7f7cec86809f21d291b0d9758e4039";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ cfitsio libusb1 zlib boost libnova libjpeg gsl ];
|
||||
nativeBuildInputs = [ cmake pkgconfig ];
|
||||
|
||||
preConfigure = ''
|
||||
cmakeFlags+=" -DUDEVRULES_INSTALL_DIR=$out/etc/udev/rules.d"
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = http://indi.sf.net;
|
||||
};
|
||||
}
|
@ -1,16 +1,18 @@
|
||||
{ stdenv, fetchurl, cmake, cfitsio, libusb, zlib, boost }:
|
||||
{ stdenv, fetchurl, cmake, cfitsio, libusb, zlib, boost, libnova
|
||||
, libjpeg, gsl }:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "indilib-0.9.6";
|
||||
name = "indilib-1.0.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/indi/libindi_0.9.6.tar.gz;
|
||||
sha256 = "1cyhsrsl68iczc4gcdnrrdh0r1dxjac6prxjfkw15wz97ya0mvs4";
|
||||
url = mirror://sourceforge/indi/libindi_1.0.0.tar.gz;
|
||||
sha256 = "0f66jykpjk8mv50lc3rywbqj9mqr4p2n1igfb1222h5fs83c1jhm";
|
||||
};
|
||||
|
||||
patches = [ ./link-zlib.patch ./udev-dir.patch ];
|
||||
patches = [ ./udev-dir.patch ] ;
|
||||
|
||||
propagatedBuildInputs = [ cmake cfitsio libusb zlib boost ];
|
||||
propagatedBuildInputs = [ cmake cfitsio libusb zlib boost
|
||||
libnova libjpeg gsl ];
|
||||
|
||||
meta = {
|
||||
homepage = http://indi.sf.net;
|
||||
|
@ -1,12 +0,0 @@
|
||||
diff -Naur libindi-0.9.6-upstream/CMakeLists.txt libindi-0.9.6/CMakeLists.txt
|
||||
--- libindi-0.9.6-upstream/CMakeLists.txt 2012-11-19 16:09:14.000000000 -0430
|
||||
+++ libindi-0.9.6/CMakeLists.txt 2013-05-02 16:50:25.666624174 -0430
|
||||
@@ -169,7 +169,7 @@
|
||||
# To link with main() and indibase classes ######
|
||||
##################################################
|
||||
add_library(indidriver SHARED ${libindicom_SRCS} ${liblilxml_SRCS} ${indimain_SRCS} ${indidriver_SRCS})
|
||||
-target_link_libraries(indidriver ${LIBUSB_LIBRARIES})
|
||||
+target_link_libraries(indidriver z ${LIBUSB_LIBRARIES})
|
||||
if (NOVA_FOUND)
|
||||
target_link_libraries(indidriver ${NOVA_LIBRARIES})
|
||||
endif(NOVA_FOUND)
|
@ -1,12 +1,12 @@
|
||||
diff -Naur libindi-0.9.6-upstream/CMakeLists.txt libindi-0.9.6/CMakeLists.txt
|
||||
--- libindi-0.9.6-upstream/CMakeLists.txt 2012-11-19 16:09:14.000000000 -0430
|
||||
+++ libindi-0.9.6/CMakeLists.txt 2013-05-02 17:02:55.455944987 -0430
|
||||
@@ -13,7 +13,7 @@
|
||||
set(DATA_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/indi/")
|
||||
set(BIN_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/bin")
|
||||
set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include")
|
||||
-set(UDEVRULES_INSTALL_DIR "/etc/udev/rules.d")
|
||||
+set(UDEVRULES_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/etc/udev/rules.d")
|
||||
diff -Naur libindi-1.0.0-upstream/CMakeLists.txt libindi-1.0.0/CMakeLists.txt
|
||||
--- libindi-1.0.0-upstream/CMakeLists.txt 2015-03-28 21:06:49.576863460 -0430
|
||||
+++ libindi-1.0.0/CMakeLists.txt 2015-03-28 21:07:48.420677548 -0430
|
||||
@@ -28,7 +28,7 @@
|
||||
## the following are directories where stuff will be installed to
|
||||
set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include/")
|
||||
set(PKGCONFIG_INSTALL_PREFIX "${LIB_DESTINATION}/pkgconfig/")
|
||||
-set(UDEVRULES_INSTALL_DIR "/lib/udev/rules.d" CACHE STRING "Base directory for udev rules")
|
||||
+set(UDEVRULES_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib/udev/rules.d" CACHE STRING "Base directory for udev rules")
|
||||
|
||||
IF(APPLE)
|
||||
set(CMAKE_SHARED_LINKER_FLAGS "-undefined dynamic_lookup")
|
||||
################## Includes ################################
|
||||
Include (CheckCXXSourceCompiles)
|
||||
|
@ -1,14 +1,14 @@
|
||||
{ stdenv, fetchurl, pkgconfig, libusb, glib, nss, nspr, gdk_pixbuf }:
|
||||
{ stdenv, fetchurl, pkgconfig, libusb, pixman, glib, nss, nspr, gdk_pixbuf }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libfprint-0.5.1";
|
||||
name = "libfprint-0.6.0";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://people.freedesktop.org/~hadess/${name}.tar.xz";
|
||||
sha256 = "1cwgaswqcvvbclahk2m2qr09k7lf7l8jwvgf3svq92w8j4xmc4kd";
|
||||
sha256 = "1giwh2z63mn45galsjb59rhyrvgwcy01hvvp4g01iaa2snvzr0r5";
|
||||
};
|
||||
|
||||
buildInputs = [ libusb glib nss nspr gdk_pixbuf ];
|
||||
buildInputs = [ libusb pixman glib nss nspr gdk_pixbuf ];
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
configureFlags = [ "--with-udev-rules-dir=$(out)/lib/udev/rules.d" ];
|
||||
|
@ -1,26 +0,0 @@
|
||||
{ stdenv, fetchgit, libtool, autoconf, automake113x, pkgconfig, libusb, glib, nss, nspr, pixman }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libfprint";
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://anongit.freedesktop.org/libfprint/libfprint";
|
||||
rev = "a3c90f2b24434aa36f782aca3950fd89af01fce0";
|
||||
sha256 = "01qa58vq299xzxzxrcqkl51k8396wh56674d9wjmkv2msxx877hi";
|
||||
};
|
||||
|
||||
buildInputs = [ libusb glib nss nspr pixman ];
|
||||
nativeBuildInputs = [ libtool autoconf automake113x pkgconfig ];
|
||||
|
||||
configureScript = "./autogen.sh";
|
||||
|
||||
configureFlags = [ "--prefix=$(out)" "--disable-examples-build" "--disable-x11-examples-build" "--with-udev-rules-dir=$(out)/lib/udev/rules.d" ];
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "http://www.freedesktop.org/wiki/Software/fprint/libfprint/";
|
||||
description = "A library designed to make it easy to add support for consumer fingerprint readers";
|
||||
license = licenses.lgpl2;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
};
|
||||
}
|
@ -9,11 +9,11 @@ assert pythonSupport -> python != null && swig != null;
|
||||
assert docSupport -> doxygen != null;
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "libftdi1-1.1";
|
||||
name = "libftdi1-1.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.intra2net.com/en/developer/libftdi/download/${name}.tar.bz2";
|
||||
sha256 = "088yh8pxd6q53ssqndydcw1dkq51cjqyahc03lm6iip22cdazcf0";
|
||||
sha256 = "1ml8hiahnqm4z0xzyjv8kyrkzvhw6l431c3jndg026cjh9f7ksm6";
|
||||
};
|
||||
|
||||
buildInputs = with stdenv.lib; [ cmake pkgconfig confuse ]
|
||||
|
@ -1,12 +1,12 @@
|
||||
{ callPackage, fetchFromGitHub, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (args // rec {
|
||||
version = "1.0.0";
|
||||
version = "1.0.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "msgpack";
|
||||
repo = "msgpack-c";
|
||||
rev = "cpp-${version}";
|
||||
sha256 = "0vkhjil4rh5z9kvjfgzm79kfqwvlimvv49q74wlsjx7vgvv9019d";
|
||||
sha256 = "0qyjz2rm0gxbv81dlh28ynss66dsyhlqzs09rblbjsdf1vh6yzcq";
|
||||
};
|
||||
})
|
||||
|
@ -1,11 +1,11 @@
|
||||
{ callPackage, fetchFromGitHub, ... } @ args:
|
||||
|
||||
callPackage ./generic.nix (args // rec {
|
||||
version = "1.1.0";
|
||||
version = "1.1.1";
|
||||
src = fetchFromGitHub {
|
||||
owner = "protobuf-c";
|
||||
repo = "protobuf-c";
|
||||
rev = "v${version}";
|
||||
sha256 = "11j9vg55a732v14cki4721ipr942c4krr562gliqmnlwvyz0hlyb";
|
||||
sha256 = "0mdl2i87394l4zdvq2npsxq4zs8p7sqhqmbm2r380ngjs6zic6gw";
|
||||
};
|
||||
})
|
||||
|
@ -2,13 +2,13 @@
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "rdkafka-${version}";
|
||||
version = "0.8.5";
|
||||
version = "0.8.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "edenhill";
|
||||
repo = "librdkafka";
|
||||
rev = version;
|
||||
sha256 = "0qx5dnq9halqaznmbwg44p1wl64pzl485r4054569rbx9y9ak1zy";
|
||||
sha256 = "0iklvslz35dd0lz26ffrbfb20qirl9v5kcdmlcnnzc034hr2zmnv";
|
||||
};
|
||||
|
||||
buildInputs = [ zlib perl ];
|
||||
|
@ -1,12 +1,12 @@
|
||||
{ stdenv, fetchurl, unzip, blas, liblapack, gfortran }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "3.12.0";
|
||||
version = "3.12.1";
|
||||
name = "ipopt-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://www.coin-or.org/download/source/Ipopt/Ipopt-${version}.zip";
|
||||
sha256 = "18p1ad64mpliba1hf6jkyyrd0srxsqivwbcnbrr09jfpn4jn4bbr";
|
||||
sha256 = "0x0wcc21d2bfs3zq8nvhva1nv7xi86wjbyixvvxvcrg2kqjlybdy";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
|
||||
description = "Hybrid audio compression format";
|
||||
homepage = http://www.wavpack.com/;
|
||||
license = licenses.bsd3;
|
||||
platforms = platforms.linux;
|
||||
platforms = platforms.unix;
|
||||
maintainers = with maintainers; [ codyopel ];
|
||||
};
|
||||
}
|
||||
|
@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "C++/C library to construct Excel .xls files in code";
|
||||
homepage = http://xlslib.sourceforge.net/;
|
||||
homepage = http://sourceforge.net/projects/xlslib/files/;
|
||||
license = licenses.bsd2;
|
||||
platforms = platforms.unix;
|
||||
maintainers = maintainers.abbradar;
|
||||
|
@ -436,6 +436,7 @@ let
|
||||
"PBSadmb"
|
||||
"PBSmodelling"
|
||||
"PCPS"
|
||||
"PKgraph"
|
||||
"PopGenReport"
|
||||
"PredictABEL"
|
||||
"PrevMap"
|
||||
@ -664,6 +665,7 @@ let
|
||||
"babel" # requires edgeR
|
||||
"BACA" # requires RDAVIDWebService
|
||||
"BcDiag" # requires fabia
|
||||
"beadarrayMSV" # requires Biobase, geneplotter, andlimma
|
||||
"bdvis" # requres taxize
|
||||
"beadarrayFilter" # requires beadarray
|
||||
"bigGP" # requires MPI running. HELP WANTED!
|
||||
@ -679,6 +681,7 @@ let
|
||||
"CARrampsOcl" # depends on OpenCL
|
||||
"CHAT" # requires DNAcopy
|
||||
"ChemoSpec" # depends on broken speaq
|
||||
"Crossover" # fails self-test
|
||||
"classGraph" # requires graph, and Rgraphviz
|
||||
"clpAPI" # requires clp
|
||||
"compendiumdb" # requires Biobase
|
||||
@ -729,9 +732,11 @@ let
|
||||
"GeneticTools" # requires snpStats
|
||||
"GExMap" # requires Biobase and multtest
|
||||
"gitter" # requires EBImage
|
||||
"glmgraph" # test suite says: "undefined symbol: dgemv_"
|
||||
"gmatrix" # depends on proprietary cudatoolkit
|
||||
"GOGANPA" # requires WGCNA
|
||||
"gputools" # depends on proprietary cudatoolkit
|
||||
"gMCP" # fails self-test
|
||||
"gRain" # requires gRbase
|
||||
"gRapHD" # requires graph
|
||||
"gRbase" # requires RBGL, and graph
|
||||
@ -796,6 +801,7 @@ let
|
||||
"NCmisc" # requires BiocInstaller
|
||||
"netClass" # requires samr
|
||||
"nettools" # requires WGCNA
|
||||
"NORRRM" # can't load SDMTools properly
|
||||
"netweavers" # requires BiocGenerics, Biobase, and limma
|
||||
"NLPutils" # requires qdap
|
||||
"NSA" # requires aroma_core
|
||||
@ -803,6 +809,9 @@ let
|
||||
"optBiomarker" # requires rpanel
|
||||
"ora" # requires ROracle
|
||||
"orQA" # requires genefilter
|
||||
"pRF" # requires multtest
|
||||
"PBSmapping" # fails its test suite for unclear reasons
|
||||
"PBSddesolve" # fails its test suite for unclear reasons
|
||||
"PairViz" # requires graph
|
||||
"PANDA" # requires GO.db
|
||||
"ParDNAcopy" # requires DNAcopy
|
||||
@ -843,6 +852,7 @@ let
|
||||
"rainfreq" # SDMTools.so: undefined symbol: X
|
||||
"RAM" # requires Heatplus
|
||||
"RAPIDR" # requires Biostrings, Rsamtools, and GenomicRanges
|
||||
"RapidPolygonLookup" # depends on broken PBSmapping
|
||||
"RbioRXN" # requires fmcsR, and KEGGREST
|
||||
"RcppAPT" # configure script depends on /bin/sh
|
||||
"RcmdrPlugin_seeg" # requires seeg
|
||||
@ -870,6 +880,8 @@ let
|
||||
"rpanel" # I could not make Tcl to recognize BWidget. HELP WANTED!
|
||||
"RQuantLib" # requires QuantLib
|
||||
"RSAP" # requires SAPNWRFCSDK
|
||||
"rgp" # fails self-test
|
||||
"rgpui" # depends on broken rgp
|
||||
"RSeed" # requires RBGL, and graph
|
||||
"rsig" # requires survcomp
|
||||
"RSNPset" # requires qvalue
|
||||
@ -905,6 +917,8 @@ let
|
||||
"spocc" # requires leafletR
|
||||
"SQDA" # requires limma
|
||||
"Statomica" # requires Biobase, multtest
|
||||
"stagePop" # depends on broken PBSddesolve
|
||||
"SeqGrapheR" # depends on Biostrings
|
||||
"stpp" # requires spatstat
|
||||
"structSSI" # requires multtest
|
||||
"strum" # requires Rgraphviz
|
||||
@ -920,6 +934,7 @@ let
|
||||
"ttScreening" # requires sva, and limma
|
||||
"V8" # compilation error
|
||||
"vows" # requires rpanel
|
||||
"vmsbase" # depends on broken PBSmapping
|
||||
"WGCNA" # requires impute
|
||||
"wgsea" # requires snpStats
|
||||
"WideLM" # depends on proprietary cudatoolkit
|
||||
|
@ -15,6 +15,6 @@ stdenv.mkDerivation rec {
|
||||
homepage = http://www.nongnu.org/texi2html/;
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
maintainers = [stdenv.lib.maintainers.marcweber];
|
||||
platforms = stdenv.lib.platforms.linux;
|
||||
platforms = stdenv.lib.platforms.unix;
|
||||
};
|
||||
}
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
let
|
||||
py = pythonPackages;
|
||||
version = "2.0.31";
|
||||
version = "2.0.32";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "anki-${version}";
|
||||
@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
|
||||
"http://ankisrs.net/download/mirror/${name}.tgz"
|
||||
"http://ankisrs.net/download/mirror/archive/${name}.tgz"
|
||||
];
|
||||
sha256 = "0bxy4pq9yq78g0ffnlkpqj91ri0w4xqgv8mqksddn02v4llrd5jb";
|
||||
sha256 = "0g5rmg0yqh40a3g8ci3y3if7vw4jl5nrpq8ki1a13a3xmgch13rr";
|
||||
};
|
||||
|
||||
pythonPath = [ pyqt4 py.pysqlite py.sqlalchemy py.pyaudio ]
|
||||
|
31
pkgs/games/crawl/crawl_purify.patch
Normal file
31
pkgs/games/crawl/crawl_purify.patch
Normal file
@ -0,0 +1,31 @@
|
||||
diff --git a/crawl-ref/source/Makefile b/crawl-ref/source/Makefile
|
||||
index b7e2fbf..5ff23db 100644
|
||||
--- a/crawl-ref/source/Makefile
|
||||
+++ b/crawl-ref/source/Makefile
|
||||
@@ -273,7 +273,7 @@ endif
|
||||
LIBZ := contrib/install/$(ARCH)/lib/libz.a
|
||||
|
||||
ifndef CROSSHOST
|
||||
- SQLITE_INCLUDE_DIR := /usr/include
|
||||
+ SQLITE_INCLUDE_DIR := ${sqlite}/include
|
||||
else
|
||||
# This is totally wrong, works only with some old-style setups, and
|
||||
# on some architectures of Debian/new FHS multiarch -- excluding, for
|
||||
@@ -943,7 +943,7 @@ else
|
||||
SYS_PROPORTIONAL_FONT = $(shell { name=$(OUR_PROPORTIONAL_FONT);\
|
||||
{\
|
||||
fc-list | sed 's/: .*//' | grep -Fi "/$$name";\
|
||||
- for dir in /usr/share/fonts /usr/local/share/fonts /usr/*/lib/X11/fonts;\
|
||||
+ for dir in ${dejavu_fonts}/share/fonts;\
|
||||
do [ -d $$dir ] && echo $$dir; done;\
|
||||
} | xargs -I% find % -type f -iname $$name -print | head -n1; } 2>/dev/null)
|
||||
ifneq (,$(SYS_PROPORTIONAL_FONT))
|
||||
@@ -968,7 +968,7 @@ else
|
||||
SYS_MONOSPACED_FONT = $(shell { name=$(OUR_MONOSPACED_FONT);\
|
||||
{\
|
||||
fc-list | sed 's/: .*//' | grep -Fi "/$$name";\
|
||||
- for dir in /usr/share/fonts /usr/local/share/fonts /usr/*/lib/X11/fonts;\
|
||||
+ for dir in ${dejavu_fonts}/share/fonts;\
|
||||
do [ -d $$dir ] && echo $$dir; done;\
|
||||
} | xargs -I% find % -type f -iname $$name -print | head -n1; } 2>/dev/null)
|
||||
ifneq (,$(SYS_MONOSPACED_FONT))
|
@ -1,18 +1,20 @@
|
||||
{ stdenv, fetchurl, which, sqlite, lua5_1, perl, zlib, pkgconfig, ncurses
|
||||
{ stdenv, fetchFromGitHub, which, sqlite, lua5_1, perl, zlib, pkgconfig, ncurses
|
||||
, dejavu_fonts, libpng, SDL, SDL_image, mesa, freetype
|
||||
, tileMode ? true
|
||||
}:
|
||||
|
||||
let version = "0.15.2";
|
||||
let version = "0.16.1";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "crawl-${version}" + (if tileMode then "-tiles" else "");
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/crawl-ref/Stone%20Soup/${version}/stone_soup-${version}-nodeps.tar.xz";
|
||||
sha256 = "1qi1g8w0sxmwrv96hnay20gpwp1xn2xcq1cw9iwn1yq112484fp9";
|
||||
src = fetchFromGitHub {
|
||||
owner = "crawl-ref";
|
||||
repo = "crawl-ref";
|
||||
rev = version;
|
||||
sha256 = "0gciqaij05qr5bwkk5mblvk5k0p6bzjd58czk1b6x5xx5qcp6mmh";
|
||||
};
|
||||
|
||||
patches = [ ./makefile_fonts.patch ./makefile_sqlite.patch ];
|
||||
patches = [ ./crawl_purify.patch ];
|
||||
|
||||
nativeBuildInputs = [ pkgconfig which perl ];
|
||||
|
||||
@ -22,7 +24,8 @@ stdenv.mkDerivation rec {
|
||||
[ libpng SDL SDL_image freetype mesa ];
|
||||
|
||||
preBuild = ''
|
||||
cd source
|
||||
cd crawl-ref/source
|
||||
echo "${version}" > util/release_ver
|
||||
# Related to issue #1963
|
||||
sed -i 's/-fuse-ld=gold//g' Makefile
|
||||
for i in util/*.pl; do
|
||||
|
@ -1,20 +0,0 @@
|
||||
--- old/source/Makefile 2013-11-28 01:03:54.000000000 +0000
|
||||
+++ new/source/Makefile 2014-02-05 14:04:32.531838188 +0000
|
||||
@@ -880,7 +880,7 @@
|
||||
INSTALL_FONTS += $(PROPORTIONAL_FONT)
|
||||
endif
|
||||
else
|
||||
- SYS_PROPORTIONAL_FONT = $(shell dir=/usr/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_PROPORTIONAL_FONT)|head -n 1)
|
||||
+ SYS_PROPORTIONAL_FONT = $(shell dir=${dejavu_fonts}/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_PROPORTIONAL_FONT)|head -n 1)
|
||||
ifeq (,$(SYS_PROPORTIONAL_FONT))
|
||||
SYS_PROPORTIONAL_FONT = $(shell dir=/usr/local/share/fonts ; [ -d $$dir ] && find $$dir -iname $(OUR_PROPORTIONAL_FONT)|head -n 1)
|
||||
endif
|
||||
@@ -903,7 +903,7 @@
|
||||
INSTALL_FONTS += $(MONOSPACED_FONT)
|
||||
endif
|
||||
else
|
||||
- SYS_MONOSPACED_FONT = $(shell dir=/usr/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_MONOSPACED_FONT)|head -n 1)
|
||||
+ SYS_MONOSPACED_FONT = $(shell dir=${dejavu_fonts}/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_MONOSPACED_FONT)|head -n 1)
|
||||
ifeq (,$(SYS_MONOSPACED_FONT))
|
||||
SYS_MONOSPACED_FONT = $(shell dir=/usr/local/share/fonts; [ -d $$dir ] && find $$dir -iname $(OUR_MONOSPACED_FONT)|head -n 1)
|
||||
endif
|
@ -1,11 +0,0 @@
|
||||
--- old/source/Makefile 2014-04-14 12:46:35.401956673 +0000
|
||||
+++ new/source/Makefile 2014-04-14 12:47:12.757006254 +0000
|
||||
@@ -259,7 +259,7 @@
|
||||
LIBZ := contrib/install/$(ARCH)/lib/libz.a
|
||||
|
||||
ifndef CROSSHOST
|
||||
- SQLITE_INCLUDE_DIR := /usr/include
|
||||
+ SQLITE_INCLUDE_DIR := ${sqlite}/include
|
||||
else
|
||||
# This is totally wrong, works only with some old-style setups, and
|
||||
# on some architectures of Debian/new FHS multiarch -- excluding, for
|
@ -1,13 +1,15 @@
|
||||
{ stdenv, fetchgit, wine, perl, which, coreutils, zenity, curl
|
||||
{ stdenv, fetchFromGitHub, wine, perl, which, coreutils, zenity, curl
|
||||
, cabextract, unzip, p7zip, gnused, gnugrep, bash } :
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "winetricks-20150206";
|
||||
let version = "20150316";
|
||||
in stdenv.mkDerivation rec {
|
||||
name = "winetricks-${version}";
|
||||
|
||||
src = fetchgit {
|
||||
url = "https://code.google.com/p/winetricks/";
|
||||
rev = "483056823093a90c9186b3d1a4867f481acf5fa1";
|
||||
sha256 = "8b86a2a130ced405886775f0f81e7a6b25eb1bc22f357d0fe705fead52fff829";
|
||||
src = fetchFromGitHub {
|
||||
owner = "Winetricks";
|
||||
repo = "winetricks";
|
||||
rev = version;
|
||||
sha256 = "00c55jpca6l3v3p02xc0gy5l4xb17gf90282hq5h85nh72kqsbrh";
|
||||
};
|
||||
|
||||
buildInputs = [ perl which ];
|
||||
|
@ -1245,6 +1245,16 @@ rec {
|
||||
};
|
||||
dependencies = [];
|
||||
|
||||
};
|
||||
"vim-gista" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
|
||||
name = "vim-gista-2015-01-29";
|
||||
src = fetchgit {
|
||||
url = "git://github.com/lambdalisue/vim-gista";
|
||||
rev = "e450417a6eaeb99d3982b880507697dce85b7217";
|
||||
sha256 = "a7665dbc63a35d1fe9b7679a498deafb80c8dfb05fced37ac4722212c673f2ec";
|
||||
};
|
||||
dependencies = [];
|
||||
|
||||
};
|
||||
"vim-snippets" = buildVimPluginFrom2Nix { # created by nix#NixDerivation
|
||||
name = "vim-snippets-2015-03-24";
|
||||
|
@ -52,5 +52,6 @@
|
||||
"YankRing"
|
||||
"vim-addon-manager"
|
||||
"vim-addon-nix"
|
||||
"vim-gista"
|
||||
"github:JagaJaga/vim-addon-vim2nix"
|
||||
"sensible"
|
||||
|
@ -5,8 +5,8 @@ stdenv.mkDerivation {
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://github.com/M0Rf30/android-udev-rules";
|
||||
rev = "82f78561f388363a925e6663211988d9527de0c6";
|
||||
sha256 = "badd7a152acf92c75335917c07125ffb1b5fda0bed5ec1e474d76e48a8d9f0db";
|
||||
rev = "2cc51a456ccfbca338c4e6b76211645aaac631e9";
|
||||
sha256 = "dbf1614cebb466d1adbcc5f17cefc0c37f148f9e3b46443b3e82f6cd19a1514f";
|
||||
};
|
||||
|
||||
installPhase = ''
|
||||
|
@ -1,3 +1,21 @@
|
||||
/*
|
||||
|
||||
WARNING/NOTE: whenever you want to add an option here you need to
|
||||
either
|
||||
|
||||
* mark it as an optional one with `?` suffix,
|
||||
* or make sure it works for all the versions in nixpkgs,
|
||||
* or check for which kernel versions it will work (using kernel
|
||||
changelog, google or whatever) and mark it with `versionOlder` or
|
||||
`versionAtLeast`.
|
||||
|
||||
Then do test your change by building all the kernels (or at least
|
||||
their configs) in nixpkgs or else you will guarantee lots and lots
|
||||
of pain to users trying to switch to an older kernel because of some
|
||||
hardware problems with a new one.
|
||||
|
||||
*/
|
||||
|
||||
{ stdenv, version, kernelPlatform, extraConfig, features }:
|
||||
|
||||
with stdenv.lib;
|
||||
@ -284,7 +302,9 @@ with stdenv.lib;
|
||||
${optionalString (versionAtLeast version "3.6") ''
|
||||
RC_DEVICES? y # Enable IR devices
|
||||
''}
|
||||
RT2800USB_RT55XX y
|
||||
${optionalString (versionAtLeast version "3.10") ''
|
||||
RT2800USB_RT55XX y
|
||||
''}
|
||||
SCSI_LOGGING y # SCSI logging facility
|
||||
SERIAL_8250 y # 8250/16550 and compatible serial support
|
||||
SLIP_COMPRESSED y # CSLIP compressed headers
|
||||
|
@ -1,37 +0,0 @@
|
||||
{ stdenv, fetchurl, libXrender, fontconfig, freetype, libXext, libX11 }:
|
||||
|
||||
let arch = if stdenv.system == "x86_64-linux" then "64"
|
||||
else if stdenv.system == "i686-linux" then "32"
|
||||
else abort "OCZ Toolbox only support {x86-64,i686}-linux targets";
|
||||
in stdenv.mkDerivation rec {
|
||||
version = "4.9.0.634";
|
||||
name = "ocz-toolbox-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://ocz.com/consumer/download/firmware/OCZToolbox_v${version}_linux.tar.gz";
|
||||
sha256 = "0h51p5bg9h2smxxy1r4xkzzjjavhgql7yy12qmjk0vbh13flgx3y";
|
||||
};
|
||||
|
||||
prePatch = ''
|
||||
cd linux${arch}
|
||||
'';
|
||||
|
||||
libPath = stdenv.lib.makeLibraryPath [ stdenv.cc.cc libXrender fontconfig freetype libXext libX11 ];
|
||||
|
||||
installPhase = ''
|
||||
install -Dm755 OCZToolbox $out/bin/OCZToolbox
|
||||
patchelf \
|
||||
--interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
|
||||
--set-rpath "$libPath" \
|
||||
$out/bin/OCZToolbox
|
||||
'';
|
||||
|
||||
dontStrip = true;
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Update firmware and BIOS, secure erase, view SMART attributes, and view drive details of your OCZ SSD";
|
||||
homepage = "http://ocz.com/consumer/download/firmware";
|
||||
license = licenses.unfree;
|
||||
maintainers = with maintainers; [ abbradar ];
|
||||
};
|
||||
}
|
@ -2,14 +2,14 @@
|
||||
, inotifyTools, clucene_core_2, sqlite }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "dovecot-2.2.15";
|
||||
name = "dovecot-2.2.16";
|
||||
|
||||
buildInputs = [perl openssl bzip2 zlib openldap clucene_core_2 sqlite]
|
||||
++ stdenv.lib.optionals (stdenv.isLinux) [ systemd pam inotifyTools ];
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://dovecot.org/releases/2.2/${name}.tar.gz";
|
||||
sha256 = "17rr7krfvyk706j12y9wy6nf7wh5vppqjrgxjdf66z9nw9lpf3ni";
|
||||
sha256 = "1w6gg4h9mxg3i8faqpmgj19imzyy001b0v8ihch8ma3zl63i5kjn";
|
||||
};
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -1,8 +1,8 @@
|
||||
{ stdenv, fetchurl, pkgconfig,
|
||||
version ? "2.1.9",
|
||||
version ? "2.2.8",
|
||||
mainSrc ? fetchurl {
|
||||
url = "http://sphinxsearch.com/files/sphinx-${version}-release.tar.gz";
|
||||
sha256 = "00vwxf3zr0g1fq9mls1z2rd8nxw74b76pkl1j466lig1qc5am2b2";
|
||||
sha256 = "1q6jdw5g81k7ciw9fhwklb5ifgb8zna39795m0x0lbvwjbk3ampv";
|
||||
}
|
||||
}:
|
||||
|
||||
|
@ -24,11 +24,11 @@ in
|
||||
assert builtins.filter (x: lib.all (y: y.name != x) available) plugins == [];
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "uwsgi-2.0.9";
|
||||
name = "uwsgi-2.0.10";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://projects.unbit.it/downloads/${name}.tar.gz";
|
||||
sha256 = "15c2j5myx1s54a1f6a7pjblvk7v96mz2kqlbj19mdfd8l2y8j17y";
|
||||
sha256 = "12q2sn35vf1ils5043svq8da0czy54k63ziybvl33a9dqbb83cy0";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ python3 pkgconfig ];
|
||||
|
@ -1,39 +1,78 @@
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, nettools, gettext, readline, openssl, python
|
||||
, ncurses ? null
|
||||
, sqlite ? null, postgresql ? null, mysql ? null, libcap ? null
|
||||
, zlib ? null, lzo ? null, acl ? null, ceph ? null
|
||||
{ stdenv, fetchFromGitHub, pkgconfig, nettools, gettext, libtool
|
||||
, readline ? null, openssl ? null, python ? null, ncurses ? null
|
||||
, sqlite ? null, postgresql ? null, mysql ? null, zlib ? null, lzo ? null
|
||||
, acl ? null, glusterfs ? null, ceph ? null, libcap ? null
|
||||
}:
|
||||
|
||||
assert sqlite != null || postgresql != null || mysql != null;
|
||||
|
||||
with stdenv.lib;
|
||||
let
|
||||
withGlusterfs = "\${with_glusterfs_directory}";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "bareos-${version}";
|
||||
version = "14.2.3";
|
||||
version = "14.2.4";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "bareos";
|
||||
repo = "bareos";
|
||||
rev = "Release/${version}";
|
||||
name = "${name}-src";
|
||||
sha256 = "04z6nwlnk6kk5ghbdw5g34mkypmpk4qpkd08cjxwblg8sdj4j8fl";
|
||||
sha256 = "0shb91pawdgrn6rb4np3zyyxv36899nvwf8jaihkg0wvb01viqzr";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
pkgconfig nettools gettext readline openssl python
|
||||
ncurses sqlite postgresql mysql libcap zlib lzo acl ceph
|
||||
ncurses sqlite postgresql mysql zlib lzo acl glusterfs ceph libcap
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
sed -i 's,\(-I${withGlusterfs}/include\),\1/glusterfs,' configure
|
||||
'';
|
||||
|
||||
configureFlags = [
|
||||
"--sysconfdir=/etc"
|
||||
"--localstatedir=/var"
|
||||
"--exec-prefix=\${out}"
|
||||
"--with-openssl=${openssl}"
|
||||
"--with-python=${python}"
|
||||
"--with-readline=${readline}"
|
||||
"--enable-lockmgr"
|
||||
"--enable-dynamic-storage-backends"
|
||||
"--with-basename=nixos" # For reproducible builds since it uses the hostname otherwise
|
||||
"--with-hostname=nixos" # For reproducible builds since it uses the hostname otherwise
|
||||
"--with-working-dir=/var/lib/bareos"
|
||||
"--with-bsrdir=/var/lib/bareos"
|
||||
"--with-logdir=/var/log/bareos"
|
||||
"--with-pid-dir=/var/run/bareos"
|
||||
"--with-subsys-dir=/var/run/bareos"
|
||||
"--enable-ndmp"
|
||||
"--enable-lmdb"
|
||||
] ++ optional (sqlite != null) "--with-sqlite3=${sqlite}"
|
||||
"--enable-batch-insert"
|
||||
"--enable-dynamic-cats-backends"
|
||||
"--enable-sql-pooling"
|
||||
"--enable-scsi-crypto"
|
||||
] ++ optionals (readline != null) [ "--disable-conio" "--enable-readline" "--with-readline=${readline}" ]
|
||||
++ optional (python != null) "--with-python=${python}"
|
||||
++ optional (openssl != null) "--with-openssl=${openssl}"
|
||||
++ optional (sqlite != null) "--with-sqlite3=${sqlite}"
|
||||
++ optional (postgresql != null) "--with-postgresql=${postgresql}"
|
||||
++ optional (mysql != null) "--with-mysql=${mysql}";
|
||||
++ optional (mysql != null) "--with-mysql=${mysql}"
|
||||
++ optional (zlib != null) "--with-zlib=${zlib}"
|
||||
++ optional (lzo != null) "--with-lzo=${lzo}"
|
||||
++ optional (acl != null) "--enable-acl"
|
||||
++ optional (glusterfs != null) "--with-glusterfs=${glusterfs}"
|
||||
++ optional (ceph != null) "--with-cephfs=${ceph}";
|
||||
|
||||
installFlags = [ "DESTDIR=\${out}" ];
|
||||
|
||||
postInstall = ''
|
||||
mv $out/$out/* $out
|
||||
DIR=$out/$out
|
||||
while rmdir $DIR 2>/dev/null; do
|
||||
DIR="$(dirname "$DIR")"
|
||||
done
|
||||
|
||||
rm -rf /tmp /var
|
||||
'';
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://www.bareos.org/;
|
||||
|
@ -1,12 +1,12 @@
|
||||
{ stdenv, fetchurl, zlib, openssl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "3.48.20";
|
||||
version = "3.48.21";
|
||||
name = "httrack-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://mirror.httrack.com/httrack-${version}.tar.gz";
|
||||
sha256 = "129cpf324ihqxc8mvvkqjfanl17g60zfiqy1zx8ri56dkrg52mii";
|
||||
sha256 = "10p4gf8y9h7mxkqlbs3hqgvmvbgvcbax8jp1whbw4yidwahn06w7";
|
||||
};
|
||||
|
||||
buildInputs = [ zlib openssl ];
|
||||
|
@ -8,7 +8,8 @@ stdenv.mkDerivation {
|
||||
sha256 = "01hcwf5rgqi303fa4kdjkbpa7n8mvvh7h9gpgh2b23nz73k0q0zf";
|
||||
};
|
||||
|
||||
phases = "unpackPhase installPhase";
|
||||
patches = [ ./fix-librsync-rs_default_strong_len.patch ];
|
||||
|
||||
installPhase = ''
|
||||
python ./setup.py install --prefix=$out
|
||||
sed -i $out/bin/rdiff-backup -e \
|
||||
|
@ -0,0 +1,20 @@
|
||||
Patch by Roman Tereshonkov and Kari Hautio for rdiff-backup <= 1.2.8 to avoid a build failure with
|
||||
librsync >= 1.0.0 (which is a security bugfix release). The discussion and solution finding can be
|
||||
found at https://bugs.launchpad.net/duplicity/+bug/1416344 (for duplicity).
|
||||
|
||||
--- rdiff-backup-1.2.8/_librsyncmodule.c 2009-03-16 15:36:21.000000000 +0100
|
||||
+++ rdiff-backup-1.2.8/_librsyncmodule.c.librsync-1.0.0 2015-03-02 00:54:24.000000000 +0100
|
||||
@@ -59,8 +59,13 @@
|
||||
if (sm == NULL) return NULL;
|
||||
sm->x_attr = NULL;
|
||||
|
||||
+#ifdef RS_DEFAULT_STRONG_LEN
|
||||
sm->sig_job = rs_sig_begin((size_t)blocklen,
|
||||
(size_t)RS_DEFAULT_STRONG_LEN);
|
||||
+#else
|
||||
+ sm->sig_job = rs_sig_begin((size_t)blocklen,
|
||||
+ (size_t)8, RS_MD4_SIG_MAGIC);
|
||||
+#endif
|
||||
return (PyObject*)sm;
|
||||
}
|
||||
|
20
pkgs/tools/cd-dvd/lsdvd/default.nix
Normal file
20
pkgs/tools/cd-dvd/lsdvd/default.nix
Normal file
@ -0,0 +1,20 @@
|
||||
{ stdenv, fetchurl, libdvdread, pkgconfig }:
|
||||
|
||||
let
|
||||
version = "0.17";
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = "lsdvd-${version}";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/lsdvd/lsdvd-${version}.tar.gz";
|
||||
sha256 = "1274d54jgca1prx106iyir7200aflr70bnb1kawndlmcckcmnb3x";
|
||||
};
|
||||
|
||||
buildInputs = [ libdvdread ];
|
||||
nativeBuildInputs = [ pkgconfig ];
|
||||
|
||||
meta = {
|
||||
homepage = "http://sourceforge.net/projects/lsdvd/";
|
||||
shortDescription = "Display information about audio, video, and subtitle tracks on a DVD";
|
||||
};
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
{stdenv, fetchurl}:
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "lbzip2-2.5";
|
||||
|
@ -1,9 +1,11 @@
|
||||
{stdenv, fetchurl, help2man}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "fatsort";
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.3.365";
|
||||
name = "fatsort-${version}";
|
||||
|
||||
src = fetchurl {
|
||||
url = mirror://sourceforge/fatsort/fatsort-1.3.365.tar.gz;
|
||||
url = "mirror://sourceforge/fatsort/${name}.tar.gz";
|
||||
sha256 = "0g9zn2ns86g7zmy0y8hw1w1zhnd51hy8yl6kflyhxs49n5sc7b3p";
|
||||
};
|
||||
|
||||
@ -11,10 +13,11 @@ stdenv.mkDerivation {
|
||||
|
||||
buildInputs = [ help2man ];
|
||||
|
||||
meta = {
|
||||
meta = with stdenv.lib; {
|
||||
homepage = http://fatsort.sourceforge.net/;
|
||||
description = "Sorts FAT partition table, for devices that don't do sorting of files.";
|
||||
maintainers = [ stdenv.lib.maintainers.kovirobi ];
|
||||
license = stdenv.lib.licenses.gpl2;
|
||||
description = "Sorts FAT partition table, for devices that don't do sorting of files";
|
||||
maintainers = [ maintainers.kovirobi ];
|
||||
license = licenses.gpl2;
|
||||
inherit version;
|
||||
};
|
||||
}
|
||||
|
26
pkgs/tools/misc/cpulimit/default.nix
Normal file
26
pkgs/tools/misc/cpulimit/default.nix
Normal file
@ -0,0 +1,26 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "cpulimit-${version}";
|
||||
version = "2.2";
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/limitcpu/${name}.tar.gz";
|
||||
sha256 = "1r19rk2cbyfmgwh3l445fxkn1bmkzyi69dg5dbx4b4mbqjjxlr1z";
|
||||
};
|
||||
|
||||
buildFlags = with stdenv;
|
||||
if isDarwin then "osx"
|
||||
else if isFreeBSD then "freebsd"
|
||||
else "cpulimit";
|
||||
|
||||
installFlags = "PREFIX=$(out)";
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
homepage = "http://limitcpu.sourceforge.net/";
|
||||
description = "A tool to throttle the CPU usage of programs";
|
||||
platforms = with platforms; linux ++ freebsd ++ darwin;
|
||||
license = licenses.gpl2;
|
||||
maintainer = [maintainers.rycee];
|
||||
};
|
||||
}
|
@ -1,10 +1,10 @@
|
||||
{ stdenv, fetchurl, pkgconfig, geoip, ncurses, glib }:
|
||||
|
||||
let
|
||||
version = "0.8.5";
|
||||
version = "0.9";
|
||||
mainSrc = fetchurl {
|
||||
url = "http://tar.goaccess.io/goaccess-${version}.tar.gz";
|
||||
sha256 = "121s1hva33nq0g5n354ln68nalv2frg8slm7n84r81bmi2wvdim4";
|
||||
sha256 = "1yi7bxrmhvd11ha405bqpz7q442l9bnnx317iy22xzxjl96frn29";
|
||||
};
|
||||
in
|
||||
|
||||
@ -17,9 +17,9 @@ stdenv.mkDerivation rec {
|
||||
"--enable-utf8"
|
||||
];
|
||||
|
||||
buildInputs = [
|
||||
buildInputs = [
|
||||
pkgconfig
|
||||
geoip
|
||||
geoip
|
||||
ncurses
|
||||
glib
|
||||
];
|
||||
|
@ -8,11 +8,11 @@ let
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
name = "afl-${version}";
|
||||
version = "1.57b";
|
||||
version = "1.58b";
|
||||
|
||||
src = fetchurl {
|
||||
url = "http://lcamtuf.coredump.cx/afl/releases/${name}.tgz";
|
||||
sha256 = "05dwh2kgz31702y339bvbs0b3ffadxgxk8cqqhs2i0ggx5bnl5p4";
|
||||
sha256 = "1szggm4x9i9bsrcb99s5vbgncagp7jvhz8cg9amkx7p6mp2x4pld";
|
||||
};
|
||||
|
||||
buildInputs = [ makeWrapper ];
|
||||
|
@ -69,9 +69,10 @@ abi_ulong afl_entry_point, /* ELF entry point (_start) */
|
||||
afl_start_code, /* .text start pointer */
|
||||
afl_end_code; /* .text end pointer */
|
||||
|
||||
/* Set on the child in forkserver mode: */
|
||||
/* Set in the child process in forkserver mode: */
|
||||
|
||||
static unsigned char afl_fork_child;
|
||||
unsigned int afl_forksrv_pid;
|
||||
|
||||
/* Instrumentation ratio: */
|
||||
|
||||
@ -158,6 +159,8 @@ static void afl_forkserver(CPUArchState *env) {
|
||||
|
||||
if (write(FORKSRV_FD + 1, tmp, 4) != 4) return;
|
||||
|
||||
afl_forksrv_pid = getpid();
|
||||
|
||||
/* All right, let's await orders... */
|
||||
|
||||
while (1) {
|
||||
|
25
pkgs/tools/security/afl/qemu-patches/syscall.patch
Normal file
25
pkgs/tools/security/afl/qemu-patches/syscall.patch
Normal file
@ -0,0 +1,25 @@
|
||||
--- qemu-2.2.0/linux-user/syscall.c.orig 2014-12-09 14:45:43.000000000 +0000
|
||||
+++ qemu-2.2.0/linux-user/syscall.c 2015-03-27 06:33:00.736000000 +0000
|
||||
@@ -227,7 +227,21 @@
|
||||
_syscall3(int,sys_rt_sigqueueinfo,int,pid,int,sig,siginfo_t *,uinfo)
|
||||
_syscall3(int,sys_syslog,int,type,char*,bufp,int,len)
|
||||
#if defined(TARGET_NR_tgkill) && defined(__NR_tgkill)
|
||||
-_syscall3(int,sys_tgkill,int,tgid,int,pid,int,sig)
|
||||
+
|
||||
+extern unsigned int afl_forksrv_pid;
|
||||
+
|
||||
+static int sys_tgkill(int tgid, int pid, int sig) {
|
||||
+
|
||||
+ /* Workaround for -lpthread to make abort() work properly, without
|
||||
+ killing the forkserver due to a prematurely cached PID. */
|
||||
+
|
||||
+ if (afl_forksrv_pid && afl_forksrv_pid == pid && sig == SIGABRT)
|
||||
+ pid = tgid = getpid();
|
||||
+
|
||||
+ return syscall(__NR_sys_tgkill, pid, tgid, sig);
|
||||
+
|
||||
+}
|
||||
+
|
||||
#endif
|
||||
#if defined(TARGET_NR_tkill) && defined(__NR_tkill)
|
||||
_syscall2(int,sys_tkill,int,tid,int,sig)
|
@ -42,6 +42,7 @@ stdenv.mkDerivation rec {
|
||||
./qemu-patches/cpu-exec.patch
|
||||
./qemu-patches/no-etc-install.patch
|
||||
./qemu-patches/translate-all.patch
|
||||
./qemu-patches/syscall.patch
|
||||
];
|
||||
|
||||
preConfigure = ''
|
||||
|
@ -1,19 +1,16 @@
|
||||
{ stdenv, fetchgit, automake, autoconf, libtool, pkgconfig, gtk_doc
|
||||
, libfprint, intltool, glib, dbus_glib, polkit, nss, pam, systemd }:
|
||||
{ stdenv, fetchurl, pkgconfig, intltool
|
||||
, libfprint, glib, dbus_glib, polkit, nss, pam, systemd }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "fprintd";
|
||||
name = "fprintd-0.6.0";
|
||||
|
||||
src = fetchgit {
|
||||
url = "git://anongit.freedesktop.org/libfprint/fprintd";
|
||||
rev = "f7c51b0d585eb63702f0d005081e53f44325df86";
|
||||
sha256 = "1gmnn72ablfxvv13s0rms5f39hc4y2z97aq44d7l9hblnfn6wq12";
|
||||
src = fetchurl {
|
||||
url = "http://people.freedesktop.org/~hadess/${name}.tar.xz";
|
||||
sha256 = "1by6nvlrqkwzcz2v2kyq6avi3h384vmlr42vj9s2yzcinkp64m1z";
|
||||
};
|
||||
|
||||
buildInputs = [ libfprint glib dbus_glib polkit nss pam systemd ];
|
||||
nativeBuildInputs = [ automake libtool autoconf gtk_doc pkgconfig intltool ];
|
||||
|
||||
configureScript = "./autogen.sh";
|
||||
nativeBuildInputs = [ pkgconfig intltool ];
|
||||
|
||||
configureFlags = [ "--with-systemdsystemunitdir=$(out)/lib/systemd/system" ];
|
||||
|
||||
|
@ -8,6 +8,8 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "7f09319d044b0f6ee71fe3587bb873be701723ac0952cff5069046a78de8fd86";
|
||||
};
|
||||
|
||||
patches = [ ./remove-debug-message.patch ];
|
||||
|
||||
buildInputs = [ readline bzip2 ];
|
||||
|
||||
doCheck = true;
|
||||
|
22
pkgs/tools/security/gnupg/remove-debug-message.patch
Normal file
22
pkgs/tools/security/gnupg/remove-debug-message.patch
Normal file
@ -0,0 +1,22 @@
|
||||
commit 936416690e6c889505d84fe96983a66983beae5e
|
||||
Author: Werner Koch <wk@gnupg.org>
|
||||
Date: Thu Feb 26 09:38:58 2015 +0100
|
||||
|
||||
gpg: Remove left-over debug message.
|
||||
|
||||
* g10/armor.c (check_input): Remove log_debug.
|
||||
|
||||
diff --git a/g10/armor.c b/g10/armor.c
|
||||
index 6c0013d..de1726d 100644
|
||||
--- a/g10/armor.c
|
||||
+++ b/g10/armor.c
|
||||
@@ -534,9 +534,6 @@ check_input( armor_filter_context_t *afx, IOBUF a )
|
||||
/* This is probably input from a keyserver helper and we
|
||||
have not yet seen an error line. */
|
||||
afx->key_failed_code = parse_key_failed_line (line+4, len-4);
|
||||
- log_debug ("armor-keys-failed (%.*s) ->%d\n",
|
||||
- (int)len, line,
|
||||
- afx->key_failed_code);
|
||||
}
|
||||
if( i >= 0 && !(afx->only_keyblocks && i != 1 && i != 5 && i != 6 )) {
|
||||
hdr_line = i;
|
18
pkgs/tools/system/daemonize/default.nix
Normal file
18
pkgs/tools/system/daemonize/default.nix
Normal file
@ -0,0 +1,18 @@
|
||||
{ stdenv, fetchurl }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "daemonize-${version}";
|
||||
version = "1.7.5";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://github.com/bmc/daemonize/archive/release-${version}.tar.gz";
|
||||
sha256 = "0sx0k05n8kyn0ma51nkjll8cs1xygmhv4qsyshxxj8apvjw20qk1";
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Runs a command as a Unix daemon";
|
||||
homepage = http://software.clapper.org/daemonize/;
|
||||
license = licenses.bsd3;
|
||||
platforms = with platforms; linux ++ freebsd ++ darwin;
|
||||
};
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user