Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Solved] EGIT_REPO_URI= pull specific git branch
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
shoober420
Apprentice
Apprentice


Joined: 22 May 2017
Posts: 223

PostPosted: Fri Apr 30, 2021 4:48 am    Post subject: [Solved] EGIT_REPO_URI= pull specific git branch Reply with quote

I’m running into trouble with this particular ebuild, gtk+ (9999 version). I know the “gnome2” eclass will auto select the SRC_URI, so I removed that and added the direct gtk2 git branch link. Now it fails because it
keeps looking for the source files in the wrong directory. I even manually specified:

S="${WORKDIR}/${PN}-${PV}"

There is still something that is overriding and forcing this setting. How can I force the aforementioned source directory so emerge finds gtk and compiles?


Last edited by shoober420 on Fri Apr 30, 2021 10:42 pm; edited 4 times in total
Back to top
View user's profile Send private message
shoober420
Apprentice
Apprentice


Joined: 22 May 2017
Posts: 223

PostPosted: Fri Apr 30, 2021 5:01 am    Post subject: Reply with quote

sorry, forgot to post the log

http://dpaste.com/A7X4N5TTA
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30996
Location: here

PostPosted: Fri Apr 30, 2021 5:35 am    Post subject: Reply with quote

What is the content of /var/tmp/portage/x11-libs/gtk+-2.9999/work/ directory?
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
shoober420
Apprentice
Apprentice


Joined: 22 May 2017
Posts: 223

PostPosted: Fri Apr 30, 2021 5:58 am    Post subject: Reply with quote

it has all the source code in it
Back to top
View user's profile Send private message
fedeliallalinea
Administrator
Administrator


Joined: 08 Mar 2003
Posts: 30996
Location: here

PostPosted: Fri Apr 30, 2021 5:59 am    Post subject: Reply with quote

So you should overwrite S variable with S="${WORKDIR}"
_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54409
Location: 56N 3W

PostPosted: Fri Apr 30, 2021 10:06 am    Post subject: Reply with quote

Moved from Portage & Programming to Unsupported Software.

Live ebuilds are not supported.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
shoober420
Apprentice
Apprentice


Joined: 22 May 2017
Posts: 223

PostPosted: Fri Apr 30, 2021 1:58 pm    Post subject: Reply with quote

Whoops, so I’m recompiling my whole system against GCC11 since last night before bed and couldn’t double check the work directory mentioned. Unfortunately, since S= has no effect, i can’t change the build directory. There was is a option or eclass that’s overriding my desired directory. I know for a fact “gentoo2” eclass does this. I had to remove it from the glib-9999.ebuild I made.
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 21794

PostPosted: Fri Apr 30, 2021 3:26 pm    Post subject: Reply with quote

Please post the ebuild you are using so that we can review it. I do not see a gtk+-9999 in the main tree.
Back to top
View user's profile Send private message
shoober420
Apprentice
Apprentice


Joined: 22 May 2017
Posts: 223

PostPosted: Fri Apr 30, 2021 4:07 pm    Post subject: Reply with quote

So using S=${WORKDIR} did get the build to get further along, but I hit a big road block. I dont know enough about ebuilds to make a 9999 version for this one. Can someone help out? This is the most advanced one I've seen minus the kernel ebuilds.

Code:

# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=7
GNOME2_EAUTORECONF="yes"

inherit flag-o-matic multilib multilib-minimal

DESCRIPTION="Gimp ToolKit +"
HOMEPAGE="https://www.gtk.org/"

if [[ ${PV} == 9999 ]]; then
        inherit git-r3
        EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/gtk/-/tree/gtk-2-24.git"
fi

LICENSE="LGPL-2+"
SLOT="2"
IUSE="aqua cups examples +introspection test vim-syntax xinerama"
REQUIRED_USE="
   xinerama? ( !aqua )
"

KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"

# Upstream wants us to do their job:
# https://bugzilla.gnome.org/show_bug.cgi?id=768663#c1
RESTRICT="test"

