diff options
Diffstat (limited to 'app-emacs/emacsql/emacsql-3.1.1.ebuild')
-rw-r--r-- | app-emacs/emacsql/emacsql-3.1.1.ebuild | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/app-emacs/emacsql/emacsql-3.1.1.ebuild b/app-emacs/emacsql/emacsql-3.1.1.ebuild new file mode 100644 index 000000000000..3ba6d2c8d2a6 --- /dev/null +++ b/app-emacs/emacsql/emacsql-3.1.1.ebuild @@ -0,0 +1,80 @@ +# Copyright 2023 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +NEED_EMACS=25.1 +inherit edo elisp toolchain-funcs + +DESCRIPTION="A high-level Emacs Lisp RDBMS front-end" +HOMEPAGE="https://github.com/magit/emacsql" + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + + EGIT_REPO_URI="https://github.com/magit/${PN}.git" +else + SRC_URI=" + https://github.com/magit/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz + " + KEYWORDS="~amd64" +fi + +LICENSE="Unlicense" +SLOT="0" +# TODO(arsen): postgres-pg using app-emacs/pg (unpackaged as of yet) +IUSE="+sqlite postgres mysql" + +DEPEND=" + sqlite? ( dev-db/sqlite:3 ) +" +RDEPEND=" + ${DEPEND} + postgres? ( dev-db/postgresql ) + mysql? ( virtual/mysql ) +" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}/${PN}-3.1.1-fix-utf8-bom-writing.patch" +) + +SITEFILE="50${PN}-gentoo.el" + +src_prepare() { + default + + # Not packaged. + rm emacsql-pg.el || die + + local -A backends=( + [sqlite]=sqlite + [postgres]=psql + [mysql]=mysql + ) + + for useflag in "${!backends[@]}"; do + if ! use "${useflag}"; then + rm emacsql-"${backends[${useflag}]}".el || die + fi + done +} + +src_compile() { + if use sqlite; then + edo $(tc-getCC) -fPIC -Wall -Wextra \ + $($(tc-getPKG_CONFIG) --cflags --libs sqlite3) \ + ${CPPFLAGS} ${CFLAGS} ${LDFLAGS} -o emacsql-sqlite \ + sqlite/emacsql.c + fi + elisp_src_compile +} + +src_install() { + elisp_src_install + + if use sqlite; then + exeinto "${SITELISP}"/emacsql/sqlite + doexe emacsql-sqlite + fi +} |