Merge master into x-updates

This commit is contained in:
Vladimír Čunát
2013-05-29 23:25:26 +02:00
1073 changed files with 9566 additions and 7580 deletions

View File

@@ -4,8 +4,9 @@ stdenv.mkDerivation rec {
name = "pa-applet";
src = fetchgit {
url = "https://github.com/fernandotcl/pa-applet.git";
url = "git://github.com/fernandotcl/pa-applet.git";
rev = "005f192df9ba6d2e6491f9aac650be42906b135a";
sha256 = "1rqnp6nzgb3z7c6pvd5qzsxprwrzif8cfx6i7xp3f0x5s7n2dqkb";
};
buildInputs = [

View File

@@ -0,0 +1,26 @@
{stdenv, fetchurl
, pkgconfig, libuuid
, e2fsprogs
}:
stdenv.mkDerivation {
name = "partclone-stable";
enableParallelBuilding = true;
src = fetchurl {
url = https://codeload.github.com/Thomas-Tsai/partclone/legacy.tar.gz/stable;
sha256 = "0vvk6c26gf2wv5y0mxnz90bivgp84pi82qk5q5xkcz6nz3swals7";
name = "Thomas-Tsai-partclone-stable-0-gab3bd53.tar.gz";
};
buildInputs = [e2fsprogs pkgconfig libuuid];
installPhase = ''make INSTPREFIX=$out install'';
meta = {
description = "Partclone provides utilities to save and restore used blocks on a partition and is designed for higher compatibility of the file system by using existing libraries, e.g. e2fslibs is used to read and write the ext2 partition";
homepage = http://partclone.org;
license = stdenv.lib.licenses.gpl2;
maintainers = [stdenv.lib.maintainers.marcweber];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@@ -0,0 +1,29 @@
{stdenv, fetchurl, bzip2, zlib, newt, openssl, pkgconfig, slang
, automake, autoconf, libtool, gettext
}:
stdenv.mkDerivation {
name = "partimage-0.6.9";
enableParallelBuilding = true;
src = fetchurl {
url = http://sourceforge.net/projects/partimage/files/stable/0.6.9/partimage-0.6.9.tar.bz2;
sha256 = "0db6xiphk6xnlpbxraiy31c5xzj0ql6k4rfkmqzh665yyj0nqfkm";
};
configureFlags = "--with-ssl-headers=${openssl}/include/openssl";
buildInputs = [bzip2 zlib newt newt openssl pkgconfig slang
# automake autoconf libtool gettext
];
patches = [
./gentoos-zlib.patch
];
meta = {
description = "opensource disk backup software";
homepage = http://www.partimage.org;
license = stdenv.lib.licenses.gpl2;
maintainers = [stdenv.lib.maintainers.marcweber];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@@ -0,0 +1,33 @@
http://bugs.gentoo.org/405323
--- a/src/client/imagefile.cpp
+++ b/src/client/imagefile.cpp
@@ -783,7 +783,7 @@
else if (m_options.dwCompression == COMPRESS_GZIP) // Gzip compression
{
showDebug(1, "open gzip\n");
- m_gzImageFile = (gzFile *) gzdopen(m_nFdImage, "wb"); //"wb1h");
+ m_gzImageFile = gzdopen(m_nFdImage, "wb"); //"wb1h");
if (m_gzImageFile == NULL)
{
showDebug(1, "error:%d %s\n", errno, strerror(errno));
@@ -1098,7 +1098,7 @@
}
else if (m_options.dwCompression == COMPRESS_GZIP) // Gzip compression
{
- m_gzImageFile = (gzFile *) gzdopen(m_nFdImage, "rb");
+ m_gzImageFile = gzdopen(m_nFdImage, "rb");
if (m_gzImageFile == NULL)
THROW(ERR_ERRNO, errno);
else
--- a/src/client/imagefile.h
+++ b/src/client/imagefile.h
@@ -41,7 +41,7 @@
COptions m_options;
FILE *m_fImageFile;
- gzFile *m_gzImageFile;
+ gzFile m_gzImageFile;
BZFILE *m_bzImageFile;
int m_nFdImage;

View File

@@ -1,15 +1,16 @@
{ stdenv, fetchgit, cmake, automoc4, kdelibs, libbluedevil, shared_mime_info }:
{ stdenv, fetchurl, cmake, automoc4, kdelibs, libbluedevil, shared_mime_info, gettext }:
stdenv.mkDerivation rec {
name = "bluedevil-20110303";
name = "${pname}-${version}";
pname = "bluedevil";
version = "1.3.1";
src = fetchgit {
url = git://anongit.kde.org/bluedevil.git;
sha256 = "1chx3cx43wic1sgzc651vxxiy9khbp9hcm7n40nmhnj9czfcg46q";
rev = "7e513008aa6430d3b8d0052b14201d1d813c80b9";
src = fetchurl {
url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.bz2";
sha256 = "0di3hwgqzhx51x172wnbccf9f84cg69mab83qkcif0v3gv3pzy4f";
};
buildInputs = [ cmake kdelibs libbluedevil shared_mime_info automoc4 ];
buildInputs = [ cmake kdelibs libbluedevil shared_mime_info automoc4 gettext ];
meta = with stdenv.lib; {
description = "Bluetooth manager for KDE";

View File

@@ -1,11 +1,11 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
name = "zsync-0.6.1";
name = "zsync-0.6.2";
src = fetchurl {
url = "http://zsync.moria.org.uk/download/${name}.tar.bz2";
sha256 = "13rbq2m2d4c4qqzadr1cfzrryqxvjgafr8cmask9w2acc0zpv7v1";
sha1 = "5e69f084c8adaad6a677b68f7388ae0f9507617a";
};
meta = {

View File

@@ -1,146 +0,0 @@
diff --git a/cmds-receive.c b/cmds-receive.c
index a8be6fa..6b7cf12 100644
--- a/cmds-receive.c
+++ b/cmds-receive.c
@@ -52,11 +52,13 @@ static int g_verbose = 0;
struct btrfs_receive
{
int mnt_fd;
+ int dest_dir_fd;
int write_fd;
char *write_path;
char *root_path;
+ char *dest_dir_path; /* relative to root_path */
char *full_subvol_path;
struct subvol_info *cur_subvol;
@@ -150,8 +152,11 @@ static int process_subvol(const char *path, const u8 *uuid, u64 ctransid,
r->cur_subvol = calloc(1, sizeof(*r->cur_subvol));
r->parent_subvol = NULL;
- r->cur_subvol->path = strdup(path);
- r->full_subvol_path = path_cat(r->root_path, path);
+ if (strlen(r->dest_dir_path) == 0)
+ r->cur_subvol->path = strdup(path);
+ else
+ r->cur_subvol->path = path_cat(r->dest_dir_path, path);
+ r->full_subvol_path = path_cat3(r->root_path, r->dest_dir_path, path);
fprintf(stderr, "At subvol %s\n", path);
@@ -167,7 +172,7 @@ static int process_subvol(const char *path, const u8 *uuid, u64 ctransid,
memset(&args_v1, 0, sizeof(args_v1));
strcpy(args_v1.name, path);
- ret = ioctl(r->mnt_fd, BTRFS_IOC_SUBVOL_CREATE, &args_v1);
+ ret = ioctl(r->dest_dir_fd, BTRFS_IOC_SUBVOL_CREATE, &args_v1);
if (ret < 0) {
ret = -errno;
fprintf(stderr, "ERROR: creating subvolume %s failed. "
@@ -195,8 +200,11 @@ static int process_snapshot(const char *path, const u8 *uuid, u64 ctransid,
r->cur_subvol = calloc(1, sizeof(*r->cur_subvol));
r->parent_subvol = NULL;
- r->cur_subvol->path = strdup(path);
- r->full_subvol_path = path_cat(r->root_path, path);
+ if (strlen(r->dest_dir_path) == 0)
+ r->cur_subvol->path = strdup(path);
+ else
+ r->cur_subvol->path = path_cat(r->dest_dir_path, path);
+ r->full_subvol_path = path_cat3(r->root_path, r->dest_dir_path, path);
fprintf(stderr, "At snapshot %s\n", path);
@@ -243,7 +251,7 @@ static int process_snapshot(const char *path, const u8 *uuid, u64 ctransid,
goto out;
}
- ret = ioctl(r->mnt_fd, BTRFS_IOC_SNAP_CREATE_V2, &args_v2);
+ ret = ioctl(r->dest_dir_fd, BTRFS_IOC_SNAP_CREATE_V2, &args_v2);
close(args_v2.fd);
if (ret < 0) {
ret = -errno;
@@ -790,17 +798,48 @@ struct btrfs_send_ops send_ops = {
int do_receive(struct btrfs_receive *r, const char *tomnt, int r_fd)
{
int ret;
+ char *dest_dir_full_path;
int end = 0;
- r->root_path = strdup(tomnt);
- r->mnt_fd = open(tomnt, O_RDONLY | O_NOATIME);
+ dest_dir_full_path = realpath(tomnt, NULL);
+ if (!dest_dir_full_path) {
+ ret = -errno;
+ fprintf(stderr, "ERROR: realpath(%s) failed. %s\n", tomnt,
+ strerror(-ret));
+ goto out;
+ }
+ r->dest_dir_fd = open(dest_dir_full_path, O_RDONLY | O_NOATIME);
+ if (r->dest_dir_fd < 0) {
+ ret = -errno;
+ fprintf(stderr, "ERROR: failed to open destination directory %s. %s\n",
+ dest_dir_full_path, strerror(-ret));
+ goto out;
+ }
+
+ ret = find_mount_root(dest_dir_full_path, &r->root_path);
+ if (ret < 0) {
+ ret = -EINVAL;
+ fprintf(stderr, "ERROR: failed to determine mount point "
+ "for %s\n", dest_dir_full_path);
+ goto out;
+ }
+ r->mnt_fd = open(r->root_path, O_RDONLY | O_NOATIME);
if (r->mnt_fd < 0) {
ret = -errno;
- fprintf(stderr, "ERROR: failed to open %s. %s\n", tomnt,
+ fprintf(stderr, "ERROR: failed to open %s. %s\n", r->root_path,
strerror(-ret));
goto out;
}
+ /*
+ * find_mount_root returns a root_path that is a subpath of
+ * dest_dir_full_path. Now get the other part of root_path,
+ * which is the destination dir relative to root_path.
+ */
+ r->dest_dir_path = dest_dir_full_path + strlen(r->root_path);
+ if (r->dest_dir_path[0] == '/')
+ r->dest_dir_path++;
+
ret = subvol_uuid_search_init(r->mnt_fd, &r->sus);
if (ret < 0)
return ret;
diff --git a/cmds-send.c b/cmds-send.c
index 9b47e70..c408bc7 100644
--- a/cmds-send.c
+++ b/cmds-send.c
@@ -81,6 +81,14 @@ int find_mount_root(const char *path, char **mount_root)
}
}
+ if (!longest_match) {
+ fprintf(stderr, "ERROR: Failed to find mount root for path %s.\n",
+ path);
+ fprintf(stderr, "Please make sure that you have a valid \
+ /etc/mtab file.\n");
+ return -ENOENT;
+ }
+
*mount_root = realpath(longest_match, NULL);
free(longest_match);
diff --git a/send-utils.h b/send-utils.h
index da407eb..a3e038b 100644
--- a/send-utils.h
+++ b/send-utils.h
@@ -65,5 +65,6 @@ void subvol_uuid_search_add(struct subvol_uuid_search *s,
char *path_cat(const char *p1, const char *p2);
char *path_cat3(const char *p1, const char *p2, const char *p3);
+int find_mount_root(const char *path, char **mount_root);
#endif /* SEND_UTILS_H_ */

View File

@@ -1,13 +0,0 @@
diff --git a/cmds-receive.c b/cmds-receive.c
index a8be6fa..c182175 100644
--- a/cmds-receive.c
+++ b/cmds-receive.c
@@ -880,7 +880,7 @@ static const char * const receive_cmd_group_usage[] = {
};
static const char * const cmd_receive_usage[] = {
- "btrfs receive [-v] [-i <infile>] <mount>",
+ "btrfs receive [-v] [-f <infile>] <mount>",
"Receive subvolumes from stdin.",
"Receives one or more subvolumes that were previously ",
"sent with btrfs send. The received subvolumes are stored",

View File

@@ -1,12 +0,0 @@
diff --git a/cmds-receive.c b/cmds-receive.c
index 6b7cf12..a6a6a5b 100644
--- a/cmds-receive.c
+++ b/cmds-receive.c
@@ -731,7 +731,7 @@ static int process_chown(const char *path, u64 uid, u64 gid, void *user)
fprintf(stderr, "chown %s - uid=%llu, gid=%llu\n", path,
uid, gid);
- ret = chown(full_path, uid, gid);
+ ret = lchown(full_path, uid, gid);
if (ret < 0) {
ret = -errno;

View File

@@ -1,31 +1,26 @@
{ stdenv, fetchgit, zlib, libuuid, acl, attr, e2fsprogs }:
{ stdenv, fetchgit, zlib, libuuid, acl, attr, e2fsprogs, lzo }:
let version = "0.20pre20121005"; in
let version = "0.20pre20130509"; in
stdenv.mkDerivation {
name = "btrfs-progs-${version}";
src = fetchgit {
url = "git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-progs.git";
rev = "91d9eec1ff044394f2b98ee7fcb76713dd33b994";
sha256 = "72d4cd4fb23d876a17146d6231ad40a2151fa47c648485c54cf7478239b43764";
rev = "650e656a8b9c1fbe4ec5cd8c48ae285b8abd3b69";
sha256 = "e50e8ce9d24505711ed855f69a73d639dc5e401692a7d1c300753de3472abb21";
};
patches = [
./subvol-listing.patch
./btrfs-receive-help-text.patch
./btrfs-progs-Fix-the-receive-code-pathing.patch
./btrfs-receive-lchown.patch
];
buildInputs = [ zlib libuuid acl attr e2fsprogs ];
buildInputs = [ zlib libuuid acl attr e2fsprogs lzo ];
postPatch = ''
cp ${./btrfs-set-received-uuid.c} btrfs-set-received-uuid.c
'';
postBuild = ''
gcc -O2 -luuid -o btrfs-set-received-uuid send-utils.o rbtree.o btrfs-list.o btrfs-set-received-uuid.c
gcc -Wall -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DBTRFS_FLAT_INCLUDES \
-fPIC -g -O1 -luuid -o btrfs-set-received-uuid rbtree.o send-utils.o btrfs-list.o \
btrfs-set-received-uuid.c
'';
postInstall = ''

View File

@@ -1,34 +0,0 @@
--- a/btrfs-list.c 2012-12-30 12:20:01.394137593 +0100
+++ b/btrfs-list.c 2012-12-30 12:22:47.242452906 +0100
@@ -1004,6 +1004,23 @@
return 0;
}
+static void __drop_deleting_roots(struct root_lookup *root_lookup)
+{
+ struct rb_node *n;
+
+again:
+ n = rb_first(&root_lookup->root);
+ while (n) {
+ struct root_info *entry = rb_entry(n, struct root_info, rb_node);
+ if (!entry->ref_tree) {
+ rb_erase(n, &root_lookup->root);
+ free(entry);
+ goto again;
+ }
+ n = rb_next(n);
+ }
+}
+
static int __list_subvol_search(int fd, struct root_lookup *root_lookup)
{
int ret;
@@ -1123,6 +1140,8 @@
break;
}
+ __drop_deleting_roots(root_lookup);
+
return 0;
}

View File

@@ -1,11 +1,11 @@
{ stdenv, fetchurl, pkgconfig, libuuid }:
stdenv.mkDerivation rec {
name = "e2fsprogs-1.42.5";
name = "e2fsprogs-1.42.7";
src = fetchurl {
url = "mirror://sourceforge/e2fsprogs/${name}.tar.gz";
sha256 = "1kki3367961377wz2n6kva8q0wjjk6qhxmhp2dp3ar3lxgcamvbn";
sha256 = "0ibkkvp6kan0hn0d1anq4n2md70j5gcm7mwna515w82xwyr02rfw";
};
buildInputs = [ pkgconfig libuuid ];
@@ -19,12 +19,18 @@ stdenv.mkDerivation rec {
# libuuid, libblkid, uuidd and fsck are in util-linux-ng (the "libuuid" dependency).
configureFlags = "--enable-elf-shlibs --disable-libuuid --disable-libblkid --disable-uuidd --disable-fsck";
enableParallelBuilding = true;
preInstall = "installFlagsArray=('LN=ln -s')";
postInstall = "make install-libs";
dontGzipMan = true; # See issue #523
meta = {
homepage = http://e2fsprogs.sourceforge.net/;
description = "Tools for creating and checking ext2/ext3/ext4 filesystems";
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.eelco ];
};
}

View File

@@ -17,11 +17,11 @@
assert libX11 != null -> (fontconfig != null && gnused != null && coreutils != null);
stdenv.mkDerivation rec {
name = "gnuplot-4.4.4";
name = "gnuplot-4.6.0";
src = fetchurl {
url = "mirror://sourceforge/gnuplot/${name}.tar.gz";
sha256 = "1zfv3npsxfn743wl65ibh11djxrc8fxzi2mgg75ppy6m12fmja6j";
sha256 = "1ghp1jbcf95yy09lqhjcfmvb6y2101qfdbf20zs42dcs0fsssq3f";
};
buildInputs =

View File

@@ -52,6 +52,6 @@ stdenv.mkDerivation rec {
'';
platforms = stdenv.lib.platforms.linux;
maintainers = [ stdenv.lib.maintainers.simons ];
maintainers = with stdenv.lib.maintainers; [ simons bjornfor ];
};
}

View File

@@ -0,0 +1,18 @@
{ stdenv, fetchurl, pkgconfig, intltool, gtk2 }:
stdenv.mkDerivation rec {
name = "parcellite-1.1.4";
src = fetchurl {
url = "mirror://sourceforge/parcellite/${name}.tar.gz";
sha256 = "10lr2gx81i7nlxvafa9j9hnlj402k1szyi08xsl841hs1m9zdwan";
};
buildInputs = [ pkgconfig intltool gtk2 ];
meta = {
description = "Lightweight GTK+ clipboard manager";
homepage = "http://parcellite.sourceforge.net";
license = "GPLv3+";
};
}

View File

@@ -0,0 +1,21 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "ahcpd-0.53";
src = fetchurl {
url = "http://www.pps.univ-paris-diderot.fr/~jch/software/files/${name}.tar.gz";
sha256 = "0lhdmky3zdyk51hclv2lrhw3hzymbdc8bw2khs3rnaibgn0jwqm4";
};
preBuild = ''
makeFlags="PREFIX=$out ETCDIR=$out/etc"
sed -i -e s,etc,$out/etc, Makefile
'';
meta = {
homepage = "http://www.pps.univ-paris-diderot.fr/~jch/software/ahcp/";
description = "Autoconfiguration protocol for IPv6 and dual-stack IPv6/IPv4 networks";
license = "MIT";
};
}

View File

@@ -0,0 +1,20 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "babeld-1.4.1";
src = fetchurl {
url = "http://www.pps.univ-paris-diderot.fr/~jch/software/files/${name}.tar.gz";
sha256 = "0ykyvg9kkbv5pnkivcv9ncdcsb8bp3gfxv8swpq9jc7bh9aa2ckp";
};
preBuild = ''
makeFlags="PREFIX=$out ETCDIR=$out/etc"
'';
meta = {
homepage = "http://www.pps.univ-paris-diderot.fr/~jch/software/babel/";
description = "Loop-avoiding distance-vector routing protocol";
license = "MIT";
};
}

View File

@@ -0,0 +1,27 @@
{ stdenv, fetchurl, libcap, readline }:
assert stdenv.isLinux -> libcap != null;
stdenv.mkDerivation rec {
name = "chrony-1.27";
src = fetchurl {
url = "http://download.tuxfamily.org/chrony/${name}.tar.gz";
sha256 = "17dfhcm5mrkg8ids0ajwscryr7fm7664kz10ygsa1ac047p3aj6l";
};
buildInputs = [ readline ] ++ stdenv.lib.optional stdenv.isLinux libcap;
meta = with stdenv.lib; {
description = "A pair of programs which are used to maintain the accuracy of the system clock on a computer.";
homepage = "http://chrony.tuxfamily.org/";
license = licenses.gpl2;
platforms = platforms.unix;
longDescription = ''
Chronyd is a daemon which runs in background on the system. It obtains measurements via the network of the system clocks offset relative to time servers on other systems and adjusts the system time accordingly. For isolated systems, the user can periodically enter the correct time by hand (using Chronyc). In either case, Chronyd determines the rate at which the computer gains or loses time, and compensates for this. Chronyd implements the NTP protocol and can act as either a client or a server.
Chronyc provides a user interface to Chronyd for monitoring its performance and configuring various settings. It can do so while running on the same computer as the Chronyd instance it is controlling or a different computer.
'';
};
}

View File

@@ -2,6 +2,7 @@
, zlibSupport ? false, zlib ? null
, sslSupport ? false, openssl ? null
, scpSupport ? false, libssh2 ? null
, gssSupport ? false, gss ? null
, linkStatic ? false
}:
@@ -20,15 +21,21 @@ stdenv.mkDerivation rec {
# Zlib and OpenSSL must be propagated because `libcurl.la' contains
# "-lz -lssl", which aren't necessary direct build inputs of
# applications that use Curl.
propagatedBuildInputs =
stdenv.lib.optional zlibSupport zlib ++
stdenv.lib.optional sslSupport openssl;
propagatedBuildInputs = with stdenv.lib;
optional zlibSupport zlib ++
optional gssSupport gss ++
optional sslSupport openssl;
configureFlags = ''
${if sslSupport then "--with-ssl=${openssl}" else "--without-ssl"}
${if scpSupport then "--with-libssh2=${libssh2}" else "--without-libssh2"}
${if linkStatic then "--enable-static --disable-shared" else ""}
preConfigure = ''
sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
'';
configureFlags = [
( if sslSupport then "--with-ssl=${openssl}" else "--without-ssl" )
( if scpSupport then "--with-libssh2=${libssh2}" else "--without-libssh2" )
]
++ stdenv.lib.optional gssSupport "--with-gssapi=${gss}"
++ stdenv.lib.optionals linkStatic [ "--enable-static" "--disable-shared" ]
;
dontDisableStatic = linkStatic;
@@ -44,21 +51,18 @@ stdenv.mkDerivation rec {
crossAttrs = {
# We should refer to the cross built openssl
# For the 'urandom', maybe it should be a cross-system option
configureFlags = ''
${if sslSupport then "--with-ssl=${openssl.crossDrv}" else "--without-ssl"}
${if linkStatic then "--enable-static --disable-shared" else ""}
--with-random /dev/urandom
'';
configureFlags = [
( if sslSupport then "--with-ssl=${openssl.crossDrv}" else "--without-ssl" )
"--with-random /dev/urandom"
]
++ stdenv.lib.optionals linkStatic [ "--enable-static" "--disable-shared" ]
;
};
passthru = {
inherit sslSupport openssl;
};
preConfigure = ''
sed -e 's|/usr/bin|/no-such-path|g' -i.bak configure
'';
meta = {
homepage = "http://curl.haxx.se/";
description = "A command line tool for transferring files with URL syntax";

View File

@@ -11,7 +11,7 @@ let
sha256 = "1swwfyzaj3l40yh9np3x4fcracgs79nwryc85sxbdakx8wwxs2xb";
};
version = "0.5.2";
version = "0.6.1";
in
stdenv.mkDerivation rec {
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
src = fetchurl {
url = "http://viric.name/cgi-bin/filegive/tarball/${name}.tar.gz?uuid=v${version}";
name = "${name}.tar.gz";
sha256 = "0n5ilhccdy2nsdvl871nn2isr1jdlm7yncxff7zm5qzsx8k9skkz";
sha256 = "172cvm41bqaixz50f86ppqbbridb0qnrcdldfswrs03dc569szm1";
};
buildInputs = [ go ];

View File

@@ -0,0 +1,30 @@
{ stdenv, fetchurl, glib, curl, pkgconfig, fuse, glib_networking, makeWrapper
, gsettings_desktop_schemas }:
stdenv.mkDerivation rec {
name = "megatools-1.9.91";
src = fetchurl {
url = "http://megatools.megous.com/builds/${name}.tar.gz";
sha256 = "0hb83wqsn6mggcmk871hl8cski5x0hxz9dhaka42115s4mdfbl1i";
};
buildInputs = [ glib curl pkgconfig fuse makeWrapper ];
postInstall = ''
for a in $out/bin/*; do
wrapProgram "$a" \
--prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
--prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share"
done
'';
meta = {
description = "Command line client for Mega.co.nz";
homepage = http://megatools.megous.com/;
license = "GPLv2+";
maintainers = [ stdenv.lib.maintainers.viric ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@@ -1,15 +1,15 @@
{ stdenv, fetchurl, zlib, boost, protobuf, ncurses, pkgconfig, IOTty
, makeWrapper, perl }:
, makeWrapper, perl, openssl }:
stdenv.mkDerivation rec {
name = "mosh-1.2.2";
name = "mosh-1.2.4";
src = fetchurl {
url = "https://github.com/downloads/keithw/mosh/${name}.tar.gz";
sha256 = "1763s6f398hmdgy73brpknwahnys28zk3pm37n66sr8iyz2cq8xp";
url = "http://mosh.mit.edu/${name}.tar.gz";
sha256 = "0inzfmqrab3n97m7rrmhd4xh3hjz0xva2sfl5m06w11668r0skg7";
};
buildInputs = [ boost protobuf ncurses zlib pkgconfig IOTty makeWrapper perl ];
buildInputs = [ boost protobuf ncurses zlib pkgconfig IOTty makeWrapper perl openssl ];
postInstall = ''
wrapProgram $out/bin/mosh --prefix PERL5LIB : $PERL5LIB

View File

@@ -1,4 +1,4 @@
x@{builderDefsPackage
x@{builderDefsPackage, ncurses
, ...}:
builderDefsPackage
(a :

View File

@@ -1,7 +1,7 @@
{ stdenv, fetchurl, intltool, pkgconfig, gtk, libglade, networkmanager, GConf
, libnotify, libgnome_keyring, dbus_glib, polkit, isocodes
, mobile_broadband_provider_info, glib_networking, gsettings_desktop_schemas
, makeWrapper }:
, makeWrapper, networkmanager_openvpn }:
let
pn = "network-manager-applet";
@@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
];
postInstall = ''
ln -s ${networkmanager_openvpn}/etc/NetworkManager $out/etc/NetworkManager
ln -s ${networkmanager_openvpn}/lib/* $out/lib
wrapProgram "$out/bin/nm-applet" \
--prefix GIO_EXTRA_MODULES : "${glib_networking}/lib/gio/modules" \
--prefix XDG_DATA_DIRS : "${gsettings_desktop_schemas}/share:$out/share" \

View File

@@ -0,0 +1,47 @@
{ stdenv, fetchurl, openvpn, intltool, pkgconfig, networkmanager
, withGnome ? true, gtk2, libgnome_keyring, procps, module_init_tools }:
stdenv.mkDerivation rec {
name = "${pname}${if withGnome then "-gnome" else ""}-${version}";
pname = "NetworkManager-openvpn";
version = "0.9.6.0";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/0.9/${pname}-${version}.tar.xz";
sha256 = "18w7mlgnm7y5kg3s2jfm8biymh33ggw97bz27m5mg69kg42qgf4g";
};
buildInputs = [ openvpn networkmanager ]
++ stdenv.lib.optionals withGnome [ gtk2 libgnome_keyring ];
nativeBuildInputs = [ intltool pkgconfig ];
configureFlags = [
"${if withGnome then "--with-gnome --with-gtkver=2" else "--without-gnome"}"
"--disable-static"
];
preConfigure = ''
substituteInPlace "configure" \
--replace "/sbin/sysctl" "${procps}/sbin/sysctl"
substituteInPlace "src/nm-openvpn-service.c" \
--replace "/sbin/openvpn" "${openvpn}/sbin/openvpn" \
--replace "/sbin/modprobe" "${module_init_tools}/sbin/modprobe"
substituteInPlace "properties/auth-helpers.c" \
--replace "/sbin/openvpn" "${openvpn}/sbin/openvpn"
'';
postConfigure = ''
substituteInPlace "./auth-dialog/Makefile" \
--replace "-Wstrict-prototypes" "" \
--replace "-Werror" ""
substituteInPlace "properties/Makefile" \
--replace "-Wstrict-prototypes" "" \
--replace "-Werror" ""
'';
meta = {
description = "TODO";
inherit (networkmanager.meta) maintainers platforms;
};
}

View File

@@ -1,35 +1,41 @@
{stdenv, fetchurl, iproute, lzo, openssl}:
{ stdenv, fetchurl, iproute, lzo, openssl, pam }:
stdenv.mkDerivation rec {
name = "openvpn-2.2.2";
name = "openvpn-2.3.1";
src = fetchurl {
url = "http://swupdate.openvpn.net/community/releases/${name}.tar.gz";
sha256 = "005cpvdvh8pvsn3bc96lrznlkcccbz5jqa62hipb58rf1qk8pjjl";
sha256 = "0g7vf3f6z0h4kdqlqr8jd0gapi0ains6xcvlvfy8cicxnf2psbdx";
};
buildInputs = [ iproute lzo openssl ];
buildInputs = [ iproute lzo openssl pam ];
configureFlags = ''
--enable-password-save
--enable-iproute2
--with-iproute-path=${iproute}/sbin/ip
--enable-systemd
IPROUTE=${iproute}/sbin/ip
'';
preConfigure = ''
substituteInPlace ./src/openvpn/console.c \
--replace /bin/systemd-ask-password /run/current-system/sw/bin/systemd-ask-password
'';
postInstall = ''
mkdir -p $out/share/doc/openvpn/examples
cp -r sample-config-files/ $out/share/doc/openvpn/examples
cp -r sample-keys/ $out/share/doc/openvpn/examples
cp -r easy-rsa/ $out/share/doc/openvpn/examples
rm -r $out/share/doc/openvpn/examples/easy-rsa/Windows
cp -r sample-scripts/ $out/share/doc/openvpn/examples
cp -r sample/sample-config-files/ $out/share/doc/openvpn/examples
cp -r sample/sample-keys/ $out/share/doc/openvpn/examples
cp -r sample/sample-scripts/ $out/share/doc/openvpn/examples
'';
meta = {
description="OpenVPN is a robust and highly flexible tunneling application compatible with many OSes.";
homepage="http://openvpn.net/";
license = "GPLv2";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
enableParallelBuilding = true;
meta = {
description = "A robust and highly flexible tunneling application";
homepage = http://openvpn.net/;
license = "GPLv2";
maintainers = [ stdenv.lib.maintainers.viric ];
platforms = stdenv.lib.platforms.linux;
};
}

View File

@@ -0,0 +1,24 @@
{ stdenv, fetchurl, bison, flex }:
stdenv.mkDerivation rec {
name = "olsrd-0.6.5.4";
src = fetchurl {
url = "http://www.olsr.org/releases/0.6/${name}.tar.bz2";
sha256 = "757327b9a22b066bd0cab2a8e1cdd1c462f474bb99864a175388aa5f0c70504c";
};
buildInputs = [ bison flex ];
preConfigure = ''
makeFlags="prefix=$out ETCDIR=$out/etc"
'';
meta = {
description = "An adhoc wireless mesh routing daemon";
license = "BSD";
homepage = "http://olsr.org/";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}

View File

@@ -0,0 +1,24 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation rec {
name = "pwnat-0.3-beta";
src = fetchurl {
url = "http://samy.pl/pwnat/${name}.tgz";
sha256 = "18ihs6wk7zni2w0pqip7i61hyi6n60v5rgj6z7j543fgy4afmmnm";
};
installPhase = ''
mkdir -p $out/bin $out/share/pwnat
cp pwnat $out/bin
cp README* COPYING* $out/share/pwnat
'';
meta = {
homepage = http://samy.pl/pwnat/;
description = "ICMP NAT to NAT client-server communication";
license = "GPLv3+";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}

View File

@@ -1,11 +1,11 @@
{ stdenv, fetchurl, libpcap, enableStatic ? false }:
stdenv.mkDerivation rec {
name = "tcpdump-4.2.1";
name = "tcpdump-4.4.0";
src = fetchurl {
url = "http://www.tcpdump.org/release/${name}.tar.gz";
sha256 = "1zwv9zp169dwqwwwi6lfd3fhiayiq81ijqmwi0pfdvw63skfjmsl";
sha256 = "1g9h2p31xwpdg88v7wv9hc8calq8sjs25800vzd9i45q5knln9qj";
};
buildInputs = [ libpcap ];

View File

@@ -1,12 +1,12 @@
{stdenv, fetchurl, lzo, openssl, zlib}:
stdenv.mkDerivation rec {
version = "1.0.19";
version = "1.0.21";
name = "tinc-${version}";
src = fetchurl {
url = "http://www.tinc-vpn.org/packages/tinc-${version}.tar.gz";
sha256 = "183nxj23d05vc3pxwbb692lr048wr81wnv0avzlkdm4r6c3bp7jh";
sha256 = "12v1x9p4f8y9967ypwxhkr10q6pk4cdallr0k4lic0kcfsmmxhba";
};
buildInputs = [ lzo openssl zlib ];

View File

@@ -0,0 +1,24 @@
{ stdenv, fetchurl }:
stdenv.mkDerivation {
name = "udptunnel-19";
src = fetchurl {
url = http://udptunnel.googlecode.com/files/udptunnel-r19.tar.gz;
sha1 = "51edec3b63b659229bcf92f6157568d3b074ede0";
};
installPhase = ''
ensureDir $out/bin $out/share/udptunnel
cp udptunnel $out/bin
cp README COPYING* $out/share/udptunnel
'';
meta = {
homepage = http://code.google.com/p/udptunnel/;
description = "Tunnels TCP over UDP packets";
license = "GPLv3+";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}

View File

@@ -5,11 +5,11 @@
}:
stdenv.mkDerivation rec {
name = "nix-1.5.1";
name = "nix-1.5.2";
src = fetchurl {
url = "http://nixos.org/releases/nix/${name}/${name}.tar.xz";
sha256 = "c53ec8a5518445bea658e1edb4e3be8c315b583aefc55d6969f2bf6f6c805239";
sha256 = "84880fcb94c06b11f66b28837f9c145aa3d65eb0e173fd6da195794a7b0331d1";
};
nativeBuildInputs = [ perl pkgconfig ];

View File

@@ -13,11 +13,11 @@ assert useUsb -> (libusb != null);
assert useCurl -> (curl != null);
stdenv.mkDerivation rec {
name = "gnupg-2.0.19";
name = "gnupg-2.0.20";
src = fetchurl {
url = "mirror://gnupg/gnupg/${name}.tar.bz2";
sha256 = "08n636sfffs5qvg9ppiprvsh00q0dmdw425psg3m3nssja53m8pg";
sha256 = "16mp0j5inrcqcb3fxbn0b3aamascy3n923wiy0y8marc0rzrp53f";
};
buildInputs = [ readline zlib libgpgerror libgcrypt libassuan libksba pth ]
@@ -35,7 +35,9 @@ stdenv.mkDerivation rec {
doCheck = true;
meta = {
homepage = "http://gnupg.org/";
description = "GNU Privacy Guard (GnuPG), GNU Project's implementation of the OpenPGP standard";
license = stdenv.lib.licenses.gpl3Plus;
longDescription = ''
GnuPG is the GNU project's complete and free implementation of
@@ -49,12 +51,7 @@ stdenv.mkDerivation rec {
S/MIME.
'';
homepage = http://gnupg.org/;
license = "GPLv3+";
maintainers = with stdenv.lib.maintainers; [ ludo urkud ];
platforms = stdenv.lib.platforms.all;
};
}

View File

@@ -0,0 +1,34 @@
{ stdenv, fetchhg, openssl, pcre, qt4, boost, pkcs11helper }:
stdenv.mkDerivation {
name = "meo-20121113";
src = fetchhg {
url = http://oss.stamfest.net/hg/meo;
tag = "b48e5f16cff8";
sha256 = "0ifg7y28s89i9gwda6fyj1jbrykbcvq8bf1m6rxmdcv5afi3arbq";
};
buildFlags = "QMAKE=qmake";
buildInputs = [ openssl pcre qt4 boost pkcs11helper ];
preConfigure = ''
sed -i s,-mt$,, meo-gui/meo-gui.pro
'';
installPhase = ''
ensureDir $out/bin
cp tools/{meo,p11} $out/bin
cp meo-gui/meo-gui $out/bin
cp meo-gui/meo-gui $out/bin
'';
meta = {
homepage = http://oss.stamfest.net/wordpress/meo-multiple-eyepairs-only;
description = "Tools to use cryptography for things like four-eyes principles";
license = "AGPLv3+";
maintainers = with stdenv.lib.maintainers; [viric];
platforms = with stdenv.lib.platforms; linux;
};
}

View File

@@ -0,0 +1,41 @@
{ stdenv, fetchgit, pkgconfig, libuuid, openssl }:
let
arch = if stdenv.system == "x86_64-linux" then "x86_64"
else if stdenv.system == "i686-linux" then "x86"
else throw "vboot_reference for: ${stdenv.system} not supported!";
version = "20130507";
checkout = "25/50225/2";
in stdenv.mkDerivation {
name = "vboot_reference-${version}";
src = fetchgit {
url = "http://git.chromium.org/git/chromiumos/platform/vboot_reference.git";
rev = "refs/changes/${checkout}";
sha256 = "00qhwhh5ygrcfm9is8hrk1spqdvfs6aa744h10jbr03zics5bvac";
};
buildInputs = [ pkgconfig openssl ] ++
(if libuuid == null
then []
else [ (stdenv.lib.overrideDerivation libuuid
(args: { configureFlags = args.configureFlags + " --enable-static"; })) ]);
buildPhase = ''
make ARCH=${arch} `pwd`/build/cgpt/cgpt
make ARCH=${arch} `pwd`/build/utility/vbutil_kernel
make ARCH=${arch} `pwd`/build/utility/vbutil_key
make ARCH=${arch} `pwd`/build/utility/vbutil_keyblock
make ARCH=${arch} `pwd`/build/utility/vbutil_firmware
'';
installPhase = ''
ensureDir $out/bin
cp build/cgpt/cgpt $out/bin
cp build/utility/vbutil_kernel $out/bin
cp build/utility/vbutil_key $out/bin
cp build/utility/vbutil_keyblock $out/bin
cp build/utility/vbutil_firmware $out/bin
'';
}