[Solved] Building Mythtv 31.x on Catalina

For discussion of topics specific to MythTV on OSX
User avatar
bill6502
Developer
Posts: 1788
Joined: Fri Feb 07, 2014 5:28 pm
United States of America

Re: [Solved] Building Mythtv 31.x on Catalina

Post by bill6502 » Sat May 09, 2020 12:43 pm

John,

Thanks for testing the tiny ansible playbook. I needed to prove that the macports module works
(https://docs.ansible.com/ansible/latest ... odule.html).

And for everyone,

Before I go further, is anyone using ansible for OSX? I can't find anything mentioning it in the
existing playbooks.

I'm guessing ansible wasn't used or that some other package manager matched the ansible_pkg_mgr,
e.g. freebsd. I can get a macports solution started, if it's of value.

Comments?

User avatar
pvr4me
Senior
Posts: 718
Joined: Fri Feb 07, 2014 7:25 pm
Location: near Toronto, Canada
Contact:
Canada

Re: [Solved] Building Mythtv 31.x on Catalina

Post by pvr4me » Sat May 09, 2020 1:00 pm

@bill6502 There is no 'nix-style package management system on a stock macOS system. There are several options for users that want to install one. The two leading ones would be Homebrew and MacPorts. They take quite different approaches to package management, however. Both Homebrew and MacPorts support installing ansible. Unfortunately, I don't know anything more about the ansible system.

Craig
The MacPorts guy.

jhoyt
Junior
Posts: 74
Joined: Thu Aug 27, 2015 10:11 am
United States of America

Re: [Solved] Building Mythtv 31.x on Catalina

Post by jhoyt » Sat May 09, 2020 1:02 pm

@Craig - I just installed and loaded mpstats

@bill6502 - I would happily use ansible, there was no playbook available so I started adding ports until I got things chugging. The ports listed in the second post of this thread include what's needed for v31. Anyone wanting to use ansible will need to install the py38-ansible port.

During this compile adventure, I had started with homebrew. Unfortunately it's qt5 install was missing webkit, so it looks like macports is the only current viable option for building without rolling up your sleeves and adding a cask to homebrew or compiling qt5 on your own.

User avatar
bill6502
Developer
Posts: 1788
Joined: Fri Feb 07, 2014 5:28 pm
United States of America

Re: [Solved] Building Mythtv 31.x on Catalina

Post by bill6502 » Sat May 09, 2020 1:36 pm

Thanks both. Attached is a patch to the existing MythTV ansible playbook. It can be installed
by changing to wherever the existing playbook is and doing: git apply mythtv-ansible-macports.patch

N.B. I don't have an OSX box (and can barely spell OSX.) Most packages (ports?) will fail, only the
py38 ones are likely OK. I'd be happy to take corrections and will commit this if you're interested.

The only instructions I found via Google for installing ansible involved pip. If that's true, then I'll
update the README.md.

Corrected version of the patch is attached.
Attachments
mythtv-ansible-macports.patch
Corrected patch.
(4.85 KiB) Downloaded 17 times

User avatar
bill6502
Developer
Posts: 1788
Joined: Fri Feb 07, 2014 5:28 pm
United States of America

Re: [Solved] Building Mythtv 31.x on Catalina

Post by bill6502 » Sat May 09, 2020 2:00 pm

Patch above was corrected. If it's easier, here's the bulk of the ports it would add:

Code: Select all

git,g++,make,build-essential,nasm,automake,libtool,ccache,pkg-config,libtool-bin,uuid-dev,libfreetype6-dev,libmp3lame-dev,libxv-dev,libxxf86vm-dev,libxinerama-dev,libxrandr-dev,libxml2-dev,libavahi-compat-libdnssd-dev,libexiv2-dev,libasound2-dev,libegl1-mesa-dev,liblzo2-dev,libhdhomerun-dev,libsamplerate0-dev,libxnvctrl-dev,libva-dev,libdrm-dev,libvdpau-dev,libass-dev,libxvidcore-dev,libx264-dev,libvpx-dev,libbluray-bdj,libavc1394-dev,libiec61883-dev,libpulse-dev,libfftw3-dev,libssl-dev,libsystemd-dev,libgnutls28-dev,libcec-dev,libavc1394-dev,libiec61883-dev,libpulse-dev,libfftw3-dev,libcrystalhd-dev,libssl-dev,libsystemd-dev,libbluray-dev,libx265-dev,libmysqlclient-dev,python3-future,python3-requests,python3-requests-cache,python3-mysqldb,python3-lxml,python3-oauth,python3-pycurl,python3-simplejson,libdbi-perl,libdbd-mysql-perl,libnet-upnp-perl,libwww-perl,libio-socket-inet6-perl,libdate-manip-perl,libxml-simple-perl,libxml-xpath-perl,libimage-size-perl,libdatetime-format-iso8601-perl,libsoap-lite-perl,libjson-perl,libvorbis-dev,libflac-dev,libflac++-dev,libtag1-dev,libcdio-dev,libcdio-paranoia-dev,libminizip-dev

User avatar
pvr4me
Senior
Posts: 718
Joined: Fri Feb 07, 2014 7:25 pm
Location: near Toronto, Canada
Contact:
Canada

Re: [Solved] Building Mythtv 31.x on Catalina

Post by pvr4me » Sat May 09, 2020 3:00 pm

Couple of quick observations on the patch.

The MythTV OSX port doesn't use X11 or pulseaudio; stuff internal to OSX is used (CoreVideo/VideoToolbox + CoreAudio). Also, video for linux doesn't exist on OSX. Those running a backend are almost all using HDhomerun boxes from Silicondust. A very few (1?) jump through some hoops to use Firewire.

Don't think g++ is needed--clang is included in Xcode and works fine.

At the moment, I'm not in a position to actually test any of this. @dhampton?

Craig
The MacPorts guy.

jhoyt
Junior
Posts: 74
Joined: Thu Aug 27, 2015 10:11 am
United States of America

Re: [Solved] Building Mythtv 31.x on Catalina

Post by jhoyt » Sat May 09, 2020 3:08 pm

I'm actually working on this now. Will probably need some help once I get through the port matching fun.

User avatar
pvr4me
Senior
Posts: 718
Joined: Fri Feb 07, 2014 7:25 pm
Location: near Toronto, Canada
Contact:
Canada

Re: [Solved] Building Mythtv 31.x on Catalina

Post by pvr4me » Sat May 09, 2020 3:25 pm

@jhoyt I think the patch may have a number of redundant entries. MacPorts is pretty good about walking down the recursive dependency list so you may not need to specify every dep.

Also, I haven't looked at the Qt5 playbook. This could be a nightmare for different versions of OSX. The most recent Qt5 versions only support very recent OSX versions. Choosing the 'best' Qt5 version for a given OSX isn't straightforward and few people have the resources to test the various combinations.

Craig
The MacPorts guy.

jhoyt
Junior
Posts: 74
Joined: Thu Aug 27, 2015 10:11 am
United States of America

Re: [Solved] Building Mythtv 31.x on Catalina

Post by jhoyt » Sat May 09, 2020 3:32 pm

Here's a corrected patch file (at least for ports that are in macports).
mythtv-ansible-macports.patch
(4.84 KiB) Downloaded 16 times
I suspect I'll need to add more packages to cover the missing qt pieces (qt5-qtwebkit qt5-qtscript qt5
qt5-mysql-plugin), apache-ant, and py38-pip.

