* [gentoo-commits] repo/proj/dotnet:master commit in: eclass/
@ 2022-07-20 1:33 Sam James
0 siblings, 0 replies; 3+ messages in thread
From: Sam James @ 2022-07-20 1:33 UTC (permalink / raw
To: gentoo-commits
commit: d93d97cd5a034f4d5b903c8e78ef9c3c5a12cf5e
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 20 01:13:40 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jul 20 01:13:40 2022 +0000
URL: https://gitweb.gentoo.org/repo/proj/dotnet.git/commit/?id=d93d97cd
mono-env.eclass: drop broken eclass
Bug: https://bugs.gentoo.org/701186
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/mono-env.eclass | 45 ---------------------------------------------
1 file changed, 45 deletions(-)
diff --git a/eclass/mono-env.eclass b/eclass/mono-env.eclass
deleted file mode 100644
index d28e4cb..0000000
--- a/eclass/mono-env.eclass
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-# @ECLASS: mono-env.eclass
-# @MAINTAINER:
-# dotnet@gentoo.org
-# @BLURB: Set environment variables commonly used by dotnet packages.
-# @DESCRIPTION:
-# Set environment variables commonly used by dotnet packages.
-
-EXPORT_FUNCTIONS pkg_setup
-
-if [[ ! ${_MONO_ENV} ]]; then
-
-mono-env_pkg_setup() {
- # >=mono-0.92 versions using mcs -pkg:foo-sharp require shared memory, so we set the
- # shared dir to ${T} so that ${T}/.wapi can be used during the install process.
- export MONO_SHARED_DIR="${T}"
-
- # export more variables as needed by other dotnet packages
- export MONO_REGISTRY_PATH="${T}/registry"
- export XDG_DATA_HOME="${T}/data"
-
- # Building mono, nant and many other dotnet packages is known to fail if LC_ALL
- # variable is not set to C. To prevent this all mono related packages will be
- # build with LC_ALL=C (see bugs #146424, #149817)
- export LC_ALL=C
-
- # Monodevelop-using applications need this to be set or they will try to create config
- # files in the user's ~ dir.
- export XDG_CONFIG_HOME="${T}"
-
- # Fix bug 83020:
- # "Access Violations Arise When Emerging Mono-Related Packages with MONO_AOT_CACHE"
- unset MONO_AOT_CACHE
-
- # mono libs can live on /usr/lib as they are not arch specific
- QA_MULTILIB_PATHS="usr/lib/"
-}
-
-_MONO_ENV=1
-fi
-
-SANDBOX_WRITE="${SANDBOX_WRITE}:/etc/mono/registry/:/etc/mono/registry/last-btime"
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [gentoo-commits] repo/proj/dotnet:master commit in: eclass/
@ 2022-07-20 1:33 Sam James
0 siblings, 0 replies; 3+ messages in thread
From: Sam James @ 2022-07-20 1:33 UTC (permalink / raw
To: gentoo-commits
commit: 7c20c80ea672930ac43fa302911156a4586c11be
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 20 01:13:51 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jul 20 01:13:51 2022 +0000
URL: https://gitweb.gentoo.org/repo/proj/dotnet.git/commit/?id=7c20c80e
dotnet.eclass: drop broken eclass
Bug: https://bugs.gentoo.org/701186
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/dotnet.eclass | 152 ---------------------------------------------------
1 file changed, 152 deletions(-)
diff --git a/eclass/dotnet.eclass b/eclass/dotnet.eclass
deleted file mode 100644
index 44ea4a5..0000000
--- a/eclass/dotnet.eclass
+++ /dev/null
@@ -1,152 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-# @ECLASS: dotnet.eclass
-# @MAINTAINER: cynede@gentoo.org
-# @BLURB: common settings and functions for mono and dotnet related packages
-# @DESCRIPTION:
-# The dotnet eclass contains common environment settings that are useful for
-# dotnet packages. Currently, it provides no functions, just exports
-# MONO_SHARED_DIR and sets LC_ALL in order to prevent errors during compilation
-# of dotnet packages.
-
-case ${EAPI:-0} in
- 0) die "this eclass doesn't support EAPI 0" ;;
- 1|2|3) ;;
- *) ;; #if [[ ${USE_DOTNET} ]]; then REQUIRED_USE="|| (${USE_DOTNET})"; fi;;
-esac
-
-inherit eutils versionator mono-env
-
-# @ECLASS-VARIABLE: USE_DOTNET
-# @DESCRIPTION:
-# Use flags added to IUSE
-
-DEPEND+=" dev-lang/mono"
-IUSE+=" debug developer"
-
-# SRC_URI+=" https://github.com/mono/mono/raw/main/mcs/class/mono.snk"
-# I was unable to setup it this ^^ way
-
-# SET default use flags according on DOTNET_TARGETS
-for x in ${USE_DOTNET}; do
- case ${x} in
- net45) if [[ ${DOTNET_TARGETS} == *net45* ]]; then IUSE+=" +net45"; else IUSE+=" net45"; fi;;
- net40) if [[ ${DOTNET_TARGETS} == *net40* ]]; then IUSE+=" +net40"; else IUSE+=" net40"; fi;;
- net35) if [[ ${DOTNET_TARGETS} == *net35* ]]; then IUSE+=" +net35"; else IUSE+=" net35"; fi;;
- net20) if [[ ${DOTNET_TARGETS} == *net20* ]]; then IUSE+=" +net20"; else IUSE+=" net20"; fi;;
- esac
-done
-
-# @FUNCTION: dotnet_pkg_setup
-# @DESCRIPTION: This function set FRAMEWORK
-dotnet_pkg_setup() {
- EBUILD_FRAMEWORK=""
- mono-env_pkg_setup
- for x in ${USE_DOTNET} ; do
- case ${x} in
- net45) EBF="4.5"; if use net45; then F="${EBF}";fi;;
- net40) EBF="4.0"; if use net40; then F="${EBF}";fi;;
- net35) EBF="3.5"; if use net35; then F="${EBF}";fi;;
- net20) EBF="2.0"; if use net20; then F="${EBF}";fi;;
- esac
- if [[ -z ${FRAMEWORK} ]]; then
- if [[ ${F} ]]; then
- FRAMEWORK="${F}";
- fi
- else
- version_is_at_least "${F}" "${FRAMEWORK}" || FRAMEWORK="${F}"
- fi
- if [[ -z ${EBUILD_FRAMEWORK} ]]; then
- if [[ ${EBF} ]]; then
- EBUILD_FRAMEWORK="${EBF}";
- fi
- else
- version_is_at_least "${EBF}" "${EBUILD_FRAMEWORK}" || EBUILD_FRAMEWORK="${EBF}"
- fi
- done
- if [[ -z ${FRAMEWORK} ]]; then
- if [[ -z ${EBUILD_FRAMEWORK} ]]; then
- FRAMEWORK="4.0"
- elog "Ebuild doesn't contain USE_DOTNET="
- else
- FRAMEWORK="${EBUILD_FRAMEWORK}"
- elog "User did not set any netNN use-flags in make.conf or profile, .ebuild demands USE_DOTNET=""${USE_DOTNET}"""
- fi
- fi
- einfo " -- USING .NET ${FRAMEWORK} FRAMEWORK -- "
-}
-
-# >=mono-0.92 versions using mcs -pkg:foo-sharp require shared memory, so we set the
-# shared dir to ${T} so that ${T}/.wapi can be used during the install process.
-export MONO_SHARED_DIR="${T}"
-
-# Building mono, nant and many other dotnet packages is known to fail if LC_ALL
-# variable is not set to C. To prevent this all mono related packages will be
-# build with LC_ALL=C (see bugs #146424, #149817)
-export LC_ALL=C
-
-# Monodevelop-using applications need this to be set or they will try to create config
-# files in the user's ~ dir.
-
-export XDG_CONFIG_HOME="${T}"
-
-# Fix bug 83020:
-# "Access Violations Arise When Emerging Mono-Related Packages with MONO_AOT_CACHE"
-
-unset MONO_AOT_CACHE
-
-# @FUNCTION: output_relpath
-# @DESCRIPTION: returns default relative directory for Debug or Release configuration depending from USE="debug"
-function output_relpath ( ) {
- local DIR=""
- if use debug; then
- DIR="Debug"
- else
- DIR="Release"
- fi
- echo "bin/${DIR}"
-}
-
-# @FUNCTION: dotnet_multilib_comply
-# @DESCRIPTION: multilib comply
-dotnet_multilib_comply() {
- use !prefix && has "${EAPI:-0}" 0 1 2 && ED="${D}"
- local dir finddirs=() mv_command=${mv_command:-mv}
- if [[ -d "${ED}/usr/lib" && "$(get_libdir)" != "lib" ]]
- then
- if ! [[ -d "${ED}"/usr/"$(get_libdir)" ]]
- then
- mkdir "${ED}"/usr/"$(get_libdir)" || die "Couldn't mkdir ${ED}/usr/$(get_libdir)"
- fi
- ${mv_command} "${ED}"/usr/lib/* "${ED}"/usr/"$(get_libdir)"/ || die "Moving files into correct libdir failed"
- rm -rf "${ED}"/usr/lib
- for dir in "${ED}"/usr/"$(get_libdir)"/pkgconfig "${ED}"/usr/share/pkgconfig
- do
-
- if [[ -d "${dir}" && "$(find "${dir}" -name '*.pc')" != "" ]]
- then
- pushd "${dir}" &> /dev/null
- sed -i -r -e 's:/(lib)([^a-zA-Z0-9]|$):/'"$(get_libdir)"'\2:g' \
- *.pc \
- || die "Sedding some sense into pkgconfig files failed."
- popd "${dir}" &> /dev/null
- fi
- done
- if [[ -d "${ED}/usr/bin" ]]
- then
- for exe in "${ED}/usr/bin"/*
- do
- if [[ "$(file "${exe}")" == *"shell script text"* ]]
- then
- sed -r -i -e ":/lib(/|$): s:/lib(/|$):/$(get_libdir)\1:" \
- "${exe}" || die "Sedding some sense into ${exe} failed"
- fi
- done
- fi
-
- fi
-}
-
-EXPORT_FUNCTIONS pkg_setup
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [gentoo-commits] repo/proj/dotnet:master commit in: eclass/
@ 2022-07-20 1:51 Sam James
0 siblings, 0 replies; 3+ messages in thread
From: Sam James @ 2022-07-20 1:51 UTC (permalink / raw
To: gentoo-commits
commit: 20da5f9f57b060af21dc67f4ce9f99e14a549560
Author: Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 20 01:49:21 2022 +0000
Commit: Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Jul 20 01:49:30 2022 +0000
URL: https://gitweb.gentoo.org/repo/proj/dotnet.git/commit/?id=20da5f9f
gtk-sharp-module.eclass: drop
dev-dotnet/gnome-sharp has unsolvable deps, so off it goes.
Signed-off-by: Sam James <sam <AT> gentoo.org>
eclass/gtk-sharp-module.eclass | 562 -----------------------------------------
1 file changed, 562 deletions(-)
diff --git a/eclass/gtk-sharp-module.eclass b/eclass/gtk-sharp-module.eclass
deleted file mode 100644
index 47afe23..0000000
--- a/eclass/gtk-sharp-module.eclass
+++ /dev/null
@@ -1,562 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-# @ECLASS: gtk-sharp-module.eclass
-# @MAINTAINER:
-# dotnet@gentoo.org
-# @BLURB: Manages the modules of the gtk-, gnome-, and gnome-desktop-sharp tarballs
-# @DESCRIPTION:
-# This eclass provides phase functions and helper functions for the modules
-# of the gtk-sharp, gnome-sharp and gnome-desktop-sharp tarballs.
-# PLEASE TAKE NOTE: ONLY FOR EAPI-2 EBUILDS
-
-WANT_AUTOMAKE=none
-WANT_AUTOCONF=none
-
-inherit eutils mono multilib libtool autotools base versionator
-
-case ${EAPI:-0} in
- 2|3|4|5) ;;
- *) die "Unknown EAPI." ;;
-esac
-
-# @ECLASS-VARIABLE: GTK_SHARP_MODULE
-# @DESCRIPTION:
-# The name of the Gtk# module.
-# Default value: ${PN/-sharp/}
-GTK_SHARP_MODULE=${GTK_SHARP_MODULE:=${PN/-sharp/}}
-
-# @ECLASS-VARIABLE: GTK_SHARP_MODULE_DIR
-# @DESCRIPTION:
-# The subdirectory of S in which GTK_SHARP_MODULE is installed.
-# Default value: ${PN/-sharp/}
-GTK_SHARP_MODULE_DIR=${GTK_SHARP_MODULE_DIR:=${PN/-sharp/}}
-
-# @ECLASS-VARIABLE: GTK_SHARP_REQUIRED_VERSION
-# @DESCRIPTION:
-# The version of the gtk-sharp tarball this package requires.
-# Optional.
-GTK_SHARP_REQUIRED_VERSION="${GTK_SHARP_REQUIRED_VERSION}"
-
-# @ECLASS-VARIABLE: gapi_users_list
-# @DESCRIPTION:
-# List of modules that use one of gapi2-codegen, gapi2-fixup or gapi2-parser
-# No ebuild-serviceable parts inside.
-gapi_users_list="art gnome gnomevfs ${gnome_desktop_sharp_module_list} atk gtk gdk glade pango"
-
-# @ECLASS-VARIABLE: PV_MAJOR
-# @DESCRIPTION:
-# The first two components of the PV variable.
-PV_MAJOR=$(get_version_component_range 1-2)
-
-# @FUNCTION: add_bdepend
-# @USAGE: <package atom>
-# @DESCRIPTION:
-# Adds to the DEPEND variable
-add_bdepend() {
- [[ ${#@} -eq 1 ]] || die "${FUNCNAME} needs ONE (1) argument"
- DEPEND="${DEPEND} $@"
-}
-
-# @FUNCTION: add_rdepend
-# @USAGE: <package atom>
-# @DESCRIPTION:
-# Adds to the RDEPEND variable
-add_rdepend() {
- [[ ${#@} -eq 1 ]] || die "${FUNCNAME} needs ONE (1) argument"
- RDEPEND="${RDEPEND} $@"
-}
-
-# @FUNCTION: add_depend
-# @USAGE: <package atom>
-# @DESCRIPTION:
-# Adds to the DEPEND and RDEPEND variables
-add_depend() {
- [[ ${#@} -eq 1 ]] || die "${FUNCNAME} needs ONE (1) argument"
- DEPEND="${DEPEND} $@"
- RDEPEND="${RDEPEND} $@"
-}
-
-# @ECLASS-VARIABLE: TARBALL
-# @DESCRIPTION:
-# The GtkSharp modules are currently divided into three seperate tarball
-# distributions. The TARBALL variable holds the name of the tarball
-# to which GTK_SHARP_MODULE belongs.
-case ${GTK_SHARP_MODULE} in
- glib|glade|gtk|gdk|atk|pango|gtk-dotnet|gtk-gapi|gtk-docs)
- TARBALL="gtk-sharp"
- case ${PVR} in
- 2.12.10*)
- SRC_URI="mirror://gentoo/${TARBALL}-2.12.7.patch.bz2"
- #Upstream: https://bugzilla.novell.com/show_bug.cgi?id=$bugno
- #Upstream bug #470390 for the gtk-sharp-2.12.7.patch
- PATCHES=(
- "${WORKDIR}/${TARBALL}-2.12.7.patch"
- )
- ;;
- 2.12.11*)
- SRC_URI="mirror://gentoo/${TARBALL}-2.12.11.patch.bz2"
- PATCHES=(
- "${WORKDIR}/${TARBALL}-2.12.11.patch"
- )
- ;;
- esac
- case ${PVR} in
- 2.12.1*)
- EAUTORECONF="YES"
- add_bdepend "=sys-devel/automake-1.10*"
- add_bdepend ">=sys-devel/autoconf-2.61"
- ;;
- esac
- ;;
- art|gnome|gnomevfs|gconf)
- TARBALL="gnome-sharp"
- add_depend "=dev-dotnet/gtk-sharp-${GTK_SHARP_REQUIRED_VERSION}*"
- has "${GTK_SHARP_MODULE}" "${gapi_users_list}" && \
- add_bdepend "=dev-dotnet/gtk-sharp-gapi-${GTK_SHARP_REQUIRED_VERSION}*"
- case ${PVR} in
- 2.24.1*)
- SRC_URI="mirror://gentoo/${TARBALL}-2.24.1.patch.bz2"
- # Upstream bug: https://bugzilla.novell.com/show_bug.cgi?id=483251
- PATCHES=(
- "${WORKDIR}/${TARBALL}-2.24.1.patch"
- )
- EAUTORECONF="YES"
- add_bdepend "=sys-devel/automake-1.10*"
- add_bdepend ">=sys-devel/autoconf-2.61"
- ;;
- 2.24.2*)
- add_depend ">=dev-lang/mono-2.7"
- ;;
- esac
- ;;
- gnome-desktop|gnome-print|gnome-panel|gtkhtml|gtksourceview|nautilusburn|rsvg|vte|wnck)
- TARBALL="gnome-desktop-sharp"
- add_depend "=dev-dotnet/gtk-sharp-${GTK_SHARP_REQUIRED_VERSION}*"
- add_depend "=dev-dotnet/gnome-sharp-2.24*"
- add_depend "gnome-base/gnome-desktop:2"
- add_bdepend "=dev-dotnet/gtk-sharp-gapi-${GTK_SHARP_REQUIRED_VERSION}*"
- ;;
- *)
- eerror "Huh? Sonny boy, looks like your GTK_SHARP_MODULE is not on the approved list. BAILING!"
- die "How did we get here!!?"
- ;;
-esac
-
-case ${PF} in
- #gtk-sharp tarball
- gtk-sharp-docs*)
- add_depend ">=dev-lang/mono-2.0"
- ;;
- gtk-sharp-gapi*)
- add_rdepend "!<=dev-dotnet/gtk-sharp-2.12.7:2"
- add_depend "dev-perl/XML-LibXML"
- ;;
- gtk-sharp-*)
- add_bdepend "~dev-dotnet/gtk-sharp-gapi-${PV}"
- add_depend "~dev-dotnet/glib-sharp-${PV}"
- add_depend "~dev-dotnet/atk-sharp-${PV}"
- add_depend "~dev-dotnet/gdk-sharp-${PV}"
- add_depend "~dev-dotnet/pango-sharp-${PV}"
- ;;
- gdk-sharp-*)
- add_bdepend "~dev-dotnet/gtk-sharp-gapi-${PV}"
- add_depend "~dev-dotnet/glib-sharp-${PV}"
- add_depend "x11-libs/gtk+:2"
- add_depend "~dev-dotnet/pango-sharp-${PV}"
- add_rdepend "!<=dev-dotnet/gtk-sharp-2.12.7:2"
- ;;
- atk-sharp-*)
- add_bdepend "~dev-dotnet/gtk-sharp-gapi-${PV}"
- add_depend "~dev-dotnet/glib-sharp-${PV}"
- add_depend "dev-libs/atk"
- add_rdepend "!<=dev-dotnet/gtk-sharp-2.12.7:2"
- ;;
- glib-sharp-*)
- add_rdepend "!<=dev-dotnet/gtk-sharp-2.12.7:2"
- add_depend "dev-libs/glib:2"
- ;;
- pango-sharp-*)
- add_bdepend "~dev-dotnet/gtk-sharp-gapi-${PV}"
- add_depend "~dev-dotnet/glib-sharp-${PV}"
- add_depend "x11-libs/pango"
- add_rdepend "!<=dev-dotnet/gtk-sharp-2.12.7:2"
- ;;
- gtk-dotnet-*)
- add_depend "~dev-dotnet/glib-sharp-${PV}"
- add_depend "~dev-dotnet/gdk-sharp-${PV}"
- add_depend "~dev-dotnet/pango-sharp-${PV}"
- add_depend "~dev-dotnet/gtk-sharp-${PV}"
- add_depend "dev-lang/mono[-minimal]"
- add_rdepend "!<=dev-dotnet/gtk-sharp-2.12.7:2"
- ;;
- glade-sharp-*)
- add_bdepend "~dev-dotnet/gtk-sharp-gapi-${PV}"
- add_depend "~dev-dotnet/glib-sharp-${PV}"
- add_depend "~dev-dotnet/atk-sharp-${PV}"
- add_depend "~dev-dotnet/gdk-sharp-${PV}"
- add_depend "~dev-dotnet/gtk-sharp-${PV}"
- add_depend "~dev-dotnet/pango-sharp-${PV}"
- add_depend ">=gnome-base/libglade-2.3.6:2.0"
- ;;
- #gnome-sharp tarball
- art-sharp-*)
- add_depend ">=media-libs/libart_lgpl-2.3.20"
- ;;
- gnome-sharp-*)
- add_depend ">=gnome-base/libgnomeui-${PV_MAJOR}"
- add_depend "~dev-dotnet/gnomevfs-sharp-${PV}"
- add_depend "~dev-dotnet/art-sharp-${PV}"
- add_depend ">=gnome-base/libgnomecanvas-${GNOMECANVAS_REQUIRED_VERSION}"
- add_depend ">=x11-libs/gtk+-2.14.0:2"
- ;;
- gconf-sharp-*)
- add_depend ">=gnome-base/gconf-${PV_MAJOR}:2"
- add_depend "=dev-dotnet/glade-sharp-${GTK_SHARP_REQUIRED_VERSION}*"
- add_depend "~dev-dotnet/gnome-sharp-${PV}"
- add_depend "~dev-dotnet/art-sharp-${PV}"
- ;;
- gnomevfs-sharp-*)
- add_depend ">=gnome-base/gnome-vfs-${PV_MAJOR}:2"
- ;;
- #gnome-desktop-sharp tarball
- gnome-desktop-sharp-*)
- # NOTE: libgnome-desktop-2.so has been known to make binary-
- # incompatible changes, requiring .so bumps. gnome-desktop-sharp
- # is locked to a specific .so.n version, so strict dependencies
- # may be required in the future (as it has in the past).
- add_depend ">=gnome-base/gnome-desktop-${PV_MAJOR}:2"
- ;;
- gnome-panel-sharp-*)
- add_depend ">=gnome-base/gnome-panel-${PV_MAJOR}"
- ;;
- gnome-print-sharp-*)
- add_depend "gnome-base/libgnomeprint:2.2"
- add_depend "gnome-base/libgnomeprintui:2.2"
- ;;
- gtkhtml-sharp-*)
- #NOTE: gtkhtml dependency must follow gtkhtml-sharp version.
- #i.e. gtkhtml-sharp-2.24.0 >=gtkhtml-3.24
- # gtkhtml-sharp-2.16.0 >=gtkhtml-3.16
- # See bug 249540 for unpleasant side effects.
- add_depend ">=gnome-extra/gtkhtml-$(($(get_version_component_range 1) + 1 )).$(get_version_component_range 2):3.14"
- ;;
- gtksourceview-sharp-*)
- add_depend ">=x11-libs/gtksourceview-${GTKSOURCEVIEW_REQUIRED_VERSION}:2.0"
- ;;
- nautilusburn-sharp-*)
- add_depend ">=gnome-extra/nautilus-cd-burner-2.24.0"
- ;;
- rsvg-sharp-*)
- add_depend ">=gnome-base/librsvg-${RSVG_REQUIRED_VERSION}:2"
- ;;
- vte-sharp-*)
- add_depend ">=x11-libs/vte-${VTE_REQUIRED_VERSION}:0"
- ;;
- wnck-sharp-*)
- add_depend ">=x11-libs/libwnck-${PV_MAJOR}:1"
- ;;
-esac
-
-# @ECLASS-VARIABLE: DESCRIPTION
-# @DESCRIPTION:
-# Default value: GtkSharp's ${GTK_SHARP_MODULE} module of the ${TARBALL} tarball
-DESCRIPTION="GtkSharp's ${GTK_SHARP_MODULE} module of the ${TARBALL} tarball"
-# @ECLASS-VARIABLE: HOMEPAGE
-# @DESCRIPTION:
-# Default value: http://www.mono-project.com/GtkSharp
-HOMEPAGE="http://www.mono-project.com/GtkSharp"
-# @ECLASS-VARIABLE: LICENSE
-# @DESCRIPTION:
-# Default value: LGPL-2.1
-LICENSE="LGPL-2.1"
-
-add_depend ">=dev-lang/mono-2.0.1"
-add_bdepend ">=sys-apps/sed-4"
-add_bdepend "virtual/pkgconfig"
-add_bdepend ">=app-shells/bash-3.1"
-
-IUSE="debug"
-# @ECLASS-VARIABLE: S
-# @DESCRIPTION:
-# Default value: ${WORKDIR}/${TARBALL}-${PV}
-S="${WORKDIR}/${TARBALL}-${PV}"
-# @ECLASS-VARIABLE: SRC_URI
-# @DESCRIPTION:
-# Default value: mirror://gnome/sources/${TARBALL}/${PV_MAJOR}/${TARBALL}-${PV}.tar.bz2
-if [[ ${TARBALL} == "gtk-sharp" ]]; then
- SRC_URI="${SRC_URI}
- http://download.mono-project.com/sources/gtk-sharp212/${TARBALL}-${PV}.tar.bz2"
-else
- SRC_URI="${SRC_URI}
- mirror://gnome/sources/${TARBALL}/${PV_MAJOR}/${TARBALL}-${PV}.tar.bz2"
-fi
-
-# @FUNCTION: get_sharp_apis
-# @USAGE: <type> <pkgconfig-package>
-# @RETURN: .NET API files
-# @DESCRIPTION:
-# Given a valid pkg-config package, will return a list of API xml files.
-# <type> can be either --prefixed or --bare. If prefixed, each API file
-# will be prefixed with -I:
-get_sharp_apis() {
- [[ ${#@} -eq 2 ]] || die "${FUNCNAME} needs two arguments"
- get_sharp_assemblies "$@"
-}
-
-# @FUNCTION: get_sharp_assemblies
-# @USAGE: <type> <pkgconfig-package>
-# @RETURN: .NET .dll assemblies
-# @DESCRIPTION:
-# Given a valid pkg-config package, will return a list of .dll assemblies.
-# <type> can be either --prefixed or --bare. If prefixed, each .dll file
-# will be prefixed with -r:
-get_sharp_assemblies() {
- [[ ${#@} -eq 2 ]] || die "${FUNCNAME} needs two arguments"
- local string config=libs prefix="-r:"
- local -a rvalue
- [[ "${FUNCNAME[1]}" = "get_sharp_apis" ]] && config=cflags && prefix="-I:"
- for string in $(pkg-config --${config} ${2} 2> /dev/null)
- do
- rvalue+=( ${string#-?:} )
- done
-
- case $1 in
- --bare)
- :
- ;;
- --prefixed)
- for (( i=0 ; i< ${#rvalue[@]} ; i++ ))
- do
- rvalue[$i]=${prefix}${rvalue[$i]}
- done
- ;;
- *)
- die "${FUNCNAME}: Unknown parameter"
- ;;
- esac
- echo "${rvalue[@]}"
-}
-
-# @FUNCTION: phase_hook
-# @USAGE: <prefix>
-# @DESCRIPTION:
-# Looks for functions named <prefix>_caller_suffix and executes them.
-# _caller_suffix is the calling function with the prefix
-# gtk-sharp-module removed.
-phase_hook() {
- [[ ${#@} -eq 1 ]] || die "${FUNCNAME} needs one argument"
- if [[ "$(type -t ${1}${FUNCNAME[1]#gtk-sharp-module})" = "function" ]]
- then
- ebegin "Phase-hook: Running ${1}${FUNCNAME[1]#gtk-sharp-module}"
- ${1}${FUNCNAME[1]#gtk-sharp-module}
- eend 0
- fi
-}
-
-# @FUNCTION: ac_path_prog_override
-# @USAGE: <PROG> [path]
-# @DESCRIPTION:
-# Override AC_PATH_PROG() autoconf macros. Path will be set to " " if
-# not specified.
-ac_path_prog_override() {
- if [[ ${#@} -lt 1 || ${#@} -gt 2 ]]
- then
- eerror "${FUNCNAME[0]} requires at least one parameter and takes at most two:"
- eerror "AC_PATH_PROG(PARAM1, param2)"
- die "${FUNCNAME[0]} requires at least one parameter and takes at most two:"
- fi
- export ac_cv_path_${1}="${2:- }"
-}
-
-
-# @FUNCTION: pkg_check_modules_override
-# @USAGE: <GROUP> [package1] [package2]
-# @DESCRIPTION:
-# Will export the appropriate variables to override PKG_CHECK_MODULES autoconf
-# macros, with the string " " by default. If packages are specified, they will
-# be looked up with pkg-config and the appropriate LIBS and CFLAGS substituted.
-# LIBS and CFLAGS can also be specified per-package with the following syntax:
-# @CODE
-# package=LIBS%CFLAGS
-# @CODE
-# = and % have no effect unless both are specified.
-# Here is an example:
-# @CODE
-# pkg_check_modules_override GASH "gtk+-2.0=-jule%" gobject-2.0
-# @CODE
-# The above example will do:
-# export GASH_CFLAGS+=" -jule"
-# export GASH_LIBS+=" "
-# export GASH_CFLAGS+=" $(pkg-config --cflags gobject-2.0)"
-# export GASH_LIBS+=" $(pkg-config --libs gobject-2.0)"
-#
-# NOTE: If a package is not found, the string " " will be inserted in place of
-# <GROUP>_CFLAGS and <GROUP>_LIBS
-pkg_check_modules_override() {
- local package
- local group="${1}"
- local packages="${*:2}"
- export ${group}_CFLAGS=" "
- export ${group}_LIBS=" "
-
- if [[ ${#@} -lt 1 ]]
- then
- eerror "${FUNCNAME[0]} requires at least one parameter: GROUP"
- eerror "PKG_CHECK_MODULES(GROUP, package1 package2 etc)"
- die "${FUNCNAME[0]} requires at least one parameter: GROUP"
- fi
-
- for package in $packages
- do
- if [[ ${package/=} != ${package} && ${package/\%} != ${package} ]]
- then
- package_cflag_libs=${package##*=}
- export ${group}_CFLAGS+=" ${package_cflag_libs%%\%*}"
- export ${group}_LIBS+=" ${package_cflag_libs##*\%}"
- else
- if pkg-config --exists $package
- then
- export ${group}_CFLAGS+=" $(pkg-config --cflags $package)"
- export ${group}_LIBS+=" $(pkg-config --libs $package)"
- else
- export ${group}_CFLAGS+=" "
- export ${group}_LIBS+=" "
- fi
- fi
- done
-}
-
-# @FUNCTION: gtk-sharp-tarball-post_src_prepare
-# @DESCRIPTION:
-# Runs a M-m-m-monster sed on GTK_SHARP_MODULE_DIR to convert references to
-# local assemblies to the installed ones. Is only called by src_prepare when
-# $GTK_SHARP_MODULE is a member of $gtk_sharp_module_list.
-gtk-sharp-tarball-post_src_prepare() {
- has "${EAPI:-0}" 2 && ! use prefix && EPREFIX=
- cd "${S}/${GTK_SHARP_MODULE_DIR}"
- sed -i \
- -e "s; \$(srcdir)/../glib/glib-api.xml; $(get_sharp_apis --bare glib-sharp-2.0);" \
- -e "s; ../pango/pango-api.xml; $(get_sharp_apis --bare pango-sharp-2.0);" \
- -e "s; ../atk/atk-api.xml; $(get_sharp_apis --bare atk-sharp-2.0);" \
- -e "s; ../gdk/gdk-api.xml; $(get_sharp_apis --bare gdk-sharp-2.0);" \
- -e "s; ../gtk/gtk-api.xml; $(get_sharp_apis --bare gtk-sharp-2.0);" \
- -e "s; \.\./glib/glib-sharp.dll; $(get_sharp_assemblies --bare glib-sharp-2.0);g" \
- -e "s; \.\./pango/pango-sharp.dll; $(get_sharp_assemblies --bare pango-sharp-2.0);g" \
- -e "s; \.\./atk/atk-sharp.dll; $(get_sharp_assemblies --bare atk-sharp-2.0);g" \
- -e "s; \.\./gdk/gdk-sharp.dll; $(get_sharp_assemblies --bare gdk-sharp-2.0);g" \
- -e "s; \.\./gtk/gtk-sharp.dll; $(get_sharp_assemblies --bare gtk-sharp-2.0);g" \
- -e "s;\$(RUNTIME) \$(top_builddir)/parser/gapi-fixup.exe;${EPREFIX}/usr/bin/gapi2-fixup;" \
- -e "s;\$(RUNTIME) \$(top_builddir)/generator/gapi_codegen.exe;${EPREFIX}/usr/bin/gapi2-codegen;" \
- -e "s:\$(SYMBOLS) \$(top_builddir)/parser/gapi-fixup.exe:\$(SYMBOLS):" \
- -e "s:\$(INCLUDE_API) \$(top_builddir)/generator/gapi_codegen.exe:\$(INCLUDE_API):" \
- $(find . -name Makefile.in) || die "failed to fix ${TARBALL}-tarball makefiles"
-}
-
-# @FUNCTION: gnome-sharp-tarball-post_src_prepare
-# @DESCRIPTION:
-# Runs a M-m-m-monster sed on GTK_SHARP_MODULE_DIR to convert references to
-# local assemblies to the installed ones. Is only called by src_prepare when
-# $GTK_SHARP_MODULE is a member of $gnome_sharp_module_list.
-gnome-sharp-tarball-post_src_prepare() {
- cd "${S}/${GTK_SHARP_MODULE_DIR}"
- sed -i \
- -e "s; ../gnomevfs/gnome-vfs-api.xml; $(get_sharp_apis --bare gnome-vfs-sharp-2.0);" \
- -e "s; ../art/art-api.xml; $(get_sharp_apis --bare art-sharp-2.0);" \
- -e "s; \.\./art/art-sharp.dll; $(get_sharp_assemblies --bare art-sharp-2.0);g" \
- -e "s; \.\./gnomevfs/gnome-vfs-sharp.dll; $(get_sharp_assemblies --bare gnome-vfs-sharp-2.0);g" \
- -e "s;/r:\$(top_builddir)/art/art-sharp.dll;$(get_sharp_assemblies --prefixed art-sharp-2.0);" \
- -e "s;/r:\$(top_builddir)/gnome/gnome-sharp.dll;$(get_sharp_assemblies --prefixed gnome-sharp-2.0);" \
- $(find . -name Makefile.in) || die "failed to fix ${TARBALL}-tarball makefiles"
-}
-
-# @FUNCTION: gtk-sharp-module_src_prepare
-# @DESCRIPTION:
-# Runs autopatch from base.eclass, eautoreconf if EAUTORECONF is set to any
-# value.
-# Contains a phase_hook, runs very last.
-# phase_hook prefix trigger: ${TARBALL}-tarball-post
-# Is exported.
-gtk-sharp-module_src_prepare() {
- base_src_prepare
-# @ECLASS-VARIABLE: EAUTORECONF
-# @DESCRIPTION:
-# If set, EAUTORECONF will be run during src_prepare.
- [[ ${EAUTORECONF} ]] && eautoreconf
- phase_hook ${TARBALL}-tarball-post
- elibtoolize
-}
-
-# @FUNCTION: gtk-sharp-tarball_src_configure
-# @DESCRIPTION:
-# Sets some environment variables that will allow us to make the dependencies
-# for each ebuild be only its own dependencies, without patching configure.
-# Is only called by gtk-sharp-module_src_configure when $GTK_SHARP_MODULE
-# is a member of $gtk_sharp_module_list.
-gtk-sharp-tarball_src_configure() {
- pkg_check_modules_override GLIB gobject-2.0
- pkg_check_modules_override GIO gio-2.0
- pkg_check_modules_override PANGO pango
- pkg_check_modules_override ATK atk
- pkg_check_modules_override GTK gtk+-2.0
- pkg_check_modules_override GLADE libglade-2.0
-}
-
-# @FUNCTION: gnome-sharp-tarball_src_configure
-# @DESCRIPTION:
-# Sets some environment variables that will allow us to make the dependencies
-# for each ebuild be only its own dependencies. Without patching configure.
-# Is only called by gtk-sharp-module_src_configure when $GTK_SHARP_MODULE
-# is a member of $gnome_sharp_module_list.
-gnome-sharp-tarball_src_configure() {
- has "${EAPI:-0}" 2 && ! use prefix && EPREFIX=
- pkg_check_modules_override GLADESHARP glade-sharp-2.0
- pkg_check_modules_override GAPI gapi-2.0
- ac_path_prog_override GAPI_PARSER "${EPREFIX}"/usr/bin/gapi2-parser
- ac_path_prog_override GAPI_CODEGEN "${EPREFIX}"/usr/bin/gapi2-codegen
- ac_path_prog_override GAPI_FIXUP "${EPREFIX}"/usr/bin/gapi2-fixup
-}
-
-# @FUNCTION: gtk-sharp-module_src_configure
-# @USAGE: [econf-arguments]
-# @DESCRIPTION:
-# Calls econf with some default values.
-# Contains a phase_hook, run before econf.
-# phase_hook prefix trigger: ${TARBALL}-tarball
-# Is exported.
-gtk-sharp-module_src_configure() {
- phase_hook ${TARBALL}-tarball
- econf --disable-static \
- --disable-dependency-tracking \
- --disable-maintainer-mode \
- $(use debug &&echo "--enable-debug" ) \
- ${@} || die "econf failed"
-}
-
-# @FUNCTION: gtk-sharp-module_src_compile
-# @DESCRIPTION:
-# Calls emake in the subdir of the module.
-# Sets CSC=/usr/bin/mcs. Deletes top_srcdir Makefiles to prevent recursing in
-# case we missed some dll references.
-# Is exported.
-gtk-sharp-module_src_compile() {
- rm -f "${S}"/Makefile* &> /dev/null
- cd "${S}/${GTK_SHARP_MODULE_DIR}"
- emake CSC=/usr/bin/mcs || die "emake failed"
-}
-
-# @FUNCTION: gtk-sharp-module_src_install
-# @DESCRIPTION:
-# Installs the module. Fixes up lib paths so they're multilib-safe.
-# Gets rid of .la files.
-# Is exported.
-gtk-sharp-module_src_install() {
- cd "${S}/${GTK_SHARP_MODULE_DIR}"
- emake DESTDIR="${D}" install || die "emake install failed"
- mono_multilib_comply
- find "${D}" -type f -name '*.la' -exec rm -rf '{}' '+' || die "la removal failed"
- [[ $(find "${D}" -type f|wc -l) -lt 3 ]] && die "Too few files. This smells like a failed install."
-}
-
-EXPORT_FUNCTIONS src_prepare src_configure src_compile src_install
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2022-07-20 1:51 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-20 1:51 [gentoo-commits] repo/proj/dotnet:master commit in: eclass/ Sam James
-- strict thread matches above, loose matches on Subject: below --
2022-07-20 1:33 Sam James
2022-07-20 1:33 Sam James
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox