mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-11-10 16:45:51 +03:00
monotone: fix
This commit is contained in:
parent
df0e2bbf4d
commit
37bae3193d
@ -1,5 +1,5 @@
|
||||
{ stdenv, fetchurl, boost, zlib, botan, libidn
|
||||
, lua, pcre, sqlite, perl, pkgconfig }:
|
||||
, lua, pcre, sqlite, perl, pkgconfig, expect }:
|
||||
|
||||
let
|
||||
version = "1.0";
|
||||
@ -16,7 +16,9 @@ stdenv.mkDerivation rec {
|
||||
sha256 = "5c530bc4652b2c08b5291659f0c130618a14780f075f981e947952dcaefc31dc";
|
||||
};
|
||||
|
||||
buildInputs = [boost zlib botan libidn lua pcre sqlite pkgconfig];
|
||||
patches = [ ./glibc-file-handle.patch ];
|
||||
|
||||
buildInputs = [ boost zlib botan libidn lua pcre sqlite pkgconfig expect ];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/${name}
|
||||
@ -25,6 +27,8 @@ stdenv.mkDerivation rec {
|
||||
cp -v contrib/Monotone.pm $out/lib/perl5/site_perl/${perlVersion}
|
||||
'';
|
||||
|
||||
#doCheck = true; # some tests fail (and they take VERY long)
|
||||
|
||||
meta = {
|
||||
description = "A free distributed version control system";
|
||||
maintainers = [stdenv.lib.maintainers.raskin];
|
||||
|
@ -0,0 +1,166 @@
|
||||
Revision: da62cad10eda55aa233ac124273f3db4f541137a
|
||||
Parent: 65bcb8cf8b32f68a5b48629b328f6d65979e58df
|
||||
Author: Thomas Moschny <thomas.moschny@gmx.de>
|
||||
Date: 07.05.2011 13:32:06
|
||||
Branch: net.venge.monotone
|
||||
|
||||
Changelog:
|
||||
|
||||
* src/rcs_file.cc: Rename struct "file_handle" to "rcs_file_handle"
|
||||
to avoid a name clash with a struct of same name defined by newer
|
||||
glibc's "fcntl.h". For aesthetic reasons, also rename struct
|
||||
"file_source".
|
||||
|
||||
References:
|
||||
https://code.monotone.ca/p/monotone/source/commit/da62cad10eda55aa233ac124273f3db4f541137a/
|
||||
https://bugs.gentoo.org/396651
|
||||
|
||||
============================================================
|
||||
--- a/src/rcs_file.cc 885b3fbe7b6cfed78816f0e57cd71d44616213c6
|
||||
+++ b/src/rcs_file.cc 03cf68912a4a708545ebce3d415c0e970ddead0b
|
||||
@@ -42,12 +42,12 @@ struct
|
||||
|
||||
#ifdef HAVE_MMAP
|
||||
struct
|
||||
-file_handle
|
||||
+rcs_file_handle
|
||||
{
|
||||
string const & filename;
|
||||
off_t length;
|
||||
int fd;
|
||||
- file_handle(string const & fn) :
|
||||
+ rcs_file_handle(string const & fn) :
|
||||
filename(fn),
|
||||
length(0),
|
||||
fd(-1)
|
||||
@@ -60,13 +60,13 @@ file_handle
|
||||
if (fd == -1)
|
||||
throw oops("open of " + filename + " failed");
|
||||
}
|
||||
- ~file_handle()
|
||||
+ ~rcs_file_handle()
|
||||
{
|
||||
if (close(fd) == -1)
|
||||
throw oops("close of " + filename + " failed");
|
||||
}
|
||||
};
|
||||
-struct file_source
|
||||
+struct rcs_file_source
|
||||
{
|
||||
string const & filename;
|
||||
int fd;
|
||||
@@ -91,7 +91,7 @@ struct file_source
|
||||
++pos;
|
||||
return good();
|
||||
}
|
||||
- file_source(string const & fn,
|
||||
+ rcs_file_source(string const & fn,
|
||||
int f,
|
||||
off_t len) :
|
||||
filename(fn),
|
||||
@@ -104,7 +104,7 @@ struct file_source
|
||||
if (mapping == MAP_FAILED)
|
||||
throw oops("mmap of " + filename + " failed");
|
||||
}
|
||||
- ~file_source()
|
||||
+ ~rcs_file_source()
|
||||
{
|
||||
if (munmap(mapping, length) == -1)
|
||||
throw oops("munmapping " + filename + " failed, after reading RCS file");
|
||||
@@ -112,12 +112,12 @@ struct
|
||||
};
|
||||
#elif defined(WIN32)
|
||||
struct
|
||||
-file_handle
|
||||
+rcs_file_handle
|
||||
{
|
||||
string const & filename;
|
||||
off_t length;
|
||||
HANDLE fd;
|
||||
- file_handle(string const & fn) :
|
||||
+ rcs_file_handle(string const & fn) :
|
||||
filename(fn),
|
||||
length(0),
|
||||
fd(NULL)
|
||||
@@ -134,7 +134,7 @@ file_handle
|
||||
if (fd == NULL)
|
||||
throw oops("open of " + filename + " failed");
|
||||
}
|
||||
- ~file_handle()
|
||||
+ ~rcs_file_handle()
|
||||
{
|
||||
if (CloseHandle(fd)==0)
|
||||
throw oops("close of " + filename + " failed");
|
||||
@@ -142,7 +142,7 @@ struct
|
||||
};
|
||||
|
||||
struct
|
||||
-file_source
|
||||
+rcs_file_source
|
||||
{
|
||||
string const & filename;
|
||||
HANDLE fd,map;
|
||||
@@ -167,7 +167,7 @@ file_source
|
||||
++pos;
|
||||
return good();
|
||||
}
|
||||
- file_source(string const & fn,
|
||||
+ rcs_file_source(string const & fn,
|
||||
HANDLE f,
|
||||
off_t len) :
|
||||
filename(fn),
|
||||
@@ -183,7 +183,7 @@ file_source
|
||||
if (mapping==NULL)
|
||||
throw oops("MapViewOfFile of " + filename + " failed");
|
||||
}
|
||||
- ~file_source()
|
||||
+ ~rcs_file_source()
|
||||
{
|
||||
if (UnmapViewOfFile(mapping)==0)
|
||||
throw oops("UnmapViewOfFile of " + filename + " failed");
|
||||
@@ -193,7 +193,7 @@ file_source
|
||||
};
|
||||
#else
|
||||
// no mmap at all
|
||||
-typedef istream file_source;
|
||||
+typedef istream rcs_file_source;
|
||||
#endif
|
||||
|
||||
typedef enum
|
||||
@@ -220,7 +220,7 @@ static token_type
|
||||
}
|
||||
|
||||
static token_type
|
||||
-get_token(file_source & ist,
|
||||
+get_token(rcs_file_source & ist,
|
||||
string & str,
|
||||
size_t & line,
|
||||
size_t & col)
|
||||
@@ -303,14 +303,14 @@ struct parser
|
||||
|
||||
struct parser
|
||||
{
|
||||
- file_source & ist;
|
||||
+ rcs_file_source & ist;
|
||||
rcs_file & r;
|
||||
string token;
|
||||
token_type ttype;
|
||||
|
||||
size_t line, col;
|
||||
|
||||
- parser(file_source & s,
|
||||
+ parser(rcs_file_source & s,
|
||||
rcs_file & r)
|
||||
: ist(s), r(r), line(1), col(1)
|
||||
{}
|
||||
@@ -489,8 +489,8 @@ parse_rcs_file(string const & filename,
|
||||
parse_rcs_file(string const & filename, rcs_file & r)
|
||||
{
|
||||
#if defined(HAVE_MMAP) || defined(WIN32)
|
||||
- file_handle handle(filename);
|
||||
- file_source ifs(filename, handle.fd, handle.length);
|
||||
+ rcs_file_handle handle(filename);
|
||||
+ rcs_file_source ifs(filename, handle.fd, handle.length);
|
||||
#else
|
||||
ifstream ifs(filename.c_str());
|
||||
ifs.unsetf(ios_base::skipws);
|
Loading…
Reference in New Issue
Block a user