···118118 package).</para></listitem>
119119 </varlistentry>
120120121121+ <varlistentry>
122122+ <term><varname>broken</varname></term>
123123+ <listitem><para>If set to <literal>true</literal>, the package is
124124+ marked as “broken”, meaning that it won’t show up in
125125+ <literal>nix-env -qa</literal>, and cannot be built or installed.
126126+ Sush packages should be removed from Nixpkgs eventually unless
127127+ they are fixed.</para></listitem>
128128+ </varlistentry>
129129+121130</variablelist>
122131123132
···1616 meta = {
1717 homepage = https://github.com/rackspace/python-novaclient;
1818 description = "Client library and command line tool for the OpenStack Nova API";
1919+ broken = true;
1920 };
2021}
+8-7
pkgs/applications/virtualization/nova/default.nix
···2020 paste_deploy m2crypto ipy boto_1_9 twisted sqlalchemy_migrate
2121 distutils_extra simplejson readline glance cheetah lockfile httplib2
2222 # !!! should libvirt be a build-time dependency? Note that
2323- # libxml2Python is a dependency of libvirt.py.
2323+ # libxml2Python is a dependency of libvirt.py.
2424 libvirt libxml2Python
2525 novaclient
2626 ];
27272828 buildInputs =
2929- [ pythonPackages.python
2929+ [ pythonPackages.python
3030 pythonPackages.wrapPython
3131 pythonPackages.mox
3232 intltool
···4545 substituteInPlace nova/api/ec2/cloud.py \
4646 --replace 'sh genrootca.sh' $out/libexec/nova/genrootca.sh
4747 '';
4848-4848+4949 buildPhase = "python setup.py build";
50505151 installPhase =
5252- ''
5252+ ''
5353 p=$(toPythonPath $out)
5454 export PYTHONPATH=$p:$PYTHONPATH
5555 mkdir -p $p
···5959 # computes some stuff from its own argv[0]. So put the wrapped
6060 # programs in $out/libexec under their original names.
6161 mkdir -p $out/libexec/nova
6262-6262+6363 wrapProgram() {
6464 local prog="$1"
6565 local hidden=$out/libexec/nova/$(basename "$prog")
6666 mv $prog $hidden
6767 makeWrapper $hidden $prog "$@"
6868 }
6969-6969+7070 wrapPythonPrograms
71717272 cp -prvd etc $out/etc
···8686 doCheck = false; # !!! fix
87878888 checkPhase = "python setup.py test";
8989-8989+9090 meta = {
9191 homepage = http://nova.openstack.org/;
9292 description = "OpenStack Compute (a.k.a. Nova), a cloud computing fabric controller";
9393+ broken = true;
9394 };
9495}
···18181919 allowUnfree = config.allowUnfree or true && builtins.getEnv "HYDRA_DISALLOW_UNFREE" != "1";
20202121+ allowBroken = builtins.getEnv "NIXPKGS_ALLOW_BROKEN" == "1";
2222+2123 stdenvGenerator = setupScript: rec {
22242325 # The stdenv that we are producing.
···5153 mkDerivation = attrs:
5254 if !allowUnfree && (let l = lib.lists.toList attrs.meta.license or []; in lib.lists.elem "unfree" l || lib.lists.elem "unfree-redistributable" l) then
5355 throw "package ‘${attrs.name}’ has an unfree license, refusing to evaluate"
5656+ else if !allowBroken && attrs.meta.broken or false then
5757+ throw "you can't use package ‘${attrs.name}’ because it has been marked as broken"
5458 else
5559 lib.addPassthru (derivation (
5660 (removeAttrs attrs ["meta" "passthru" "crossAttrs"])