Menu

#1933 Packaging simgear for Alpine Linux (busybox/musl)

None
NeedInfo
nobody
Medium
2018-10-12
2017-01-05
No

Hi,
I've successfully packaged simgear for Alpine Linux. I'm attaching the patch that I've created that I'm pretty sure can't be merged as it is.
Would you please review it and propose one accettable for you?
Thank you very much

  • leo
1 Attachments

Discussion

  • xDraconian

    xDraconian - 2018-09-27
    • labels: --> OS, Linux, Patch
    • Milestone: 2016.3 --> None
     
  • xDraconian

    xDraconian - 2018-10-03
    • status: New --> NeedInfo
     
  • xDraconian

    xDraconian - 2018-10-03

    Are you still pursuing this porting effort?

     
  • Leonardo Arena

    Leonardo Arena - 2018-10-12

    Yes, it was ported. I'm currently using this patch from VoidLinux iirc:

    --- a/simgear/misc/strutils.cxx
    +++ b/simgear/misc/strutils.cxx
    @@ -43,6 +43,11 @@
        #include <windows.h>
     #endif
    
    +#ifdef _GNU_SOURCE
    +#undef _GNU_SOURCE
    +#define _POSIX_C_SOURCE 200112L
    +#endif
    +
     using std::string;
     using std::vector;
     using std::stringstream;
    --- a/simgear/package/md5.h
    +++ b/simgear/package/md5.h
    @@ -20,9 +20,9 @@
     #endif
    
     #if defined(_MSC_VER)
    -typedef unsigned char    u_int8_t;
    -typedef unsigned int     u_int32_t;
    -typedef unsigned __int64 u_int64_t;
    +typedef unsigned char    uint8_t;
    +typedef unsigned int     uint32_t;
    +typedef unsigned __int64 uint64_t;
     #endif
    
     #define    MD5_BLOCK_LENGTH        64
    @@ -30,16 +30,16 @@
     #define    MD5_DIGEST_STRING_LENGTH    (MD5_DIGEST_LENGTH * 2 + 1)
    
     typedef struct MD5Context {
    
    -   u_int32_t state[4];         /* state */
    -   u_int64_t count;            /* number of bits, mod 2^64 */
    -   u_int8_t buffer[MD5_BLOCK_LENGTH];  /* input buffer */
    +   uint32_t state[4];          /* state */
    +   uint64_t count;         /* number of bits, mod 2^64 */
    +   uint8_t buffer[MD5_BLOCK_LENGTH];   /* input buffer */
     } SG_MD5_CTX;
    
     void    SG_MD5Init(SG_MD5_CTX *);
    -void    SG_MD5Update(SG_MD5_CTX *, const u_int8_t *, size_t);
    +void    SG_MD5Update(SG_MD5_CTX *, const uint8_t *, size_t);
     void    SG_MD5Pad(SG_MD5_CTX *);
    -void    SG_MD5Final(u_int8_t [MD5_DIGEST_LENGTH], SG_MD5_CTX *);
    -void    SG_MD5Transform(u_int32_t [4], const u_int8_t [MD5_BLOCK_LENGTH]);
    +void    SG_MD5Final(uint8_t [MD5_DIGEST_LENGTH], SG_MD5_CTX *);
    +void    SG_MD5Transform(uint32_t [4], const uint8_t [MD5_BLOCK_LENGTH]);
    
     #ifdef __cplusplus
     } // of extern C
    

    Thanks

     

Log in to post a comment.

MongoDB Logo MongoDB