diff --git a/devel/py-libzfs/Makefile b/devel/py-libzfs/Makefile index 65fe42ca3803..e34dcfcf5cad 100644 --- a/devel/py-libzfs/Makefile +++ b/devel/py-libzfs/Makefile @@ -10,15 +10,15 @@ WWW= https://github.com/freenas/py-libzfs LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE +USES= autoreconf compiler:c11 python USE_GITHUB= yes GH_ACCOUNT= truenas GH_PROJECT= py-libzfs GH_TAGNAME= 1a99a45 -HAS_CONFIGURE= yes -USES= compiler:c11 python USE_PYTHON= autoplist distutils cython +HAS_CONFIGURE= yes CONFIGURE_ENV= freebsd_src=${SRC_BASE} MAKE_ENV= freebsd_src=${SRC_BASE} diff --git a/devel/py-libzfs/files/patch-configure.ac b/devel/py-libzfs/files/patch-configure.ac new file mode 100644 index 000000000000..5517784dfe4c --- /dev/null +++ b/devel/py-libzfs/files/patch-configure.ac @@ -0,0 +1,37 @@ +--- configure.ac.orig 2022-12-15 21:11:13 UTC ++++ configure.ac +@@ -158,6 +158,26 @@ AX_CHECK_DEFINE( + ) + + ++dnl Checking existence of an enum value ++ ++AC_MSG_NOTICE([Checking ZFS_PROP_USEROBJUSED presence]) ++ ++AC_COMPILE_IFELSE([AC_LANG_PROGRAM( ++ [#include ], ++ [ ++ zfs_userquota_prop_t prop = ZFS_PROP_USEROBJUSED /* ; */ ++ ] ++ )],[ ++ AC_SUBST(HAVE_ZFS_PROP_USEROBJUSED, 1) ++ AC_SUBST(ZFS_PROP_USEROBJUSED, "ZFS_PROP_USEROBJUSED") ++ AC_MSG_NOTICE([OK]) ++ ],[ ++ AC_SUBST(HAVE_ZFS_PROP_USEROBJUSED, 0) ++ AC_SUBST(ZFS_PROP_USEROBJUSED, ["# ZFS_PROP_USEROBJUSED not defined"]) ++ AC_MSG_NOTICE([NOT FOUND]) ++ ] ++) ++ + dnl Check zfs_prop_valid_for_type signature + + AC_MSG_NOTICE([Checking signature of zfs_prop_valid_for_type in zfs header]) +@@ -537,7 +557,6 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM( + [AC_SUBST(HAVE_EZFS_SCRUB_PAUSED, 1) AC_MSG_NOTICE([OK])], + [AC_SUBST(HAVE_EZFS_SCRUB_PAUSED, 0) AC_MSG_NOTICE([NOT FOUND])] + ) +- + + dnl Checking existence of an enum value + diff --git a/devel/py-libzfs/files/patch-libzfs.pyx b/devel/py-libzfs/files/patch-libzfs.pyx new file mode 100644 index 000000000000..23863231ec0e --- /dev/null +++ b/devel/py-libzfs/files/patch-libzfs.pyx @@ -0,0 +1,26 @@ +--- libzfs.pyx.orig 2022-12-15 21:11:13 UTC ++++ libzfs.pyx +@@ -42,14 +42,15 @@ class UserquotaProp(enum.IntEnum): + USERQUOTA = zfs.ZFS_PROP_USERQUOTA + GROUPUSED = zfs.ZFS_PROP_GROUPUSED + GROUPQUOTA = zfs.ZFS_PROP_GROUPQUOTA +- USEROBJUSED = zfs.ZFS_PROP_USEROBJUSED +- USEROBJQUOTA = zfs.ZFS_PROP_USEROBJQUOTA +- GROUPOBJUSED = zfs.ZFS_PROP_GROUPOBJUSED +- GROUPOBJQUOTA = zfs.ZFS_PROP_GROUPOBJQUOTA +- PROJECTUSED = zfs.ZFS_PROP_PROJECTUSED +- PROJECTQUOTA = zfs.ZFS_PROP_PROJECTQUOTA +- PROJECTOBJUSED = zfs.ZFS_PROP_PROJECTOBJUSED +- PROJECTOBJQUOTA = zfs.ZFS_PROP_PROJECTOBJQUOTA ++ IF HAVE_ZFS_PROP_USEROBJUSED: ++ USEROBJUSED = zfs.ZFS_PROP_USEROBJUSED ++ USEROBJQUOTA = zfs.ZFS_PROP_USEROBJQUOTA ++ GROUPOBJUSED = zfs.ZFS_PROP_GROUPOBJUSED ++ GROUPOBJQUOTA = zfs.ZFS_PROP_GROUPOBJQUOTA ++ PROJECTUSED = zfs.ZFS_PROP_PROJECTUSED ++ PROJECTQUOTA = zfs.ZFS_PROP_PROJECTQUOTA ++ PROJECTOBJUSED = zfs.ZFS_PROP_PROJECTOBJUSED ++ PROJECTOBJQUOTA = zfs.ZFS_PROP_PROJECTOBJQUOTA + + + class Error(enum.IntEnum): diff --git a/devel/py-libzfs/files/patch-pxd_config.pxi.in b/devel/py-libzfs/files/patch-pxd_config.pxi.in new file mode 100644 index 000000000000..c20490054701 --- /dev/null +++ b/devel/py-libzfs/files/patch-pxd_config.pxi.in @@ -0,0 +1,10 @@ +--- pxd/config.pxi.in.orig 2022-12-15 21:11:13 UTC ++++ pxd/config.pxi.in +@@ -30,6 +30,7 @@ DEF HAVE_ZFS_RENAME = @HAVE_ZFS_RENAME@ + DEF HAVE_ZPOOL_SEARCH_IMPORT_LIBZUTIL = @HAVE_ZPOOL_SEARCH_IMPORT_LIBZUTIL@ + DEF HAVE_ZPOOL_SEARCH_IMPORT_LIBZFS = @HAVE_ZPOOL_SEARCH_IMPORT_LIBZFS@ + DEF HAVE_ZPOOL_SEARCH_IMPORT_PARAMS = @HAVE_ZPOOL_SEARCH_IMPORT_PARAMS@ ++DEF HAVE_ZFS_PROP_USEROBJUSED = @HAVE_ZFS_PROP_USEROBJUSED@ + DEF HAVE_ZFS_PROP_VALID_FOR_TYPE = @HAVE_ZFS_PROP_VALID_FOR_TYPE@ + DEF HAVE_ZFS_VDEV_STAT_ASHIFT = @HAVE_ZFS_VDEV_STAT_ASHIFT@ + DEF HAVE_ZPOOL_REWIND_POLICY_T = @HAVE_ZPOOL_REWIND_POLICY_T@