Is there a way to get ansible to call pip to install mysqlclient (py38-mysqldb)?

Output from ansible:

Code: Select all

ansible-playbook -i hosts qt5.yml


PLAY [localhost] ********************************************************************************************************************************************************************

TASK [Gathering Facts] **************************************************************************************************************************************************************
[WARNING]: Platform darwin on host localhost is using the discovered Python interpreter at /usr/bin/python, but future installation of another Python interpreter could change this.
See https://docs.ansible.com/ansible/2.9/reference_appendices/interpreter_discovery.html for more information.
ok: [localhost]

TASK [mythtv-deb : create a list of deb compilers and build essentials] *************************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add compilers and build essentials 2 (debian)] *******************************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add compilers and build essentials 2 (ubuntu)] *******************************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv essential build libraries] ****************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv extra build libraries] ********************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv extra build libraries (Raspbian Stretch or later)] ****************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv extra build libraries (Raspbian Stretch)] *************************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv extra build libraries (Raspbian Buster or later)] *****************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv extra build libraries (Debian)] ***********************************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv extra build libraries (Debian Stretch and later)] *****************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv extra build libraries (Ubuntu 16.04 and later)] *******************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv mysql client libraries (Ubuntu)] **********************************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv mysql client libraries (Debian - Jessie)] *************************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv mysql client libraries (Debian - Stretch)] ************************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv mysql client libraries (Debian - Buster and later)] ***************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv essential python modules] *****************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv essential python modules (Stretch/16.04 and later)] ***************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv essential python modules (Ubuntu 20.04 and later)] ****************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv essential python modules (Buster)] ********************************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv essential perl modules] *******************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv essential plugin libraries] ***************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : add mythtv essential plugin libraries (Debian or Ubuntu 16+)] ****************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : final package list] **********************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-deb : install packages] ************************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-rpm : shell] ***********************************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-rpm : setup EPEL repository] *******************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-rpm : shell] ***********************************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-rpm : setup RPMfusion repository] **************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-rpm : create a list of compilers and build essentials] *****************************************************************************************************************
skipping: [localhost]

