Add Weboob
AbandonedPublic

Authored by wojnilowicz on May 6 2018, 4:32 PM.

Details

Reviewers
vonreth
Summary

Weboob adds online banking feature to the KMyMoney. It depends specifically on python 2 and not on python 3.
To be able to use it: PythonInterp and PythonLibs are needed.

Configuration for KMyMoney on MSVC gives:

  • Found PythonInterp: C:/Craft/CI/windows-msvc2017_64-cl-debug/dev-utils/bin/python2.exe (found suitable version "2.7.14", minimum required is "2.6")
  • Could NOT find PythonLibs (missing: PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS) (Required is at least version "2.7.14")

Is it possible to add PythonLibs from python 2 to the MS Windows build environment?

Test Plan

Untested.

Diff Detail

Repository
R261 KMyMoney
Lint
Lint Skipped
Unit
Unit Tests Skipped
wojnilowicz requested review of this revision.May 6 2018, 4:32 PM
wojnilowicz created this revision.
wojnilowicz updated this revision to Diff 33835.EditedMay 8 2018, 6:30 PM

Thanks for pointers but I need more help:

  1. Setting following line in weboob.py
self.runtimeDependencies["binary/python"] = "2.7.15"

doesn't install python 2.7.15, but 3.6.0. How to make it right?

  1. I can install python 2.7.15 via python.py, but how do I set
[Paths]
## Some applications may need python 2.7
#Python27 = C:\python27

automatically?

  1. Python gets installed in CraftRoot/build/binary/python/image-RelWithDebInfo-2.7.15/python and stays there. How can I ensure, that it will get to the installer package afterwards?

All in all, configuration of KMyMoney detects everything nicely, but it requires some manual work.

Thanks for pointers but I need more help:

  1. Setting following line in weboob.py ` self.runtimeDependencies["binary/python"] = "2.7.15" `

try

self.buildDependencies["dev-utils/python2"] = None

doesn't install python 2.7.15, but 3.6.0. How to make it right?

  1. I can install python 2.7.15 via python.py, but how do I set ` [Paths]
    1. Some applications may need python 2.7 #Python27 = C:\python27 ` automatically?
  2. Python gets installed in CraftRoot/build/binary/python/image-RelWithDebInfo-2.7.15/python and stays there. How can I ensure, that it will get to the installer package afterwards?

    All in all, configuration of KMyMoney detects everything nicely, but it requires some manual work.
if ("Paths", "Python27") in CraftCore.settings:
    python = os.path.join(CraftCore.settings.get("Paths", "Python27"), f"python{CraftCore.compiler.executableSuffix}")
if os.path.exists(python):
    self.subinfo.options.configure.args += f" -DPYTHON_EXECUTABLE=\"{python}\""

And yes, a user needs to manually install python2 and setup the settings value.

Also pip packages can't be shipped they work only as a build dep.

Thanks for pointers but I need more help:

  1. Setting following line in weboob.py ` self.runtimeDependencies["binary/python"] = "2.7.15" `

try

self.buildDependencies["dev-utils/python2"] = None

Are you sure? This line is after the line that's misbehaving.
Besides it's not about "dev-utils/python2" but about "binary/python". I want to install "binary/python" 2.7.15.

doesn't install python 2.7.15, but 3.6.0. How to make it right?

  1. I can install python 2.7.15 via python.py, but how do I set ` [Paths]
    1. Some applications may need python 2.7 #Python27 = C:\python27 ` automatically?
  2. Python gets installed in CraftRoot/build/binary/python/image-RelWithDebInfo-2.7.15/python and stays there. How can I ensure, that it will get to the installer package afterwards?

    All in all, configuration of KMyMoney detects everything nicely, but it requires some manual work.
if ("Paths", "Python27") in CraftCore.settings:
     python = os.path.join(CraftCore.settings.get("Paths", "Python27"), f"python{CraftCore.compiler.executableSuffix}")
 if os.path.exists(python):
     self.subinfo.options.configure.args += f" -DPYTHON_EXECUTABLE=\"{python}\""

And yes, a user needs to manually install python2 and setup the settings value.

What if I wouldn't rely on Python27 variable and point directly to the CraftRoot/build/binary/python/image-RelWithDebInfo-2.7.15/python? No interaction from user and all is automated. Don't you think it's a good idea?

Also pip packages can't be shipped they work only as a build dep.

Why can't they be shipped?
What about python? Is it also unshippable?

The current setup of python is for tools only and not meant to be shipped as part of a package.
But I get more and more requests for shipping python.....
I think we should look into building python2 and python3....

The current setup of python is for tools only and not meant to be shipped as part of a package.
But I get more and more requests for shipping python.....
I think we should look into building python2 and python3....

So, should I do something with this patch or should I wait for you to arrive with a solution?

wojnilowicz abandoned this revision.Mar 10 2019, 6:50 AM