./cad/klayout, Simple GDS and OASIS file viewer and Editor

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 0.26.8nb5, Package name: klayout-0.26.8nb5, Maintainer: pkgsrc-users

Although a comparatively simple piece of software, a layout viewer is not
only just a tool for the chip design engineer. Today design's complexity
require not only a simple "viewer". Rather, a viewer is the microscope
through which the engineer looks at the design.

There are numerous viewers available, but sadly there are not many which
satisfy a few basic requirements. Most of them are commercial and
expensive. If there is need for a simple, yet powerful viewer - here it is.

Required to run:
[x11/qt5-qtsvg] [x11/qt5-qttools] [x11/qt5-qtbase] [lang/python37] [lang/ruby26-base]

Required to build:
[pkgtools/x11-links] [x11/xcb-proto] [x11/fixesproto4] [pkgtools/cwrappers] [x11/xorgproto]

Master sites:

SHA1: a118dde0020b496a73b7614940ae9c9f52be5119
RMD160: a252316aa189d10bc8f6b70df2834958ecd707f7
Filesize: 53147.684 KB

Version history: (Expand)

CVS history: (Expand)

   2021-04-21 13:43:04 by Adam Ciarcinski | Files touched by this commit (1822)
Log message:
revbump for textproc/icu
   2021-02-07 07:30:42 by Ryo ONODERA | Files touched by this commit (357)
Log message:
*: Recursive revbump from audio/pulseaudio-14.2.nb1
   2021-01-14 13:25:33 by Makoto Fujiwara | Files touched by this commit (2)
Log message:
(cad/klayout) Fix runtime stream format read, converted install dir.

Previous PKGREVISION did not install plugins, so that reading file may give
unsupportted format error etc. Installing more files now. Because of this
the directory is now under ${PREFIX}/lib/klayout/. The error was originally
reported from Atsushi Toyokura by personal communication, thanks.
(The problem was since 26.*, probably), PKGREVISION++.
   2021-01-01 10:52:45 by Ryo ONODERA | Files touched by this commit (357)
Log message:
*: Recursive revbump from audio/pulseaudio-14.0
   2020-11-05 10:09:30 by Ryo ONODERA | Files touched by this commit (1814)
Log message:
*: Recursive revbump from textproc/icu-68.1
   2020-10-30 16:35:11 by Makoto Fujiwara | Files touched by this commit (5) | Package updated
