app-mobilephone/gnokii: Fix autotools issues
authorJeroen Roovers <jer@gentoo.org>
Thu, 16 Jan 2020 10:23:06 +0000 (11:23 +0100)
committerJeroen Roovers <jer@gentoo.org>
Thu, 16 Jan 2020 10:43:46 +0000 (11:43 +0100)
- AM_LANGINFO_CODESET is exclusively defined in aclocal.m4, which gets
  clobbered by eautoreconf
- Various Docs/.../Makefile.am define their own special docdir
- libgnokii.so.7.0.0 requires dev-libs/glib

Package-Manager: Portage-2.3.84, Repoman-2.3.20
Closes: https://bugs.gentoo.org/685560
Closes: https://bugs.gentoo.org/685832
Signed-off-by: Jeroen Roovers <jer@gentoo.org>
app-mobilephone/gnokii/files/gnokii-0.6.31-codeset.m4 [new file with mode: 0644]
app-mobilephone/gnokii/files/gnokii-0.6.31-docdir.patch [new file with mode: 0644]
app-mobilephone/gnokii/gnokii-0.6.31-r3.ebuild [new file with mode: 0644]

diff --git a/app-mobilephone/gnokii/files/gnokii-0.6.31-codeset.m4 b/app-mobilephone/gnokii/files/gnokii-0.6.31-codeset.m4
new file mode 100644 (file)
index 0000000..9b17f8f
--- /dev/null
@@ -0,0 +1,22 @@
+# codeset.m4 serial 4 (gettext-0.18)
+dnl Copyright (C) 2000-2002, 2006, 2008-2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl From Bruno Haible.
+
+AC_DEFUN([AM_LANGINFO_CODESET],
+[
+  AC_CACHE_CHECK([for nl_langinfo and CODESET], [am_cv_langinfo_codeset],
+    [AC_TRY_LINK([#include <langinfo.h>],
+      [char* cs = nl_langinfo(CODESET); return !cs;],
+      [am_cv_langinfo_codeset=yes],
+      [am_cv_langinfo_codeset=no])
+    ])
+  if test $am_cv_langinfo_codeset = yes; then
+    AC_DEFINE([HAVE_LANGINFO_CODESET], [1],
+      [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
+  fi
+])
+
diff --git a/app-mobilephone/gnokii/files/gnokii-0.6.31-docdir.patch b/app-mobilephone/gnokii/files/gnokii-0.6.31-docdir.patch
new file mode 100644 (file)
index 0000000..74d28cc
--- /dev/null
@@ -0,0 +1,69 @@
+--- a/Docs/Makefile.am.JeR
++++ b/Docs/Makefile.am
+@@ -1,6 +1,6 @@
+ SUBDIRS = man sample protocol
+-docsdir = $(datadir)/doc/gnokii
++docsdir = $(docdir)
+ DEVEL_DOCS =    CodingStyle \
+               README.libsms
+--- a/Docs/protocol/Makefile.am
++++ b/Docs/protocol/Makefile.am
+@@ -1,4 +1,4 @@
+-protocoldocsdir = $(datadir)/doc/gnokii/protocol
++protocoldocsdir = $(docdir)/protocol
+ protocoldocs_DATA=            \
+       dancall.txt             \
+       gnokiid-at.txt          \
+--- a/Docs/sample/Makefile.am
++++ b/Docs/sample/Makefile.am
+@@ -1,6 +1,6 @@
+ SUBDIRS = ppp logo ringtone vCalendar
+-sampledocsdir = $(datadir)/doc/gnokii/sample
++sampledocsdir = $(docdir)/sample
+ sampledocs_DATA = gnokiirc    \
+               magic           \
+               45-nokiadku2.rules
+--- a/Docs/sample/vCalendar/Makefile.am
++++ b/Docs/sample/vCalendar/Makefile.am
+@@ -1,4 +1,4 @@
+-vcaldocsdir = $(datadir)/doc/gnokii/sample/vCalendar
++vcaldocsdir = $(docdir)/sample/vCalendar
+ vcaldocs_DATA = test.vcs
+ EXTRA_DIST = $(vcaldocs_DATA)
+--- a/Docs/sample/logo/Makefile.am
++++ b/Docs/sample/logo/Makefile.am
+@@ -1,4 +1,4 @@
+-logodocsdir = $(datadir)/doc/gnokii/sample/logo
++logodocsdir = $(docdir)/sample/logo
+ logodocs_DATA = pacman.xpm \
+               gnokii.xpm \
+               gnokiiop.xpm \
+@@ -6,4 +6,4 @@
+               bronto.xpm \
+               horse2.xpm
+-EXTRA_DIST = $(logodocs_DATA)
+\ No newline at end of file
++EXTRA_DIST = $(logodocs_DATA)
+--- a/Docs/sample/ringtone/Makefile.am
++++ b/Docs/sample/ringtone/Makefile.am
+@@ -1,4 +1,4 @@
+-ringtonedocsdir = $(datadir)/doc/gnokii/sample/ringtone
++ringtonedocsdir = $(docdir)/sample/ringtone
+ ringtonedocs_DATA = star.imelody star.rtttl
+-EXTRA_DIST = $(ringtonedocs_DATA) 
+\ No newline at end of file
++EXTRA_DIST = $(ringtonedocs_DATA) 
+--- a/Docs/sample/ppp/Makefile.am
++++ b/Docs/sample/ppp/Makefile.am
+@@ -1,4 +1,4 @@
+-pppdocsdir = $(datadir)/doc/gnokii/sample/ppp
++pppdocsdir = $(docdir)/sample/ppp
+ pppdocs_DATA =  cimd-connect \
+               ppp-FILES \
+               options \
diff --git a/app-mobilephone/gnokii/gnokii-0.6.31-r3.ebuild b/app-mobilephone/gnokii/gnokii-0.6.31-r3.ebuild
new file mode 100644 (file)
index 0000000..dce32eb
--- /dev/null
@@ -0,0 +1,142 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+inherit autotools desktop eutils linux-info
+
+HOMEPAGE="https://www.gnokii.org/"
+if [[ $PV == *9999 ]]; then
+       EGIT_REPO_URI="
+               git://git.savannah.nongnu.org/${PN}.git
+               http://git.savannah.gnu.org/r/${PN}.git"
+       inherit git-r3
+else
+       SRC_URI="https://www.gnokii.org/download/${PN}/${P}.tar.bz2"
+       KEYWORDS="~amd64 ~hppa ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+fi
+DESCRIPTION="User space driver and tools for use with mobile phones"
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="bluetooth debug ical irda mysql nls +pcsc-lite postgres sms usb X"
+
+RDEPEND="
+       !app-mobilephone/smstools
+       dev-libs/glib:2
+       bluetooth? ( kernel_linux? ( net-wireless/bluez ) )
+       ical? ( dev-libs/libical:= )
+       pcsc-lite? ( sys-apps/pcsc-lite )
+       sms? (
+               postgres? ( dev-db/postgresql:* )
+               mysql? ( dev-db/mysql-connector-c:= )
+       )
+       usb? ( virtual/libusb:0 )
+       X? ( x11-libs/gtk+:2 )
+"
+DEPEND="${RDEPEND}
+       dev-util/intltool
+       irda? ( virtual/os-headers )
+       nls? ( sys-devel/gettext )
+"
+
+CONFIG_CHECK="~UNIX98_PTYS"
+
+S="${WORKDIR}/${PN}-${PV%.1}"
+
+# Supported languages and translated documentation
+# Be sure all languages are prefixed with a single space!
+MY_AVAILABLE_LINGUAS=" cs de et fi fr it nl pl pt sk sl sv zh_CN"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-docdir.patch
+       "${FILESDIR}"/${P}-fix_xgnokii_inclusion.patch
+       "${FILESDIR}"/${P}-gcc5.patch
+       "${FILESDIR}"/${P}-gcc7.patch
+)
+
+src_prepare() {
+       [[ $PV == *9999 ]] && \
+               PATCHES=(
+                       "${FILESDIR}"/${P}-icon.patch
+                       "${FILESDIR}"/${P}-translations.patch
+               )
+
+       sed -i -e "s:/usr/local:${EPREFIX}/usr:" Docs/sample/gnokiirc || die
+
+       default
+
+       cp "${FILESDIR}"/${P}-codeset.m4 m4/codeset.m4 || die
+       mv configure.{in,ac} || die
+
+       eautoreconf
+}
+
+src_configure() {
+       strip-linguas ${MY_AVAILABLE_LINGUAS}
+
+       local config_xdebug
+       if use X && use debug; then
+               config_xdebug="--enable-xdebug"
+       else
+               config_xdebug="--disable-xdebug"
+       fi
+
+       econf \
+               --disable-static \
+               --enable-security \
+               --disable-unix98test \
+               $(use_enable bluetooth) \
+               ${config_xdebug} \
+               $(use_enable debug fulldebug) \
+               $(use_enable debug rlpdebug) \
+               $(use_enable ical libical) \
+               $(use_enable irda) \
+               $(use_enable mysql) \
+               $(use_enable nls) \
+               $(use_enable pcsc-lite libpcsclite) \
+               $(use_enable postgres) \
+               $(use_enable sms smsd) \
+               $(use_enable usb libusb) \
+               $(use_with X x)
+}
+
+src_test() {
+       echo common/phones/fake.c >> po/POTFILES.in || die
+       default
+}
+
+src_install() {
+       default
+
+       # package provides .pc files
+       find "${D}" -name '*.la' -delete || die
+
+       insinto /etc
+       doins Docs/sample/gnokiirc
+
+       # only one file needs suid root to make a pseudo device
+       fperms 4755 /usr/sbin/mgnokiidev
+
+       use X && newicon Docs/sample/logo/gnokii.xpm xgnokii.xpm
+
+       if use sms; then
+               cd smsd || die
+
+               docinto smsd
+               use mysql && dodoc sms.tables.mysql.sql README.MySQL
+               use postgres && dodoc sms.tables.pq.sql
+               dodoc README ChangeLog README.Tru64 action
+       fi
+}
+
+pkg_postinst() {
+       elog "Make sure the user that runs gnokii has read/write access to the device"
+       elog "which your phone is connected to."
+       elog "The simple way of doing that is to add your user to the uucp group."
+       if [[ $PV == *9999 ]]; then
+               elog "This is the GIT version of ${PN}. It is experimental but may have important bug fixes."
+               elog "You can keep track of the most recent commits at:"
+               elog "    http://git.savannah.gnu.org/cgit/gnokii.git/"
+               elog "Whenever there is a change you are interested in, you can re-emerge ${P}."
+       fi
+}