TASK [mythtv-rpm : add mythtv essential build libraries] ****************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-rpm : add optional build libraries] ************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-rpm : add mythtv essential python modules] *****************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-rpm : add mythtv essential python modules - Fedora only] ***************************************************************************************************************
skipping: [localhost]

TASK [mythtv-rpm : add mythtv essential perl modules] *******************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-rpm : add mythtv essential perl modules - Fedora only] *****************************************************************************************************************
skipping: [localhost]

TASK [mythtv-rpm : add mythtv essential plugin libraries] ***************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-rpm : final package list] **********************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-rpm : install packages] ************************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : shell] ***********************************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : setup EPEL repository] *******************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : check if CentOS PowerTools repo enabled] *************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : enable CentOS PowerTools repository for epel] ********************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : shell] ***********************************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : shell] ***********************************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : setup RPMfusion repository (Fedora rawhide)] *********************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : setup RPMfusion repository (Fedora release versions)] ************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : setup RPMFusion repository (CentOS release versions)] ************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : enable Centos 8 Devel repo] **************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : create dnf compilers and build essentials list] ******************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : add mythtv essential build libraries] ****************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : shell] ***********************************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : add nvidia build libraries (rpmfusion)] **************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : add nvidia build libraries (negativo's nvidia repo)] *************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : add optional build libraries] ************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : add optional build libraries - Centos 8 only] ********************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : add optional build libraries - Fedora only] **********************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : add mythtv essential python modules (Fedora < 30)] ***************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : add mythtv essential python2 modules - Fedora 30] ****************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : add mythtv essential python2 modules - Fedora 30,31] *************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : add mythtv essential python3 modules - Fedora 30+] ***************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : add mythtv essential perl modules] *******************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : add mythtv essential plugin libraries] ***************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : final package list] **********************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-dnf : install packages] ************************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-freebsd : check if ports bootstrapped] *********************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-freebsd : bootstrap ports] *********************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-freebsd : create a list of compilers and build essentials] *************************************************************************************************************
skipping: [localhost]

TASK [mythtv-freebsd : add essential libraries] *************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-freebsd : add optional libraries] **************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-freebsd : add python essentials] ***************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-freebsd : add perl essentials] *****************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-freebsd : add packages moved to main repository (freebsd11+)] **********************************************************************************************************
skipping: [localhost]

TASK [mythtv-freebsd : add packages moved to main repository (freebsd12+)] **********************************************************************************************************
skipping: [localhost]

TASK [mythtv-freebsd : packages from ports] *****************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-freebsd : add packages from ports (freebsd 10 and earlier)] ************************************************************************************************************
skipping: [localhost]

TASK [mythtv-freebsd : add packages from ports (freebsd 11 and earlier)] ************************************************************************************************************
skipping: [localhost]

