summaryrefslogtreecommitdiff
path: root/dev-ada/gnatcoll
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-09-15 09:01:56 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-09-15 09:01:56 +0100
commite8f81810baa21f490d6910e8e2d424546b72a333 (patch)
treedb79151c528a566490ffcac0d7b64484e12b4762 /dev-ada/gnatcoll
parentd00821e77f72d4af4ea30158c1c6e18ffff0875b (diff)
gentoo resync : 15.09.2019
Diffstat (limited to 'dev-ada/gnatcoll')
-rw-r--r--dev-ada/gnatcoll/Manifest2
-rw-r--r--dev-ada/gnatcoll/files/gnatcoll-2017-r1-gentoo.patch186
-rw-r--r--dev-ada/gnatcoll/gnatcoll-2017-r1.ebuild129
3 files changed, 317 insertions, 0 deletions
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, "<native>")
+-
+- 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
+}