Log message:
(cad/klayout) Updated 0.25.9 to 0.26.8 by Atsushi Toyokura <asteria.at (at) \ 

 0.26.8          (2020-09-15):

  * Enhancement: %GITHUB%/issues/639
        A new method is available which enables copying of multiple cells
        into a target layout while maintaining common subcells are single
  * Bugfix: %GITHUB%/issues/637
        Points have not been selected properly when inside mirrored subcells
        in partial edit mode.
  * Bugfix: %GITHUB%/issues/629
        Qt5 QTimer timeout signal was not available to Python or Ruby.
        This also applied to all "private" signals of Qt5. QTimer is just
        one important example for this case.
  * Bugfix: %GITHUB%/issues/617
        A problem with pseudo-const Python/Ruby objects in the netlist API
        was fixed.
  * Bugfix: %GITHUB%/issues/615
        Basic authentication for package manager now uses UTF-8 encoding.
        Most servers expect this kind of encoding today. UTF password
        characters are supported this way.

 0.26.7          (2020-07-07):

  * Bugfix: %GITHUB%/issues/381 and more
        Some bugs fixed that happened specifically on MacOS.
        1.) A segfault that happened in LVS
        2.) Some classes were not properly registered for usage in scripts.
  * Bugfix: %GITHUB%/issues/493
        LVS asserted on MacOS
  * Enhancement: %GITHUB%/issues/586
        As a safety feature, the stream writers now refuse to write layouts
        with cells carrying the same names. Writing such layers would result
        in corrupted or invalid layout files.
  * Bugfix: %GITHUB%/issues/589 (tentative)
        On Anaconda-based builds for MacOS 10.15 (Catalina) a loss of instances
        was observed. This could be traced down to compiler/library incompatibilities
        but not further.
  * Enhancements: %GITHUB%/issues/591
        Two enhancements in the macro editor:
        1.) A crash happening when adding a new location was fixed
        2.) The template selection popup can now be disabled by dismissing the
            tip dialog.
  * Bugfix: %GITHUB%/issues/592
        Reading a file into a layout with unnamed layers caused problems with
        layer mapping specs.
  * Bugfix: %GITHUB%/issues/596
        Library#_destroy was crashing the application. As this function must not
        be called, it's rerouted to "nothing" for backward compatibility.
  * Enhancement: %GITHUB%/issues/603
        The "adjust origin" feature now allows specifying the target
        coordinates for the adjustment.
  * Bugfix: %GITHUB%/issues/610
        An internal error happened for certain hierarchical configurations on
        netlist extraction.
  * Enhancement: LVS netlist compare
        The algorithm was improved to provide better reproducibility. The
        detection of matching paths in the presence of ambiguities was
        In addition, the netlist compare now favours net names for resolving
        ambiguities. So if nets are named the same in the layout and the
        schematic, ambiguities are resolved based on these names. This is
        usually more efficient. A new function is available to turn this
        feature off: "consider_net_names(false)".

 0.26.6          (2020-06-05):

  * Enhancement: %GITHUB%/issues/522
        Skip comment lines with // in RVE DB reader
  * Bugfix: %GITHUB%/issues/547
        Doc fixes, better error messages on some Shape methods
  * Bugfix: %GITHUB%/issues/555
        Using 64bit coordinates on RVE reader to avoid overflow
  * Bugfix: %GITHUB%/issues/565
        Spice reader: .global should not add pin if the signal
        isn't used in a subcircuit
  * Bugfix: %GITHUB%/issues/568 and %GITHUB%/issues/578
        A CIF reader and writer bug was fixed
  * Bugfix: %GITHUB%/issues/570 and %GITHUB%/issues/579
        Perimenter can be included in antenna area for the
        antenna check. This also includes a mode in which only
        the perimeter is considered.
  * Enhancement: %GITHUB%/issues/560
        A library can be associated with multiple technologies now.
  * Bugfix: width of cell and library side panels could not be
        reduced below the width of the selection boxes in the
  * Bugfix: cell view selection header text did not get updated
        when saving the layout to a different file

 0.26.5          (2020-05-02):

  * Bugfix: %GITHUB%/issues/539
        An internal error happened on netlist flatten sometimes
  * Bugfix: %GITHUB%/issues/524
        Failed queries leave layout in undefined state
  * Bugfix: %GITHUB%/issues/525
        Report true source line in DRC and LVS verbose mode
  * Bugfix: %GITHUB%/issues/526
        Makes script debugging more reliable
  * Enhancement: %GITHUB%/issues/527
        Wildcard layer mapping for stream readers
  * Bugfix: %GITHUB%/issues/544
        Duplicate .global statements in SPICE netlists created
        duplicate pins
  * Bugfix: %GITHUB%/issues/548
        A shielding issue was fixed for DRC space measurements
  * Bugfix: diff tool bug with paths
        Differences in path points where no reported
  * Enhancement: documentation clarifications and typos fixed

 0.26.4          (2020-03-02):

  * Bugfix: %GITHUB%/issues/517
        DEF reader could not read VIAS+VIARULE without pattern
  * Enhancement: %GITHUB%/issues/471
        Leaner way to specify LVS compare tolerances for device parameters
  * Enhancement: %GITHUB%/issues/473
        Direct access to image data in scripts (array of values instead of
        per-pixel calls)
  * Bugfix: %GITHUB%/issues/476
        Issues with "target" switching in DRC solved
  * Bugfix: %GITHUB%/issues/477
        Missing letter "J" in Times font .. actually this bug is of 1967.
  * Bugfix: %GITHUB%/issues/478
        Layout queries could not use the "shapes" method
  * Bugfix: %GITHUB%/issues/481
        "isolated" DRC function reported duplicate marker shapes
  * Enhancement: %GITHUB%/issues/482
        "join_symmetric_nets" feature in LVS for implementing
        "split gate" configurations
  * Enhancement: %GITHUB%/issues/486
        There is a "save as" function available now in the macro editor
        (in context menu of the macro tree)
  * Enhancement: %GITHUB%/issues/489
        Pin names can be attached as properties to port and pin shapes
        when reading LEF or DEF
  * Bugfix: %GITHUB%/issues/491
        Performance enhancement of L2N/LVS DB file loader
  * Bugfix: %GITHUB%/issues/496
        Fixed builds on CentOS 8 and Fedora 31
  * Enhancement: %GITHUB%/issues/500
        Option to limit number of shapes for net tracer
  * Bugfix: %GITHUB%/issues/501
        Issues with ownership transfer fixed in Qt binding
  * Bugfix: %GITHUB%/issues/502
        Issues with AbsoluteProgressReporter in scripts fixed

 0.26.3          (2020-01-05):

  * Bugfix: %GITHUB%/issues/466
        A crash happened when accessing layer properties tabs with
        an invalid index in Ruby or Python
  * Bugfix: %GITHUB%/issues/464
        Problem building a layer tree with "add_child" (Ruby/Python)
  * Bugfix: %GITHUB%/issues/463
        Configuring a layer color with a group node was not effective
        over multiple levels of hierarchy
  * Enhancement: %GITHUB%/issues/462
        MOS transistor gate figures can be more generic now,
        e.g. ring-like or non-rectangular
  * Bugfix: %GITHUB%/issues/458
        A net extraction bug related to certain array/array
        interactions is fixed

 0.26.2          (2019-12-18):

  * Bugfix: %GITHUB%/issues/453
        A crash happened when the "inverse" button is used on the TEXT
  * Bugfix: %GITHUB%/issues/449
        The Qt windows styling plugin is now installed too on Windows.
  * Bugfix: %GITHUB%/issues/448
        The LVSDB database wasn't written with the proper device
        class statements in short form.
  * Bugfix: %GITHUB%/issues/447
        Net extraction did not work properly on a specific test case
        with folded and interleaving array instances.
  * Bugfix: %GITHUB%/issues/445
        "Selection/Merge shapes" gave cryptic message when instances \ 