TASK [mythtv-freebsd : final package list] ******************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-freebsd : install packages] ********************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-freebsd : final package list (from ports)] *****************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-freebsd : install packages from ports] *********************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-macports : create a list of compilers and build essentials] ************************************************************************************************************
ok: [localhost]

TASK [mythtv-macports : add essential libraries] ************************************************************************************************************************************
ok: [localhost]

TASK [mythtv-macports : add optional libraries] *************************************************************************************************************************************
ok: [localhost]

TASK [mythtv-macports : add python essentials] **************************************************************************************************************************************
ok: [localhost]

TASK [mythtv-macports : add perl essentials] ****************************************************************************************************************************************
ok: [localhost]

TASK [mythtv-macports : add packages moved to main repository (MacOSX11+)] **********************************************************************************************************
skipping: [localhost]

TASK [mythtv-macports : add packages moved to main repository (MacOSX12+)] **********************************************************************************************************
skipping: [localhost]

TASK [mythtv-macports : packages from ports] ****************************************************************************************************************************************
ok: [localhost]

TASK [mythtv-macports : add packages from ports (MacOSX 10 and earlier)] ************************************************************************************************************
ok: [localhost]

TASK [mythtv-macports : add packages from ports (MacOSX 11 and earlier)] ************************************************************************************************************
ok: [localhost]

TASK [mythtv-macports : final package list] *****************************************************************************************************************************************
ok: [localhost] => {
    "msg": "lame,gnutls,subversion,gmake,libtool"
}

TASK [mythtv-macports : install packages] *******************************************************************************************************************************************
ok: [localhost]

TASK [mythtv-pacman : create a list of essential system utils] **********************************************************************************************************************
skipping: [localhost]

TASK [mythtv-pacman : add compilers and build essentials] ***************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-pacman : add mythtv essential build libraries] *************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-pacman : add mythtv optional build libraries] **************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-pacman : add mythtv essential python modules] **************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-pacman : add mythtv essential perl modules] ****************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-pacman : add mythtv essential plugin libraries] ************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-pacman : final package list] *******************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-pacman : install packages] *********************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-suse : create a list of compilers and build essentials] ****************************************************************************************************************
skipping: [localhost]

TASK [mythtv-suse : add mythtv essential build libraries] ***************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-suse : add optional build libraries] ***********************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-suse : add lame] *******************************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-suse : add mythtv essential python modules] ****************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-suse : determine devel:languages:perl repository url (Leap)] ***********************************************************************************************************
skipping: [localhost]

TASK [mythtv-suse : determine devel:languages:perl repository url (Tumbleweed)] *****************************************************************************************************
skipping: [localhost]

TASK [mythtv-suse : print perl_repo] ************************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-suse : enable devel:languages:perl repository] *************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-suse : add mythtv essential perl modules] ******************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-suse : add mythtv essential plugin libraries] **************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-suse : final package list] *********************************************************************************************************************************************
skipping: [localhost]

TASK [mythtv-suse : install packages] ***********************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : create a list of deb qt5 packages] **************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : add the qt5 mythtv essential runtime libraries] *************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : final deb qt5 package list] *********************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : install deb qt5 packages] ***********************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : create list of qt5 libraries] *******************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : add qt5 runtime dependencies] *******************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : final rpm qt5 package list] *********************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : install rpm qt5 packages] ***********************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : create a list of dnf qt5 libraries] *************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : add qt5 runtime dependencies] *******************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : final dnf qt5 package list] *********************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : install dnf qt5 packages] ***********************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : install qt5 libraries] **************************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : install essential libraries] ********************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : create a list of qt5 libraries] *****************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : add qt5 runtime dependencies] *******************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : final zypper qt5 package list] ******************************************************************************************************************************************
skipping: [localhost]

TASK [qt5 : install zypper qt5 packages] ********************************************************************************************************************************************
skipping: [localhost]

PLAY RECAP **************************************************************************************************************************************************************************
localhost                  : ok=11   changed=0    unreachable=0    failed=0    skipped=122  rescued=0    ignored=0   

User avatar
bill6502
Developer
Posts: 1788
Joined: Fri Feb 07, 2014 5:28 pm
United States of America

