From 7d5413ea2184854f33edfdb68031a0014d4bae7b Mon Sep 17 00:00:00 2001 From: David Seifert Date: Mon, 12 Dec 2016 23:05:00 +0100 Subject: app-mobilephone/gnokii: Fix building with GCC 5 Gentoo-bug: 571080 * EAPI=6 Package-Manager: portage-2.3.3 --- .../gnokii/files/gnokii-0.6.31-gcc5.patch | 27 ++++ app-mobilephone/gnokii/gnokii-0.6.31-r1.ebuild | 139 +++++++++++++++++++++ 2 files changed, 166 insertions(+) create mode 100644 app-mobilephone/gnokii/files/gnokii-0.6.31-gcc5.patch create mode 100644 app-mobilephone/gnokii/gnokii-0.6.31-r1.ebuild (limited to 'app-mobilephone/gnokii') diff --git a/app-mobilephone/gnokii/files/gnokii-0.6.31-gcc5.patch b/app-mobilephone/gnokii/files/gnokii-0.6.31-gcc5.patch new file mode 100644 index 000000000000..09b65f5b0f81 --- /dev/null +++ b/app-mobilephone/gnokii/files/gnokii-0.6.31-gcc5.patch @@ -0,0 +1,27 @@ +Patch by Robert Scheck for gnokii <= 0.6.31 to avoid +build failures with GCC 5.x as "gnokii-0.6.31/xgnokii/xgnokii.c:1209: undefined +reference to `GUI_HideAbout'" and "xgnokii-xgnokii_logos.o:(.data.rel+0xe0): +undefined reference to `CloseLogosWindow'". + +--- gnokii-0.6.31/xgnokii/xgnokii.c 2011-12-02 15:53:04.000000000 +0100 ++++ gnokii-0.6.31/xgnokii/xgnokii.c.gcc5 2015-06-20 15:49:59.000000000 +0200 +@@ -798,7 +798,7 @@ + } + + +-inline void GUI_HideAbout(void) ++void GUI_HideAbout(void) + { + gtk_widget_hide(AboutDialog); + } +--- gnokii-0.6.31/xgnokii/xgnokii_logos.c 2011-12-02 15:53:04.000000000 +0100 ++++ gnokii-0.6.31/xgnokii/xgnokii_logos.c.gcc5 2015-06-20 15:50:15.000000000 +0200 +@@ -1304,7 +1304,7 @@ + return 0; + } + +-inline void CloseLogosWindow(void) ++void CloseLogosWindow(void) + { + gtk_widget_hide(GUI_LogosWindow); + } diff --git a/app-mobilephone/gnokii/gnokii-0.6.31-r1.ebuild b/app-mobilephone/gnokii/gnokii-0.6.31-r1.ebuild new file mode 100644 index 000000000000..f835d1f14785 --- /dev/null +++ b/app-mobilephone/gnokii/gnokii-0.6.31-r1.ebuild @@ -0,0 +1,139 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit autotools eutils linux-info + +HOMEPAGE="http://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="http://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 + bluetooth? ( kernel_linux? ( net-wireless/bluez ) ) + ical? ( dev-libs/libical:= ) + pcsc-lite? ( sys-apps/pcsc-lite ) + sms? ( + dev-libs/glib:2 + postgres? ( dev-db/postgresql:* ) + mysql? ( virtual/mysql:= ) + ) + 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" +IUSE="${IUSE} ${MY_AVAILABLE_LINGUAS// / linguas_}" + +PATCHES=( + "${FILESDIR}"/${P}-fix_xgnokii_inclusion.patch + "${FILESDIR}"/${P}-gcc5.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 + 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 +} -- cgit v1.2.3-65-gdbad