COMMON_DEPEND="
   >=dev-libs/atk-2.10.0[introspection?,${MULTILIB_USEDEP}]
   >=dev-libs/glib-2.34.3:2[${MULTILIB_USEDEP}]
   >=media-libs/fontconfig-2.10.92[${MULTILIB_USEDEP}]
   virtual/libintl[${MULTILIB_USEDEP}]
   >=x11-libs/cairo-1.12.14-r4:=[aqua?,svg,${MULTILIB_USEDEP}]
   >=x11-libs/gdk-pixbuf-2.30.7:2[introspection?,${MULTILIB_USEDEP}]
   >=x11-libs/pango-1.36.3[introspection?,${MULTILIB_USEDEP}]
   x11-misc/shared-mime-info

   cups? ( >=net-print/cups-1.7.1-r2:=[${MULTILIB_USEDEP}] )
   introspection? ( >=dev-libs/gobject-introspection-0.9.3:= )
   !aqua? (
      >=x11-libs/cairo-1.12.14-r4:=[aqua?,svg,X,${MULTILIB_USEDEP}]
      >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}]
      >=x11-libs/libXcomposite-0.4.4-r1[${MULTILIB_USEDEP}]
      >=x11-libs/libXcursor-1.1.14[${MULTILIB_USEDEP}]
      >=x11-libs/libXdamage-1.1.4-r1[${MULTILIB_USEDEP}]
      >=x11-libs/libXext-1.3.2[${MULTILIB_USEDEP}]
      >=x11-libs/libXfixes-5.0.1[${MULTILIB_USEDEP}]
      >=x11-libs/libXi-1.7.2[${MULTILIB_USEDEP}]
      >=x11-libs/libXrandr-1.5[${MULTILIB_USEDEP}]
      >=x11-libs/libXrender-0.9.8[${MULTILIB_USEDEP}]
      xinerama? ( >=x11-libs/libXinerama-1.1.3[${MULTILIB_USEDEP}] )
   )
"
DEPEND="${COMMON_DEPEND}
   !aqua? ( x11-base/xorg-proto )
   test? (
      media-fonts/font-cursor-misc
      media-fonts/font-misc-misc
      x11-themes/hicolor-icon-theme
   )
"

# gtk+-2.24.8 breaks Alt key handling in <=x11-libs/vte-0.28.2:0
# Add blocker against old gtk-builder-convert to be sure we maintain both
# in sync.
RDEPEND="${COMMON_DEPEND}
   >=dev-util/gtk-update-icon-cache-2
   >=x11-themes/adwaita-icon-theme-3.14
   x11-themes/gnome-themes-standard
   !<dev-util/gtk-builder-convert-${PV}
"
# librsvg for svg icons (PDEPEND to avoid circular dep), bug #547710
PDEPEND="
   gnome-base/librsvg[${MULTILIB_USEDEP}]
   x11-themes/gtk-engines-adwaita
   vim-syntax? ( app-vim/gtk-syntax )
"
# docbook-4.1.2 and xsl required for man pages
# docbook-4.3 required for gtk-doc
BDEPEND="
   app-text/docbook-xml-dtd:4.1.2
   app-text/docbook-xml-dtd:4.3
   app-text/docbook-xsl-stylesheets
   dev-libs/gobject-introspection-common
   dev-libs/libxslt
   dev-util/glib-utils
   >=dev-util/gtk-doc-am-1.20
   >=sys-devel/gettext-0.18.3
   virtual/pkgconfig
   examples? ( x11-libs/gdk-pixbuf )
"

DISABLE_AUTOFORMATTING="yes"
DOC_CONTENTS="To make the gtk2 file chooser use 'current directory' mode by default,
edit ~/.config/gtk-2.0/gtkfilechooser.ini to contain the following:
[Filechooser Settings]
StartupMode=cwd"

MULTILIB_CHOST_TOOLS=(
   /usr/bin/gtk-query-immodules-2.0$(get_exeext)
)

S="${WORKDIR}"

strip_builddir() {
   local rule=$1
   shift
   local directory=$1
   shift
   sed -e "s/^\(${rule} =.*\)${directory}\(.*\)$/\1\2/" -i $@ \
      || die "Could not strip director ${directory} from build."
}

set_gtk2_confdir() {
   # An arch specific config directory is used on multilib systems
   GTK2_CONFDIR="/etc/gtk-2.0/${CHOST}"
}

src_prepare() {
   default
}

multilib_src_configure() {

   ECONF_SOURCE=${S} \
        multilib_src_configure \
      $(usex aqua --with-gdktarget=quartz --with-gdktarget=x11) \
      $(usex aqua "" --with-xinput) \
      $(use_enable cups cups auto) \
      $(multilib_native_use_enable introspection) \
      $(use_enable xinerama) \
      --disable-papi \
      --enable-man \
      --with-xml-catalog="${EPREFIX}"/etc/xml/catalog \
      CUPS_CONFIG="${EPREFIX}/usr/bin/${CHOST}-cups-config"

}

multilib_src_test() {
   virtx emake check
}

multilib_src_install() {
   default
}

multilib_src_install_all() {
   # see bug #133241
   # Also set more default variables in sync with gtk3 and other distributions
   insinto /usr/share/gtk-2.0
   newins - gtkrc <<- 'EOF'
   gtk-fallback-icon-theme = "gnome"
   gtk-theme-name = "Adwaita"
   gtk-icon-theme-name = "Adwaita"
   gtk-cursor-theme-name = "Adwaita"
   EOF

   # dev-util/gtk-builder-convert split off into a separate package, #402905
   rm "${ED}"/usr/bin/gtk-builder-convert || die
   rm "${ED}"/usr/share/man/man1/gtk-builder-convert.* || die

}