Re: [Solved] Building Mythtv 31.x on Catalina

Post by bill6502 » Sat May 09, 2020 3:42 pm

Code: Select all

  - name: get mysqldb
    pip:
      name: py38-mysqldb # Just a guess based on the above
You may like to add this: DISPLAY_SKIPPED_HOSTS=0 ansible-playbook -i hosts qt5.yml
while testing. It gets rid of lots of the skipping lines. Some versions of ansible need ANSIBLE_ in
front of it (a warning message will print if so.)

User avatar
pvr4me
Senior
Posts: 718
Joined: Fri Feb 07, 2014 7:25 pm
Location: near Toronto, Canada
Contact:
Canada

Re: [Solved] Building Mythtv 31.x on Catalina

Post by pvr4me » Sat May 09, 2020 4:37 pm

Not sure but is py38-pymysql a functional replacement (ie a "pure python" version)?
The MacPorts guy.

jhoyt
Junior
Posts: 74
Joined: Thu Aug 27, 2015 10:11 am
United States of America

Re: [Solved] Building Mythtv 31.x on Catalina

Post by jhoyt » Sat May 09, 2020 4:48 pm

pvr4me wrote:
Sat May 09, 2020 4:37 pm
Not sure but is py38-pymysql a functional replacement (ie a "pure python" version)?
Unfortunately no. ./configure throws the following error when mysqlclient is not installed via pip.

Code: Select all

WARNING: disabling Python bindings; missing MySQLdb
@Bill any chance you know how to tell ansible to use the recently installed version of pip to install sw?

User avatar
bill6502
Developer
Posts: 1788
Joined: Fri Feb 07, 2014 5:28 pm
United States of America

Re: [Solved] Building Mythtv 31.x on Catalina

Post by bill6502 » Sat May 09, 2020 4:56 pm

Adding the Qt5 patch. Once, there was a Qt4 version, but that's long gone.
Attachments
mythtv-ansible-macports-qt5.patch
Qt5 patch
(828 Bytes) Downloaded 15 times

jhoyt
Junior
Posts: 74
Joined: Thu Aug 27, 2015 10:11 am
United States of America

Re: [Solved] Building Mythtv 31.x on Catalina

Post by jhoyt » Sat May 09, 2020 5:07 pm

I actually went a different path with the qt-macports.yml. Here's what I did (based on freebsd), happy to learn what the right way to do this is....

Code: Select all

- name: create list of qt5 libraries
  set_fact:
    macports_pkg_list:
      - qt5
      - qt5-qtwebkit
      - qt5-qtscript
      #- qt5-mysql-plugin
      # packages in repo for fedora, and in epel for centos7/rhel7
      # - none yet
  tags:
    - qt5

# This looks like overkill, but the intent is to provide future maintainers
# with a template to add more (especially conditional) packages.

- name: add qt5 runtime dependencies
  set_fact:
    macports_pkg_list:
      - '{{ macports_pkg_list }}'
      - qt5-mysql-plugin
  tags:
    - qt5

- name: final port qt5 package list
  debug:
    msg:
      '{{ lookup("flattened", macports_pkg_list) }}'

- name: install port qt5 packages
  macports:
    name:
      '{{ lookup("flattened", macports_pkg_list) }}'
    state:
      present
  tags:
    - qt5

# vim: set expandtab tabstop=2 shiftwidth=2 smartindent noautoindent colorcolumn=2:

User avatar
bill6502
Developer
Posts: 1788
Joined: Fri Feb 07, 2014 5:28 pm
United States of America

Re: [Solved] Building Mythtv 31.x on Catalina

Post by bill6502 » Sat May 09, 2020 6:22 pm

As I recall, early in the Python v3 conversion, pymysql wasj tested, because another
distribution didn't have MySQLdb at the time. I can't find the emails, but pymysql wasn't working
with the bindings and it was dropped.

John, not sure I understand the "any chance you know how to tell ansible to use the
recently installed version of pip to install sw?" question. The pip module 4 posts
above worked for me on a different project. If installing pip itself is required, then
the 'proof of concept' format done earlier could be placed early in the task/main.yml.
That way it could be installed earlier and be available for other ports.

Post Reply