commit ca0a98f3391985696f989599240ae199d0da0d12aaf5f09574848fdf5edf9394 Author: Hans-Peter Jansen Date: Mon Nov 18 17:05:32 2024 +0000 - Allow newer LLVM. it is no longer restricted to < 15.9 New upper limit is 18.9. - for llvm >= 16 it wants CXX standard 17 OBS-URL: https://build.opensuse.org/package/show/graphics/OpenShadingLanguage?expand=0&rev=64 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/CC-BY-3.0.txt b/CC-BY-3.0.txt new file mode 100644 index 0000000..ca5954e --- /dev/null +++ b/CC-BY-3.0.txt @@ -0,0 +1,319 @@ +Creative Commons Legal Code + +Attribution 3.0 Unported + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR + DAMAGES RESULTING FROM ITS USE. + +License + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE +COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY +COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS +AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE +TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY +BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS +CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND +CONDITIONS. + +1. Definitions + + a. "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may be + recast, transformed, or adapted including in any form recognizably + derived from the original, except that a work that constitutes a + Collection will not be considered an Adaptation for the purpose of + this License. For the avoidance of doubt, where the Work is a musical + work, performance or phonogram, the synchronization of the Work in + timed-relation with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + b. "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined above) for the purposes of this + License. + c. "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + d. "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + e. "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and in + addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, declaim, + play in, interpret or otherwise perform literary or artistic works or + expressions of folklore; (ii) in the case of a phonogram the producer + being the person or legal entity who first fixes the sounds of a + performance or other sounds; and, (iii) in the case of broadcasts, the + organization that transmits the broadcast. + f. "Work" means the literary and/or artistic work offered under the terms + of this License including without limitation any production in the + literary, scientific and artistic domain, whatever may be the mode or + form of its expression including digital form, such as a book, + pamphlet and other writing; a lecture, address, sermon or other work + of the same nature; a dramatic or dramatico-musical work; a + choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which are + assimilated works expressed by a process analogous to cinematography; + a work of drawing, painting, architecture, sculpture, engraving or + lithography; a photographic work to which are assimilated works + expressed by a process analogous to photography; a work of applied + art; an illustration, map, plan, sketch or three-dimensional work + relative to geography, topography, architecture or science; a + performance; a broadcast; a phonogram; a compilation of data to the + extent it is protected as a copyrightable work; or a work performed by + a variety or circus performer to the extent it is not otherwise + considered a literary or artistic work. + g. "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License with + respect to the Work, or who has received express permission from the + Licensor to exercise rights under this License despite a previous + violation. + h. "Publicly Perform" means to perform public recitations of the Work and + to communicate to the public those public recitations, by any means or + process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a + place individually chosen by them; to perform the Work to the public + by any means or process and the communication to the public of the + performances of the Work, including by public digital performance; to + broadcast and rebroadcast the Work by any means including signs, + sounds or images. + i. "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of a + protected performance or phonogram in digital form or other electronic + medium. + +2. Fair Dealing Rights. Nothing in this License is intended to reduce, +limit, or restrict any uses free from copyright or rights arising from +limitations or exceptions that are provided for in connection with the +copyright protection under copyright law or other applicable laws. + +3. License Grant. Subject to the terms and conditions of this License, +Licensor hereby grants You a worldwide, royalty-free, non-exclusive, +perpetual (for the duration of the applicable copyright) license to +exercise the rights in the Work as stated below: + + a. to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + b. to create and Reproduce Adaptations provided that any such Adaptation, + including any translation in any medium, takes reasonable steps to + clearly label, demarcate or otherwise identify that changes were made + to the original Work. For example, a translation could be marked "The + original work was translated from English to Spanish," or a + modification could indicate "The original work has been modified."; + c. to Distribute and Publicly Perform the Work including as incorporated + in Collections; and, + d. to Distribute and Publicly Perform Adaptations. + e. For the avoidance of doubt: + + i. Non-waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + ii. Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives the + exclusive right to collect such royalties for any exercise by You + of the rights granted under this License; and, + iii. Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that the + Licensor is a member of a collecting society that administers + voluntary licensing schemes, via that society, from any exercise + by You of the rights granted under this License. + +The above rights may be exercised in all media and formats whether now +known or hereafter devised. The above rights include the right to make +such modifications as are technically necessary to exercise the rights in +other media and formats. Subject to Section 8(f), all rights not expressly +granted by Licensor are hereby reserved. + +4. Restrictions. The license granted in Section 3 above is expressly made +subject to and limited by the following restrictions: + + a. You may Distribute or Publicly Perform the Work only under the terms + of this License. You must include a copy of, or the Uniform Resource + Identifier (URI) for, this License with every copy of the Work You + Distribute or Publicly Perform. You may not offer or impose any terms + on the Work that restrict the terms of this License or the ability of + the recipient of the Work to exercise the rights granted to that + recipient under the terms of the License. You may not sublicense the + Work. You must keep intact all notices that refer to this License and + to the disclaimer of warranties with every copy of the Work You + Distribute or Publicly Perform. When You Distribute or Publicly + Perform the Work, You may not impose any effective technological + measures on the Work that restrict the ability of a recipient of the + Work from You to exercise the rights granted to that recipient under + the terms of the License. This Section 4(a) applies to the Work as + incorporated in a Collection, but this does not require the Collection + apart from the Work itself to be made subject to the terms of this + License. If You create a Collection, upon notice from any Licensor You + must, to the extent practicable, remove from the Collection any credit + as required by Section 4(b), as requested. If You create an + Adaptation, upon notice from any Licensor You must, to the extent + practicable, remove from the Adaptation any credit as required by + Section 4(b), as requested. + b. If You Distribute, or Publicly Perform the Work or any Adaptations or + Collections, You must, unless a request has been made pursuant to + Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) the + name of the Original Author (or pseudonym, if applicable) if supplied, + and/or if the Original Author and/or Licensor designate another party + or parties (e.g., a sponsor institute, publishing entity, journal) for + attribution ("Attribution Parties") in Licensor's copyright notice, + terms of service or by other reasonable means, the name of such party + or parties; (ii) the title of the Work if supplied; (iii) to the + extent reasonably practicable, the URI, if any, that Licensor + specifies to be associated with the Work, unless such URI does not + refer to the copyright notice or licensing information for the Work; + and (iv) , consistent with Section 3(b), in the case of an Adaptation, + a credit identifying the use of the Work in the Adaptation (e.g., + "French translation of the Work by Original Author," or "Screenplay + based on original Work by Original Author"). The credit required by + this Section 4 (b) may be implemented in any reasonable manner; + provided, however, that in the case of a Adaptation or Collection, at + a minimum such credit will appear, if a credit for all contributing + authors of the Adaptation or Collection appears, then as part of these + credits and in a manner at least as prominent as the credits for the + other contributing authors. For the avoidance of doubt, You may only + use the credit required by this Section for the purpose of attribution + in the manner set out above and, by exercising Your rights under this + License, You may not implicitly or explicitly assert or imply any + connection with, sponsorship or endorsement by the Original Author, + Licensor and/or Attribution Parties, as appropriate, of You or Your + use of the Work, without the separate, express prior written + permission of the Original Author, Licensor and/or Attribution + Parties. + c. Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute or + Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify or + take other derogatory action in relation to the Work which would be + prejudicial to the Original Author's honor or reputation. Licensor + agrees that in those jurisdictions (e.g. Japan), in which any exercise + of the right granted in Section 3(b) of this License (the right to + make Adaptations) would be deemed to be a distortion, mutilation, + modification or other derogatory action prejudicial to the Original + Author's honor and reputation, the Licensor will waive or not assert, + as appropriate, this Section, to the fullest extent permitted by the + applicable national law, to enable You to reasonably exercise Your + right under Section 3(b) of this License (right to make Adaptations) + but not otherwise. + +5. Representations, Warranties and Disclaimer + +UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR +OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY +KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, +INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, +FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF +LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, +WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION +OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE +LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR +ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES +ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS +BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination + + a. This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this License. + Individuals or entities who have received Adaptations or Collections + from You under this License, however, will not have their licenses + terminated provided such individuals or entities remain in full + compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will + survive any termination of this License. + b. Subject to the above terms and conditions, the license granted here is + perpetual (for the duration of the applicable copyright in the Work). + Notwithstanding the above, Licensor reserves the right to release the + Work under different license terms or to stop distributing the Work at + any time; provided, however that any such election will not serve to + withdraw this License (or any other license that has been, or is + required to be, granted under the terms of this License), and this + License will continue in full force and effect unless terminated as + stated above. + +8. Miscellaneous + + a. Each time You Distribute or Publicly Perform the Work or a Collection, + the Licensor offers to the recipient a license to the Work on the same + terms and conditions as the license granted to You under this License. + b. Each time You Distribute or Publicly Perform an Adaptation, Licensor + offers to the recipient a license to the original Work on the same + terms and conditions as the license granted to You under this License. + c. If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability of + the remainder of the terms of this License, and without further action + by the parties to this agreement, such provision shall be reformed to + the minimum extent necessary to make such provision valid and + enforceable. + d. No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in writing + and signed by the party to be charged with such waiver or consent. + e. This License constitutes the entire agreement between the parties with + respect to the Work licensed here. There are no understandings, + agreements or representations with respect to the Work not specified + here. Licensor shall not be bound by any additional provisions that + may appear in any communication from You. This License may not be + modified without the mutual written agreement of the Licensor and You. + f. The rights granted under, and the subject matter referenced, in this + License were drafted utilizing the terminology of the Berne Convention + for the Protection of Literary and Artistic Works (as amended on + September 28, 1979), the Rome Convention of 1961, the WIPO Copyright + Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 + and the Universal Copyright Convention (as revised on July 24, 1971). + These rights and subject matter take effect in the relevant + jurisdiction in which the License terms are sought to be enforced + according to the corresponding provisions of the implementation of + those treaty provisions in the applicable national law. If the + standard suite of rights granted under applicable copyright law + includes additional rights not granted under this License, such + additional rights are deemed to be included in the License; this + License is not intended to restrict the license of any rights under + applicable law. + + +Creative Commons Notice + + Creative Commons is not a party to this License, and makes no warranty + whatsoever in connection with the Work. Creative Commons will not be + liable to You or any party on any legal theory for any damages + whatsoever, including without limitation any general, special, + incidental or consequential damages arising in connection to this + license. Notwithstanding the foregoing two (2) sentences, if Creative + Commons has expressly identified itself as the Licensor hereunder, it + shall have all rights and obligations of Licensor. + + Except for the limited purpose of indicating to the public that the + Work is licensed under the CCPL, Creative Commons does not authorize + the use by either party of the trademark "Creative Commons" or any + related trademark or logo of Creative Commons without the prior + written consent of Creative Commons. Any permitted use will be in + compliance with Creative Commons' then-current trademark usage + guidelines, as may be published on its website or otherwise made + available upon request from time to time. For the avoidance of doubt, + this trademark restriction does not form part of this License. + + Creative Commons may be contacted at https://creativecommons.org/. diff --git a/OpenShadingLanguage-1.12.14.0.tar.gz b/OpenShadingLanguage-1.12.14.0.tar.gz new file mode 100644 index 0000000..5295e31 --- /dev/null +++ b/OpenShadingLanguage-1.12.14.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6562a3fa10b80b8d328951004258ab6d12a6a23c23143f46a86d2f48f55354d3 +size 20555853 diff --git a/OpenShadingLanguage-1.13.11.0.tar.gz b/OpenShadingLanguage-1.13.11.0.tar.gz new file mode 100644 index 0000000..1a78ba3 --- /dev/null +++ b/OpenShadingLanguage-1.13.11.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e448f983049038bb5a611c4fb902d839296c22d3ef221b38e53a14b40ce187a7 +size 21779681 diff --git a/OpenShadingLanguage.changes b/OpenShadingLanguage.changes new file mode 100644 index 0000000..9539f03 --- /dev/null +++ b/OpenShadingLanguage.changes @@ -0,0 +1,639 @@ +------------------------------------------------------------------- +Mon Nov 18 15:40:40 UTC 2024 - Marcus Rueckert + +- Allow newer LLVM. it is no longer restricted to < 15.9 + New upper limit is 18.9. +- for llvm >= 16 it wants CXX standard 17 + +------------------------------------------------------------------- +Thu Nov 14 19:46:27 UTC 2024 - Marcus Rueckert + +- Added fix-install-paths.patch: + implement suggestions from + https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/issues/1771 +- use ldconfig scriptlets macros + +------------------------------------------------------------------- +Thu Nov 14 19:01:53 UTC 2024 - Marcus Rueckert + +- update to 1.13.11.0: + - fix/batched: Assume BatchedRendererServices texture derivatives + are in st space. #1828 (by sfriedmapixar) (1.13.10.0) + - fix: Make backfacing shadeop indicate backfacing shader-global + is needed #1827 (by sfriedmapixar) (1.13.10.0) + - deps: Handle various OpenImageIO deprecations and changes in + the run-up to OIIO 3.0 #1834 #1806 #1838 #1842 #1850 + (1.13.10.0) + - deps: Adjust to OIIO change to IC/TS API #1848 (1.13.10.0) + - deps: Llvm 18 compat issue - include libclangAPINotes #1812 + (1.13.10.0) + - deps: Make finding bison work better on Apple Silicon Macs + + homebrew #1822 (1.13.10.0) + - ci: Mods to CI to deal with OIIO master raising dependency mins + #1833 (1.13.10.0) + - ci: Deal with CentOS 7 EOL and disappearance of yum mirrors + #1839 (1.13.10.0) + - ci: Fix GHA CI after they upgraded nodejs #1837 (1.13.10.0) + - admin: Change release notice icon to use the icon vs the normal + logo so it shows up better #1777 (by John Mertic) (1.13.10.0) + +- changes from 1.13.10.0 + - testrender: Implement new Oren-Nayar model from OpenPBR #1817 + (by Christopher Kulla) + - docs: Fix outdated or wrong repo URLs #1811 +- changes from 1.13.9.0 + - deps: Support for LLVM-18 #1773 (by مهدي شينون (Mehdi Chinoune) + #1803 (by Larry Gritz) + - fix: Make isconnected() work with downstream renderer + "connections." #1782 (by sfriedmapixar) + - cleanup: Change OSL_CONSTEXPR14 to constexpr #1805 + - internals build: Fix ifdef typo #1804 + - build: Propagate cpp version #1797 + - build: Print commit hash of locally built dependencies #1798 + - ci: Lock down to OIIO 2.5 for icc tests #1799 + - ci: Suppress leak sanitizer warnings about internals of + robin_hash #1807 + - docs: More detail about supported platforms in INSTALL.md #1796 +- changes from 1.13.8.0 + - fix(batched): Codegen bug for compref with varying index for + batched shading #1776 (by Alex Wells) + - fix: Calculatenormal needs fliphandedness #1783 (by + sfriedmapixar) + - fix: Print closure missing error message at compile time + instead of run time. #1781 (by sfriedmapixar) + - int: Change long-deprecated OIIO macro to new one #1788 + - ci: Fix broken Macos-13 CI #1780 +- changes from 1.13.7.0 + - fix: Mute partio error prints #1774 (by olegul) + - ci: Test with Mac ARM runner #1770 + - docs: Fix links to RTD docs from github landing page #1768 + - admin: Switch release announcement workflow to jmertic's + awesome action #1766 +- changes from 1.13.6.1 + - New minimum dependencies and compatibility changes: + - For GPU/OptiX mode, OptiX 6.0 support has been removed. For + GPU rendering with OptiX, a minimum of OptiX 7.0 is required, + and the Cuda minimum has been raised to 9.0 #1737 + - The minimum version OpenImageIO has been raised from 2.2 to + 2.4. #1591 #1722 + - The minimum CMake dependency has been raised from 3.12 to + 3.15 #1724 (1.13.5.0) + - The minimum Imath/OpenEXR has been raised from 2.3 to 2.4. + (Note: OSL 1.13 is probably the last major release family + that will support Imath/OpenEXR 2.x.) + - OSL Language and oslc compiler: + - There have been no substantive changes to the OSL language in + this release. + - ⛰️ API changes, new options, new ShadingSystem features (for + renderer writers): + - A new shadingStateUniform pointer field was added to + ShaderGlobals for planned future expansion and improved GPU + support. #1585 (1.13.1.0) + - Adding relaxed type-equivalency to ReParameter() #1639 (by + cmstein) (1.13.2.1) + - Expose llvm groupdata size as a shadergroup attribute #1642 + (by Chris Hellmuth) (1.13.4.0) + - RendererServices API for letting get_texture_handle consider + colorspace #1641 (1.13.4.0) + - Make "compile_report" attribute an int instead of just 0/1. + Passing 1 makes a brief report, values >1 are more verbose. + (Zero still prints no report.) #1654 (1.13.4.0) + - Switch lockgeom to interpolated and interactive. The + lockgeom=0 was confusing. Now we use interpolated=1 to mean + "don't optimize it away because it might be interpolated + across the geometry and thus won't have the same value at all + points being shaded," and the subtly different interactive=1 + to mean "don't optimize it away because although it will + always take on the same value at all points at the same time, + the user might want to interactively adjust the value and we + don't want to have to recompile the shader group if that + happens." #1662 (1.13.4.0) + - Add type information for needed attributes. #1650 (by Curtis + Black) (1.13.4.0) + - Add API for building attribute getter free functions. #1704 + (by Curtis Black) (1.13.5.0) + - Rs fmt specification - Journaling Algorithm for error, + warning, fprintf #1702 (by Steena Monteiro) #1711 #1715 + (1.13.5.0) + - 🚀 SIMD batched shading mode + - Fix some array overruns (asymptomatic, but still potentially + buggy) in common_ancestor_between. #1577 (1.13.0.2) + - Fix issue with closure keyword parameters. #1620 + (1.13.2.0/1.12.8.0) + - Fix crash when adding a default initialized closure. #1624 + (1.13.2.0/1.12.8.0) + - Fix support for closures with array types. #1630 + (1.13.2.0/1.12.8.0) + - Fix bug with masked wide llvm_gen_closure() #1637 (by + danieldresser-ie) (1.13.2.1) + - Fix Force LLVM Boolean #1717 (by Alex Wells) + - Batched pointcloud if "index" is not passed #1753 (by Alex + Wells) + - 🚀 OptiX GPU rendering + - OptiX 6.0 support has been removed. For GPU rendering with + OptiX, a minimum of OptiX 7.0 is required. + - Big overhaul/simplification of how strings are represented on + the GPU: the extra level of indirection to global variables + is removed, and strings are simply represented in ordinary + variables as the hash of their characters. #1531 (1.13.0.0) + #1553 (1.13.0.1) + - Better PTX cache hit rate by eliminating several sources of + not being strictly deterministic in the PTX text we were + generating. #1566 #1570 (1.13.0.1) + - Fix PTX symbol visibility issues. #1609 (1.13.2.0) + - Hide more code that is only used for OptiX mode, when OptiX + is disabled. #1608 (1.13.2.0) + - Remove dependency on OptiX SDK for building core OSL with + OptiX support. You can now build OSL with OptiX support + enabled even if you don't have the OptiX SDK headers present + at build time. But you will still need them to build your + OptiX-based application that uses OSL for GPU rendering. + #1627 (1.13.2.0/1.12.8.0) + - GPU/OptiX support of ReParameter #1686 (1.13.4.0) + - Fix userdata derivatives for interpolated params on GPU #1685 + (by Pascal Lecocq) (1.13.4.0) + - Enable userdata derivatives for interpolated params on GPU + #1657 (by Chris Hellmuth) (1.13.4.0) + - Move qualifying GroupData params onto stack for higher + performance. #1710 (by Chris Hellmuth) (1.13.5.0) + - Handle mixed string casting that plagues optix codegen #1718 + (1.13.5.0) + - Add missing members to ShaderGlobals in rend_lib.h #1721 (by + Tim Grant) (1.13.5.0) + - OptiX direct callable API that owns groupdata buffer #1683 + (by Chris Hellmuth) (1.13.5.0) + - OptiX PTX pipeline overhaul #1680 (by Tim Grant) (1.13.5.0) + - Perf: Don't insert redundant run layer calls inside a basic + block #1665 #1669 #1672 (by Chris Hellmuth) (1.13.4.0) + - Fix NVPTX TargetMachine leak, etc. #1763 (by Tim Grant) + - 🐛/🔧 Internals: fixes, improvements, and developer concerns + - Fix memory leak in oslc ASTvariable_declaration. #1576 + (1.13.0.2) + - Fix memory leaks in LPE code in error conditions. #1593 #1594 + (1.13.0.3) + - Fix mismatched strides when calling OCIO for transformc with + derivs #1646 (1.13.4.0) + - Set up ray types for testrender #1648 (1.13.4.0) + - Fix userdata binding corner case #1673 (by Alejandro Conty) + (1.13.4.0) + - Fix constant float values being converted to ints #1674 (by + Declan Russell) (1.13.4.0) + - Don't try to ReParameter symbols not in the group #1693 (by + Alejandro Conty) (1.13.5.0) + - Have ReParameter only copy data when it changes #1698 + (1.13.5.0) + - Avoid deprecated OSLQuery ctr in test example #1699 + (1.13.5.0) + - Zero derivs for interactive params when needed #1700 (by + Alejandro Conty) (1.13.5.0) + - oslc bug fix: shader params whose default values involve + "init ops" could be incorrectly initialized if their values + came from instance parameters set to zero. #1578 (1.13.0.2) + - oslc: Add missing fmod() variants #1643 (1.13.4.0) + - Simple constant folding of binary expressions now happen on + the oslc side #1653 (1.13.4.0) + - platform.h: + - New OSL_ALLOCA macro to allocate on the stack. #1589 + (1.13.0.3) + - Define OSL::bitcast utility. #1610 (1.13.2.0) + - Make sure that std::hash is defined for ustring and + ustringhash. #1599 (1.13.1.1) + - Deprecate LLVMUtil::internalize_module_functions. #1606 + (1.13.1.0) + - Work toward always representing strings in shaders as + ustringhash rather than ustring: phase 1 #1603 phase2 #1612 + (1.13.2.0) #1726 (1.13.5.0) + - Remove unnecessary setting of locale::global #1636 (by + danieldresser-ie) (1.13.2.1) + - Fully define bitcast template #1635 (1.13.2.1) + - Fix for ReParameter corner case #1670 (by cmstein) (1.13.4.0) + - Switch deprecated oiio simd names to modern #1679 (1.13.4.0) + - Give ShadingSystemImpl a handy use_optix() method #1682 + (1.13.4.0) + - Fix default fmt logic changing in latest openimageio release + #1725 (1.13.5.0) + - The recently added SS::find_symloc can have const args #1723 + (1.13.5.0) + - SymOverrideInfo bitfields should be the same type #1745 + - Fix wrong offset of MxSheen param #1751 (by Rasmus Bonnedal) + - Make get_texture_info robust to empty shaderglobals param + #1731 + - Documentation + - First stab at ReadTheDocs -- new Experimental OSL + Documentation on ReadTheDocs is still a little rough, but + eventually will be our primary documentation. #1736 + - doc/RELEASING.md documents our release process and versioning + policies. #1572 (1.13.0.2) + - Improve documentation of trace function #1671 (by AidanWelch) + (1.13.4.0) + - Update CONTRIBUTING #1689 (1.13.5.0) + - Update logos #1705, Move logos and add an icon-only logo + #1707 (1.13.5.0) + +------------------------------------------------------------------- +Tue Jan 16 19:38:15 UTC 2024 - Marcus Rueckert + +- Add missing Qt6 BuildRequires to enable osltoy + +------------------------------------------------------------------- +Tue Jan 16 11:01:20 UTC 2024 - Marcus Rueckert + +- update to 1.12.14.0: + - Correctly document that our Cuda minimum is 9.0. #1737 + - Fixes to build and test against OpenImageIO 2.5 #1742 + - Fix default fmt logic changing in latest openimageio release + #1725 + +------------------------------------------------------------------- +Mon Sep 4 08:11:55 UTC 2023 - Dirk Müller + +- update to 1.12.13.0: + * Fix constant float values being converted to ints + * Changes to support fmt 10.0 + * Switch deprecated oiio simd names to modern + * Improve documentation of `trace` function + * README.md: added filmography and Siggraph OSL course + info. + * *docs* Amend the filmography + * *docs* Fix incorrect links in CONTRIBUTING +- update to 1.12.12.0: + * New ShadingSystem getattribute query for shader groups: + "attribute_types" retrieves a pointer to the array of + TypeDesc values describing the * attributes retrieved by + existing "attributes_needed" and + "attribute_scopes". + * Fix a bug with binding userdata when it's used by more than + one shader within the group and they disagree about whether + derivatives are needed when retrieving the attribute. + +------------------------------------------------------------------- +Wed May 31 08:33:44 UTC 2023 - Hans-Peter Jansen + +- plugin-osl search path is in %{_libdir} now + +------------------------------------------------------------------- +Sat Apr 1 09:50:52 UTC 2023 - Hans-Peter Jansen + +- update to 1.12.10.0: + + feat(testrender): Modify testrender so that it correctly sets + raytype to "camera" for camera rays, "shadow" for shadow rays, + and "diffuse" for all secondary rays. Also rerun the shades for + background shader group on the camera rays rather than use the + cached map. This helps the MaterialX project use testrender for + certain unit tests and verification. #1648 #1649 + + feat: Expose llvm groupdata size as a shadergroup attribute + "llvm_groupdata_size". #1642 + + fix: Crash could result from uncaught exception in OpenColorIO + when calling transformc with derivatives for color spaces that + require OCIO. #1646 + + fix: certain uses of fmod() in shaders could fail to generate + LLVM code correctly, due to a missing implementation for the + fmod(triple,float) varieties. #1643 + + build: Change snprintf formatting to satisfy some compilers. + #1640 + + CI: Fix broken Mac ci. #1647 +- Force build with LLVM 15 on TW +- Add a BuildIgnore for clang-tools, that would render the llvm15 + containment ineffective otherwise (by depending on clang16). + +------------------------------------------------------------------- +Wed Feb 15 12:58:36 UTC 2023 - Dirk Müller + +- update to 1.12.9.0: + * Remove unnecessary setting of locale::global. #1630 + * Batch shading: Fix bug with masked wide glosure generation. + * Make sure ReParameter() has the same relaxed type checking + rules as Parameter(). Before, it was stricter about type + conversion. + +------------------------------------------------------------------- +Mon Jan 16 07:05:07 UTC 2023 - Dirk Müller + +- update to 1.12.8.0: + * Remove dependency on OptiX SDK for building core OSL with OptiX support. + You can now build OSL with OptiX support enabled even if you don't have the + OptiX SDK headers present at build time. But you will still need them to + build your OptiX-based application that uses OSL for GPU rendering. + * Batch mode: fix issue with closure keyword parameters. + * Batch mode: fix crash when adding a default initialized closure. + * Batch mode: Fix support for closures with array types. + * testshade: better testing of all closure parameter types. + * Fix various CI breaks as dependencies shifted. + +------------------------------------------------------------------- +Sat Dec 10 21:04:49 UTC 2022 - Dirk Müller + +- update to 1.12.7.1: + * Add clangSupport library as dependency to fix linker error on some + platforms. #1613 + * Test against OpenColorIO 2.2. #1616 + * Build: Fix how version overrides work to reduce the chance of user + mistakes. + +------------------------------------------------------------------- +Sat Dec 3 11:21:09 UTC 2022 - Hans-Peter Jansen + +- Add 4G memory _constraints + +------------------------------------------------------------------- +Fri Nov 4 16:54:56 UTC 2022 - Hans-Peter Jansen + +- update to 1.12.7.0 -- 1 Nov 2022: + * Optix: Change naming of certain compiler-generated constants in + a way that improves use of the PTX cache. #1570 + * Batch: Fix uninitialized members in ReadEvent internals. #1575 + * testshade --help now prints TextureSystem options and hardware + info. #1584 + * oslc: Fix memory leak in ASTvariable_declaration. #1576 + * Fix memory leaks in light path expression code. #1593 #1594 + * Include the immintrin.h header only when needed. #1605 + * icx: Improvements to fix problems exposed by new icx 2022.2 + compiler. #1601 + * Testing: CMake cache variables to control the testing timeout + length. #1571 + * CI: Add a dynamic analysis test using address and leak + sanitizers. #1581 + * CI: Now using SonarCloud static analysis. #1551 + * CI: Many improvements in testing code coverage #1607 + * CI: Make sure to run pointcloud tests when partio is found. + #1611 + * Developers: platform.h now defines OSL_ALLOCA macro. #1589 + * Developers: platform.h now defines OSL::bitcast utility. #1610 +- Remove 1605.patch: included in release + +------------------------------------------------------------------- +Mon Oct 24 11:31:08 UTC 2022 - Guillaume GARDET + +- Add upstream patch to fix build on Arm: + * 1605.patch + +------------------------------------------------------------------- +Wed Oct 19 15:16:37 UTC 2022 - Stefan Brüns + +- update to 1.12.6.2: + For details see + https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/releases/tag/v1.12.6.2 + * Batch shading: A fully operational "batch shading" support when + using CPUs supporting the Intel AVX2 or AVX512 instruction set + architectures, allows shading 8 or 16 points at a time, + accelerated by using SIMD instructions. (Changes contributed + by Intel.) + * OptiX: A reasonable subset of the OSL language can run on + NVIDIA GPUs for Cuda or OptiX-based renderers. + * Standardized material closures: Synchronize with MaterialX on + a minimum standard set of material closures. This is reflected + in both the OSL spec as well as reference implementations of + those closures in testrender. +- Remove subpackage with MaterialX shaders. These were already + deprecated for some time, instead ones from upstream + MaterialX project should be used. +- Drop upstream 0001-Fix-compatibility-with-LLVM-14.patch + +------------------------------------------------------------------- +Tue Apr 26 01:04:09 UTC 2022 - Stefan Brüns + +- Fix compatibility with LLVM >= 14.0, add + 0001-Fix-compatibility-with-LLVM-14.patch + +------------------------------------------------------------------- +Sun Apr 24 17:13:32 UTC 2022 - Hans-Peter Jansen + +- Fix build by requiring llvm and clang 12 versions + +------------------------------------------------------------------- +Sun Apr 10 10:06:53 UTC 2022 - Dirk Müller + +- update to 1.11.17.0: + * Fix in runtime optimizer where tracking of messages and unknown messages + relied on uninitialized variables. + * Minor changes related to OpenColorIO changing their master branch name to + "main". #1431 + * Testing: Get texture3d tests operational again. #1437 + * Docs: Fix missing "errormessage" explanation for environment() and + texture3d(). + * Build/cmake fixes: Make PROJECT_VERSION_RELEASE_TYPE and + OSL_SUPPORTED_RELEASE be cache strings, so they can be overridden; change + OSL_IS_SUBPROJECT to PROJECT_IS_TOP_LEVEL (and change its sense) to match + CMake 21+ behavior; add a TIME_COMMANDS option to help debug performance of + the build. #1443 +- drop 8682211d0bfe5c4be63a4a003d06037ff9721e66.diff, 1420.diff (upstream) + +------------------------------------------------------------------- +Fri Apr 8 07:42:38 UTC 2022 - Guillaume GARDET + +- Disable partio on armv6/armv7 since it fails to build + +------------------------------------------------------------------- +Wed Dec 22 09:32:50 UTC 2021 - Hans-Peter Jansen + +- Disable %ix86 because of build failures + +------------------------------------------------------------------- +Sun Oct 17 15:57:25 UTC 2021 - Hans-Peter Jansen + +- Update to version 1.11.15.0 + + Changes for compatibility with OpenImageIO 2.3. #1393 #1388 + + Fix potential crashes (or at least undefined behavior) due to + missing + + virtual destructor of internal Symbol type. #1397 +- Apply 8682211d0bfe5c4be63a4a003d06037ff9721e66.diff and 1420.diff + in order to build with LLVM 13. +- Add partio library dependency + +------------------------------------------------------------------- +Tue Aug 31 14:36:55 UTC 2021 - Hans-Peter Jansen + +- Fix source URL + +------------------------------------------------------------------- +Mon Aug 30 15:24:21 UTC 2021 - Hans-Peter Jansen + +- Update to version 1.11.14.2 + + Fix warnings that occur when compiling with clang and C++17 mode. #1379 + + CI/testing: Additional CI tests for clang+c++17 (#1379), gcc11 (#1381), + llvm 12 (#1381), speed up CI builds by not building the testing components + of OIIO (#1380). + +- Update to version 1.11.14.1 + + Fix library setup for LLVM installations consisting of static libraries. + This fixes a build problem that can crop up on MacOS using + Homebrew-installed LLVM 12. #1375 + +- Update to version 1.11.14.0 + + oslc/OSLCompiler: Check for errors when when writing oso (for example, + disk volume full). #1360 + + Fix crash generating closure function calls with LLVM 11. #1361 + + Build: LLVM 12 compatibility. #1351 + + Build: Support for CMake 3.20 #1354 + + Build: Be robust to certain OpenEXR 2.x config fies. #1356 + + Build: Fixes to deal with newer OIIO builds that are C++14. + +- Remove 0001-LLVM-12-compatibility-fixes.patch + fixed upstream +- Add build dependency on OpenImageIO (executables) + +------------------------------------------------------------------- +Sun May 2 05:54:38 UTC 2021 - munix9@googlemail.com + +- Update to version 1.11.13 + + Updated vector2.h with a mod(vector2,vector2) function. #1312 + + Fix unnecesary error messages to stderr when encountering + broken point clouds. #1333 + +- Add 0001-LLVM-12-compatibility-fixes.patch + +------------------------------------------------------------------- +Wed Apr 7 22:16:17 UTC 2021 - Dirk Müller + +- do not list pkgconfig directory - provided by filesystem package + +------------------------------------------------------------------- +Sun Mar 21 15:50:36 UTC 2021 - Hans-Peter Jansen + +- Update to version 1.11.12 + + Build: Changes for smooth compile against upcoming Imath 3.0. + #1332 #1341 + + Build: We weren't properly hiding non-public symbols. #1337 + + CI: Cleanup and get rid of the last Travis vestiges. #1334 + + CI: Speed up CI runs by using GHA cache + ccache. #1335 + + CI: Separate CI process into several individual "steps." #1338 + +- Update to version 1.11.11 + + Build: Make the CMake build system more friendly to being a + subproject. + + #1304 + + Build: Improve dependency on Imath/OpenEXR include files. + + CI: Fixes to Mac CI. #1315 + + Docs: Update CLAs, Charter, GOVERNANCE, particularly after + acceptance of + + new CLAs and moving the repo to the ASWF GitHub account. #1308 + #1240 #1314 + + Internals: Switch from deprecated call to OIIO::parallel_image + to the new + + version. #1317 + +- Update to version 1.11.10 + + Bug fix: optimizer interaction with output param that also is + userdata. + + #1295 + + Ensure that LoadMemoryCompiledShader returns false upon parse + failure. + + #1302 + + Work to ensure that OIIO will build correctly against the + upcoming + + Imath 3.0 and OpenEXR 3.0. #1299 + +- Disable lto + +------------------------------------------------------------------- +Sat Nov 7 11:35:53 UTC 2020 - Hans-Peter Jansen + +- Update to v1.11.9.0, see included CHANGES.md or + https://github.com/imageworks/OpenShadingLanguage/blob/Release-1.11.9.0/CHANGES.md +- Add new build dependency python3-pybind11 +- Remove stray python3 oslquery module +- Add loplevel markdown documents to doc package + +------------------------------------------------------------------- +Tue Jul 28 20:19:30 UTC 2020 - Hans-Peter Jansen + +- disable RPATH handling - fixes 15.1 build + +------------------------------------------------------------------- +Sun Jul 5 17:41:36 UTC 2020 - Stefan Brüns + +- Update to v1.11.6.0, see included CHANGES.md or + https://github.com/imageworks/OpenShadingLanguage/blob/Release-1.11.6.0-dev/CHANGES.md +- Drop obsolete patches: + + 0001-Fix-typo-in-the-.pc.in-files-that-botched-the-versio.patch + + 0001-LLVM-10-odds-and-ends-1135.patch + + 0001-Some-SPI-build-fixes-for-finding-the-right-llvm.patch + + 0001-Use-single-shared-clang-cpp-library-starting-with-LL.patch +- Renamed legalcode.txt to CC-BY-3.0.txt + +------------------------------------------------------------------- +Wed May 13 19:11:41 UTC 2020 - Stefan Brüns + +- Use the correct CMake variable to set the shader install location. +- Replace osl-pkgconfig-versions.patch with correct upstream + 0001-Fix-typo-in-the-.pc.in-files-that-botched-the-versio.patch +- Adapt to LLVM 9/10 changes defaulting to single clang-cpp library, + add 0001-Use-single-shared-clang-cpp-library-starting-with-LL.patch + instead of mangling CMake output. +- Dropped osl-oslimageio-soname.patch, which erroneously adds a + version to the OpenImageIO plugin, voiding any chance for + OIIO to find and load the plugin. +- Rename the osl.imageio package to OpenImageIO-plugin-osl, to + better reflect its purpose, install the plugin to the default + OpenImageIO plugin directory. +- Use python3 for the build process. + +------------------------------------------------------------------- +Tue Apr 21 09:54:50 UTC 2020 - Dave Plater + +- Update to v1.11.4.1 to fix build with LLVM10. +- Remove incorporated patch: + 0001-Generalize-lookup-of-stdosl.h-in-install-directory-a.patch +- Added patches from git: + 0001-Some-SPI-build-fixes-for-finding-the-right-llvm.patch and + 0001-LLVM-10-odds-and-ends-1135.patch. +- Created osl-pkgconfig-versions.patch to fix pc file's version + fields. Upstreamed along with workaround for new libclang-cpp in + issue #1155 +- Created osl-oslimageio-soname.patch to keep the library build in + line with v1.x. +- For many upstream changes since v1.10.7 see: + /usr/share/doc/packages/OpenShadingLanguage/CHANGES.md + +------------------------------------------------------------------- +Wed Nov 6 15:45:59 UTC 2019 - Stefan Brüns + +- Properly rebase 0001-Generalize-lookup-of-stdosl.h-in-install-directory-a.patch + avoid workarounds in the spec file. +- Remove conditional code for Leap 42.x +- Reflect required versions of OpenIIO and Clang in the spec file. + +------------------------------------------------------------------- +Wed Nov 6 11:38:51 UTC 2019 - Dave Plater + +- Update to release 1.10.7 which fixes build with new llvm. +- Rebased: + 0001-Generalize-lookup-of-stdosl.h-in-install-directory-a.patch +- Recent upstream changes: + *Adjust for deprecated material in more recent Qt releases. #1043 + *Fixes for MinGW compiler. #1047 + *Texture "missingalpha" optional parameter generated incorrect + code and crashed. #1044 + *Fix incorrect optimizations surrounding 'exit()' calls in the + middle of certain shader code blocks. #1051 + *LLVM 9 / clang 9 compatibility. #1058 + *Fixes to Travis CI system to keep up with OIIO master recently + upgrading its minimum required CMake. #1065 + +------------------------------------------------------------------- +Sun Jan 13 02:21:24 UTC 2019 - Stefan Brüns + +- Fix lookup of stdosl.h from oslc (bnc#1123254): + Dropped OpenShadingLanguage-shaderinstalldir.patch + Added 0001-Generalize-lookup-of-stdosl.h-in-install-directory-a.patch +- Cleaned up spec file (defattr) +- Correct LLVM_MCJIT_LIBRARY value, add comment +- Use current LLVM for building (bnc#1123252) +- Split shaders in common-headers, MaterialX-shaders and example-shaders + subpackages. stdosl.h in common-headers is required by oslc in + the main package (bnc#1123254). +- Correct clang-devel package name for Leap 42.3 + +------------------------------------------------------------------- +Tue Jan 8 16:39:15 UTC 2019 - Jan Engelhardt + +- Spruce up descriptions a bit. + +------------------------------------------------------------------- +Mon Dec 31 11:35:09 UTC 2018 - davejplater@gmail.com + +- Initial version 1.9.13 created for blender see boo#1120406 +- Blender fails to build with 1.10.x versions +- Added OpenShadingLanguage-shaderinstalldir.patch shaders are + installed directly under /usr see: + https://github.com/imageworks/OpenShadingLanguage/issues/955 diff --git a/OpenShadingLanguage.spec b/OpenShadingLanguage.spec new file mode 100644 index 0000000..a5e114d --- /dev/null +++ b/OpenShadingLanguage.spec @@ -0,0 +1,274 @@ +# +# spec file for package OpenShadingLanguage +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +# The library soname versions follow the package version major and minor numbers. +%define sover %(echo %{version} | cut -d . -f 1,2) +%define sufx %(echo %{sover}|tr . _) +# Required for the plugin directory name, see https://github.com/OpenImageIO/oiio/issues/2583 +%define oiio_major_minor_ver %(rpm -q --queryformat='%%{version}' OpenImageIO-devel | cut -d . -f 1-2) + +# we could have a minimum of 9 here. but to more easily switch to C++17 we set the minium to 16 +%global min_llvm_version 16 +%global max_llvm_version 18.9 + +Name: OpenShadingLanguage +Version: 1.13.11.0 +Release: 0 +Summary: A language for programmable shading +License: BSD-3-Clause +Group: Productivity/Graphics/Other +URL: https://github.com/AcademySoftwareFoundation/OpenShadingLanguage +Source0: https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source1: https://creativecommons.org/licenses/by/3.0/legalcode.txt#/CC-BY-3.0.txt +Patch0: fix-install-paths.patch +BuildRequires: OpenEXR-devel >= 2.4 +BuildRequires: bison +BuildRequires: cmake >= 3.15 +BuildRequires: flex +BuildRequires: gcc-c++ +BuildRequires: libboost_filesystem-devel +BuildRequires: libboost_system-devel +BuildRequires: libboost_thread-devel +BuildRequires: (OpenImageIO >= 2.4 with OpenImageIO < 3) +BuildRequires: (cmake(Clang) >= %{min_llvm_version} with cmake(Clang) =< %{max_llvm_version}) +BuildRequires: (cmake(LLVM) >= %{min_llvm_version} with cmake(LLVM) =< %{max_llvm_version}) +BuildRequires: cmake(Qt6) +BuildRequires: cmake(Qt6Core) +BuildRequires: cmake(Qt6Gui) +BuildRequires: cmake(Qt6OpenGLWidgets) +BuildRequires: cmake(Qt6Widgets) +%ifnarch %{arm} +# Build fails with partio on armv7/armv6 +BuildRequires: partio-devel +%endif +BuildRequires: pkg-config +BuildRequires: python3-devel +BuildRequires: python3-pybind11-devel +BuildRequires: cmake(OpenImageIO) >= 2.0 +BuildRequires: cmake(pugixml) +Requires: %{name}-common-headers = %{version} +Recommends: %{name}-doc = %{version} +ExcludeArch: %{ix86} + +%description +Open Shading Language (OSL) is a language for programmable shading +in advanced renderers and other applications, ideal for describing +materials, lights, displacement, and pattern generation. + +This package contains the standalone oslc compiler and some +utilities. + +%package doc +Summary: Documentation for OpenShadingLanguage +License: CC-BY-3.0 +Group: Documentation/Other +Requires: %{name} = %{version} + +%description doc +Open Shading Language (OSL) is a language for programmable shading +in advanced renderers and other applications, ideal for describing +materials, lights, displacement, and pattern generation. +This package contains documentation. + +%package example-shaders-source +Summary: OSL shader examples +License: BSD-3-Clause +Group: Development/Languages/Other +Requires: %{name} = %{version} +Requires: %{name}-common-headers + +%description example-shaders-source +Open Shading Language (OSL) is a language for programmable shading +in advanced renderers and other applications, ideal for describing +materials, lights, displacement, and pattern generation. + +This package contains some OSL example shaders. + +%package common-headers +Summary: OSL standard library and auxiliary headers +License: BSD-3-Clause +Group: Development/Languages/Other +Requires: %{name} = %{version} + +%description common-headers +Open Shading Language (OSL) is a language for programmable shading +in advanced renderers and other applications, ideal for describing +materials, lights, displacement, and pattern generation. + +This package contains the OSL standard library headers, as well +as some additional headers useful for writing shaders. + +%package -n liboslcomp%{sufx} +Summary: OpenShadingLanguage's compiler component library +License: BSD-3-Clause +Group: System/Libraries + +%description -n liboslcomp%{sufx} +Open Shading Language (OSL) is a language for programmable shading +in advanced renderers and other applications, ideal for describing +materials, lights, displacement, and pattern generation. + +%package -n liboslexec%{sufx} +Summary: OpenShadingLanguage's execution component library +License: BSD-3-Clause +Group: System/Libraries + +%description -n liboslexec%{sufx} +Open Shading Language (OSL) is a language for programmable shading +in advanced renderers and other applications, ideal for describing +materials, lights, displacement, and pattern generation. + +%package -n liboslnoise%{sufx} +Summary: OpenShadingLanguage's image noise generation library +License: BSD-3-Clause +Group: System/Libraries + +%description -n liboslnoise%{sufx} +Open Shading Language (OSL) is a language for programmable shading +in advanced renderers and other applications, ideal for describing +materials, lights, displacement, and pattern generation. + +%package -n liboslquery%{sufx} +Summary: Osl library +License: BSD-3-Clause +Group: System/Libraries + +%description -n liboslquery%{sufx} +Open Shading Language (OSL) is a language for programmable shading +in advanced renderers and other applications, ideal for describing +materials, lights, displacement, and pattern generation. + +%package -n libtestshade%{sufx} +Summary: Osl library +License: BSD-3-Clause +Group: System/Libraries + +%description -n libtestshade%{sufx} +Open Shading Language (OSL) is a language for programmable shading +in advanced renderers and other applications, ideal for describing +materials, lights, displacement, and pattern generation. + +%package -n OpenImageIO-plugin-osl +Summary: OpenImageIO input plugin +License: BSD-3-Clause +Group: System/Libraries +Obsoletes: osl.imageio < 1.11.4.1 +Provides: osl.imageio = %{version} + +%description -n OpenImageIO-plugin-osl +Open Shading Language (OSL) is a language for programmable shading +in advanced renderers and other applications, ideal for describing +materials, lights, displacement, and pattern generation. + +This is a plugin to access OSL from OpenImageIO. + +%package devel +Summary: Development files for %{name} +License: BSD-3-Clause +Group: Development/Libraries/C and C++ +Requires: %{name} = %{version} +Requires: liboslcomp%{sufx} = %{version} +Requires: liboslexec%{sufx} = %{version} +Requires: liboslnoise%{sufx} = %{version} +Requires: liboslquery%{sufx} = %{version} +Requires: libtestshade%{sufx} = %{version} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%prep +%autosetup -p1 +find . -iname CMakeLists.txt -exec sed "-i" "-e s/COMMAND python/COMMAND python3/" "{}" \; + +%build +%define _lto_cflags %{nil} +%cmake \ + -DCMAKE_SKIP_RPATH:BOOL=TRUE \ + -DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name} \ + -DOSL_SHADER_INSTALL_DIR:PATH=%{_datadir}/%{name}/shaders/ \ + -DCMAKE_CXX_STANDARD:STRING=17 +%cmake_build + +%install +%cmake_install +# Add Creative Commons license for documentation +cp -v %{SOURCE1} . + +find %{buildroot} -name LICENSE.md -print -delete +# add top level markdowns to the doc package +cp -p *.md %{buildroot}%{_docdir}/%{name}/ +# TODO: package python module +find %{buildroot}%{python3_sitearch} -name oslquery.so -print -delete +rm %{buildroot}%{_datadir}/build-scripts/serialize-bc.py + +%ldconfig_scriptlets -n liboslcomp%{sufx} +%ldconfig_scriptlets -n liboslexec%{sufx} +%ldconfig_scriptlets -n liboslnoise%{sufx} +%ldconfig_scriptlets -n liboslquery%{sufx} +%ldconfig_scriptlets -n libtestshade%{sufx} + +%files +%license LICENSE.md +%{_bindir}/* + +%files doc +%license CC-BY-3.0.txt +%doc %{_docdir}/%{name}/ + +%files example-shaders-source +%{_datadir}/%{name}/shaders/*.osl +%{_datadir}/%{name}/shaders/*.oso + +%files common-headers +%dir %{_datadir}/%{name} +%dir %{_datadir}/%{name}/shaders +%{_datadir}/%{name}/shaders/*.h + +%files -n liboslcomp%{sufx} +%license LICENSE.md +%{_libdir}/liboslcomp.so.%{sover}* + +%files -n liboslexec%{sufx} +%license LICENSE.md +%{_libdir}/liboslexec.so.%{sover}* + +%files -n liboslnoise%{sufx} +%license LICENSE.md +%{_libdir}/liboslnoise.so.%{sover}* + +%files -n liboslquery%{sufx} +%license LICENSE.md +%{_libdir}/liboslquery.so.%{sover}* + +%files -n libtestshade%{sufx} +%license LICENSE.md +%{_libdir}/libtestshade.so.%{sover}* + +%files -n OpenImageIO-plugin-osl +%license LICENSE.md +%{_libdir}/osl.imageio.so + +%files devel +%license LICENSE.md +%{_includedir}/* +%{_libdir}/lib*.so +%{_libdir}/cmake/OSL +%{_libdir}/pkgconfig/osl*.pc + +%changelog diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..26f26ed --- /dev/null +++ b/_constraints @@ -0,0 +1,8 @@ + + + + + 4 + + + diff --git a/fix-install-paths.patch b/fix-install-paths.patch new file mode 100644 index 0000000..9983e1a --- /dev/null +++ b/fix-install-paths.patch @@ -0,0 +1,20 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3cc83ff2..04342b26 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -313,13 +313,13 @@ configure_package_config_file ("${PROJECT_SOURCE_DIR}/src/cmake/Config.cmake.in" + install (FILES "${OSL_PROJECT_CONFIG}" "${OSL_VERSION_CONFIG}" + DESTINATION "${OSL_CONFIG_INSTALL_DIR}") + +-install (FILES src/cmake/llvm_macros.cmake DESTINATION cmake) ++install (FILES src/cmake/llvm_macros.cmake DESTINATION ${OSL_CONFIG_INSTALL_DIR}) + + set (PERMISSION_FLAGS OWNER_EXECUTE OWNER_READ OWNER_WRITE + GROUP_EXECUTE GROUP_READ + WORLD_EXECUTE WORLD_READ) + install (FILES src/build-scripts/serialize-bc.py +- DESTINATION build-scripts ++ DESTINATION ${CMAKE_INSTALL_DATADIR}/build-scripts + PERMISSIONS ${PERMISSION_FLAGS}) + + # install targets files