Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tree-wide: fix pulseaudio references; fix SDL expressions #36377

Merged
merged 7 commits into from Mar 6, 2018

Conversation

oxij
Copy link
Member

@oxij oxij commented Mar 6, 2018

Motivation for this change

Side-effect of me building everything with libcardiacarrest instead of libpulseaudio (see #35374).
That branch has quite a lot of changes ATM and some will likely to cause bikeshedding, so I split fixes that I tested to be real nice into here.

Finally, a properly compiled SDL!

I'm building on top of an older revision so that you could just merge with this without hitting any master bugs like #36268.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
  • Tested compilation of many pkgs that depend on this change
  • Tested execution of many said pkgs
  • Fits CONTRIBUTING.md.

@oxij oxij force-pushed the pkgs/fix-pulseaudio-references branch from da91706 to 4c8190c Compare March 6, 2018 13:52
@oxij
Copy link
Member Author

oxij commented Mar 6, 2018

Well, that last part failed, as upstream updated SDL expressions. But here's the branch that works with an older master https://github.com/oxij/nixpkgs/tree/pkgs/fix-pulseaudio-references-old before 71f899c of #34461

@Mic92
Copy link
Member

Mic92 commented Mar 6, 2018

@GrahamcOfBorg build SDL SDL2

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

checking for references to /tmp/nix-build-SDL-1.2.15.drv-0 in /nix/store/nkllcd13imbp2xrxabg7i36g6027d5qi-SDL-1.2.15...
shrinking RPATHs of ELF executables and libraries in /nix/store/n4bfayb6nr8fbpsandv66azyzld55517-SDL-1.2.15-dev
gzipping man pages under /nix/store/n4bfayb6nr8fbpsandv66azyzld55517-SDL-1.2.15-dev/share/man/
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/n4bfayb6nr8fbpsandv66azyzld55517-SDL-1.2.15-dev/lib  /nix/store/n4bfayb6nr8fbpsandv66azyzld55517-SDL-1.2.15-dev/bin 
patching script interpreter paths in /nix/store/n4bfayb6nr8fbpsandv66azyzld55517-SDL-1.2.15-dev
/nix/store/n4bfayb6nr8fbpsandv66azyzld55517-SDL-1.2.15-dev/bin/sdl-config: interpreter directive changed from "/bin/sh" to "/nix/store/zqh3l3lyw32q1ayb15bnvg9f24j5v2p0-bash-4.4-p12/bin/sh"
checking for references to /tmp/nix-build-SDL-1.2.15.drv-0 in /nix/store/n4bfayb6nr8fbpsandv66azyzld55517-SDL-1.2.15-dev...
/nix/store/nkllcd13imbp2xrxabg7i36g6027d5qi-SDL-1.2.15
/nix/store/rxj502vqrm296b1in6n306cnmr2sg0mz-SDL2-2.0.7

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Partial log (click to expand)

/nix/store/zl1mx0778n26ysar0l1gaynvc1dghbsy-SDL2-2.0.7/lib/libSDL2-2.0.0.dylib: fixing dylib
/nix/store/zl1mx0778n26ysar0l1gaynvc1dghbsy-SDL2-2.0.7/lib/libSDL2-2.0.0.dylib: fixing dylib
/nix/store/zl1mx0778n26ysar0l1gaynvc1dghbsy-SDL2-2.0.7/lib/libSDL2-2.0.0.dylib: fixing dylib
/nix/store/zl1mx0778n26ysar0l1gaynvc1dghbsy-SDL2-2.0.7/lib/libSDL2-2.0.0.dylib: fixing dylib
/nix/store/zl1mx0778n26ysar0l1gaynvc1dghbsy-SDL2-2.0.7/lib/libSDL2-2.0.0.dylib: fixing dylib
strip is /nix/store/4sdh09gmvl15cy0zb6i7mbvxh5syz206-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/2jxc218p6vscq1ibrap2m7j43idil2gc-SDL2-2.0.7-dev/lib  /nix/store/2jxc218p6vscq1ibrap2m7j43idil2gc-SDL2-2.0.7-dev/bin
patching script interpreter paths in /nix/store/2jxc218p6vscq1ibrap2m7j43idil2gc-SDL2-2.0.7-dev
/nix/store/2jxc218p6vscq1ibrap2m7j43idil2gc-SDL2-2.0.7-dev/bin/sdl2-config: interpreter directive changed from "/bin/sh" to "/nix/store/pkjmwq7sqrvjg7cjiph6hq0khsmfl6p8-bash-4.4-p12/bin/sh"
error: build of '/nix/store/96p3hzzk2ppaxps2fn9v4m5qli621nqn-SDL-1.2.15.drv' failed

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Partial log (click to expand)

patching script interpreter paths in /nix/store/vc918w77m3l6fdz2lakvkfxrscjkgd3z-SDL2-2.0.7
checking for references to /build in /nix/store/vc918w77m3l6fdz2lakvkfxrscjkgd3z-SDL2-2.0.7...
shrinking RPATHs of ELF executables and libraries in /nix/store/rff89csblvf6fgpnf6birl0asccrv754-SDL2-2.0.7-dev
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/rff89csblvf6fgpnf6birl0asccrv754-SDL2-2.0.7-dev/lib  /nix/store/rff89csblvf6fgpnf6birl0asccrv754-SDL2-2.0.7-dev/bin
patching script interpreter paths in /nix/store/rff89csblvf6fgpnf6birl0asccrv754-SDL2-2.0.7-dev
/nix/store/rff89csblvf6fgpnf6birl0asccrv754-SDL2-2.0.7-dev/bin/sdl2-config: interpreter directive changed from "/bin/sh" to "/nix/store/lnws52qanbi5vz8qg24v4ym57nznfndg-bash-4.4-p12/bin/sh"
checking for references to /build in /nix/store/rff89csblvf6fgpnf6birl0asccrv754-SDL2-2.0.7-dev...
/nix/store/yb3ngs5xdr9dd3snvsvbj8cc2v7dx5na-SDL-1.2.15
/nix/store/vc918w77m3l6fdz2lakvkfxrscjkgd3z-SDL2-2.0.7

@oxij
Copy link
Member Author

oxij commented Mar 6, 2018

Looking at x86_64-darwin failure

In file included from ./src/video/x11/SDL_x11dyn.c:96:
./src/video/x11/SDL_x11sym.h:168:17: error: conflicting types for '_XData32'
SDL_X11_SYM(int,_XData32,(Display *dpy,register long *data,unsigned len),(dpy,data,len),return)
                ^
/nix/store/w2d2cxxzbnshcv1yjkw74p20cy2nkki6-libX11-1.6.5-dev/include/X11/Xlibint.h:673:12: note: previous declaration is here
extern int _XData32(
           ^
1 error generated.

I say it's SDL's/Darwin's problem. Was it working before?

@7c6f434c
Copy link
Member

7c6f434c commented Mar 6, 2018

@7c6f434c
Copy link
Member

7c6f434c commented Mar 6, 2018

Argh, the log for a recent Darwin failure is not available.

@oxij
Copy link
Member Author

oxij commented Mar 6, 2018

2018-02-27 was a long time ago, I see no reason why specifically this could have broken it.

@7c6f434c
Copy link
Member

7c6f434c commented Mar 6, 2018

SDL expression doesn't want a rebuild daily, though. Might be the freshest version.

@7c6f434c
Copy link
Member

7c6f434c commented Mar 6, 2018

Maybe the flag --disable-x11-shared matters?

@oxij
Copy link
Member Author

oxij commented Mar 6, 2018

Let's see. Can you ask ofbord to rebuild it again?

@oxij
Copy link
Member Author

oxij commented Mar 6, 2018

@7c6f434c
Copy link
Member

7c6f434c commented Mar 6, 2018

@GrahamcOfBorg build SDL SDL2 tdesktop

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

fetching path ‘/nix/store/31na692wpb6xymrni31xjzchdsw1pw23-telegram-desktop-1.2.6’...

*** Downloading ‘https://cache.nixos.org/nar/1mmwmcmksrnam0r9xdr5nn4va9ixdk2g74w81g709f28x77gz897.nar.xz’ (signed by ‘cache.nixos.org-1’) to ‘/nix/store/31na692wpb6xymrni31xjzchdsw1pw23-telegram-desktop-1.2.6’...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
 64 17.6M   64 11.3M    0     0  8740k      0  0:00:02  0:00:01  0:00:01 8734k
100 17.6M  100 17.6M    0     0  9893k      0  0:00:01  0:00:01 --:--:-- 9887k

/nix/store/mi635lx8895xmbyj68fdvs3n4prfvxmn-SDL-1.2.15
/nix/store/v6lgmjrwald2a45aapy701rf8r86vmq8-SDL2-2.0.7
/nix/store/31na692wpb6xymrni31xjzchdsw1pw23-telegram-desktop-1.2.6

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Partial log (click to expand)

Package ‘telegram-desktop-1.2.6’ in /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix:127 is not supported on ‘x86_64-darwin’, refusing to evaluate.

a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowBroken = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowBroken = true; }
to ~/.config/nixpkgs/config.nix.

@GrahamcOfBorg
Copy link

Failure on aarch64-linux (full log)

Partial log (click to expand)

make[2]: *** [CMakeFiles/libtgvoip.dir/build.make:1479: CMakeFiles/libtgvoip.dir/build/tdesktop/Telegram/ThirdParty/libtgvoip/NetworkSocket.o] Error 1
[  8%] Linking C static library obj.target/liblinux_glibc_wraps.a
make[1]: *** [CMakeFiles/Makefile2:620: CMakeFiles/libtgvoip.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[  8%] Built target linux_glibc_wraps
[  8%] Linking CXX static library obj.target/libcrl.a
[  8%] Built target crl
make: *** [Makefile:84: all] Error 2
builder for '/nix/store/dr64qiw2bw9r6k2a6ps1mc173x2fjsld-telegram-desktop-1.2.6.drv' failed with exit code 2
�[31;1merror:�[0m build of '/nix/store/dr64qiw2bw9r6k2a6ps1mc173x2fjsld-telegram-desktop-1.2.6.drv' failed

@oxij
Copy link
Member Author

oxij commented Mar 6, 2018

Now tdesktop broke the darwin build... Can you run "build SDL" only?

@7c6f434c
Copy link
Member

7c6f434c commented Mar 6, 2018

@GrahamcOfBorg build SDL SDL2

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Partial log (click to expand)

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0                             Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  362k  100  362k    0     0  2121k      0 --:--:-- --:--:-- --:--:-- 2121k

100  162k  100  162k    0     0   900k      0 --:--:-- --:--:-- --:--:--  900k


/nix/store/mi635lx8895xmbyj68fdvs3n4prfvxmn-SDL-1.2.15
/nix/store/v6lgmjrwald2a45aapy701rf8r86vmq8-SDL2-2.0.7

@7c6f434c
Copy link
Member

7c6f434c commented Mar 6, 2018

@oxij Sorry, retarget and rebase.

@oxij oxij changed the base branch from staging to master March 6, 2018 16:20
@oxij
Copy link
Member Author

oxij commented Mar 6, 2018

Well, the problem is that staging doesn't merge with master and this doesn't apply to staging. I tried merging those, but got an enormous merge commit and I'm uncomfortable about it. Can't we merge to master?

@oxij
Copy link
Member Author

oxij commented Mar 6, 2018

Or if any of @FRidh @dezgeg @vcunat will merge master into staging I'll rebase on top of the result.

@7c6f434c
Copy link
Member

7c6f434c commented Mar 6, 2018

Merging master and staging in any direction is always a long story, of course. But what of your changes isn't cherry-pickable on staging?

I don't like that there are many rebuilds and multiple rebuilds that are both large and often used (ffmpeg, for example).

@oxij
Copy link
Member Author

oxij commented Mar 6, 2018

All of SDL changes don't apply after #34461

@7c6f434c
Copy link
Member

7c6f434c commented Mar 6, 2018

I wonder if separately merging #34461 to staging is a good idea and will it cause any problems for a real master merge.

@7c6f434c 7c6f434c mentioned this pull request Mar 6, 2018
8 tasks
@7c6f434c
Copy link
Member

7c6f434c commented Mar 6, 2018

OK, I now have an excuse to merge into master

@7c6f434c 7c6f434c merged commit b49ef26 into NixOS:master Mar 6, 2018
@oxij
Copy link
Member Author

oxij commented Mar 6, 2018 via email

@7c6f434c
Copy link
Member

7c6f434c commented Mar 6, 2018

I think our experience here is that SDL2 is less fragile than SDL1, so I decided to believe that its point releases are not that different.

@oxij
Copy link
Member Author

oxij commented Mar 6, 2018 via email

@oxij
Copy link
Member Author

oxij commented Mar 8, 2018 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants