Coder Social home page Coder Social logo

Support Windows? about python-gssapi HOT 19 CLOSED

pythongssapi avatar pythongssapi commented on May 27, 2024
Support Windows?

from python-gssapi.

Comments (19)

aiudirog avatar aiudirog commented on May 27, 2024 1

I've been looking into it and Travis does support Windows now so I'll put some work into at the very least getting it to build and generate wheels.

from python-gssapi.

neirbowj avatar neirbowj commented on May 27, 2024 1

I just have to say---and I know that this isn't necessarily appropriate for an issue thread---that I really appreciate the work each of you is doing to help achieve this. I wish there were more I could do to help move things along.

from python-gssapi.

filmor avatar filmor commented on May 27, 2024

What needs to be done to get there?

from python-gssapi.

DirectXMan12 avatar DirectXMan12 commented on May 27, 2024
  1. Compilation needs to be tested in Windows with MIT Kerberos for Windows on MinGW.
  2. The conditional compilation logic needs to be adjusted to work for Windows
  3. We need a way to build wheel files for Windows (optional, but useful for anyone who actually wants to use this on Windows).

from python-gssapi.

frozencemetery avatar frozencemetery commented on May 27, 2024

Other "nice to have" - some way to run our test suite, since I don't think k5test will work there.

from python-gssapi.

ibigpapa avatar ibigpapa commented on May 27, 2024

So using the MIT KfW. I see the source is available as well as precompiled sources could we just wrap these to make it work?

from python-gssapi.

DirectXMan12 avatar DirectXMan12 commented on May 27, 2024

yeah, it really comes down to finding time and a Windows box to test on (plus setting up CI to make sure we don't break anything), plus tweaking setup.py to work properly on Windows.

from python-gssapi.

ibigpapa avatar ibigpapa commented on May 27, 2024

I'm working on trying to hack this in myself let you know how i do.

from python-gssapi.

DirectXMan12 avatar DirectXMan12 commented on May 27, 2024

cool. Feel free to ping us on #python-gssapi on freenode if you have any questions best answered in a real-time manner (I'm usually on from 10:00-17:00EST)

from python-gssapi.

frozencemetery avatar frozencemetery commented on May 27, 2024

2a2b47b adds support for conditional compilation. Still missing are building wheels and running buildjob CI. Much like with Heimdal, a stretch goal is to port k5test so we can run the test suite there.

from python-gssapi.

aiudirog avatar aiudirog commented on May 27, 2024

I've been working on Windows support the past couple of days to get my company to move off of requests-kerberos (I had previously patched ccs-kerberos to work on Windows) and got everything to compile properly under VS Build Tools, MinGW, and MSYS. Unfortunately I won't be able to test until I'm back at work on Monday since k5test isn't ported yet. My current progress can be found here.

Changes:

  • I created a predefined macro (__MSYS__) to allow the header files to detect MinGW under MSYS so that when it isn't under it, they can target MIT Kerberos for Windows instead (which also seems to have better extension support).
  • To get it compile under VS:
    • I had to cast all slicing of gss_buffer_desc.values to char* because many platforms seem to declare it as a void* instead and cl.exe doesn't like void* pointer arithmetic. This can be found a separate commit.
    • libraries is now passed separately to Extension like library_dirs so that Extension itself can determine how to pass them to the linker.
  • link_args and compile_args are now always lists. This is to support arguments which may have spaces in them, like include paths on Windows.

from python-gssapi.

aiudirog avatar aiudirog commented on May 27, 2024

Everything seems to be working as expected. I was able to connect to our internal Apache Livy and Phoenix servers on Windows and use them as normal through requests-gssapi.

from python-gssapi.

frozencemetery avatar frozencemetery commented on May 27, 2024

That's awesome, well done! Do you have any idea how this could be tested in CI? (Presumably just checking that the build works, as we do with Heimdal, since the krb5 server parts don't run on Windows, but don't let me stop you if you're feeling ambitious.)

from python-gssapi.

aiudirog avatar aiudirog commented on May 27, 2024

I've opened a pull request to start playing with the Travis build. Hopefully this goes more smoothly than I'm expecting.

from python-gssapi.

aiudirog avatar aiudirog commented on May 27, 2024

@frozencemetery I have it building on 2.7, 3.6, and 3.7 on Windows and I think I configured the deployment right, though I'm not sure. This is my first time using Travis (only experience with Jenkins, though I'm liking Travis a lot) so I might have missed something. Is there any way to do a mock deployment to test it?

from python-gssapi.

frozencemetery avatar frozencemetery commented on May 27, 2024

Either you figured it out, or I'm not understanding the question :) Please post a comment in that PR when it's ready for review.

from python-gssapi.

aiudirog avatar aiudirog commented on May 27, 2024

My question was purely about deploying the wheels. Not sure if I set it up right since you can't test deployment from a PR. I guess we can test once it's merged.

from python-gssapi.

frozencemetery avatar frozencemetery commented on May 27, 2024

@aiudirog So I ran into some problems trying to cut a release for this. I made some fixes - a6e3f08 and 5c80107 - but then I ran into failure trying to use pypi - first second and third subjobs.

It seems to me - and please let me know if this isn't right - that we can't build wheels from Travis right now. That being the case, how would you feel about using Appveyor for this instead? (I think that works...)

from python-gssapi.

aiudirog avatar aiudirog commented on May 27, 2024

This seems to be the issue to keep an eye on.

For now, we can probably just manually upload using a script deployment and twine. I'm going to give that a try before redoing the whole thing in Appveyor.

from python-gssapi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.