Menu

packages in source code form

2014-11-30
2015-06-20
  • Dani Moncayo

    Dani Moncayo - 2014-11-30

    Hello,

    The programs built with the GCCs shipped with MSYS2 have a run-time dependency on libwinpthread-1.dll. So, if I distribute that DLL with my program, I also have to distribute its source code.

    After playing a bit with pacman, I see that the DLL belongs to the package 'mingw-w64-x86_64-libwinpthread-git':

    $ pacman -Ql mingw-w64-x86_64-libwinpthread-git
    mingw-w64-x86_64-libwinpthread-git /mingw64/
    mingw-w64-x86_64-libwinpthread-git /mingw64/bin/
    mingw-w64-x86_64-libwinpthread-git /mingw64/bin/libwinpthread-1.dll

    and I also see the header files and static libraries in the package 'mingw-w64-x86_64-winpthreads-git':

    $ pacman -Ql mingw-w64-x86_64-winpthreads-git
    mingw-w64-x86_64-winpthreads-git /mingw64/
    mingw-w64-x86_64-winpthreads-git /mingw64/share/
    mingw-w64-x86_64-winpthreads-git /mingw64/share/licenses/
    mingw-w64-x86_64-winpthreads-git /mingw64/share/licenses/winpthreads/
    mingw-w64-x86_64-winpthreads-git /mingw64/share/licenses/winpthreads/COPYING
    mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/
    mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/include/
    mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/include/pthread.h
    mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/include/pthread_compat.h
    mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/include/pthread_signal.h
    mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/include/pthread_time.h
    mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/include/pthread_unistd.h
    mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/include/sched.h
    mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/include/semaphore.h
    mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/lib/
    mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/lib/libpthread.a
    mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/lib/libpthread.dll.a
    mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/lib/libwinpthread.a
    mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/lib/libwinpthread.dll.a

    But what I don't find is a package with the source code of this library. In general, where can I find the source code for library 'libfoo' that is shipped with MSYS2 via pacman? (I'm surprised that there are no 'libfoo-src' packages with the source code for 'libfoo')

     

    Last edit: Dani Moncayo 2014-11-30
    • Ray Donnelly

      Ray Donnelly - 2014-12-01

      On Sun, Nov 30, 2014 at 10:13 PM, Dani Moncayo dmoncayo@users.sf.net wrote:

      Hello,

      The programs build with the GCCs shipped with MSYS2 have a run-time
      dependency on libwinpthread-1.dll. So, if I distribute that DLL with my
      program, I also have to distribute its source code.

      After playing a bit with pacman, I see that the DLL belongs to the package
      'mingw-w64-x86_64-libwinpthread-git':

      $ pacman -Ql mingw-w64-x86_64-libwinpthread-git
      mingw-w64-x86_64-libwinpthread-git /mingw64/
      mingw-w64-x86_64-libwinpthread-git /mingw64/bin/
      mingw-w64-x86_64-libwinpthread-git /mingw64/bin/libwinpthread-1.dll

      and I also see the header files and static libraries in the package
      'mingw-w64-x86_64-winpthreads-git':

      $ pacman -Ql mingw-w64-x86_64-winpthreads-git
      mingw-w64-x86_64-winpthreads-git /mingw64/
      mingw-w64-x86_64-winpthreads-git /mingw64/share/
      mingw-w64-x86_64-winpthreads-git /mingw64/share/licenses/
      mingw-w64-x86_64-winpthreads-git /mingw64/share/licenses/winpthreads/
      mingw-w64-x86_64-winpthreads-git /mingw64/share/licenses/winpthreads/COPYING

      ^ Did you read this file? Seems there's no need to supply the source
      code for winpthread-1.dll which you were asking about in a previous
      thread.

      mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/
      mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/include/
      mingw-w64-x86_64-winpthreads-git
      /mingw64/x86_64-w64-mingw32/include/pthread.h
      mingw-w64-x86_64-winpthreads-git
      /mingw64/x86_64-w64-mingw32/include/pthread_compat.h
      mingw-w64-x86_64-winpthreads-git
      /mingw64/x86_64-w64-mingw32/include/pthread_signal.h
      mingw-w64-x86_64-winpthreads-git
      /mingw64/x86_64-w64-mingw32/include/pthread_time.h
      mingw-w64-x86_64-winpthreads-git
      /mingw64/x86_64-w64-mingw32/include/pthread_unistd.h
      mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/include/sched.h
      mingw-w64-x86_64-winpthreads-git
      /mingw64/x86_64-w64-mingw32/include/semaphore.h
      mingw-w64-x86_64-winpthreads-git /mingw64/x86_64-w64-mingw32/lib/
      mingw-w64-x86_64-winpthreads-git
      /mingw64/x86_64-w64-mingw32/lib/libpthread.a
      mingw-w64-x86_64-winpthreads-git
      /mingw64/x86_64-w64-mingw32/lib/libpthread.dll.a
      mingw-w64-x86_64-winpthreads-git
      /mingw64/x86_64-w64-mingw32/lib/libwinpthread.a
      mingw-w64-x86_64-winpthreads-git
      /mingw64/x86_64-w64-mingw32/lib/libwinpthread.dll.a

      But what I don't find is a package with the source code of this library. In
      general, where can I find the source code for library 'libfoo' that is
      shipped with MSYS2 via pacman? (I'm surprised that there are no 'libfoo-src'
      packages with the source code for 'libfoo')


      packages in source code form


      Sent from sourceforge.net because you indicated interest in
      https://sourceforge.net/p/msys2/discussion/general/

      To unsubscribe from further messages, please visit
      https://sourceforge.net/auth/subscriptions/

       
  • Dani Moncayo

    Dani Moncayo - 2014-12-01

    Answering myself: the source code for all MSYS2 packages seems to be here:

    https://sourceforge.net/projects/msys2/files/REPOS/MINGW/Sources/

     

    Last edit: Dani Moncayo 2014-12-01
  • David Grayson

    David Grayson - 2015-05-06

    Dani, you can find the source code for that package here:

    https://github.com/Alexpux/MINGW-packages/tree/master/mingw-w64-winpthreads-git

    The PKGBUILD script in that directory downloads the source from git://git.code.sf.net/p/mingw-w64/mingw-w64 and applies one patch.

    In general, the Alexpux/MINGW-packages repository or the Alexpux/MSYS2-packages repository is a good starting point for finding the source code of things in MSYS2. I think the source archive you found gets generated from those PKGBUILD scripts somehow.

     

    Last edit: David Grayson 2015-05-06
    • David Macek

      David Macek - 2015-05-06

      You are correct, we use our build system (makepkg) to generate both pre-built packages and archives with all sources, as defined in the PKGBUILD files.

       
  • Dani Moncayo

    Dani Moncayo - 2015-06-20

    It would be very convenient for us (the users of MSYS2) being able of getting the source code via pacman. That is, for each binary/devel package, define a source package with the corresponding source code.

    Cygwin (for example) does it (example: https://cygwin.com/packages/x86/cygwin64-gnutls/). Would it be possible?

    TIA

     
  • Dani Moncayo

    Dani Moncayo - 2015-06-20

    I think the above is definitely a good idea. I'll report it as a ticket.