are selected
  * Enhancement: %GITHUB%/issues/444
        Support for net joining though labels also for specific
        subcells (here: to support double-height standard cells)
  * Bugfix: %GITHUB%/issues/440
        LayoutView#each_annotation_selected wasn't working
  * Enhancement: %GITHUB%/issues/438
        Redefining a circuit in Spice netlists will give an error now
  * Enhancement: %GITHUB%/issues/436
        Option to silence instance copy mode dialog,
        Enhancements to interactive move, duplicate and copy (sensitive
        to transient selection now)
  * Enhancement: %GITHUB%/issues/434
        New preinstalled Ruby gems and Python packages (e.g. numpy, scipy,
        test/unit for Ruby) for the Windows packages.
  * Bugfix: %GITHUB%/issues/429
        Support for MAGIC file format (*.mag)
  * Enhancement: %GITHUB%/issues/428
        Edit buttons are not shown in user properties dialog
        in viewer mode
  * Enhancement: %GITHUB%/issues/426
        Techs can be grouped in menu now
  * Enhancement: %GITHUB%/issues/425
        Don't generate dummy pins for dummy gates
  * Bugfix: %GITHUB%/issues/419
        Multiple top circuits after flatten of netlist
  * Bugfix: %GITHUB%/issues/417
        Probe nets does not work with flat extraction on Tools/Trace All Nets/Flat
  * Bugfix: %GITHUB%/issues/415 and %GITHUB%/issues/439
        Macros need to be stored with CRLF on Windows for management
        with a versioning system like git
  * Enhancement: %GITHUB%/issues/411
        Multiple device extractors for same class
  * Bugfix: %GITHUB%/issues/410
        Errors were not reported on "rerun" from the DRC and LVS \ 
report dialogs
  * Bugfix: %GITHUB%/issues/408
        Internal error after EdgePairs#polygon
  * Enhancement: %GITHUB%/issues/407
        Variables can be used in technology base path now
          - $(tech_name) -> substituted by the technology name
          - $(tech_dir) -> substituted by the directory the technology file \ 
is stored in
          - $(tech_file) -> substituted by the absolute path to the tech file
          - $(appdata_path) -> substituted by KLayout's home directory (e.g. \ 
          - $(env('X')) -> substituted by the environment variable $X
  * Enhancement: %GITHUB%/issues/406
        DRC edge layers: AND between intersecting edges gives point-like
        markers indicating the intersection points
  * Enhancement: netlist object properties
        User properties can be attached to the following netlist objects
        now: Pin, Device, Circuit, Net and SubCircuit. Properties are
        key/value pairs (keys and values can be strings can be strings
        or numbers).
        The property-enabled classes use "NetlistObject" as the base
        class now. NetlistObject provides "set_property" to set or reset
        a property and "property" to retrieve one.
        Properties are persisted in L2N and LVSDB files and written to
        layout shapes on "build_nets".
  * Enhancement: more detailed progress
        On certain nested operations, a double or triple progress bar is
        shown indicating the progress of nested operations.

 0.26.1          (2019-11-06):

  * Bugfix: %GITHUB%/issues/354
        Buddy scripts did segfault.
  * Bugfix: %GITHUB%/issues/352
        LVS: equivalent_pins required the cell to be present.
  * Enhancement: %GITHUB%/issues/353
        Session files: "file-path" and "rdb-file" behavior \ 
was inconsistent.
  * Bugfix: %GITHUB%/issues/358
        "strm2oas" was writing GDS files.
  * Bugfix: %GITHUB%/issues/363
        It was possible to produce bad polygons while drawing.
  * Bugfix: %GITHUB%/issues/372
        pymod build failed with HAVE_64BIT_COORD=1.
  * Enhancement: %GITHUB%/issues/376
        Parameters UI callback invoking.
  * Bugfix: %GITHUB%/issues/368
        Segfault with layer list manipulation while iterating.
  * Bugfix: %GITHUB%/issues/386
        "None" is a reserved keyword for Python binding - use \ 
  * Enhancement: %GITHUB%/issues/382
        Possibility to copy user property value.
  * Enhancement: %GITHUB%/issues/387
        Salt: Python version can be specified in "api-version".
        Other requirements can be specified too.
  * Bugfix: %GITHUB%/issues/392
        Layers "Style" sub-pane was malformed.
  * Enhancement: %GITHUB%/issues/394
        Even bigger font sizes for rulers and labels for the 4k age:
        Now there is "XLarge", "XXLarge" and \ 
"XXXLarge" as well.
  * Enhancement: %GITHUB%/issues/393
        DRC syntax errors are now shown in their original code line
        of the DRC script.
  * Bugfix: %GITHUB%/issues/400
        Snap feature wasn't working for deep regions in certain use
  * Enhancement: new "scale_and_snap" methods
        These methods allow scaling and snapping of layouts. Scaling
        is supported by a rational factor. After scaling, snapping can
        be applied to an integer grid. There are two incarnations.
        Region#scale_and_snap (or Region#scaled_and_snapped): this is
        a flat implementation which allows anisotropic scaling/snapping
        as well.
        And there is Layout#scale_and_snap which is a fully
        hierarchical scale-and-snap feature. The latter does not support
        anisotropic scaling/snapping, but works hierarchically without
        opening gaps. It operates on a top cell and on all layers.
  * Enhancement: new Region#pull_* methods and DRC features
        "pull_*" is a class of methods that allows rehierarchisation
        of shapes. These methods act similar to "interacting", but
        the other way around: instead of delivering interacting
        shapes of the first argument, it will deliver shapes of
        the second argument. For example, "a.pull_interacting(b)"
        will deliver polygons of b which interact with polygons
        of a. As a side effect, the polygons of b will be stored
        hierarchically close to the polygons of a. This provides
        a way to "re-hierarchise" layout.
        The full class of methods and DRC functions involve:
        Region#pull_interacting, Region#pull_inside, Region#pull_overlapping
        and the same functions for DRC.
        "pull_interacting" is also available for the Edges class
        and edge layers in DRC.
  * Enhancement: Net tracer bug fix for heavily decomposed polygons
        The net tracing feature now can operate on heavily decompose
        polygons as well. Such layouts can be created by using a low
        max. vertex count on GDS write. The problem were small
        triangles with an area of 0.5 square DBU.
  * Enhancements: General fixes of deep DRC mode
        Some inconsistencies with merged/raw mode have been
        removed. Performance was enhanced in a few places.
        Multithreaded mode now works more reliably.
  * Enhancements/bugfixes: various LVS improvements
        The backtracking algorithm should work more reliable
        in cases of ambiguities and floating nets or pins.
        Performance should be better in some cases.
        LVS script structure is less rigid now. "cheats" to
        forcibly ignore hierarchy interactions for some
        cells (useful for SRAM layout for example).
        Still there is some work to do.

 0.26            (2019-09-10):

  * Bugfix: %GITHUB%/issues/197
        Python: Reimplemented methods are not getting called
  * Bugfix: %GITHUB%/issues/236
        Crash when using "Delete all rulers"
  * Bugfix: %GITHUB%/issues/251
        Register application exit handler in Ruby
  * Bugfix: %GITHUB%/issues/264
        Python exceptions are redirected when PCell is used
  * Bugfix: %GITHUB%/issues/265
        LEF file can't be read
  * Bugfix: %GITHUB%/issues/277
        Region#min_coherence is not recognized by Region#sized
  * Bugfix: %GITHUB%/issues/293
        File/Setup menu and dialog names are inconsistent
  * Bugfix: %GITHUB%/issues/294
        Cannot display the right icon in Ubuntu
  * Bugfix: %GITHUB%/issues/302
        Display issues with small cells
  * Bugfix: %GITHUB%/issues/305
        CIF box positions are incorrect when a rotation is specified
  * Bugfix: %GITHUB%/issues/306
        Round corners issue
  * Bugfix: %GITHUB%/issues/316
        Text capture box has zero dimension for move
  * Bugfix: %GITHUB%/issues/318
        Unable to disable a key binding
  * Bugfix: %GITHUB%/issues/321
        Something's wrong with tip windows
  * Bugfix: %GITHUB%/issues/322
        CIF, error when changing layer name while file open in KLayout
  * Bugfix: %GITHUB%/issues/330
        DXF reader stalls
  * Bugfix: %GITHUB%/issues/337
        Annotation: make "cross" styles available for scripts
  * Bugfix: %GITHUB%/issues/338
        Unreadable Assistant document: QComboBox
  * Bugfix: Rare crash fixed with line width > 1
        With line widths > 1, segfaults have been observed in some
        rare cases.
  * Enhancement: %GITHUB%/issues/287
        Return an ObjectInstPath from the RecursiveShapeIterator
  * Enhancement: %GITHUB%/issues/317
        "infix move"
  * Enhancement: %GITHUB%/issues/333
        Ruby/Python automation of "auto measure"
  * Enhancement: %GITHUB%/issues/342
        Ruler properties editor: swap points and snap to object buttons
  * Enhancement: %GITHUB%/issues/343
        Dockable bookmark window
  * Enhancement: Hierarchical mode for DRC ("deep" keyword)
        DRC can be put into hierarchical mode with the "deep"
        statement at the beginning of the file.
        In hierarchical mode, most operations are performed
        in a hierarchical fashion - i.e. trying to maintain
        as much from the original hierarchy as possible.
  * Enhancements: Antenna checks for DRC
        DRC now got an antenna check feature. Netlist extraction
        is the basis for this feature.
  * Enhancement: Hierarchical mode in XOR tool and "strmxor"
        The XOR tool and the "strmxor" buddy tool provide
        switches to enable hierarchical mode. These options
        are considered experimental currently as XOR between
        two different layouts was not the implementation goal.
  * Enhancement: Netlist extraction
        KLayout supports extraction of netlists from a layout.
        This is the first step towards LVS. This feature includes
        an infrastructure providing netlist data structures
        (with Ruby/Python bindings), Netlist readers and writers
        (Spice format), device recognition and a netlist browser.
  * Enhancement: LVS
        The LVS feature is based on the netlist extraction capabilities.
        It adds netlist vs. netlist compare and the corresponding
        LVS is a new script environment that is based on the DRC feature
        and extends the DRC script language by LVS elements.
  * Enhancement: Command line option -mn to open netlist database
  * Enhancement: Net tracer "trace all nets"
        Based on the netlist extraction feature, an alternative mode
        for net tracing is provided. With "trace all nets", no a single
        but all nets are traced at once. Probing then happens in the
        final nets extracted rather than providing the seed shape.
        "Trace all nets" operates in hierarchical mode and therefore
        usually is faster and has a smaller memory footprint when
        extracting huge nets such as power nets.
  * Enhancement: Library browser
        The library browser is a dockable tool window which shows
        all libraries installed. Use drag and drop to place a library
        cell from the library browser in edit mode.
  * Enhancement: Layout query enhancements
        Layout queries (aka "Search and replace") now allow specification
        of Variables when using the script API. The performance of queries has been
        enhanced in the case of cell tree recursion.
  * Enhancement: Gridline colors
        The grid lines (or dots, depending on the style) can now be given
        different colors for axes, grid lines and the ruler inset.
  * Enhancement: Multiple files on import
        The "File/Import/Other files into current" feature now allows
        importing multiple files into the current layout.
  * Enhancement: Python standalone module
        KLayout supports production of standalone Python modules
        which provide the same features than the "pya" module but
        for use without the KLayout binary. If installed properly,
        "import klayout" will pull in all modules. "import \ 
        will pull in the database part.
        Deployment on PyPI is supported.
  * Enhancement: Modal help dialog from modal windows
        When using Assistant links in the UI, the assistant now is shown
        as a modal window when called from a modal dialog. Before, the
        Assistant window wasn't usable in this case.
   2020-10-18 00:03:06 by Makoto Fujiwara | Files touched by this commit (2) | Package updated
Log message:
(cad/klayout) Updated 0.25.6 to 0.25.9

0.25.9          (2019-06-18):

* Bugfix: %GITHUB%/issues/261
       Issue with iterating Python sequences
* Bugfix: %GITHUB%/issues/271
       Chose cell coordinates on "Make Cell"
* Bugfix: %GITHUB%/issues/272
       Error message if trying to run macros in unsupported languages
* Bugfix: %GITHUB%/issues/275
       "Write without context" did not have an effect with OASIS
* Bugfix: %GITHUB%/issues/276
       LayerPropertiesNodeRef was not working as documented
* Bugfix: %GITHUB%/issues/278
       Lost reference with ObjectInstPath#shape
* Bugfix: %GITHUB%/issues/281
       Width and space violations are reported now also for
       the "kissing corners" case

0.25.8          (2019-02-23):

* Bugfix: %GITHUB%/issues/234
       Issues with LayoutView#save_image_with_options
* Bugfix: %GITHUB%/issues/232
       Crash on reading .lyp files with big stipple pattern
* Bugfix: %GITHUB%/issues/228
       Bug in Region#interact and DRC's "interact" function.
* Bugfix: %GITHUB%/issues/225
       Mirrored custom stipple pattern

0.25.7          (2019-01-09):

* Bugfix: %GITHUB%/issues/200
       Safer iteration of cell instances and shapes (with
       modifications of container during iteration) - in this
       case while flattening instances
* Bugfix: %GITHUB%/issues/209
       Reader options were grayed out in stream import feature.
* Bugfix: %GITHUB%/issues/207
       Basic.TEXT PCell was rounding bias a spacing values to
       integer multiples.
* Bugfix: %GITHUB%/issues/203
       A segfault was fixed that happend on certain platforms
       when closing the application (e.g. CentOS7).
* Bugfix: (RBA/pya) Technology#load was not working
       Instead of load, the technology was saved.
   2020-08-18 19:58:18 by Leonardo Taccari | Files touched by this commit (549)
Log message:
*: revbump for libsndfile