From 282d7dccde2a231a6b08136a794567b794afd567 Mon Sep 17 00:00:00 2001 From: Tupone Alfredo Date: Tue, 21 Nov 2017 21:47:10 +0100 Subject: [PATCH] dev-ada/gps: Add GPS (IDE) to gentoo Package-Manager: Portage-2.3.13, Repoman-2.3.3 --- dev-ada/gps/Manifest | 1 + dev-ada/gps/files/gps-2017-gentoo.patch | 165 ++++++++++++++++++++++++ dev-ada/gps/gps-2017.ebuild | 66 ++++++++++ dev-ada/gps/metadata.xml | 13 ++ 4 files changed, 245 insertions(+) create mode 100644 dev-ada/gps/Manifest create mode 100644 dev-ada/gps/files/gps-2017-gentoo.patch create mode 100644 dev-ada/gps/gps-2017.ebuild create mode 100644 dev-ada/gps/metadata.xml diff --git a/dev-ada/gps/Manifest b/dev-ada/gps/Manifest new file mode 100644 index 0000000000000..4baa367cf94fc --- /dev/null +++ b/dev-ada/gps/Manifest @@ -0,0 +1 @@ +DIST gps-gpl-2017-src.tar.gz 41216830 BLAKE2B 51ca89c38fa81888a9cf1831cf97f7e0ad72c444328a29063249a4fe72bbdc8357552d470872e9fbbeaf349ef0427b59fa41a0efb56200a07a9426343c731a57 SHA512 101ecef7f183de1da0c2b09d77f284a5e8c5ae56f34a897c8d471e79fe9a2832742608ff5251197ba2a52b5d9dfee6c6937fc22cd55f6d8f38359b070393cb64 diff --git a/dev-ada/gps/files/gps-2017-gentoo.patch b/dev-ada/gps/files/gps-2017-gentoo.patch new file mode 100644 index 0000000000000..4fe39ea239fb3 --- /dev/null +++ b/dev-ada/gps/files/gps-2017-gentoo.patch @@ -0,0 +1,165 @@ +--- gps-9999/aclocal.m4.old 2017-05-13 21:59:20.129039064 +0200 ++++ gps-9999/aclocal.m4 2017-05-13 22:02:12.637234659 +0200 +@@ -37,7 +37,7 @@ + HAVE_GNAT_PROJECT_$1=yes + else + # Try with "gnatls", in case gprls was not available +- if AC_TRY_COMMAND([gnat ls -Pconftest.gpr system.ads > /dev/null 2>conftest.out]) ++ if AC_TRY_COMMAND([@GNAT@ ls -Pconftest.gpr system.ads > /dev/null 2>conftest.out]) + then + HAVE_GNAT_PROJECT_$1=yes + else +@@ -156,7 +156,7 @@ + + AC_DEFUN(AM_PATH_GNAT, + [ +- AC_PATH_PROG(GNATMAKE, gnatmake, no) ++ AC_PATH_PROG(GNATMAKE, @GNATMAKE@, no) + + if test x$GNATMAKE = xno ; then + AC_MSG_ERROR(I could not find gnatmake. See the file 'INSTALL' for more details.) +@@ -279,7 +279,7 @@ + AC_MSG_RESULT($GTK_PREFIX $GLIB_PREFIX $ATK_PREFIX $PANGO_PREFIX $CAIRO_PREFIX) + fi + +- AC_PATH_PROG(GNATDRV, gnat, no) ++ AC_PATH_PROG(GNATDRV, @GNAT@, no) + min_gtk_version=ifelse([$1], ,2.0.0,$1) + AC_MSG_CHECKING(for GtkAda - version >= $min_gtk_version) + GTKADA_PRJ=`$GNATDRV ls -vP1 -Pgtkada 2>&1 | grep gtkada.gpr | grep Parsing | cut -d'"' -f2 | head -1` +--- gps-gps-17.0/templates_parser/templates_parser.gpr.old 2017-05-18 21:34:42.892039427 +0200 ++++ gps-gps-17.0/templates_parser/templates_parser.gpr 2017-05-18 21:35:16.661512990 +0200 +@@ -55,7 +55,7 @@ + + end Naming; + +- Common_Options := ("-gnat05"); ++ Common_Options := ("-gnat05", "-fPIC"); + -- Common options used for the Debug and Release modes + + Debug_Options := +--- gps-gps-17.0/shared.gpr.in.old 2017-05-18 21:35:56.475892075 +0200 ++++ gps-gps-17.0/shared.gpr.in 2017-05-18 21:36:24.972447550 +0200 +@@ -24,7 +24,7 @@ + end IDE; + + package Compiler is +- Common := ("-g", "-gnat12"); ++ Common := ("-g", "-gnat12", "-fPIC"); + Optimize := (); + + case OS is +@@ -83,6 +83,7 @@ + when "false" => + null; + end case; ++ for Driver use External ("CC", "gcc"); + end Linker; + + end Shared; +--- gps-gps-17.0/common/common_with_xmlada.gpr.in.old 2017-05-18 21:37:25.302506085 +0200 ++++ gps-gps-17.0/common/common_with_xmlada.gpr.in 2017-05-18 21:37:58.472988222 +0200 +@@ -13,7 +13,7 @@ + for Switches ("Ada") use Shared.Compiler'Switches ("Ada"); + for Switches ("C") use Shared.Compiler'Switches ("C"); + for Switches ("test_htables.adb") use ("-g", "-O2", "-gnatwue"); +- for Switches ("s-memory.adb") use ("-g", "-O2", "-gnatpg"); ++ for Switches ("s-memory.adb") use ("-g", "-O2", "-gnatpg", "-fPIC"); + + No_Checks := ("-g", "-O2", "-gnat2012", "-gnatpn"); + +--- gps-gps-17.0/common/common_no_xmlada.gpr.in.old 2017-05-18 21:37:31.406410812 +0200 ++++ gps-gps-17.0/common/common_no_xmlada.gpr.in 2017-05-18 21:38:14.796733359 +0200 +@@ -12,7 +12,7 @@ + for Switches ("Ada") use Shared.Compiler'Switches ("Ada"); + for Switches ("C") use Shared.Compiler'Switches ("C"); + for Switches ("test_htables.adb") use ("-g", "-O2", "-gnatwue"); +- for Switches ("s-memory.adb") use ("-g", "-O2", "-gnatpg"); ++ for Switches ("s-memory.adb") use ("-g", "-O2", "-gnatpg", "-fPIC"); + + No_Checks := ("-g", "-O2", "-gnat2012", "-gnatpn"); + +--- gps-gps-17.0/widgets/widgets.gpr.old 2017-05-18 22:26:05.117847006 +0200 ++++ gps-gps-17.0/widgets/widgets.gpr 2017-05-18 22:21:01.646368091 +0200 +@@ -12,6 +12,7 @@ + package Compiler extends Shared.Compiler is + for Switches ("C") use + Shared.Compiler'Switches ("C") & GnatColl_Gtk.Gtk_Include; ++ for Driver ("C") use External ("CC", "gcc"); + end Compiler; + + package IDE renames Shared.IDE; +--- gps-gps-17.0/cli/Makefile.old 2017-05-19 08:07:44.591042479 +0200 ++++ gps-gps-17.0/cli/Makefile 2017-05-19 08:08:50.086991123 +0200 +@@ -1,8 +1,9 @@ + GPRBUILD=gprbuild + GPRCLEAN=gprclean ++GPRBUILD_FLAGS=0 + + all default: +- $(GPRBUILD) -p -Pcli ++ $(GPRBUILD) $(GPRBUILD_FLAGS) -p -Pcli + + clean: + $(GPRCLEAN) -q -r -Pcli +--- gps-gps-17.0/gps/gps.gpr.old 2017-05-19 09:24:19.438123599 +0200 ++++ gps-gps-17.0/gps/gps.gpr 2017-05-19 09:24:58.639492518 +0200 +@@ -75,7 +75,7 @@ + end case; + for Switches ("Ada") use Linker'Switches ("Ada") + & Shared.Linker'Switches ("Ada"); +- ++ for Driver use External ("CC", "gcc"); + -- for Switches ("Ada") use ("-lgmem"); + -- for Switches ("Ada") use ("-pg"); + end Linker; +--- gps-gps-17.0/testsuite/Makefile.old 2017-05-19 11:08:48.966913663 +0200 ++++ gps-gps-17.0/testsuite/Makefile 2017-05-19 11:06:17.245366714 +0200 +@@ -1,5 +1,6 @@ + GPRBUILD=gprbuild + GPRCLEAN=gprclean ++GPRBUILD_FLAGS= + + SYS := $(shell gcc -dumpmachine) + ifeq ($(OS),Windows_NT) +@@ -14,7 +14,7 @@ + endif + + all default: package +- $(GPRBUILD) -P testsuite_drivers.gpr -m -XOS=${OS} -j0 -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable ++ $(GPRBUILD) $(GPRBUILD_FLAGS) -P testsuite_drivers.gpr -m -XOS=${OS} -j0 -XLIBRARY_TYPE=relocatable -XXMLADA_BUILD=relocatable + + package: + mkdir -p share/doc +--- gps-gps-17.0/testsuite/testsuite_drivers.gpr.old 2017-05-19 11:21:20.645705481 +0200 ++++ gps-gps-17.0/testsuite/testsuite_drivers.gpr 2017-05-19 11:15:42.163206405 +0200 +@@ -10,6 +10,10 @@ + for Object_Dir use "obj"; + for Exec_Dir use "bin"; + ++ package Compiler is ++ for Switches ("Ada") use ("-fPIC"); ++ end Compiler; ++ + package Builder is + for Switches ("Ada") use ("-gnat12", "-ws", "-g", "-j0", "-m", "-gnaty"); + end Builder; +--- gps-gps-17.0/Makefile.in.old 2017-05-19 11:49:47.172018411 +0200 ++++ gps-gps-17.0/Makefile.in 2017-05-19 11:50:24.653412280 +0200 +@@ -10,7 +10,7 @@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_DATA = @INSTALL_DATA@ + GNATCOLL_INSTALL = @GNATCOLL_INSTALL@ +-prefix = @prefix@ ++prefix = $(DESTDIR)@prefix@ + bindir = $(prefix)/bin + sharedir = $(prefix)/share + examplesdir = $(prefix)/share/examples/gps +--- gps-gps-17.0/docs/Makefile.in.old 2017-05-19 11:54:52.805076624 +0200 ++++ gps-gps-17.0/docs/Makefile.in 2017-05-19 11:55:24.332566945 +0200 +@@ -1,4 +1,4 @@ +-prefix = @prefix@ ++prefix = $(DESTDIR)@prefix@ + docdir = $(prefix)/share/doc/gps + sharedir = $(prefix)/share/gps + diff --git a/dev-ada/gps/gps-2017.ebuild b/dev-ada/gps/gps-2017.ebuild new file mode 100644 index 0000000000000..a07971aa8bbf9 --- /dev/null +++ b/dev-ada/gps/gps-2017.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +PYTHON_COMPAT=( python2_7 ) +inherit python-single-r1 autotools + +MYP=${PN}-gpl-${PV}-src + +DESCRIPTION="The GNAT Programming Studio" +HOMEPAGE="http://libre.adacore.com/tools/gps/" +SRC_URI="http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed03b + -> ${MYP}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +RDEPEND="${PYTHON_DEPS} + >=dev-ada/gnatcoll-2017[gtk,iconv,projects,pygobject,shared,sqlite,tools] + >=dev-ada/gtkada-2017 + dev-ada/libadalang + dev-libs/gobject-introspection + dev-libs/libffi + sys-devel/llvm:= + sys-devel/clang:= + x11-themes/adwaita-icon-theme + x11-themes/hicolor-icon-theme + dev-python/pep8[${PYTHON_USEDEP}] + dev-python/jedi[${PYTHON_USEDEP}]" + +DEPEND="${RDEPEND}" + +S="${WORKDIR}"/${MYP} + +PATCHES=( "${FILESDIR}"/${P}-gentoo.patch ) + +pkg_setup() { + GCC=${ADA:-$(tc-getCC)} + GNATLS="${GCC/gcc/gnatls}" + GNAT="${GCC/gcc/gnat}" + GNATMAKE="${GCC/gcc/gnatmake}" + if [[ -z "$(type ${GNATLS} 2>/dev/null)" ]] ; then + eerror "You need a gcc compiler that provides the Ada Compiler:" + eerror "1) use gcc-config to select the right compiler or" + eerror "2) set ADA=gcc-6.3.0 in make.conf" + die "ada compiler not available" + fi + python-single-r1_pkg_setup +} + +src_prepare() { + default + mv configure.{in,ac} || die + sed -i \ + -e "s:@GNATMAKE@:${GNATMAKE}:g" \ + -e "s:@GNAT@:${GNAT}:g" \ + aclocal.m4 \ + || die + eautoreconf +} + +src_compile() { + emake GPRBUILD_FLAGS="-v ${MAKEOPTS}" +} diff --git a/dev-ada/gps/metadata.xml b/dev-ada/gps/metadata.xml new file mode 100644 index 0000000000000..eb9ac43cfff34 --- /dev/null +++ b/dev-ada/gps/metadata.xml @@ -0,0 +1,13 @@ + + + + + tupone@gentoo.org + Tupone Alfredo + + + GPS is a lightweight, extensible IDE, intended to develop + high-integrity software in Ada and SPARK, with support for C and C++ + as well. + +