New port: sysutils/libdnf: Dandified YUM, the next-generation version of YUM

This commit is contained in:
Yuri Victorovich 2020-09-26 03:01:14 +00:00
parent 8ca96141b7
commit 87cdebce91
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=550103
8 changed files with 212 additions and 0 deletions

View File

@ -573,6 +573,7 @@
SUBDIR += libcdio-paranoia
SUBDIR += libchk
SUBDIR += libcpuid
SUBDIR += libdnf
SUBDIR += libfvde
SUBDIR += libgksu
SUBDIR += libieee1284

47
sysutils/libdnf/Makefile Normal file
View File

@ -0,0 +1,47 @@
# $FreeBSD$
PORTNAME= libdnf
DISTVERSION= 0.48.0
CATEGORIES= sysutils
MAINTAINER= yuri@FreeBSD.org
COMMENT= Dandified YUM, the next-generation version of YUM
LICENSE= LGPL21 # no LICENSE tag for Version 2.1
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= check>0:devel/check \
${LOCALBASE}/include/libsmartcols/libsmartcols.h:devel/util-linux
LIB_DEPENDS= libassuan.so:security/libassuan \
libgpgme.so:security/gpgme \
libgpg-error.so:security/libgpg-error \
libjson-c.so:devel/json-c \
libmodulemd.so:misc/libmodulemd \
librepo.so:misc/librepo \
librpmio.so:archivers/rpm4 \
libsolv.so:misc/libsolv
USES= cmake compiler:c++11-lang gettext gnome pkgconfig sqlite ssl
USE_GNOME= glib20
USE_LDCONFIG= yes
USE_GITHUB= yes
GH_ACCOUNT= rpm-software-management
CMAKE_OFF= BUILD_TESTNG WITH_GTKDOC WITH_HTML
USE_GCC= any # clang fails: https://github.com/rpm-software-management/libdnf/issues/1038
OPTIONS_DEFINE= PYTHON ZCHUNK
PYTHON_CMAKE_BOOL= WITH_BINDINGS
PYTHON_USES= python
PYTHON_CMAKE_ON= -DPYTHON_DESIRED=${PYTHON_MAJOR_VER}
PYTHON_BUILD_DEPENDS= swig:devel/swig
PYTHON_BROKEN= https://github.com/rpm-software-management/libdnf/issues/1046
ZCHUNK_DESC= With zchunk support
ZCHUNK_CMAKE_BOOL= WITH_ZCHUNK
ZCHUNK_BROKEN= ZCHUNK option is declared, but this library is never actually used
.include <bsd.port.mk>

3
sysutils/libdnf/distinfo Normal file
View File

@ -0,0 +1,3 @@
TIMESTAMP = 1601086241
SHA256 (rpm-software-management-libdnf-0.48.0_GH0.tar.gz) = 1343759246073f128529943b92e7dee478808063b3b25315c39dfa44d811639e
SIZE (rpm-software-management-libdnf-0.48.0_GH0.tar.gz) = 1021639

View File

@ -0,0 +1,22 @@
--- CMakeLists.txt.orig 2020-06-02 09:41:46 UTC
+++ CMakeLists.txt
@@ -65,7 +65,7 @@ pkg_check_modules(REPO REQUIRED librepo>=0.11.0)
include_directories(${REPO_INCLUDE_DIRS})
link_directories(${REPO_LIBRARY_DIRS})
pkg_check_modules(RPM REQUIRED rpm>=4.11.0)
-pkg_check_modules(SMARTCOLS REQUIRED smartcols)
+#pkg_check_modules(SMARTCOLS REQUIRED smartcols)
pkg_check_modules(SQLite3 REQUIRED sqlite3)
# always enable linking with libdnf utils
@@ -178,8 +178,10 @@ endif()
# build tests
+if (BUILD_TESTING)
enable_testing()
add_subdirectory(tests)
+endif()
if(WITH_BINDINGS)
add_subdirectory(python/hawkey)
endif()

View File

@ -0,0 +1,12 @@
--- libdnf/hy-iutil.cpp.orig 2020-09-20 22:51:04 UTC
+++ libdnf/hy-iutil.cpp
@@ -22,7 +22,9 @@
#include <errno.h>
#include <dirent.h>
#include <fcntl.h>
+#if !defined(__FreeBSD__)
#include <linux/limits.h>
+#endif
#include <pwd.h>
#include <unistd.h>
#include <stdio.h>

View File

@ -0,0 +1,15 @@
--- libdnf/hy-util.cpp.orig 2020-09-20 22:48:40 UTC
+++ libdnf/hy-util.cpp
@@ -111,10 +111,12 @@ hy_detect_arch(char **arch)
char *modifier = un.machine + 5;
while(isdigit(*modifier)) /* keep armv7, armv8, armv9, armv10, armv100, ... */
modifier++;
+#if !defined(__FreeBSD__)
if (getauxval(AT_HWCAP) & HWCAP_ARM_VFP)
*modifier++ = 'h';
if ((atoi(un.machine+4) == 7) && (getauxval(AT_HWCAP) & HWCAP_ARM_NEON))
*modifier++ = 'n';
+#endif
*modifier++ = endian;
*modifier = 0;
}

View File

@ -0,0 +1,5 @@
libdnf provides a high level package-manager. It's core library of dnf,
PackageKit and rpm-ostree. It's replacement for deprecated hawkey library which
it contains inside and uses librepo under the hood.
WWW: https://github.com/rpm-software-management/libdnf

107
sysutils/libdnf/pkg-plist Normal file
View File

