summary refs log tree commit diff
path: root/pkgs/tools/misc/relfs/cvs.2007.12.01.nix
blob: adaa5d11cfc95d9c0a25178fc15660a46ee96355 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
args : with args;
	with builderDefs {
	src = /* put a fetchurl here */
	fetchcvs {
		url = ":pserver:anonymous@relfs.cvs.sourceforge.net:/cvsroot/relfs";
		module = "relfs";
		date = "2007-12-01";
		sha256 = "ef8e2ebfda6e43240051a7af9417092b2af50ece8b5c6c3fbd908ba91c4fe068";
	};
		
		buildInputs = [ocaml fuse postgresql pcre
			e2fsprogs gnomevfs pkgconfig GConf];
		configureFlags = [];
	} null; /* null is a terminator for sumArgs */
let build = FullDepEntry ("
	cd deps 
	sed -e 's/^CPP/#&/ ; s/^# CPP=gcc/CPP=gcc/' -i Makefile.camlidl
	make 
	cd ../src
	sed -e 's/NULL\\|FALSE/0/g' -i Mimetype_lib.c
	sed -e 's@/usr/local/@'\$out/'@' -i Makefile
	sed -e '/install:/a\\\tmkdir -p '\$out'/share' -i Makefile
	make
	mkdir -p \$out/bin
	echo '
		createuser -A -D \$1
		dropdb relfs_\$1 ; 
		rm -rf /tmp/relfs-\$1-tmp;  
		mkdir /tmp/relfs-\$1-tmp;  
		USER=\$1 relfs -f -s /tmp/relfs-raskin-tmp  & 
		sleep 1 && 
		kill -15 \${!};
		rm -rf /tmp/relfs-\$1-tmp ; 
		psql -d relfs_\$1 <<< \"ALTER DATABASE relfs_raskin OWNER TO raskin; 
			ALTER TABLE obj OWNER TO \$1; 
			ALTER TABLE obj_mimetype OWNER TO \$1; 
			ALTER TABLE membership OWNER TO \$1;\"' > \$out/bin/relfs_grant;
	chmod a+x \$out/bin/relfs_grant;
") [minInit doUnpack addInputs];
in
stdenv.mkDerivation rec {
	name = "relfs-"+version;
	builder = writeScript (name + "-builder")
		(textClosure [build doMakeInstall doForceShare doPropagate]);
	meta = {
		description = "
	Relational FS over FUSE.
";
	};
}