From e8f81810baa21f490d6910e8e2d424546b72a333 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Sun, 15 Sep 2019 09:01:56 +0100 Subject: gentoo resync : 15.09.2019 --- dev-ada/gnatcoll/Manifest | 2 + .../gnatcoll/files/gnatcoll-2017-r1-gentoo.patch | 186 +++++++++++++++++++++ dev-ada/gnatcoll/gnatcoll-2017-r1.ebuild | 129 ++++++++++++++ 3 files changed, 317 insertions(+) create mode 100644 dev-ada/gnatcoll/files/gnatcoll-2017-r1-gentoo.patch create mode 100644 dev-ada/gnatcoll/gnatcoll-2017-r1.ebuild (limited to 'dev-ada/gnatcoll') diff --git a/dev-ada/gnatcoll/Manifest b/dev-ada/gnatcoll/Manifest index 0d9d849c119b..29593670cb00 100644 --- a/dev-ada/gnatcoll/Manifest +++ b/dev-ada/gnatcoll/Manifest @@ -1,4 +1,6 @@ AUX gnatcoll-2017-gentoo.patch 7843 BLAKE2B 1a7a7cc1bb1ad94f65fced28888c37acc3cc3711b0c488413313357551f3109e818f25eeba5fe25448f8362256ed5e8bccb6c5b67fe8195492d0e3b1e271f78b SHA512 d2eef0a5d4fecba7f081b97fc7c78efdb6dad76b492b1711e5c5d47b88ae621ca6826497668c9363ee16e36aaeb0e4978cc978c8688d3b346c3dd08b96a8537c +AUX gnatcoll-2017-r1-gentoo.patch 7206 BLAKE2B 87404d98273fad107a4bc0711161676342acc42bb1d54a85c6680b71ad12ee1b9ec6ced694e6bf74cf724b024775b485377965930aefea54a4860c4937605b96 SHA512 907aa86f7efc68e1176212725f3af19a6dcf9c58377a0478d63553f30a90e4ba19891b1ab746e8ee3d4fba3c470b968e3bb1a718f413db5c39fc80959abd9224 DIST gnatcoll-gpl-2017-src.tar.gz 5785988 BLAKE2B 828aff797f7d992bf3f5dda7f8ce8a79e97ecd98253a657fb6e79a2fd08aac97e19cb421f47010f8c1f26442a013b9126ab3a95353d9ce0f29d071601e9dfe2f SHA512 e8b7f2c00816597f33496168bf8928841a2037e517908810761849e23633b2c229d47e4bfaa808e5a619da52bc165f17b8aefa5dee39ecf1a6773b3b1db80363 +EBUILD gnatcoll-2017-r1.ebuild 2964 BLAKE2B 898a9507a58b92f43c02d06d1aee92ea7c64f9f7c601f0c49b67c5cbc03451262cb4a2f36fc455bce868ea99fc15a9353c72f6f51764f6fa723ba46231fc352a SHA512 3eff32dbb197e118b0691044e5743b2446a402d3d75e4465e34769b049c8ac1940c2881e3b75003926b818b1a48b5c20c17979e5ee3873e2870b6ec6f81ac102 EBUILD gnatcoll-2017.ebuild 3257 BLAKE2B 3fe04c24429c39e1904bd95ecc09ac7f45a357ee9305fdfb3689fe9201ebedc51b838188a15d1c3ed1b40cb31fed42dc12da08a0e2a1171bebeb0af1816281a5 SHA512 d029004d698dae4016008e2c29a2a106c68f7b1b5647d3a05108d49fa44b2e5c7d90d806b2218736cb6116c18c7be6ebb2ff6d7f2a92bca65c7860d3c516fc65 MISC metadata.xml 1194 BLAKE2B b4b93464f8dffd89bb43ca27e18e015d7cb720041fd7d405d3c7e5af9f8a53316959ab6696d5d762a1afa887648f7028cb831305b63a1782cd1c62f2486447c1 SHA512 a6fb6bf6f82f5582f4cca95e5864202664483fba5c4b813c4f515f670cb5fd720437001fd497167235c29843da2fb967e429f9a410d5b7ec2acefbc01ac30bf3 diff --git a/dev-ada/gnatcoll/files/gnatcoll-2017-r1-gentoo.patch b/dev-ada/gnatcoll/files/gnatcoll-2017-r1-gentoo.patch new file mode 100644 index 000000000000..b8b92e4b7378 --- /dev/null +++ b/dev-ada/gnatcoll/files/gnatcoll-2017-r1-gentoo.patch @@ -0,0 +1,186 @@ +--- a/Makefile 2017-01-20 19:39:07.131398270 +0100 ++++ b/Makefile 2017-01-20 19:42:30.088728844 +0100 +@@ -43,18 +43,18 @@ + + # Build either type of library. The argument (%) is the type of library to build + +-GPRBLD_OPTS=-p -m -j${PROCESSORS} -XLIBRARY_TYPE=$(@F) -XGnatcoll_Build=${Gnatcoll_Build} -XXMLADA_BUILD=$(@F) ++GPRBLD_OPTS=-p -m -j${PROCESSORS} -XGPR_BUILD=$(@F) -XLIBRARY_TYPE=$(@F) -XGnatcoll_Build=${Gnatcoll_Build} -XXMLADA_BUILD=$(@F) + + build_library_type/%: generate_sources + @${RM} src/gnatcoll-atomic.adb + + @echo "====== Building $(@F) libraries ======" +- ${GPRBUILD} ${GPRBLD_OPTS} -Pgnatcoll_full ++ ${GPRBUILD} ${GPRBLD_OPTS} -Pgnatcoll_full -v -cargs ${ADAFLAGS} + + @# Need to build libgnatcoll_gtk separately, because its project files + @# requires gtkada.gpr, which might not exist on the machine. + ifeq (${WITH_GTK},yes) +- ${GPRBUILD} ${GPRBLD_OPTS} -Psrc/gnatcoll_gtk ++ ${GPRBUILD} ${GPRBLD_OPTS} -Psrc/gnatcoll_gtk -v -cargs ${ADAFLAGS} + endif + + build_tools/%: build_library_type/% +@@ -63,13 +63,14 @@ + @# They are not build as part of the above because only the Main from + @# gnatcoll_full.gpr are build. We could use aggregate projects to + @# speed things up. +- ${GPRBUILD} ${GPRBLD_OPTS} -q -Psrc/gnatcoll_tools ++ ${GPRBUILD} ${GPRBLD_OPTS} -q -Psrc/gnatcoll_tools -v -cargs ${ADAFLAGS} + + ####################################################################### + # install + + GPRINST_OPTS=-p -f --prefix=${prefix} --install-name=gnatcoll \ + --exec-subdir=${bindir} --project-subdir=lib/gnat -XXMLADA_BUILD=$(@F) \ ++ -XGPR_BUILD=$(@F) \ + --build-var=LIBRARY_TYPE --build-name=$(@F) -XLIBRARY_TYPE=$(@F) + + install-clean: +--- a/gnatcoll_shared.gpr.in 2017-01-20 19:50:03.222808656 +0100 ++++ b/gnatcoll_shared.gpr.in 2017-01-20 19:50:28.200399274 +0100 +@@ -13,7 +13,7 @@ + + type Yes_No is ("yes", "no"); + Gtk : Yes_No := External ("GTK", "@WITH_GTK@"); +- Python : Yes_No := External ("PYTHON", "@WITH_PYTHON@"); ++ Python : Yes_No := "@WITH_PYTHON@"; + Syslog : Yes_No := External ("SYSLOG", "@WITH_SYSLOG@"); + Postgres : Yes_No := External ("POSTGRES", "@WITH_POSTGRES@"); + type Sqlite_Inclusion is ("yes", "no", "embedded"); +--- a/testsuite/json/__init__.py 2017-04-24 17:52:34.158513249 +0200 ++++ b/testsuite/json/__init__.py 2017-04-24 17:52:52.636207017 +0200 +@@ -21,7 +21,7 @@ + @requires_not_aix # Storage_Error on that machine + @chdir("MB28-001") + def test_MB28_001(self): +- self.runexec(["python", "make_json.py"]) ++ self.runexec(["python2.7", "make_json.py"]) + self.gprbuild() + self.runexec("json_stack_test", "test.out") + +--- a/testsuite/projects/__init__.py 2017-04-24 19:10:30.465246199 +0200 ++++ b/testsuite/projects/__init__.py 2017-04-24 19:10:42.768035080 +0200 +@@ -105,25 +105,6 @@ + self.gprbuild("default.gpr") + self.runexec("main", "") + +- @support.requires_not_windows +- @chdir("N918-040") +- def test_bareboard(self): +- self.create_fake_bb_compiler('install', 'arm-eabi', '6.1.0w', '3.4.6') +- +- # Make sure auto.cgpr is not deleted on exit +- try: +- os.unlink('auto.cgpr') +- except: +- pass +- self.gprbuild('main_prj', switches=['--autoconf=auto.cgpr']) +- m = re.search('for Target use "(.*?)"', open('auto.cgpr').read()) +- target = m.group(1) +- +- def customFilter(actual): +- return actual.replace(target, "") +- +- self.runexec(['sh', 'test.sh'], 'test.out', customFilter=customFilter) +- + @chdir("NB12-045") + def test_NB12_045(self): + # Test registering attribute in unknown package +--- a/src/tools/gnatcoll_db2ada.adb 2017-04-24 21:36:09.193973179 +0200 ++++ b/src/tools/gnatcoll_db2ada.adb 2017-04-24 21:36:16.029858932 +0200 +@@ -211,7 +211,7 @@ + + declare + Output : constant String := Get_Command_Output +- (Command => "python", ++ (Command => "python2.7", + Arguments => Args, + Input => "", + Status => Status'Access, +--- a/src/gnatcoll-projects.ads 2017-11-25 14:50:06.919939453 +0100 ++++ b/src/gnatcoll-projects.ads 2017-11-25 14:50:38.932387204 +0100 +@@ -1917,7 +1917,8 @@ + Predefined_Source_Files : GNATCOLL.VFS.File_Array_Access; + -- The list of source files in Predefined_Source_Path + +- Default_Gnatls : GNAT.Strings.String_Access := new String'("gnatls"); ++ Default_Gnatls : GNAT.Strings.String_Access := ++ new String'("@GNATLS@"); + -- The default gnatls command to run. + + Xrefs_Subdir : GNAT.Strings.String_Access; +--- a/src/tools/gnatinspect.adb 2017-11-25 14:52:47.282170250 +0100 ++++ b/src/tools/gnatinspect.adb 2017-11-25 14:52:57.691990254 +0100 +@@ -642,7 +642,7 @@ + GNAT_Version : GNAT.Strings.String_Access; + begin + Env.Set_Path_From_Gnatls +- (Gnatls => "gnatls", ++ (Gnatls => "@GNATLS@", + GNAT_Version => GNAT_Version, + Errors => Local_On_Error'Unrestricted_Access); + Free (GNAT_Version); +--- a/src/gnatcoll-projects.adb 2018-11-14 18:47:27.760365233 +0100 ++++ b/src/gnatcoll-projects.adb 2018-11-14 19:10:43.961337201 +0100 +@@ -3273,9 +3273,9 @@ + Status : out Status_Type; + Result : out GNATCOLL.VFS.File_Array_Access) + is +- Mains_Str_List : String_List_Access; ++ Mains_Str_List : String_Vectors.Vector; + Closure_Status : GPR.Util.Status_Type; +- Closures_List : String_List_Access; ++ Closures_List : String_Vectors.Vector; + begin + Trace (Me, "Get_Closures"); + +@@ -3287,25 +3287,18 @@ + return; + end if; + +- Mains_Str_List := new String_List (Mains'First .. Mains'Last); + for I in Mains'Range loop +- Mains_Str_List (I) := new String'(Mains (I).Display_Base_Name); ++ Mains_Str_List.Append (Mains (I).Display_Base_Name); + end loop; + + GPR.Util.Get_Closures + (Project.Get_View, Project.Tree_View, +- Mains => Mains_Str_List.all, ++ Mains => Mains_Str_List, + All_Projects => All_Projects, + Include_Externally_Built => Include_Externally_Built, + Status => Closure_Status, + Result => Closures_List); + +- -- Freeing temporary list of mains. +- for I in Mains_Str_List'Range loop +- Free (Mains_Str_List (I)); +- end loop; +- Free (Mains_Str_List); +- + case Closure_Status is + when Success => + Status := Success; +@@ -3321,17 +3314,10 @@ + end case; + + if Closure_Status in Success | Incomplete_Closure then +- for I in Closures_List'Range loop +- Append (Result, Create (+Closures_List (I).all)); ++ for Closure of Closures_List loop ++ Append (Result, Create (+Closure)); + end loop; + end if; +- +- -- Freeing temporary list of closures. +- for I in Closures_List'Range loop +- Free (Closures_List (I)); +- end loop; +- Free (Closures_List); +- + end Get_Closures; + + ---------------- diff --git a/dev-ada/gnatcoll/gnatcoll-2017-r1.ebuild b/dev-ada/gnatcoll/gnatcoll-2017-r1.ebuild new file mode 100644 index 000000000000..01785f799d5a --- /dev/null +++ b/dev-ada/gnatcoll/gnatcoll-2017-r1.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 +PYTHON_COMPAT=( python2_7 ) +ADA_COMPAT=( gnat_201{6,7} ) +inherit ada multilib multiprocessing autotools python-single-r1 + +MYP=${PN}-gpl-${PV} + +DESCRIPTION="GNAT Component Collection" +HOMEPAGE="http://libre.adacore.com" +SRC_URI="http://mirrors.cdn.adacore.com/art/591c45e2c7a447af2deed016 + -> ${MYP}-src.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="gmp gtk iconv postgres pygobject projects readline + +shared sqlite static-libs syslog tools" + +RDEPEND="${ADA_DEPS} + ${PYTHON_DEPS} + gmp? ( dev-libs/gmp:* ) + gtk? ( + dev-ada/gtkada[${ADA_USEDEP},shared?,static-libs?] + dev-libs/atk + dev-libs/glib + x11-libs/cairo + x11-libs/gdk-pixbuf + x11-libs/gtk+:3 + x11-libs/pango + ) + pygobject? ( dev-python/pygobject:3[${PYTHON_USEDEP}] ) + postgres? ( dev-db/postgresql:* ) + sqlite? ( dev-db/sqlite ) + projects? ( + >=dev-ada/libgpr-2018[${ADA_USEDEP},shared?,static-libs?] + dev-ada/xmlada[shared?,static-libs?] + ) + !dev-ada/gnatcoll-core + !dev-ada/gnatcoll-bindings + !dev-ada/gnatcoll-db" +DEPEND="${RDEPEND} + dev-ada/gprbuild[${ADA_USEDEP}]" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + tools? ( static-libs ) + pygobject? ( gtk ) + ${ADA_REQUIRED_USE}" + +S="${WORKDIR}"/${MYP}-src + +PATCHES=( "${FILESDIR}"/${P}-r1-gentoo.patch ) + +src_prepare() { + default + mv configure.{in,ac} || die + sed -i \ + -e "s:@GNATLS@:${GNATLS}:g" \ + src/gnatcoll-projects.ads \ + src/tools/gnatinspect.adb \ + || die + eautoreconf +} + +src_configure() { + if use sqlite; then + myConf="--with-sqlite=$(get_libdir)" + else + myConf="--without-sqlite" + fi + if use gtk ; then + myConf="$myConf --with-gtk=3.0" + else + myConf="$myConf --with-gtk=no" + fi + econf \ + --with-python \ + $(use_with gmp) \ + $(use_with iconv) \ + $(use_with postgres postgresql) \ + $(use_enable projects) \ + $(use_enable pygobject) \ + $(use_enable readline gpl) \ + $(use_enable readline) \ + $(use_enable syslog) \ + --with-python-exec=${EPYTHON} \ + --enable-shared-python \ + --disable-pygtk \ + $myConf +} + +src_compile() { + if use shared; then + emake PROCESSORS=$(makeopts_jobs) build_library_type/relocatable + fi + if use static-libs; then + emake PROCESSORS=$(makeopts_jobs) build_library_type/static + fi + if use tools; then + emake PROCESSORS=$(makeopts_jobs) build_tools/static + fi + python_fix_shebang . +} + +src_install() { + if use shared; then + emake prefix="${D}/usr" install_library_type/relocatable + fi + if use static-libs; then + emake prefix="${D}/usr" install_library_type/static + fi + if use tools; then + emake prefix="${D}/usr" install_tools/static + fi + emake prefix="${D}/usr" install_gps_plugin + einstalldocs +} + +src_test() { + # The test suite is in + # To run you need to have the ada compiler available as gcc + # Even in this case there are still some problems + # Going into the testsuite directory and running + # ./run.py -v -v + # run here (having enabled most USE flags) + true +} -- cgit v1.2.3