From 6cc5892d40f01a6c8fc0140518a8b9fc7731eeef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Buchm=C3=BCller?= Date: Sat, 31 Oct 2015 15:34:37 +0100 Subject: [PATCH] New package: flightgear-3.4.0 --- srcpkgs/flightgear-data | 1 + srcpkgs/flightgear/files/flightgear.png | Bin 0 -> 5849 bytes .../patches/fix-link_with_x11.patch | 36 ++++ srcpkgs/flightgear/patches/musl-fenv.patch | 19 ++ .../flightgear/patches/musl-fix_error_h.patch | 14 ++ .../flightgear/patches/musl-fix_fpos_t.patch | 17 ++ srcpkgs/flightgear/template | 42 ++++ .../simgear/patches/fix-osg_versions.patch | 187 ++++++++++++++++++ srcpkgs/simgear/patches/musl-u_types.patch | 107 ++++++++++ srcpkgs/simgear/template | 22 +++ 10 files changed, 445 insertions(+) create mode 120000 srcpkgs/flightgear-data create mode 100644 srcpkgs/flightgear/files/flightgear.png create mode 100644 srcpkgs/flightgear/patches/fix-link_with_x11.patch create mode 100644 srcpkgs/flightgear/patches/musl-fenv.patch create mode 100644 srcpkgs/flightgear/patches/musl-fix_error_h.patch create mode 100644 srcpkgs/flightgear/patches/musl-fix_fpos_t.patch create mode 100644 srcpkgs/flightgear/template create mode 100644 srcpkgs/simgear/patches/fix-osg_versions.patch create mode 100644 srcpkgs/simgear/patches/musl-u_types.patch create mode 100644 srcpkgs/simgear/template diff --git a/srcpkgs/flightgear-data b/srcpkgs/flightgear-data new file mode 120000 index 00000000000..78d6c8c1a0f --- /dev/null +++ b/srcpkgs/flightgear-data @@ -0,0 +1 @@ +flightgear \ No newline at end of file diff --git a/srcpkgs/flightgear/files/flightgear.png b/srcpkgs/flightgear/files/flightgear.png new file mode 100644 index 0000000000000000000000000000000000000000..00992f1baf3f46665c03fafab401a926cfa5e2f9 GIT binary patch literal 5849 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4mJh`hH$2z?FH=O_A9J{B1{ZE>Pof@3=Fa*t`Q~9`MJ5Nc_j?a zMX8A;sVNHOnI#ztAsML(?w-B@?^9Is7#PHCJzX3_DsK7Cid>U>Gj!g5!{;$)<91vB zF4?|%RrTsqrK?YsNlrhQ5N*cS$$M-Dhf9(pOQ%xD6mu32kIK`*a!RhJobOH6P?{+8 zNTWB0TfK{MF~h--4$b?EZbfgm|7(~2e($cEJvM8C!|q*+*&SJY&h*&-|BvN^>mJJg z(-l1+bx^8VaiV0iag*@_o(SfI4vjd`^%LW!*lDe53iJr{@Vu~M1rrm~Vb-oyi>5mZ zGP3w`RauJd{j+b9M~7hqcPisCl@P_veRoto*%-}za;5jduN%!=Y)88iSegWllr;oG zI5~d_1hN=%zCQ5ODe%Awk)(iK=N?tRa8_bdU8!I{LuUowHsf9-bdPZ(iZNe`uB29Npjl^N$}i&{1QszIroqMok6tt@{yM_p{IVr*sgBXoZ*qIc~?TNN$_h_q=i&aZm4&EZDcai5o-J5uj1oGm8Lt9WP{%Q}uX zVvU}5Efe~^r7f$FcgE&{~zm6OJP4O`$hr`)|w)^)c#L=or+eyDg&n=-fNj%o{sIXMJ`s z)$TZ!FgMwx%))R5XURs@jBfP@(av|dmd91hU~z3XU%{*&vD)DmV~dn%QqPhp3_lOn zrZhx_1O}QM)Hv^1yJVAUbhPNz9V$Ovq7Sd~{8D>#*FJ|@-$=0?C&TE?o6*sfQJ}f*K-To`E8cI! z*GSBfD$?nmYk505xoZ#eb;Zc`8B&4VnwQLMPg@z}wO*0>bLz3!d7S_yKOw_!TV|W? zwNDO8jhM|bbNNMwAXaXR_TmInzK0Wqq^9l@e5Lk0MUvAn>4?Ij!zybh=&9$itg+aX zaC3gnWY^& z?%JK(?l*Qygg#lm|4U_W?vjKNMQ+Ofdu#U#aL>`Meg_i*`! zyjpNYu4sDT4IbYOFSCTaJTeo~ekv?!ll5EGA=<+;pVKQ(cJiWxxZcQ+Q#C~=&h3$3 zV9mRq`RLvs3$tx3t(JXdJR7ws&_9yXi{U`$1g0YzOA-VM3oP@LO=44o6+0#bIZYNy zTJ*B&NWsh%O@?gQ_BU9Lu9ze=y)sdOS74PykA`jI<U41@8RfJTyQE!Cuh2W zw#aqAd&x0*GlUdXlZ2dnj;uJsk>#+-#f)io>JwMCtj<8oNU3xF2fho=XSybl6wo7h zgy++2??t?ZO%0;P2Ua$0WJ}h${yo3o_cQN36|YtEY)iYhzu$jWzVt+UL`FXYX3D zj`cn7OXkcqRWo-8>`~`k%8=A%uD}&I<@N9Dl`nTruYCHmzwq}>@tgDVlh?YsMCeV| z`J_89*2cTy)aP*idpnNAH%q+uZSkR_Nw8q`=MzaEMObB5bI|MR0_{leV$QZr8) zoJ*K{v?Fn6Ows>;wQ=>2^?x4T|HJuS?H@C{Zw&`$G)g2hJ(oGbzJ&ALzs1RY{^uoo zz01Uc)i!g<>&%*x!ti|KEaP*$y}cd0JP{@xJ14YxotmZSslJ#qynNjz)3^_ZjP*Zh z@Bg74vaR9FqrJzYyr-oy%$YmiaQ0aXOUp<7|NdCl{JkCj{9N^Yc4kerIc}3qchqs5 zUeaaCnJBSZ?aB1Ir^~naPwb5sUYcgJT}MoErsotkBW^>-DK5fFv+auZy}Ow+r7U@) z&kd>fMrYGwZtp#&|NoKx<{A0LAD%R*v-{t;B5n8S(P^9d->h?rO?(eOe5hD{Z^z;C z|BueEC_Oy)`@0VxUNCBEecV)3{qkC_-RBoA_a8FJv-?S&nCK|Bicj>>`oGuuS8G=F z^u{DHtO$zOFzH6iyeMT|*-1LLAFqy?X@CCf+uLV8X=iBcwAlaP&!0I@Pinrt+9m(@ z%<`Y7!uJ^+`Eqm8*Q!>D?uf(E@AsYi|0n)`^Zp;JuUqW4kQL})^h$KtG-XQtul|3M z`gWzW?SI~{KXse`{-f;s|N4(eY`7-mbU?Cst5|rv&PnZN>Bu9F{t6ihH(8H8?ODEV z|Cz6Q#dqwhXw>eGwlG$z@|S0>y&jxzCShpt{Kl;Oheqv&ZP(+fd;RM^P4;;ntY>Cg zE`RUw+}-a#yx;dv|E7s{h-fyOT&E##jPoIh!)K+>fA}f?H(N$t_T$<7n#sQV)mj=B zyja@i707w;@vF}#p6yw#v)tzQ9d4WQ->G>q)qSt6&l}0U7j{-@ao~`9&zu{5d8=*i z{R`V=U;Cadv3Z(a|4rLsdSOMuk-NY9BXXna-tVt(Umd=_U{lP+FS5rDJdgYPy5_O< zf61Ol${t)CX$_&q6E26>Kbvl#wCDf7-yIx#w^=No(6WRxU58QjQ_GT?kBjXO-v4{H z-sy71t#ylEOC@z|@pbO$6tF#5{mbrx39tC`=WF!NMXWd9viCxc4gb6P?)3ThpB)|Ly%=`Tj2Zp8xM^`S|%}`WfZL#D3V=U*EKRUe&z2ceTI7x_%1&_qu-9 z;TlHs`FEd**S%YQ!sz((`akZ4=M*@?_kEeXr{Fj1zQ4ckKl+_tJO8`<9`;HH-=w={ ze-2IG=k?C3NAey6)9gB5FV4q0Nje!vI$cGcJm2^0VWS>nwozQwN8vehY@dC2(9pef zxuy87-lnJ?;|z&8o#(1Q?R?m7_cgHYoA-W?mu`3V{4|;T(#&73^v~7r^FKVBo&Wg{ zw{^@;v!_?Xg~~1MPn7kHkJtrm zmp!QV&CVqC`>82wZ_e?r|8u(L(c|?+x&JkfNZs1@_~T^fYo~>RPJaLQsdV1&3sY|9 zoVxf>a`MZLxp#Hrs$Pm+)2hAC-%%2|R8~gr)9d~JqPKk2+yD1={IS&q-ybsnJN>@4 zcX4;JP3IEM-;dhA|10E@oNavk)5Z;UY;SeXy80_UJd)&6kaW`6{q8mw&m~3|%4EN~ z9#6aZVQv0DyZiOOP2=hxoBrCi{JqVhiF;n`{OEJ^>}>9H=d=0v`d(J`fA9SM-tO7! z|8Kv0t~#?UxkvQWCY94h|GxO|J6-?d`~3&Uu1^2?$G@g&+t-kz9Jjg8zLZq$E4%v0 z&tFF`#X`qb(vYv_b^ELZyGJXAGvw-i zB-vxk@}eb@9O(a+pD{^!;9zHR37^HQu*DU@AVb`AJ*nDe%_?;lBe?J)#xtKIZ zTY|WqpOPJKFfBGmts^5nOMm)8m<%Zj_}p53(gjM1hu8>6=Sq$k&Xeg9wUea(OW z%N8R&lMOn>!lfJ*aUGq+T-wEUMHoe7t?fmke&RM_z^x~p( zP}BOq@BTj(o7S2i0DO)~e@~ca;C(56A{6abQ?&a$fcbCf*m;RTk|DA4keD?bPsZjVOLX8*$1+SiI(&yh!N|juF;c~iyS<>QwXKfRu zu1L(1_;K$pyUg7Ao3oJU6}-x<(Xc~;hb{2v%1!TV?9^&HVq#(hZaJ7rPmc8d(0DTANK)8C zF8Ap|v!|wS&Cz&n`PkF3`l8S|rkzgujc(TO>@5#jIA0TczD7(<|#zcdAYga5| z)ib|xTzZ{eSw@ZfCMToj%z|2*r^l{|Emk^Qs^YULf{nZ2GT)?w)&4h1B(zsJn65e@ zCg~~Kyx?F#)efaA^Rmnq-C8N3uk$tPgShQ%GXqVdZS&=f^|%+g{rl7V{h~@pW{~zPUO>@rfZRECin5x=kuGQr_Pz1`{UgF{hk}`lk&@to%`2vGKWc1A^yit z`O6}TKMthrO|&|nvJ}VJx|u`J8DuM zGBY_$bj!ZyU(4Tpe(*tLl0jkev7aqA=Nnr#vrQ6mdUS6w^QVc))kf**cB$EBkIqTI z-<)F>vvcd&l=PO3(?Z<2jJ7=&exfX2A7?x7=9)*(Hec5`&L^nK)$BWi<*OIZgV*!& zgfC8zc*+{qazWinzJt-~et@s+QICk6vz8V%kMBKx>@6+l7G+`5QOeA5D7@l5xu+`n!l;a*nKP-ph_30v$;n8hWQ^_{mgv+pg15^9VXOYt|>P zM*hy@$Csb^EGcX)7sJQ%St~icx=DRw%W~N%rHkciz5_l@JadX=X(afn=G#7dw5t!lc zm1kSr>pAb@RarxqbLYa=-0n+VVQG6eU}x7V4TG77zsoHSID0%NOuMJ?%(EX8Zmf|$ z7j7ETxqAEe8Rv_-?lg!_;y9}&V0CoWg&eDz)fU;hX4_Y&t<(9o(b(PcoMGMufn*L3 zlNP(gHA0Ig?J<%Ry|e3|$YZT^t92cAg0=qdm7kWl=r{h;5em%7+~B9NwqRG@%~|1F zW}8k9Y>asLXwTCJ4|?=ix8;Ssd6OR)V(G?nPkUi_%^O3Bn1u>X6Q8HZ?#SAG;8|Nu z%!Gcnv%Xnp&(JmJ9H zls)AoXDUpX7VycgUU#fJJvLusbB~1et!2-jylDz>$*X;$S+>q^qf&=t&d+`PKg@Ve zYI}7xZFc(7xvqOh(!&|yqOlwjhc39CWSQLN=ei%nE(wy5}iS<9ZRsnuQc_4>XANxZEoOY97bI`^Eg*q8BA za^%D0%0m%}0yF*MI!-PcHRcMNQEu`ThUIBDGG&x|y9a;8{A~ zusQknItzS@eD01R+f|Kfmd7WOOyk z=kr_nx7XGPVKW>a@}onZNropS_snu>al1ek+yo6Q9@HEdBhm7n>b+cnkwCtH6mTA(58x$wQx>CL9>{e3I-v$n08^fl3AW8R(EEOXUk^SibU%z1Cl?<`8?4v%QssAA~6_)tXBt`hMhe6iRnCO05slRX0=Dm{9-IC|D+WF7#`2J4VMDv>Dvdx_5 zZR)3rEXY61|7L$p%EwrhilwiAEo7W4y~Z%)@}!R@>aMPfKOOu2?(?7C*E(szarLid z`OZ&|$UaeYyduUhJ|yHZ*K}Ut?{OQ?1tr`(RrKxn +Date: Tue, 17 Feb 2015 22:49:50 +0100 +Subject: [PATCH] explicitely link with libX11 + +--- + src/Main/CMakeLists.txt | 1 + + utils/fgviewer/CMakeLists.txt | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/src/Main/CMakeLists.txt b/src/Main/CMakeLists.txt +index 12c0961..78c4163 100644 +--- src/Main/CMakeLists.txt ++++ src/Main/CMakeLists.txt +@@ -142,6 +142,7 @@ target_link_libraries(fgfs + ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES} + ${SIMGEAR_SCENE_LIBRARY_DEPENDENCIES} + ${PLATFORM_LIBS} ++ ${X11_X11_LIB} + ) + + if(ENABLE_FLITE) +diff --git a/utils/fgviewer/CMakeLists.txt b/utils/fgviewer/CMakeLists.txt +index 165be74..065b8f1 100644 +--- utils/fgviewer/CMakeLists.txt ++++ utils/fgviewer/CMakeLists.txt +@@ -48,5 +48,6 @@ target_link_libraries(fgviewer + ${OPENGL_LIBRARIES} + ${FGVIEWER_RTI_LIBRARIES} + ${SIMGEAR_CORE_LIBRARY_DEPENDENCIES} ++ ${X11_X11_LIB} + ) + install(TARGETS fgviewer RUNTIME DESTINATION bin) +-- +2.1.0 + diff --git a/srcpkgs/flightgear/patches/musl-fenv.patch b/srcpkgs/flightgear/patches/musl-fenv.patch new file mode 100644 index 00000000000..2192fb9a7d7 --- /dev/null +++ b/srcpkgs/flightgear/patches/musl-fenv.patch @@ -0,0 +1,19 @@ +Simply disabling the code which enables floating point exceptions +is probably wrong, but I don't have a replacement for the +non-posix functions fegetexcept(3) and feenableexcept(3). + +--- src/Main/bootstrap.cxx 2015-02-18 21:10:05.000000000 +0100 ++++ src/Main/bootstrap.cxx 2015-11-01 01:25:56.665212195 +0100 +@@ -96,8 +96,12 @@ + initFPE (bool fpeAbort) + { ++#if defined(__GLIBC__) + if (fpeAbort) { + int except = fegetexcept(); + feenableexcept(except | FE_DIVBYZERO | FE_INVALID); + } else { + signal(SIGFPE, handleFPE); + } ++#else ++ signal(SIGFPE, handleFPE); ++#endif diff --git a/srcpkgs/flightgear/patches/musl-fix_error_h.patch b/srcpkgs/flightgear/patches/musl-fix_error_h.patch new file mode 100644 index 00000000000..1e3b04e9362 --- /dev/null +++ b/srcpkgs/flightgear/patches/musl-fix_error_h.patch @@ -0,0 +1,14 @@ +There is no in musl libc, thus enable the +include only if __GLIB__ is defined. + +--- 3rdparty/iaxclient/lib/libiax2/src/iax.c 2015-02-18 21:10:05.000000000 +0100 ++++ 3rdparty/iaxclient/lib/libiax2/src/iax.c 2015-10-31 17:14:55.477461723 +0100 +@@ -75,7 +75,7 @@ + // FlightGear: Modified to include FreeBSD + #if !defined(MACOSX) && !defined(__OpenBSD__) && !defined(__FreeBSD__) + #include +-#if !defined(SOLARIS) ++#if !defined(SOLARIS) && defined(__GLIBC__) + #include + #endif + #endif diff --git a/srcpkgs/flightgear/patches/musl-fix_fpos_t.patch b/srcpkgs/flightgear/patches/musl-fix_fpos_t.patch new file mode 100644 index 00000000000..2cf9e559b3a --- /dev/null +++ b/srcpkgs/flightgear/patches/musl-fix_fpos_t.patch @@ -0,0 +1,17 @@ +For musl libc return the file position using +ftell(3) because fpos_t is opaque. + +--- 3rdparty/hts_engine_API/lib/HTS_misc.c 2015-02-18 21:10:05.000000000 +0100 ++++ 3rdparty/hts_engine_API/lib/HTS_misc.c 2015-10-31 17:33:53.946349145 +0100 +@@ -247,8 +247,10 @@ + fgetpos((FILE *) fp->pointer, &pos); + #if defined(_WIN32) || defined(__CYGWIN__) || defined(__APPLE__) || defined(__ANDROID__) || defined(__FreeBSD__) + return (size_t) pos; +-#else ++#elif defined(__GLIBC__) + return (size_t) pos.__pos; ++#else ++ return (size_t) ftell(fp->pointer); + #endif /* _WIN32 || __CYGWIN__ || __APPLE__ || __ANDROID__ */ + } + HTS_error(0, "HTS_ftell: Unknown file type.\n"); diff --git a/srcpkgs/flightgear/template b/srcpkgs/flightgear/template new file mode 100644 index 00000000000..85dacefe289 --- /dev/null +++ b/srcpkgs/flightgear/template @@ -0,0 +1,42 @@ +# Template file for 'flightgear' +pkgname=flightgear +version=3.4.0 +revision=1 +build_style=cmake +configure_args="-DFG_DATA_DIR:STRING=/usr/share/flightgear/fgdata" +hostmakedepends="cmake fltk pkg-config" +makedepends="MesaLib-devel boost-devel freealut-devel glu-devel libfreeglut-devel fltk-devel + libopenal-devel osg-devel plib-devel simgear" +depends="flightgear-data>=${version}" +short_desc="Sophisticated flight wimulator" +maintainer="Jürgen Buchmüller " +license="GPL-3" +homepage="http://www.flightgear.org/" +distfiles=" + http://ftp.igh.cnrs.fr/pub/flightgear/ftp/Source/flightgear-${version}.tar.bz2 + http://ftp.igh.cnrs.fr/pub/flightgear/ftp/Shared/FlightGear-data-${version}.tar.bz2" +checksum=" + b5645d05b50728a89f091292bc557f440d8f8719dd9cebf7f5bf3fa8ea795780 + 8cefa7c323d974d8e51fd23c97ae79dc731e65b81e1729cb1bc9bc1f99df128b" + +if [ "$CROSS_BUILD" ]; then + configure_args+=" -DSIMGEAR_COMPILE_TEST_EXITCODE=0" +fi + +post_install() { + vinstall package/flightgear.desktop 644 usr/share/applications + vinstall package/flightgear.ico 644 usr/share/icons + vinstall ${FILESDIR}/flightgear.png 644 usr/share/pixmaps + vinstall scripts/completion/fg-completion.bash 644 usr/share/bash-completion/completions/fgfs + sed -i ${DESTDIR}/usr/share/applications/flightgear.desktop \ + -e "s;Exec=.*;Exec=fgfs --fg-root=/usr/share/flightgear/fgdata;" +} + +flightgear-data_package() { + short_desc+=" - data files" + noarch=yes + pkg_install() { + vmkdir usr/share/flightgear + mv ${XBPS_BUILDDIR}/fgdata ${PKGDESTDIR}/usr/share/flightgear + } +} diff --git a/srcpkgs/simgear/patches/fix-osg_versions.patch b/srcpkgs/simgear/patches/fix-osg_versions.patch new file mode 100644 index 00000000000..ce60687d3c9 --- /dev/null +++ b/srcpkgs/simgear/patches/fix-osg_versions.patch @@ -0,0 +1,187 @@ +--- simgear/canvas/elements/CanvasText.cxx 2015-02-18 21:10:39.000000000 +0100 ++++ simgear/canvas/elements/CanvasText.cxx 2015-10-31 11:45:28.423416396 +0100 +@@ -159,13 +159,17 @@ + + if( empty() ) + return pos; +- ++#if OSG_VERSION_LESS_THAN(3,3,5) + GlyphQuads::Coords2 const& coords = _quads->_coords; ++#else ++ GlyphQuads::Coords2 refCoords = _quads->_coords; ++ GlyphQuads::Coords2::element_type &coords = *refCoords.get(); ++#endif + size_t global_i = _begin + i; + + if( global_i == _begin ) + // before first character of line + pos.x() = coords[_begin * 4].x(); + else if( global_i == _end ) + // After Last character of line + pos.x() = coords[(_end - 1) * 4 + 2].x(); +@@ -194,7 +198,12 @@ + return cursorPos(0); + + GlyphQuads::Glyphs const& glyphs = _quads->_glyphs; ++#if OSG_VERSION_LESS_THAN(3,3,5) + GlyphQuads::Coords2 const& coords = _quads->_coords; ++#else ++ GlyphQuads::Coords2 refCoords = _quads->_coords; ++ GlyphQuads::Coords2::element_type &coords = *refCoords.get(); ++#endif + + float const HIT_FRACTION = 0.6; + float const character_width = _text->getCharacterHeight() +@@ -627,7 +636,12 @@ + + const GlyphQuads& quads = _textureGlyphQuadMap.begin()->second; + const GlyphQuads::Glyphs& glyphs = quads._glyphs; +- const GlyphQuads::Coords2& coords = quads._coords; ++#if OSG_VERSION_LESS_THAN(3,3,5) ++ GlyphQuads::Coords2 const& coords = quads._coords; ++#else ++ GlyphQuads::Coords2 refCoords = quads._coords; ++ GlyphQuads::Coords2::element_type &coords = *refCoords.get(); ++#endif + const GlyphQuads::LineNumbers& line_numbers = quads._lineNumbers; + + float wr = _characterHeight / getCharacterAspectRatio(); +--- simgear/scene/material/Technique.cxx 2015-02-18 21:10:39.000000000 +0100 ++++ simgear/scene/material/Technique.cxx 2015-10-31 11:50:38.266385757 +0100 +@@ -326,9 +326,15 @@ + = GL2Extensions::Get(static_cast(contextId), true); + if (!extensions) + return; ++#if OSG_VERSION_LESS_THAN(3,3,4) + if (!extensions->isGlslSupported()) + return; + value = extensions->getLanguageVersion(); ++#else ++ if (!extensions->isGlslSupported) ++ return; ++ value = extensions->glslLanguageVersion; ++#endif + } + }; + +@@ -357,7 +363,11 @@ + = GL2Extensions::Get(static_cast(contextId), true); + if (!extensions) + return; ++#if OSG_VERSION_LESS_THAN(3,3,4) + value = extensions->isGlslSupported(); ++#else ++ value = extensions->isGlslSupported; ++#endif + } + }; + +--- simgear/scene/sky/CloudShaderGeometry.cxx 2015-02-18 21:10:39.000000000 +0100 ++++ simgear/scene/sky/CloudShaderGeometry.cxx 2015-10-31 11:53:28.855368888 +0100 +@@ -128,7 +128,11 @@ + sortData.frameSorted = frameNumber; + } + ++#if OSG_VERSION_LESS_THAN(3,3,4) + const Extensions* extensions = getExtensions(state.getContextID(),true); ++#else ++ const GLExtensions* extensions = GLExtensions::Get(state.getContextID(),true); ++#endif + GLfloat ua1[3] = { (GLfloat) alpha_factor, + (GLfloat) shade_factor, + (GLfloat) cloud_height }; +--- simgear/scene/tgdb/ShaderGeometry.cxx 2015-02-18 21:10:39.000000000 +0100 ++++ simgear/scene/tgdb/ShaderGeometry.cxx 2015-10-31 11:55:05.748359307 +0100 +@@ -47,7 +47,11 @@ + void ShaderGeometry::drawImplementation(osg::RenderInfo& renderInfo) const + { + State& state = *renderInfo.getState(); ++#if OSG_VERSION_LESS_THAN(3,3,4) + const Extensions* extensions = getExtensions(state.getContextID(), true); ++#else ++ const GLExtensions* extensions = GLExtensions::Get(state.getContextID(), true); ++#endif + Vec4Array::const_iterator citer = _posScaleArray->begin(); + Vec4Array::const_iterator cend = _posScaleArray->end(); + FloatArray::const_iterator viter = _vertexAttribArray->begin(); +--- simgear/scene/util/SGSceneFeatures.cxx 2015-02-18 21:10:39.000000000 +0100 ++++ simgear/scene/util/SGSceneFeatures.cxx 2015-10-31 12:02:22.654316104 +0100 +@@ -25,11 +25,13 @@ + + #include "SGSceneFeatures.hxx" + ++#include + #include + #include + #include + #include + #include ++#include + + #include + #include +@@ -84,12 +84,18 @@ + bool + SGSceneFeatures::getHavePointSprites(unsigned contextId) const + { ++#if OSG_VERSION_LESS_THAN(3,3,4) + return osg::PointSprite::isPointSpriteSupported(contextId); ++#else ++ const osg::GLExtensions* ex = osg::GLExtensions::Get(contextId, true); ++ return ex && ex->isPointSpriteSupported; ++#endif + } + + bool + SGSceneFeatures::getHaveFragmentPrograms(unsigned contextId) const + { ++#if OSG_VERSION_LESS_THAN(3,3,4) + const osg::FragmentProgram::Extensions* fpe; + fpe = osg::FragmentProgram::getExtensions(contextId, true); + if (!fpe) +@@ -98,11 +104,16 @@ + return false; + + return true; ++#else ++ const osg::GLExtensions* ex = osg::GLExtensions::Get(contextId, true); ++ return ex && ex->isFragmentProgramSupported; ++#endif + } + + bool + SGSceneFeatures::getHaveVertexPrograms(unsigned contextId) const + { ++#if OSG_VERSION_LESS_THAN(3,3,4) + const osg::VertexProgram::Extensions* vpe; + vpe = osg::VertexProgram::getExtensions(contextId, true); + if (!vpe) +@@ -111,6 +122,10 @@ + return false; + + return true; ++#else ++ const osg::GLExtensions* ex = osg::GLExtensions::Get(contextId, true); ++ return ex && ex->isVertexProgramSupported; ++#endif + } + + bool +@@ -124,6 +139,7 @@ + bool + SGSceneFeatures::getHavePointParameters(unsigned contextId) const + { ++#if OSG_VERSION_LESS_THAN(3,3,4) + const osg::Point::Extensions* pe; + pe = osg::Point::getExtensions(contextId, true); + if (!pe) +@@ -131,5 +147,9 @@ + if (!pe->isPointParametersSupported()) + return false; + return true; ++#else ++ const osg::GLExtensions* ex = osg::GLExtensions::Get(contextId, true); ++ return ex && ex->isPointParametersSupported; ++#endif + } + diff --git a/srcpkgs/simgear/patches/musl-u_types.patch b/srcpkgs/simgear/patches/musl-u_types.patch new file mode 100644 index 00000000000..992abd8e9a9 --- /dev/null +++ b/srcpkgs/simgear/patches/musl-u_types.patch @@ -0,0 +1,107 @@ +--- simgear/package/md5.h 2015-02-18 21:10:39.000000000 +0100 ++++ simgear/package/md5.h 2015-11-01 01:47:16.218143005 +0100 +@@ -19,27 +19,23 @@ + extern "C" { + #endif + +-#if defined(_MSC_VER) +-typedef unsigned char u_int8_t; +-typedef unsigned int u_int32_t; +-typedef unsigned __int64 u_int64_t; +-#endif ++#include + + #define MD5_BLOCK_LENGTH 64 + #define MD5_DIGEST_LENGTH 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 +@@ -49,4 +45,4 @@ + + + +- +\ Kein Zeilenumbruch am Dateiende. ++ +--- simgear/package/md5.c 2015-02-18 21:10:39.000000000 +0100 ++++ simgear/package/md5.c 2015-11-01 01:46:42.843144810 +0100 +@@ -39,7 +39,7 @@ + (cp)[1] = (value) >> 8; \ + (cp)[0] = (value); } while (0) + +-static u_int8_t PADDING[MD5_BLOCK_LENGTH] = { ++static uint8_t PADDING[MD5_BLOCK_LENGTH] = { + 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 +@@ -73,7 +73,7 @@ + need = MD5_BLOCK_LENGTH - have; + + /* Update bitcount */ +- ctx->count += (u_int64_t)len << 3; ++ ctx->count += (uint64_t)len << 3; + + if (len >= need) { + if (have != 0) { +@@ -104,7 +104,7 @@ + void + SG_MD5Pad(SG_MD5_CTX *ctx) + { +- u_int8_t count[8]; ++ uint8_t count[8]; + size_t padlen; + + /* Convert count to 8 bytes in little endian order. */ +@@ -154,19 +154,19 @@ + * the data and converts bytes into longwords for this routine. + */ + void +-SG_MD5Transform(u_int32_t state[4], const u_int8_t block[MD5_BLOCK_LENGTH]) ++SG_MD5Transform(uint32_t state[4], const uint8_t block[MD5_BLOCK_LENGTH]) + { +- u_int32_t a, b, c, d, in[MD5_BLOCK_LENGTH / 4]; ++ uint32_t a, b, c, d, in[MD5_BLOCK_LENGTH / 4]; + + #ifndef WORDS_BIGENDIAN + memcpy(in, block, sizeof(in)); + #else + for (a = 0; a < MD5_BLOCK_LENGTH / 4; a++) { +- in[a] = (u_int32_t)( +- (u_int32_t)(block[a * 4 + 0]) | +- (u_int32_t)(block[a * 4 + 1]) << 8 | +- (u_int32_t)(block[a * 4 + 2]) << 16 | +- (u_int32_t)(block[a * 4 + 3]) << 24); ++ in[a] = (uint32_t)( ++ (uint32_t)(block[a * 4 + 0]) | ++ (uint32_t)(block[a * 4 + 1]) << 8 | ++ (uint32_t)(block[a * 4 + 2]) << 16 | ++ (uint32_t)(block[a * 4 + 3]) << 24); + } + #endif + +@@ -247,4 +247,4 @@ + state[1] += b; + state[2] += c; + state[3] += d; +-} +\ Kein Zeilenumbruch am Dateiende. ++} diff --git a/srcpkgs/simgear/template b/srcpkgs/simgear/template new file mode 100644 index 00000000000..d67768c94a2 --- /dev/null +++ b/srcpkgs/simgear/template @@ -0,0 +1,22 @@ +# Template file for 'simgear' +pkgname=simgear +version=3.4.0 +revision=1 +# XXX: always keep in sync with flightgear version! +build_style=cmake +configure_args="-DENABLE_TESTS=OFF $(vopt_if svn '-DENABLE_LIBSVN=ON' '-DENABLE_LIBSVN=OFF')" +hostmakedepends="cmake pkg-config" +makedepends="boost-devel expat-devel freetype-devel libjpeg-turbo-devel giflib-devel + libopenal-devel osg-devel plib-devel $(vopt_if svn libsvn)" +short_desc="Simulation engine for FlightGear - static libraries" +maintainer="Jürgen Buchmüller " +license="GPL-2" +homepage="http://www.flightgear.org/" +distfiles="http://mirrors.ibiblio.org/pub/mirrors/simgear/ftp/Source/simgear-${version}.tar.bz2" +checksum=927d66fe72aacb9dacced4506430bd5fc7726bc8d3d07d6f1866bc4cb11a5894 + +build_options="svn" +desc_option_svn="Enable support for subversion scenery fetching" +if [ -z "$CROSS_BUILD" ]; then + build_options_default="svn" +fi