diff --git a/pkgs/by-name/li/libgeneral/configure-version.patch b/pkgs/by-name/li/libgeneral/configure-version.patch new file mode 100644 index 000000000000..7392dc586b8a --- /dev/null +++ b/pkgs/by-name/li/libgeneral/configure-version.patch @@ -0,0 +1,26 @@ +diff --git a/configure.ac b/configure.ac +index c214ccd..ab0cdd7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1,5 +1,5 @@ + AC_PREREQ([2.69]) +-AC_INIT([libgeneral], m4_esyscmd([git rev-list --count HEAD | tr -d '\n']), [tihmstar@gmail.com]) ++AC_INIT([libgeneral], [tihmstar@gmail.com]) + + AC_CANONICAL_SYSTEM + AC_CANONICAL_HOST +@@ -9,10 +9,10 @@ AM_INIT_AUTOMAKE([subdir-objects]) + AC_CONFIG_HEADERS([config.h]) + AC_CONFIG_MACRO_DIRS([m4]) + +-AC_DEFINE([VERSION_COMMIT_COUNT], "m4_esyscmd([git rev-list --count HEAD | tr -d '\n'])", [Git commit count]) +-AC_DEFINE([VERSION_COMMIT_SHA], "m4_esyscmd([git rev-parse HEAD | tr -d '\n'])", [Git commit sha]) +-AC_SUBST([VERSION_COMMIT_COUNT], ["m4_esyscmd([git rev-list --count HEAD | tr -d '\n'])"]) +-AC_SUBST([VERSION_COMMIT_SHA], ["m4_esyscmd([git rev-parse HEAD | tr -d '\n'])"]) ++AC_ARG_WITH([version-commit-count], [], ++ [VERSION_COMMIT_COUNT="$withval"]) ++AC_DEFINE([VERSION_COMMIT_COUNT], ["$VERSION_COMMIT_COUNT"], [Git commit count]) ++AC_SUBST([VERSION_COMMIT_COUNT], ["$VERSION_COMMIT_COUNT"]) + + # Checks for programs. + AC_PROG_CXX([clang++]) diff --git a/pkgs/by-name/li/libgeneral/package.nix b/pkgs/by-name/li/libgeneral/package.nix new file mode 100644 index 000000000000..5327da9849df --- /dev/null +++ b/pkgs/by-name/li/libgeneral/package.nix @@ -0,0 +1,44 @@ +{ + lib, + clangStdenv, + fetchFromGitHub, + autoreconfHook, + pkg-config, + libimobiledevice, + libusb1, + avahi, +}: +clangStdenv.mkDerivation (finalAttrs: { + pname = "libgeneral"; + version = "84"; + + src = fetchFromGitHub { + owner = "tihmstar"; + repo = "libgeneral"; + tag = finalAttrs.version; + hash = "sha256-D6S7Ha7SQvWDGwiJuKh2Y9YOsw2ytxn70ia3llKC034="; + }; + + # Do not depend on git to calculate version, instead + # pass version via configureFlag + patches = [ ./configure-version.patch ]; + + nativeBuildInputs = [ + autoreconfHook + pkg-config + ]; + + configureFlags = [ + "--with-version-commit-count=${finalAttrs.version}" + ]; + + strictDeps = true; + + meta = { + description = "Helper library used by usbmuxd2"; + homepage = "https://github.com/tihmstar/libgeneral"; + license = lib.licenses.lgpl21; + platforms = lib.platforms.all; + maintainers = with lib.maintainers; [ onny ]; + }; +})