@ -0,0 +1,107 @@
include/libdnf/conf/Config.hpp
include/libdnf/conf/ConfigMain.hpp
include/libdnf/conf/ConfigParser.hpp
include/libdnf/conf/ConfigRepo.hpp
include/libdnf/conf/Option.hpp
include/libdnf/conf/OptionBinds.hpp
include/libdnf/conf/OptionBool.hpp
include/libdnf/conf/OptionChild.hpp
include/libdnf/conf/OptionEnum.hpp
include/libdnf/conf/OptionNumber.hpp
include/libdnf/conf/OptionPath.hpp
include/libdnf/conf/OptionSeconds.hpp
include/libdnf/conf/OptionString.hpp
include/libdnf/conf/OptionStringList.hpp
include/libdnf/config.h
include/libdnf/dnf-advisory.h
include/libdnf/dnf-advisorypkg.h
include/libdnf/dnf-advisoryref.h
include/libdnf/dnf-context.h
include/libdnf/dnf-db.h
include/libdnf/dnf-enums.h
include/libdnf/dnf-goal.h
include/libdnf/dnf-keyring.h
include/libdnf/dnf-lock.h
include/libdnf/dnf-package.h
include/libdnf/dnf-packagedelta.h
include/libdnf/dnf-reldep-list.h
include/libdnf/dnf-reldep.h
include/libdnf/dnf-repo-loader.h
include/libdnf/dnf-repo.h
include/libdnf/dnf-rpmts.h
include/libdnf/dnf-sack.h
include/libdnf/dnf-state.h
include/libdnf/dnf-transaction.h
include/libdnf/dnf-types.h
include/libdnf/dnf-utils.h
include/libdnf/dnf-version.h
include/libdnf/hy-goal.h
include/libdnf/hy-nevra.h
include/libdnf/hy-package.h
include/libdnf/hy-packageset.h
include/libdnf/hy-query.h
include/libdnf/hy-repo.h
include/libdnf/hy-selector.h
include/libdnf/hy-subject.h
include/libdnf/hy-types.h
include/libdnf/hy-util.h
include/libdnf/libdnf.h
include/libdnf/log.hpp
include/libdnf/nevra.hpp
include/libdnf/nsvcap.hpp
include/libdnf/plugin/plugin.h
include/libdnf/utils/PreserveOrderMap.hpp
include/libdnf/utils/logger.hpp
lib/libdnf.so
lib/libdnf.so.2
lib/libdnf/plugins/README
libdata/pkgconfig/libdnf.pc
share/locale/as/LC_MESSAGES/libdnf.mo
share/locale/bg/LC_MESSAGES/libdnf.mo
share/locale/bn/LC_MESSAGES/libdnf.mo
share/locale/bn_IN/LC_MESSAGES/libdnf.mo
share/locale/ca/LC_MESSAGES/libdnf.mo
share/locale/cs/LC_MESSAGES/libdnf.mo
share/locale/da/LC_MESSAGES/libdnf.mo
share/locale/de/LC_MESSAGES/libdnf.mo
share/locale/el/LC_MESSAGES/libdnf.mo
share/locale/es/LC_MESSAGES/libdnf.mo
share/locale/eu/LC_MESSAGES/libdnf.mo
share/locale/fa/LC_MESSAGES/libdnf.mo
share/locale/fi/LC_MESSAGES/libdnf.mo
share/locale/fil/LC_MESSAGES/libdnf.mo
share/locale/fr/LC_MESSAGES/libdnf.mo
share/locale/fur/LC_MESSAGES/libdnf.mo
share/locale/gu/LC_MESSAGES/libdnf.mo
share/locale/hi/LC_MESSAGES/libdnf.mo
share/locale/hu/LC_MESSAGES/libdnf.mo
share/locale/ia/LC_MESSAGES/libdnf.mo
share/locale/id/LC_MESSAGES/libdnf.mo
share/locale/is/LC_MESSAGES/libdnf.mo
share/locale/it/LC_MESSAGES/libdnf.mo
share/locale/ja/LC_MESSAGES/libdnf.mo
share/locale/kn/LC_MESSAGES/libdnf.mo
share/locale/ko/LC_MESSAGES/libdnf.mo
share/locale/mai/LC_MESSAGES/libdnf.mo
share/locale/ml/LC_MESSAGES/libdnf.mo
share/locale/mr/LC_MESSAGES/libdnf.mo
share/locale/nb/LC_MESSAGES/libdnf.mo
share/locale/nl/LC_MESSAGES/libdnf.mo
share/locale/or/LC_MESSAGES/libdnf.mo
share/locale/pa/LC_MESSAGES/libdnf.mo
share/locale/pl/LC_MESSAGES/libdnf.mo
share/locale/pt/LC_MESSAGES/libdnf.mo
share/locale/pt_BR/LC_MESSAGES/libdnf.mo
share/locale/ru/LC_MESSAGES/libdnf.mo
share/locale/sk/LC_MESSAGES/libdnf.mo
share/locale/sq/LC_MESSAGES/libdnf.mo
share/locale/sr/LC_MESSAGES/libdnf.mo
share/locale/sr@latin/LC_MESSAGES/libdnf.mo
share/locale/sv/LC_MESSAGES/libdnf.mo
share/locale/ta/LC_MESSAGES/libdnf.mo
share/locale/te/LC_MESSAGES/libdnf.mo
share/locale/th/LC_MESSAGES/libdnf.mo
share/locale/tr/LC_MESSAGES/libdnf.mo
share/locale/uk/LC_MESSAGES/libdnf.mo
share/locale/zh_CN/LC_MESSAGES/libdnf.mo
share/locale/zh_TW/LC_MESSAGES/libdnf.mo