Unverified Commit 96619a09 authored by Madoura's avatar Madoura
Browse files

python3Packages.omegaconf: improve python 3.11 support

This is mainly for fixing fairseq's python 3.11 build
parent 6c8a5dea
Loading
Loading
Loading
Loading
+21 −0
Original line number Diff line number Diff line
diff --git a/omegaconf/omegaconf.py b/omegaconf/omegaconf.py
index efde14a..a2a050e 100644
--- a/omegaconf/omegaconf.py
+++ b/omegaconf/omegaconf.py
@@ -7,6 +7,7 @@ import pathlib
 import sys
 import warnings
 from collections import defaultdict
+from dataclasses import _MISSING_TYPE
 from contextlib import contextmanager
 from enum import Enum
 from textwrap import dedent
@@ -828,6 +829,8 @@ class OmegaConf:
 
             if obj is _DEFAULT_MARKER_:
                 obj = {}
+            if isinstance(obj, _MISSING_TYPE):
+                return OmegaConf.create({}, parent=parent, flags=flags)
             if isinstance(obj, str):
                 obj = yaml.load(obj, Loader=get_yaml_loader())
                 if obj is None:
+6 −2
Original line number Diff line number Diff line
@@ -3,6 +3,7 @@
, antlr4-python3-runtime
, buildPythonPackage
, fetchFromGitHub
, setuptools
, jre_minimal
, pydevd
, pytest-mock
@@ -15,8 +16,7 @@
buildPythonPackage rec {
  pname = "omegaconf";
  version = "2.3.0";
  format = "setuptools";

  pyproject = true;
  disabled = pythonOlder "3.6";

  src = fetchFromGitHub {
@@ -31,6 +31,9 @@ buildPythonPackage rec {
      src = ./antlr4.patch;
      antlr_jar = "${antlr4.out}/share/java/antlr-${antlr4.version}-complete.jar";
    })

    # https://github.com/omry/omegaconf/pull/1137
    ./0000-add-support-for-dataclasses_missing_type.patch
  ];

  postPatch = ''
@@ -42,6 +45,7 @@ buildPythonPackage rec {
  '';

  nativeBuildInputs = [
    setuptools
    jre_minimal
  ];