Overview
5+- added missing %channgelog section to specfile
you'r 'n'-key is stuck :)
+%description 35+This repository hosts the official Direct3D 12 headers. These headers are made available under the MIT license rather than the traditional Windows SDK license. Additionally, this repository hosts several helpers for using these headers. Make sure that you visit the DirectX Landing Page for more resources for DirectX developers.
This is a package, not a repository
That's Microsoft's verbiage from the GitHub repo.
39+ 40+%build 41+CXXFLAGS="$CXXFLAGS -fno-lto" meson . build -Dbuild-test=false --prefix /usr 42+ninja -C build 43+ 44+%install 45+%if 0%{?suse_version} > 1500 46+meson install -C build --destdir "%{buildroot}" 47+%else 48+DESTDIR="%{buildroot}" meson install -C build 49+%endif
Doesn't
%meson %meson_build %install %meson_install
work?
It's finicky; wouldn't build correctly in Leap (based off the version of meson available, at the time) w/o those provisions. Could easily be possible
%meson %meson_build %install %meson_install
works fine and accounts for that, but at the time what you see now is what I had to (?) do to get it working.
EDIT1: tried to use that and it complains "ERROR: Current directory is not a meson build directory: /home/abuild/rpmbuild/BUILD/DirectX-Headers-1.600.10/x86_64-suse-linux
."
EDIT2: I was using it wrong ; looking @ https://fedoraproject.org/wiki/Packaging:Meson I understand what you're suggesting better. Still fails over all, but not as immediately.
EDIT3: It was just a lack of disabling the pre-testing:
%build %meson -Dbuild-test=false %meson_build %install %meson_install
works; at least for TW x86_64.
59+%{_libdir}/libDirectX-Guids.a
Static libs. no chance otherwise?
The build says this:
[ 23s] ninja: Entering directory `build' [ 24s] [1/2] Compiling C++ object libDirectX-Guids.a.p/src_dxguids.cpp.o [ 24s] [2/2] Linking static target libDirectX-Guids.a
I won't pretend I know 100% what that means and/or some alternate way to handle it š
A chance yes, but (with my somewhat Microsoft experience hat on) this one really isn't worth it, since it's just about 1600 bytes of static data and no code, the rest is debug info and almost 30K of ELF overhead.
@sbradnick Could you take care of the issues that have been mentioned here? It's your package after all. ;-)
Already working on it š
I'm not really sure what Jan is getting at though š£w/o libDirectX-Guids.a
the whole thing falls apart, iirc. I do remember fighting with that specifically back when I started with this and vaguely recall that while DirectX-Headers would technically build w/o it (I think) - Mesa build either failed or what they provided didn't result in d3d12 actually working.
Is there some sort of problem with what it's doing?
libDirectX-Guids contains just a .rodata
section and not much else. It's full of GUIDs, and the GUIDs won't be changing ever. There is no security update argument to be made for this library.
Were this all a C++ project, we'd have definitions like inline constexpr GUID IID_xyz = {0,1,2,3};
in the header file, the C++ compiler would implicitly generate (ELF) symbols whenever IID_xyz
is used, and would also implicitly collapse duplicate definitions of IID_xyz
again during link stages.
But you can't have nice things in CĀ ā especially not with aggregates. In a sense, dxguids could be thought of as a "header-only library", with the that half of the header being in an .a
file instead of .h
because of C's limitations.
Request History
sbradnick created request
Pulling in changes from @gmbr3.
factory-auto added opensuse-review-team as a reviewer
Please review sources
factory-auto accepted review
Check script succeeded
licensedigger accepted review
ok
dimstar_suse added openSUSE:Factory:Staging:adi:47 as a reviewer
Being evaluated by staging project "openSUSE:Factory:Staging:adi:47"
dimstar_suse accepted review
Picked "openSUSE:Factory:Staging:adi:47"
dimstar accepted review
dimstar_suse accepted review
Staging Project openSUSE:Factory:Staging:adi:47 got accepted.
dimstar_suse approved review
Staging Project openSUSE:Factory:Staging:adi:47 got accepted.
dimstar_suse accepted request
Staging Project openSUSE:Factory:Staging:adi:47 got accepted.