Once nixpart 1.0 is released we then only need to delete one single directory rather than searching for needles in a haystack, that is, all of <nixpkgs>. Also, it keeps my sanity at an almost healthy level. Signed-off-by: aszlig <aszlig@redmoonstudios.org>wip/yesman
parent
7676ff5973
commit
78ef5f9c14
@ -1,29 +0,0 @@ |
||||
{ stdenv, fetchurl, buildPythonPackage, blivet |
||||
# Propagated to blivet |
||||
, useNixUdev ? null, udevSoMajor ? null |
||||
}: |
||||
|
||||
let |
||||
blivetOverrides = stdenv.lib.filterAttrs (k: v: v != null) { |
||||
inherit useNixUdev udevSoMajor; |
||||
}; |
||||
in buildPythonPackage rec { |
||||
name = "nixpart-${version}"; |
||||
version = "0.4.1"; |
||||
|
||||
src = fetchurl { |
||||
url = "https://github.com/aszlig/nixpart/archive/v${version}.tar.gz"; |
||||
sha256 = "0avwd8p47xy9cydlbjxk8pj8q75zyl68gw2w6fnkk78dcb1a3swp"; |
||||
}; |
||||
|
||||
propagatedBuildInputs = [ (blivet.override blivetOverrides) ]; |
||||
|
||||
doCheck = false; |
||||
|
||||
meta = { |
||||
description = "NixOS storage manager/partitioner"; |
||||
license = stdenv.lib.licenses.gpl2Plus; |
||||
maintainers = [ stdenv.lib.maintainers.aszlig ]; |
||||
platforms = stdenv.lib.platforms.linux; |
||||
}; |
||||
} |
@ -0,0 +1,28 @@ |
||||
{ stdenv, fetchurl, devicemapper, libgcrypt, libuuid, pkgconfig, popt |
||||
, enablePython ? true, python ? null |
||||
}: |
||||
|
||||
assert enablePython -> python != null; |
||||
|
||||
stdenv.mkDerivation rec { |
||||
name = "cryptsetup-1.6.3"; |
||||
|
||||
src = fetchurl { |
||||
url = "http://cryptsetup.googlecode.com/files/${name}.tar.bz2"; |
||||
sha256 = "1n1qk5chyjspbiianrdb55fhb4wl0vfyqz2br05vfb24v4qlgbx2"; |
||||
}; |
||||
|
||||
configureFlags = [ "--enable-cryptsetup-reencrypt" ] |
||||
++ stdenv.lib.optional enablePython "--enable-python"; |
||||
|
||||
buildInputs = [ devicemapper libgcrypt libuuid pkgconfig popt ] |
||||
++ stdenv.lib.optional enablePython python; |
||||
|
||||
meta = { |
||||
homepage = http://code.google.com/p/cryptsetup/; |
||||
description = "LUKS for dm-crypt"; |
||||
license = stdenv.lib.licenses.gpl2; |
||||
maintainers = with stdenv.lib.maintainers; [ viric chaoflow ]; |
||||
platforms = with stdenv.lib.platforms; linux; |
||||
}; |
||||
} |
@ -0,0 +1,76 @@ |
||||
{ stdenv, fetchurl, python, buildPythonPackage |
||||
# Propagated to blivet |
||||
, useNixUdev ? true, udevSoMajor ? null |
||||
# Propagated dependencies |
||||
, pkgs, urlgrabber |
||||
}: |
||||
|
||||
let |
||||
blivet = import ./blivet.nix { |
||||
inherit stdenv fetchurl buildPythonPackage; |
||||
inherit pykickstart pyparted pyblock cryptsetup multipath_tools; |
||||
inherit useNixUdev udevSoMajor; |
||||
inherit (pkgs) lsof utillinux udev; |
||||
libselinux = pkgs.libselinux.override { enablePython = true; }; |
||||
}; |
||||
|
||||
cryptsetup = import ./cryptsetup.nix { |
||||
inherit stdenv fetchurl python; |
||||
inherit (pkgs) pkgconfig libgcrypt libuuid popt; |
||||
devicemapper = lvm2; |
||||
}; |
||||
|
||||
dmraid = import ./dmraid.nix { |
||||
inherit stdenv fetchurl; |
||||
devicemapper = lvm2; |
||||
}; |
||||
|
||||
lvm2 = import ./lvm2.nix { |
||||
inherit stdenv fetchurl; |
||||
inherit (pkgs) pkgconfig utillinux udev coreutils; |
||||
}; |
||||
|
||||
multipath_tools = import ./multipath-tools.nix { |
||||
inherit stdenv fetchurl lvm2; |
||||
inherit (pkgs) readline udev libaio gzip; |
||||
}; |
||||
|
||||
parted = import ./parted.nix { |
||||
inherit stdenv fetchurl; |
||||
inherit (pkgs) utillinux readline libuuid gettext check; |
||||
devicemapper = lvm2; |
||||
}; |
||||
|
||||
pyblock = import ./pyblock.nix { |
||||
inherit stdenv fetchurl python lvm2 dmraid; |
||||
}; |
||||
|
||||
pykickstart = import ./pykickstart.nix { |
||||
inherit stdenv fetchurl python buildPythonPackage urlgrabber; |
||||
}; |
||||
|
||||
pyparted = import ./pyparted.nix { |
||||
inherit stdenv fetchurl python buildPythonPackage parted; |
||||
inherit (pkgs) pkgconfig e2fsprogs; |
||||
}; |
||||
|
||||
in buildPythonPackage rec { |
||||
name = "nixpart-${version}"; |
||||
version = "0.4.1"; |
||||
|
||||
src = fetchurl { |
||||
url = "https://github.com/aszlig/nixpart/archive/v${version}.tar.gz"; |
||||
sha256 = "0avwd8p47xy9cydlbjxk8pj8q75zyl68gw2w6fnkk78dcb1a3swp"; |
||||
}; |
||||
|
||||
propagatedBuildInputs = [ blivet ]; |
||||
|
||||
doCheck = false; |
||||
|
||||
meta = { |
||||
description = "NixOS storage manager/partitioner"; |
||||
license = stdenv.lib.licenses.gpl2Plus; |
||||
maintainers = [ stdenv.lib.maintainers.aszlig ]; |
||||
platforms = stdenv.lib.platforms.linux; |
||||
}; |
||||
} |
@ -0,0 +1,34 @@ |
||||
{ stdenv, fetchurl, lvm2, libaio, gzip, readline, udev }: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
name = "multipath-tools-0.4.9"; |
||||
|
||||
src = fetchurl { |
||||
url = "http://christophe.varoqui.free.fr/multipath-tools/${name}.tar.bz2"; |
||||
sha256 = "04n7kazp1zrlqfza32phmqla0xkcq4zwn176qff5ida4a60whi4d"; |
||||
}; |
||||
|
||||
sourceRoot = "."; |
||||
|
||||
buildInputs = [ lvm2 libaio readline ]; |
||||
|
||||
preBuild = |
||||
'' |
||||
makeFlagsArray=(GZIP="${gzip}/bin/gzip -9 -c" prefix=$out mandir=$out/share/man/man8 man5dir=$out/share/man/man5 LIB=lib) |
||||
|
||||
substituteInPlace multipath/Makefile --replace /etc $out/etc |
||||
substituteInPlace kpartx/Makefile --replace /etc $out/etc |
||||
|
||||
substituteInPlace kpartx/kpartx.rules --replace /sbin/kpartx $out/sbin/kpartx |
||||
substituteInPlace kpartx/kpartx_id --replace /sbin/dmsetup ${lvm2}/sbin/dmsetup |
||||
|
||||
substituteInPlace libmultipath/defaults.h --replace /lib/udev/scsi_id ${udev}/lib/udev/scsi_id |
||||
substituteInPlace libmultipath/hwtable.c --replace /lib/udev/scsi_id ${udev}/lib/udev/scsi_id |
||||
''; |
||||
|
||||
meta = { |
||||
description = "Tools for the Linux multipathing driver"; |
||||
homepage = http://christophe.varoqui.free.fr/; |
||||
platforms = stdenv.lib.platforms.linux; |
||||
}; |
||||
} |
@ -0,0 +1,29 @@ |
||||
{ stdenv, fetchurl, python, lvm2, dmraid }: |
||||
|
||||
stdenv.mkDerivation rec { |
||||
name = "pyblock-${version}"; |
||||
version = "0.53"; |
||||
|
||||
src = fetchurl rec { |
||||
url = "http://pkgs.fedoraproject.org/repo/pkgs/python-pyblock/" |
||||
+ "${name}.tar.bz2/${md5}/${name}.tar.bz2"; |
||||
md5 = "f6d33a8362dee358517d0a9e2ebdd044"; |
||||
}; |
||||
|
||||
postPatch = '' |
||||
sed -i -e 's|/usr/include/python|${python}/include/python|' \ |
||||
-e 's/-Werror *//' -e 's|/usr/|'"$out"'/|' Makefile |
||||
''; |
||||
|
||||
buildInputs = [ python lvm2 dmraid ]; |
||||
|
||||
makeFlags = [ |
||||
"USESELINUX=0" |
||||
"SITELIB=$(out)/lib/${python.libPrefix}/site-packages" |
||||
]; |
||||
|
||||
meta = { |
||||
description = "Interface for working with block devices"; |
||||
license = stdenv.lib.licenses.gpl2Plus; |
||||
}; |
||||
} |
@ -0,0 +1,30 @@ |
||||
{ stdenv, python, buildPythonPackage, fetchurl, urlgrabber }: |
||||
|
||||
buildPythonPackage rec { |
||||
name = "pykickstart-${version}"; |
||||
version = "1.99.39"; |
||||
|
||||
src = fetchurl rec { |
||||
url = "http://pkgs.fedoraproject.org/repo/pkgs/pykickstart/" |
||||
+ "${name}.tar.gz/${md5}/${name}.tar.gz"; |
||||
md5 = "d249f60aa89b1b4facd63f776925116d"; |
||||
}; |
||||
|
||||
postPatch = '' |
||||
sed -i -e "s/for tst in tstList/for tst in sorted(tstList, \ |
||||
key=lambda m: m.__name__)/" tests/baseclass.py |
||||
''; |
||||
|
||||
propagatedBuildInputs = [ urlgrabber ]; |
||||
|
||||
checkPhase = '' |
||||
export PYTHONPATH="$PYTHONPATH:." |
||||
${python}/bin/${python.executable} tests/baseclass.py -vv |
||||
''; |
||||
|
||||
meta = { |
||||
homepage = "http://fedoraproject.org/wiki/Pykickstart"; |
||||
description = "Read and write Fedora kickstart files"; |
||||
license = stdenv.lib.licenses.gpl2Plus; |
||||
}; |
||||
} |
@ -0,0 +1,42 @@ |
||||
{ stdenv, fetchurl, pkgconfig, python, buildPythonPackage, parted, e2fsprogs }: |
||||
|
||||
buildPythonPackage rec { |
||||
name = "pyparted-${version}"; |
||||
version = "3.10"; |
||||
|
||||
src = fetchurl { |
||||
url = "https://fedorahosted.org/releases/p/y/pyparted/${name}.tar.gz"; |
||||
sha256 = "17wq4invmv1nfazaksf59ymqyvgv3i8h4q03ry2az0s9lldyg3dv"; |
||||
}; |
||||
|
||||
postPatch = '' |
||||
sed -i -e 's|/sbin/mke2fs|${e2fsprogs}&|' tests/baseclass.py |
||||
sed -i -e ' |
||||
s|e\.path\.startswith("/tmp/temp-device-")|"temp-device-" in e.path| |
||||
' tests/test__ped_ped.py |
||||
'' + stdenv.lib.optionalString stdenv.isi686 '' |
||||
# remove some integers in this test case which overflow on 32bit systems |
||||
sed -i -r -e '/class *UnitGetSizeTestCase/,/^$/{/[0-9]{11}/d}' \ |
||||
tests/test__ped_ped.py |
||||
''; |
||||
|
||||
preConfigure = '' |
||||
PATH="${parted}/sbin:$PATH" |
||||
''; |
||||
|
||||
buildInputs = [ pkgconfig ]; |
||||
|
||||
propagatedBuildInputs = [ parted ]; |
||||
|
||||
checkPhase = '' |
||||
patchShebangs Makefile |
||||
make test PYTHON=${python.executable} |
||||
''; |
||||
|
||||
meta = { |
||||
homepage = "https://fedorahosted.org/pyparted/"; |
||||
description = "Python interface for libparted"; |
||||
license = stdenv.lib.licenses.gpl2Plus; |
||||
platforms = stdenv.lib.platforms.linux; |
||||
}; |
||||
} |
Loading…
Reference in new issue