pkg_preinst() {
#   gnome2_pkg_preinst

   multilib_pkg_preinst() {
      # Make immodules.cache belongs to gtk+ alone
      local cache="/usr/$(get_libdir)/gtk-2.0/2.10.0/immodules.cache"

      if [[ -e "${EROOT}${cache}" ]]; then
         cp "${EROOT}${cache}" "${ED}${cache}" || die
      else
         touch "${ED}${cache}" || die
      fi
   }
   multilib_parallel_foreach_abi multilib_pkg_preinst
}

pkg_postinst() {
#   gnome2_pkg_postinst

   multilib_pkg_postinst() {
      gnome2_query_immodules_gtk2 \
         || die "Update immodules cache failed (for ${ABI})"
   }
   multilib_parallel_foreach_abi multilib_pkg_postinst

   set_gtk2_confdir

   if [ -e "${EROOT}/etc/gtk-2.0/gtk.immodules" ]; then
      elog "File /etc/gtk-2.0/gtk.immodules has been moved to \$CHOST"
      elog "aware location. Removing deprecated file."
      rm -f "${EROOT}/etc/gtk-2.0/gtk.immodules"
   fi

   if [ -e "${EROOT}${GTK2_CONFDIR}/gtk.immodules" ]; then
      elog "File /etc/gtk-2.0/gtk.immodules has been moved to"
      elog "${EROOT}/usr/$(get_libdir)/gtk-2.0/2.10.0/immodules.cache"
      elog "Removing deprecated file."
      rm -f "${EROOT}${GTK2_CONFDIR}/gtk.immodules"
   fi

   # pixbufs are now handled by x11-libs/gdk-pixbuf
   if [ -e "${EROOT}${GTK2_CONFDIR}/gdk-pixbuf.loaders" ]; then
      elog "File ${EROOT}${GTK2_CONFDIR}/gdk-pixbuf.loaders is now handled by x11-libs/gdk-pixbuf"
      elog "Removing deprecated file."
      rm -f "${EROOT}${GTK2_CONFDIR}/gdk-pixbuf.loaders"
   fi

   # two checks needed since we dropped multilib conditional
   if [ -e "${EROOT}/etc/gtk-2.0/gdk-pixbuf.loaders" ]; then
      elog "File ${EROOT}/etc/gtk-2.0/gdk-pixbuf.loaders is now handled by x11-libs/gdk-pixbuf"
      elog "Removing deprecated file."
      rm -f "${EROOT}/etc/gtk-2.0/gdk-pixbuf.loaders"
   fi

   if [ -e "${EROOT}"/usr/lib/gtk-2.0/2.[^1]* ]; then
      elog "You need to rebuild ebuilds that installed into" "${EROOT}"/usr/lib/gtk-2.0/2.[^1]*
      elog "to do that you can use qfile from portage-utils:"
      elog "emerge -va1 \$(qfile -qC ${EPREFIX}/usr/lib/gtk-2.0/2.[^1]*)"
   fi

   if ! has_version "app-text/evince"; then
      elog "Please install app-text/evince for print preview functionality."
      elog "Alternatively, check \"gtk-print-preview-command\" documentation and"
      elog "add it to your gtkrc."
   fi

   readme.gentoo_print_elog
}

pkg_postrm() {
#   gnome2_pkg_postrm

   if [[ -z ${REPLACED_BY_VERSION} ]]; then
      multilib_pkg_postrm() {
         rm -f "${EROOT}/usr/$(get_libdir)/gtk-2.0/2.10.0/immodules.cache"
      }
      multilib_foreach_abi multilib_pkg_postrm
   fi
}
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 21794

PostPosted: Fri Apr 30, 2021 4:47 pm    Post subject: Reply with quote

shoober420 wrote:
I hit a big road block. I dont know enough about ebuilds to make a 9999 version for this one. Can someone help out?
What is the roadblock? You did not post any errors, nor describe any problems. Does the ebuild you posted run to completion? If not, how does it fail? If it does, then what is wrong that you think you need to change anything?
Back to top
View user's profile Send private message
shoober420
Apprentice
Apprentice


Joined: 22 May 2017
Posts: 223

PostPosted: Fri Apr 30, 2021 5:15 pm    Post subject: Reply with quote

So heres the log. It stalls and I have to force quit it with Ctrl+C.

Code:

