Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#59067 closed enhancement (fixed)

winetricks: make zenity dependency optional

Reported by: kencu (Ken) Owned by: ryandesign (Ryan Carsten Schmidt)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: winetricks

Description

zenity adds a reasonable GUI to winetricks, but it comes at the cost of some fierce dependencies.

I don't mind using winetricks in command line mode.

Could we make it optional -- perhaps as a variant that is defaulted to on if the {${prefix} eq "/opt/local"} or similar (ie if you're not going to get it from the buildbot, you can have it as an optional variant) fix.

$ port rdeps zenity
Warning: All compilers are either blacklisted or unavailable; defaulting to first fallback option
The following ports are dependencies of zenity @3.28.1_0:
  xz
    clang-5.0
      cmake
        clang-3.7
          cctools
            libunwind-headers
              xz-bootstrap
                libiconv-bootstrap
                  gperf-bootstrap
                gettext-bootstrap
                  ncurses-bootstrap
            llvm-8.0
              clang-8.0
                libxml2
                  pkgconfig
                    libiconv
                      gperf
                  icu
                  zlib
                libomp
                  perl5
                    perl5.28
                      db48
                      gdbm
                        gettext
                          ncurses
                        readline
                python27
                  bzip2
                  expat
                  libedit
                  libffi
                  openssl
                  sqlite3
                  python_select
                  python2_select
                libcxx
                clang_select
                ld64
                  ld64-latest
                    libmacho-headers
              xar
                autoconf
                automake
                libtool
                  xattr
                    unzip
              llvm_select
          llvm-3.7
        legacy-support
        curl
          libidn2
            libunistring
              texinfo
                help2man
                  p5.28-locale-gettext
          libpsl
            python37
              python3_select
            glib2
              pcre
          curl-ca-bundle
        libarchive
          lzo2
          lz4
          zstd
        libuv
      llvm-5.0
  yelp-tools
    itstool
      gawk
      py27-libxml2
    libxslt
    yelp-xsl
      intltool
        gnome-common
          autoconf-archive
        p5.28-getopt-long
        p5.28-pathtools
        p5.28-scalar-list-utils
        p5.28-xml-parser
          p5.28-libwww-perl
            p5.28-test-fatal
              p5.28-try-tiny
                p5.28-capture-tiny
                p5.28-sub-name
                  p5.28-devel-checkbin
                    p5.28-extutils-makemaker
                      p5.28-cpan-meta-requirements
                      p5.28-extutils-manifest
            p5.28-test-leaktrace
            p5.28-test-needs
            p5.28-test-requiresinternet
            p5.28-data-dump
            p5.28-encode-locale
            p5.28-file-listing
              p5.28-http-date
            p5.28-html-form
              p5.28-html-parser
                p5.28-html-tagset
              p5.28-http-message
                p5.28-io-html
                p5.28-lwp-mediatypes
                p5.28-uri
            p5.28-http-cookies
            p5.28-http-daemon
              p5.28-module-build-tiny
                p5.28-cpan-meta
                  p5.28-cpan-meta-yaml
                  p5.28-encode
                  p5.28-version
                p5.28-extutils-config
                p5.28-extutils-helpers
                p5.28-extutils-install
                p5.28-extutils-installpaths
                p5.28-test-harness
                p5.28-module-build
                  p5.28-inc-latest
                  p5.28-module-metadata
                  p5.28-perl-ostype
                  p5.28-podlators
                    p5.28-pod-simple
                      p5.28-pod-escapes
              p5.28-io-socket-ip
                p5.28-socket
            p5.28-http-negotiate
            p5.28-lwp-protocol-https
              p5.28-io-socket-ssl
                p5.28-io-socket-inet6
                  p5.28-socket6
                  p5.28-io
                p5.28-net-libidn
                  libidn
                p5.28-net-ssleay
                  p5.28-test-exception
                    p5.28-sub-uplevel
                  p5.28-test-nowarnings
                  p5.28-test-warn
              p5.28-mozilla-ca
              p5.28-net-http
            p5.28-www-robotrules
      gtk3
        atk
          gobject-introspection
            cairo
              libpixman
              fontconfig
                freetype
                  libpng
                ossp-uuid
                  perl5.26
              xrender
                xorg-libX11
                  xorg-xtrans
                  xorg-xorgproto
                  xorg-util-macros
                  xorg-libXdmcp
                  xorg-libXau
                  xorg-libxcb
                    xorg-xcb-proto
                    xorg-libpthread-stubs
              xorg-libXext
              xorg-xcb-util
            py37-mako
              py37-setuptools
              py37-beaker
              py37-markupsafe
                py37-pytest
                  py37-setuptools_scm
                  py37-py
                  py37-packaging
                    py37-attrs
                      py37-hypothesis
                        py37-coverage
                      py37-six
                      py37-zopeinterface
                    py37-parsing
                  py37-more-itertools
                  py37-atomicwrites
                  py37-pluggy
                    py37-importlib-metadata
                      py37-zipp
                  py37-wcwidth
            py37-markdown
        pango
          fribidi
          harfbuzz
            graphite2
              fonttools
                py37-brotli
              python36
          Xft2
        gdk-pixbuf2
          shared-mime-info
          jasper
            jpeg
          tiff
        libepoxy
          mesa
            flex
              lzip
              m4
            bison
              bison-runtime
            gindent
            xorg-libXdamage
              xorg-libXfixes
            xorg-libXi
            xorg-libXmu
              xorg-libXt
                xorg-libsm
                  xorg-libice
            xorg-libXxf86vm
        xorg-libXrandr
        xorg-libXcursor
        xorg-libXinerama
        xorg-libXcomposite
        at-spi2-atk
          dbus
          at-spi2-core
            meson
              ninja
                re2c
            xorg-libXtst
        hicolor-icon-theme
  libnotify
  webkit2-gtk
    gtk-doc
      docbook-xml
        xmlcatmgr
        docbook-xml-4.1.2
          docbook-xml-4.2
        docbook-xml-4.3
        docbook-xml-4.4
        docbook-xml-4.5
        docbook-xml-5.0
      docbook-xsl-nons
      py37-anytree
      py37-lxml
      py37-pygments
        pygments_select
      py37-mock
    py27-simplejson
    ruby24
      libyaml
      ruby_select
    enchant
      aspell
      aspell-dict-en
    geoclue2
      json-glib
      libsoup
        glib-networking
          gnutls
            gmp
            libtasn1
            p11-kit
            nettle
          libproxy
            vala
              graphviz
                webp
                  giflib
                gd2
                  xpm
                gts
                  libnetpbm
                libLASi
                xorg-libXaw
                  groff
                    ghostscript
                      jbig2dec
                      libpaper
                      lcms2
                    psutils
                    netpbm
                      jbigkit
                urw-fonts
          gsettings-desktop-schemas
            gsed
        kerberos5
          libcomerr
            coreutils
    gstreamer1
      gzip
    gstreamer1-gst-plugins-bad
      gstreamer1-gst-plugins-base
        graphene
        libopus
        orc
        xorg-libXv
        libogg
        libvorbis
        libtheora
      faad2
      fluidsynth
        gmake
        flac
        libsndfile
        portaudio
      libass
        yasm
      libdca
      libdvdread
        libdvdcss
      libdvdnav
      libexif
      libmms
      libmodplug
      libmpcdec
      libnice
        gupnp-igd
          gupnp
            gssdp
          py27-gobject
            py27-cairo
              py27-pytest
                py27-setuptools_scm
                  py27-setuptools
                py27-py
                py27-packaging
                  py27-attrs
                    py27-hypothesis
                      py27-coverage
                      py27-enum34
                    py27-six
                    py27-zopeinterface
                  py27-parsing
                py27-more-itertools
                py27-atomicwrites
                py27-pluggy
                  py27-importlib-metadata
                    py27-zipp
                    py27-pathlib2
                      py27-scandir
                        py27-mock
                          py27-funcsigs
                    py27-contextlib2
                    py27-configparser
                      py27-backports
                py27-wcwidth
      librsvg
        libcroco
      libssh2
      libGLU
      openal-soft
        pulseaudio
          fftw-3-single
            fftw-3
          speexDSP
          soxr
      openexr
        ilmbase
      openjpeg
      rtmpdump
      soundtouch
      spandsp-devel
      neon
      x265
        nasm
      chromaprint
        ffmpeg
          lame
          libbluray
          libvpx
            git
              pcre2
              p5.26-authen-sasl
                p5.26-digest-hmac
                  p5.26-digest-sha1
                p5.26-gssapi
              p5.26-error
              p5.26-net-smtp-ssl
                p5.26-io-socket-ssl
                  p5.26-io-socket-inet6
                    p5.26-socket6
                    p5.26-io
                  p5.26-io-socket-ip
                    p5.26-socket
                  p5.26-net-libidn
                  p5.26-net-ssleay
                    p5.26-test-exception
                      p5.26-sub-uplevel
                    p5.26-test-nowarnings
                    p5.26-test-warn
              p5.26-term-readkey
              p5.26-cgi
                p5.26-test-deep
                p5.26-html-parser
                  p5.26-html-tagset
              rsync
                popt
          speex
          libsdl2
          XviD
          x264
    gstreamer1-gst-plugins-good
      aalib
      libcaca
      libdv
      libshout2
      mpg123
      taglib
      twolame
      wavpack
    harfbuzz-icu
    hyphen
    libsecret
      libgcrypt
        libgpg-error
    woff2
      brotli
    gtk2
  adwaita-icon-theme
    icon-naming-utils
      p5.28-xml-simple
        p5.28-xml-namespacesupport
        p5.28-xml-sax
          p5.28-xml-sax-base
        p5.28-xml-sax-expat

Change History (5)

comment:1 in reply to:  description Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to kencu:

zenity adds a reasonable GUI to winetricks, but it comes at the cost of some fierce dependencies.

I agree.

I don't mind using winetricks in command line mode.

Do you know what I would need to do to tell winetricks not to use zenity?

comment:2 Changed 5 years ago by kencu (Ken)

I tried building winetricks without zenity installed, and it happily built through, without the zenity gui enabled. So it's opportunistic. Ideally would be fully disabled -- let me see if that is an option.

comment:3 Changed 5 years ago by kencu (Ken)

AFAICT, winetricks installs just the same whether zenity is installed or not. When you run the script, it will use zenity if it finds it, otherwise it uses the command-line mode.

So there is no option to disable it from using zenity if it happens to be installed, but there is no change in how it's installed either way.

comment:4 Changed 5 years ago by ryandesign (Ryan Carsten Schmidt)

Resolution: fixed
Status: assignedclosed

In 083d0d82e5da388927e7c5e58b8b00e80474c561/macports-ports (master):

winetricks: Update to 20190912

Also make zenity dependency optional via a variant.

Closes: #59067

comment:5 Changed 5 years ago by kencu (Ken)

Thanks!

Note: See TracTickets for help on using tickets.