@gentoo:~$ doas emerge -av --autounmask "=x11-libs/gtk+-2.9999"                                                                                                                               
doas (lokiju420_-@gentoo) password:                                                                                                                                                           

 * IMPORTANT: 8 news items need reading for repository 'gentoo'.
 * Use eselect news read to view new items.


These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] x11-libs/gtk+-2.9999:2::localrepo [2.24.32-r1:2::gentoo] USE="introspection (-aqua) -cups -examples -test -vim-syntax -xinerama" ABI_X86="32 (64) (-x32)" 0 KiB

Total: 1 package (1 upgrade), Size of downloads: 0 KiB

Would you like to merge these packages? [Yes/No] yes

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) x11-libs/gtk+-2.9999::localrepo
>>> Unpacking source...
>>> Source unpacked in /var/tmp/portage/x11-libs/gtk+-2.9999/work
>>> Preparing source in /var/tmp/portage/x11-libs/gtk+-2.9999/work ...
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/x11-libs/gtk+-2.9999/work ...
 * abi_x86_32.x86: running multilib-minimal_abi_src_configure


I've also added "autotools" and "eautoreconf" to the ebuild that it says "aclocal not found".
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54409
Location: 56N 3W

PostPosted: Fri Apr 30, 2021 5:35 pm    Post subject: Reply with quote

shoober420,

Don't use doas or sudo. Really be root.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
shoober420
Apprentice
Apprentice


Joined: 22 May 2017
Posts: 223

PostPosted: Fri Apr 30, 2021 5:46 pm    Post subject: Reply with quote

So I finally decided to check the work directory, and lo and behold its completely empty. I should have thought something was up since the SRC_URI wasnt downloading any source. I've tried the following links and SRC_URI still doesnt pull the source.

https://gitlab.gnome.org/GNOME/gtk/-/tree/gtk-2-24
https://gitlab.gnome.org/GNOME/gtk.git#branch=gtk-2-24
https://gitlab.gnome.org/GNOME/gtk#branch=gtk-2-24.git

How do I pull source from a specific branch using SRC_URI?
Back to top
View user's profile Send private message
Hu
Administrator
Administrator


Joined: 06 Mar 2007
Posts: 21794

PostPosted: Fri Apr 30, 2021 6:30 pm    Post subject: Reply with quote

You need a URL that returns an archive file (zip, tar.xz, etc.), not an HTML page. Especially not one that returns an HTML page without content. Finding the download URL was a bit challenging since the linked Gitlab seems to be unable to list branches, tags, or commits - probably because the listing is improperly using Javascript. I eventually got to https://gitlab.gnome.org/GNOME/gtk/-/archive/cdd8f7cd5344bede3247f1a361bdba58688d1d1d/gtk-cdd8f7cd5344bede3247f1a361bdba58688d1d1d.tar.bz2, which should download the named commit. You may be able to use a branch name instead of a commit there.
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6103
Location: Dallas area

PostPosted: Fri Apr 30, 2021 7:14 pm    Post subject: Reply with quote

https://gitlab.gnome.org/GNOME/gtk/-/archive/gtk-2-24/gtk-gtk-2-24.tar.bz2
OR
https://gitlab.gnome.org/GNOME/gtk/-/archive/68631945733158f164427db84f01301d7e875763/gtk-68631945733158f164427db84f01301d7e875763.tar.bz2
take your pick, several ways to get there.

Same file, take your pick. It's labelled as the last release. "The final release off this branch."
_________________
PRIME x570-pro, 3700x, 6.1 zen kernel
gcc 13, profile 17.0 (custom bare multilib), openrc, wayland
Back to top
View user's profile Send private message
shoober420
Apprentice
Apprentice


Joined: 22 May 2017
Posts: 223

PostPosted: Fri Apr 30, 2021 7:19 pm    Post subject: Reply with quote

I knew that URL link would most likely not work, but I was trying everything. Here is the URL for the gtk2-minimal-git package I maintain on the Arch AUR.

https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=gtk2-minimal-git

On line 22, that link would download the git sources, but it doesnt appear to work on Gentoo ebuilds.

I'm sorry, what I meant to say was "EGIT_REPO_URI=". How can I pull sources from a specific git branch using "EGIT_REPO_URI="?

I need to do this for gtk+-3.9999.ebuild as well so I need the EGIT_REPO_URI= method.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 8942

PostPosted: Fri Apr 30, 2021 7:27 pm    Post subject: Reply with quote

EGIT_BRANCH=

https://devmanual.gentoo.org/eclass-reference/git-r3.eclass/index.html
Back to top
View user's profile Send private message
shoober420
Apprentice
Apprentice


Joined: 22 May 2017
Posts: 223

PostPosted: Fri Apr 30, 2021 10:42 pm    Post subject: Reply with quote

Thank you very much, EGIT_BRANCH was what I was looking for.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum