Subject: CVS commit: pkgsrc
To: None <pkgsrc-changes@netbsd.org>
From: Rene Hexel <rh@netbsd.org>
List: pkgsrc-changes
Date: 04/26/2001 22:31:06
Module Name:	pkgsrc
Committed By:	rh
Date:		Thu Apr 26 19:31:05 UTC 2001

Modified Files:
	pkgsrc/cad/eagle: Makefile distinfo
	pkgsrc/cad/eagle/pkg: PLIST

Log Message:
Update eagle to 4.01e.  Notable changes include:

 * Control Panel

   - The Control Panel now has a "Tree View" which provides an
     overview over all areas of EAGLE, like Libraries, User Language
     Programs, Projects etc.  The Control Panel's tree view supports
     "Drag&Drop" to copy or move files and directories.

   - Objects in the tree view have a context menu that can be
     accessed by pressing the right mouse button.

   - The menu option "Save project as..." is no longer available.

   - New projects can now be created via the context menu in the
     "Projects" tree item, or by selecting "File/New/Project" from
     the Control Panel.

   - The path settings in "Options/Directories" can now use the special
     names "$HOME" and "$EAGLEDIR" to access the user's home directory
     or the EAGLE installation directory, respectively.

   - The new "Auto backup" feature will automatically save any modified
     drawing into a safety backup file after a certain time.

 * New Project Structure

   - The names of files that are under the current project directory
     are no longer written as absolute paths into the 'eagle.epf' file,
     but rather relative to the project directory.  This allows for
     complete project directories to be easily copied or renamed.

   - A project is now held in a subdirectory that contains a file
     named 'eagle.epf' (which stores the location and settings of open
     windows).

 * User Interface

   - The textual command menu can now be configured to display
     aliased command buttons as well as submenus (see HELP MENU for
     details).

   - Changes made in the "Options/User interface" dialog now take effect
     immediately for open editor windows.

   - The cursor inside a layout or schematic editor window can now be
     set to a "large" crosshair cursor (see "Options/User interface").

   - The "Delete" icon was changed from a pencil with an eraser to
     an 'X'.

   - The "Split" icon was changed to better indicate what will happen.

 * Keyboard and mouse control

   - Alt-0 no longer popups up the window list, but leads directly to
     the Control Panel.

   - Pressing the Ctrl key while moving the mouse now scrolls the draw
     window in any direction.

   - The mouse wheel now zooms in and out in editor windows (zoom
     factor can be adjusted in "Options/User interface/Mouse wheel
     zoom", a value of '0' disables this feature and the sign of this
     factor defines the direction of the zoom operation).

 * Screen display

   - The default for "minimum visible text size" has been changed to 3.

   - The display mode parameter FAST has been dropped.

   - By default the zoom factor in editor windows is limited so that
     the resulting virtual drawing area does not exceed the 16-bit
     coordinate range.  This is necessary to avoid problems with
     graphics drivers that are not 32-bit proof. If the graphics
     driver on a particular system can handle coordinates that
     exceeed the 16-bit range, "Options/User interface/Limit zoom
     factor" can be switched off allow larger zoom factors.

 * Design Rules

   - EAGLE now supports a full set of Design Rules that are stored
     inside the board file (and can also be saved to disk files).
     Both the Design Rule Check and the Autorouter will use the
     same set of rules.

   - Newly created boards take their design rules from the file
     'default.dru', which is searched for in the first directory
     listed in the "Options/Directories/Design rules" path.

   - Cream mask values are now measured "inwards" and thus have a
     positive sign.

   - The parameters AnnulusConduct and ThermalConduct are no longer
     available. There are now checkboxes in the Design Rules dialog's
     "Supply" tab that define whether a Thermal or Annulus symbol
     shall have a "Restring" or not.

 * Net Classes

   - Nets and Signals now have a new parameter called "Net Class".

 * Polygons

   - When calculating polygons, the minimum distances defined in
     the design rules and net classes will be taken into account.

 * Design Rule Check

   - The DRC now runs a lot faster.

   - Progress is now displayed in a progress bar.

   - Polygons from different signals with the same 'rank' are checked
     against each other.

   - The 'overlap' and 'minimum distance' check are no longer separate
     checks.

   - The DRC no longer checks an individual signal against everything
     else. The newly introduced "Net Classes" can be used to do this.

   - The rectangle for a selective DRC can now be defined with
     "click&drag" (just as in the WINDOW command).

   - Holes are no longer checked in the "Grid" check (only pads, vias,
     smds and wires in signal layers are checked).

   - Any objects in signal layers within a package are now checked
     against each other.

 * Long strings

   - All names, values and texts can now be of any length.

   - The User Language constants regarding name lengths still exist,
     but the program uses these constants only for formatted output as
     in the EXPORT command. They are still present for compatibility
     only.

   - There is no more limit to the number of members in a bus (bus
     index values are limited to 0..511).

   - Bus member names can now contain any characters, except
     ':', ',', '[', ']' and blanks.

 * Wire styles

   - Wires now have a new parameter 'Style', which can be set to one
     of the following values:

                         Continuous      _______________  (default)
                         LongDash        ___ ___ ___ ___
                         ShortDash       _ _ _ _ _ _ _ _
                         DashDot         ___ . ___ . ___

   - The variable for setting the bend type of a wire has been renamed
     from Wires_Style to Wire_Bend to avoid confusing the two
     parameters.

 * Text fonts

   - Texts can now have three different fonts: 'Vector' the program's
     internal vector font (as used in previous versions)
     'Proportional' a proportional pixel font (usually 'Helvetica')
     'Fixed' a monospaced pixel font (usually 'Courier')

   - When updating drawings from older versions, all texts are
     converted to 'Proportional' font, except for those in layers
     Top...Bottom, tRestrict and bRestrict, since these texts probably
     need to be subtracted from signal polygons, which only works with
     the 'Vector' font.

   - The program makes great efforts to output texts with fonts other
     than 'Vector' as good as possible.  However, since the actual font
     is drawn by the system's graphics interface, 'Proportional' and
     'Fixed' fonts may be output with different sizes and/or lengths.

 * Pads and Vias

   - The diameter of pads and vias is now derived from the drill
     diameter using the Design Rules (the pad and via diameter '0' is
     now allowed and results in a diameter that is derived from the
     current design rules). If a pad is defined with a diameter that
     exceeds the one that would result from the current design rules,
     the larger diameter is taken.  The default value for the diameter
     of newly created pads and vias is now '0' to allow the Design
     Rules to define the actual diameters.

  - Pads can have different shapes on Top and Bottom (they will always
    be 'round' on the inner layers).

  - The via shape now only applies to the outer layers (they will
    always be 'round' on the inner layers).

  - The diameter of pads with shape X/YLongOct now defines the
    smaller side of the pad (formerly the wider side).  Existing
    files will be modified accordingly during the update.

  - By default vias no longer generate Thermal symbols in supply
    layers.

 * Round SMDs

   - SMDs have a new parameter "Roundness", which can range between
     0 and 100 and defines the percentage by which the corners are
     "rounded". A value of 0 (default) results in a rectangle, while
     a value of 100 results in a circular shape (if the x and y
     dimension of the SMD are the same), which can be used for BGAs.

   - The SMD command accepts roundness values as numbers with a
     leading '-' (to be able to distinguish it from the SMD size
     values).  The CHANGE command has a new option "Roundness".

 * New Library structure

   - What was called a "Device" in previous versions is now
     called a "Device Set". A "Device Set" consists of the gate
     definitions and several actual devices, implemented through
     "Package Variants"

   - The PACKAGE command can now assign several different package
     variants to a device (as in 7400N, 7400D,...).

   - The new command TECHNOLOGY can be used to define various
     "technology" variants for a device's package variants (as in
     74LS00N, 74S00N,...).

   - The CHANGE command has the new options PACKAGE and TECHNOLOGY,
     which can be used to select from the packages and/or technologies
     a device set defines. This can be done from within the schematic
     or board.

   - The new command DESCRIPTION can be used to provide detailed
     textual information about a device, package or library.

   - The CONNECT dialog now allows copying pin/pad connections from
     an other package variant. Only those package variants are offered
     in the "Copy from" combo box that have the same pad names as the
     current package variant (only connected pads are checked).

   - The CONNECT dialog now asks the user if he want's to discard
     any changes before cancelling the dialog.

   - The CONNECT command can now handle gate names that contain
     periods.

   - The device editor now displays a list of package variants, a
     preview of the current package and the description of the
     device.

 * Automatic Library update

   - If a library has been modified after parts or packages from it
     have been added to a schematic or board, the new command UPDATE
     can be used to automatically update all used library objects with
     their latest version (see "Help Update").

   - The UPDATE command can be selected from the "Library" pulldown
     menu in a board or schematic, or from the context menu of a
     library in the Control Panel. It is also possible to drag&drop
     a library from the Control Panel onto a schematic or board
     drawing and perform the update that way.

 * Bill Of Material

   - The User Language Program 'bom.ulp' to generate the "Bill Of
     Material" has been rewritten. It now has a dialog in which the
     user can interactively generate the BOM, pulling in additional
     data from a user defined database file. Use "RUN bom.ulp" and
     click on the "Help" button for more information.

 * Generating Outlines for milling prototypes

   - The User Language Program 'outlines.ulp' can be used to generate
     the data necessary to control a milling machine for generating
     a prototype board.

 * User Language

   - The User Language now supports user defined dialogs as well as
     standard file dialogs and message boxes.

   - The RUN command now accepts additional arguments that are
     available to the ULP as 'argc' and 'argv' parameters.

   - Data can now be read into a ULP.

   - The new lookup() function can be used to perform database
     lookups.

   - The new fileglob() function can be used to do a directory
     search.

   - The new fileerror() function can be used check for I/O errors.

   - The 'exit()' function can now have a string parameter which is
     sent to the editor window and executed as a command string.

   - ULPs can now include other ULP files with the new #include
     directive.

 * Script files

   - Script files can now call other scripts (as long as no
     recursive call is made).

   - Script files can now contain comments. Everything after
     (and uncluding) a '#' character will be ignored.

   - The 'eagle.scr' file is now first searched for in the current
     project directory (which is equal to the current working
     directory in case there is no project open) and then in the
     directories listed in the Control Panel's
     "Options/Directories/Scripts".

  * Autorouter

    - The Autorouter can now route "through" signal polygons (this
      can be controlled by the new cost factor 'cfPolygon').

    - The Autorouter control parameters are now stored inside the
      board file. They can be saved to and loaded from external files
      via the Autorouter dialog.  Existing control files will be
      automatically read and stored in the board file when updating
      files from previous versions.

    - The Autorouter and DRC now use the same set of Design Rules.

    - When saving Autorouter control parameters to disk, the minimum
      distance parameters are no longer part of that file.

    - There can now be any number of 'Optimize' passes. By default
      there are now 4 'Optimize' passes.

    - Each pass can be separately activated or deactivated.

    - The Autorouter can now route different wire widths and minimum
      distances simultaneously by using "Net Classes".

    - The minimum routing grid is now 0.02mm (about 0.8mil).

    - The default control parameters and the internal handling of
      cfChangeDir have been modified to avoid jagged tracks.

 * ADD command

   - The ADD command can now be used with wildcards ('*' or '?') to
     find a specific device. The ADD dialog offers a tree view of
     the matching devices, as well as a preview of the device and
     package variant.

   - To add directly form a specific library, the command syntax

                            ADD devicename@libraryname

     can be used. 'devicename' may contain wildcards and
     'libraryname' can be either a plain library name (like "ttl"
     or "ttl.lbr") or a full file name (like
     "/home/mydir/myproject/ttl.lbr" or "../lbr/ttl").

   - If a device or package shall be added, and there is already
     such an object (with the same name from the same library) in the
     drawing, an automatic library update will be performed which
     replaces the existing object in the drawing with the current
     version from the library.

   - The new command UPDATE can be used to update all parts in a board
     or schematic with modified library versions (see "Help Update").

 * CHANGE command

   - CHANGE LAYER for wires and polygons now works between any
     layers within packages and symbols.

 * CONNECT command

   - Pressing the SPACE key in the CONNECT dialog while a list element
     has the focus will now perform the 'connect' or 'disconnect'
     action, respectively.

 * DELETE command

   - If the last supply symbol of a given type is deleted from a net
     segment that has the same name as the deleted supply pin, that
     segment is now given a newly generated name (if there are no other
     supply symbols still attached to that segment) or the name of one
     of the remaining supply symbols.

 * DISPLAY command

   - The new parameters '?' and '??' can be used to control what
     happens if a layer that is given in a DISPLAY command does not
     exist in the current drawing. See "Help Display" for details.

 * GROUP command

   - If the selected group is empty, the GROUP command no longer
     displays a message box saying "Group is empty". It rather prompts
     that message in the status bar (with a beep) and stays active for
     a new group definition.

 * ERC command

   - The ERC now lists the package names when reporting parts/
     elements with inconsistent packages.

   - The ERC now detects inconsistencies between the implicit power
     and supply pins in the schematic and the actual signal
     connections in the board.

   - The ERC now checks for missing junctions and overlapping wires
     and pins.

 * ERRORS command

   - The ERRORS dialog is no longer modal (it stays "on top" of the
     editor window) and can be kept open while resuming normal
     editing in the editor window.  The various error types are now
     listed more detailed.

 * EXPORT command

   - The EXPORT can now export image files (BMP, PNG, etc.). See
     "Help/EXPORT" for details.

 * NET and BUS command

   - If a net wire is placed at a point where there is already
     another net or bus wire or a pin, the current net wire will be
     ended at that point (in previous versions the user had to click
     twice to end a net wire).

 * PASTE command

   - When pasting objects into a drawing that already contains earlier
     (different) versions of these objects, an automatic library
     update will be performed which replaces the existing objects in
     the drawing with the new versions from the paste buffer.

 * PRINT command

   - The PRINT dialog's "Page setup" now allows border values that
     are smaller than the initial values derived from the printer
     driver. To get back to the original default you can enter '0'.

 * REMOVE command

   - The REMOVE command can now handle device, symbol and package
     names with extension (for example REMOVE name.pac).

 * RENAME command

   - The RENAME command now allows '.' in names.

   - The RENAME command can now handle device, symbol and package
     names with extension (for example RENAME name1.pac name2[.pac]
     - note that the extension is optional in the second parameter).

 * REPLACE command

   - The REPLACE command can no longer be used with active forward-
     and backannotation.  This is due to the now complete definition
     of a device set with all its package variants. Use the CHANGE
     PACKAGE command to select one of the defined package variants,
     or use the UPDATE command to update a package with a modified
     version from the same library.

 * SET command

   - The SET options for Thermal and Annulus parameters as well as
     the Solder Stop and Cream mask data have been removed.

   - The SET variables DRC_SHOW and DRC_COLOR are now obsolete
     (progress in the Design Rule Check is now displayed in a
     progress bar).

   - The SET variable MAX_ERROR_ZOOM is now obsolete. The ERRORS
     dialog is no longer modal (it stays "on top" of the editor
     window) and zooming can be done with the usual WINDOW commands
     or buttons.

 * SHOW command

   - Highlighted objects are now kept highlighted during subsequent
     window operations.

   - Pressing ESCape in the SHOW command now lowlights the currently
     highlighted object.

 * USE command

   - The USE command is now mainly for use in script files.

 * CAM Processor

   - The CAM Processor no longer supports matrix printers. Use the
     PRINT command to print to the system printer.

   - The CAM Processor no longer prints sheets. Use the PRINT
     command instead.

 * Parameter storage

   - User specific parameters are now stored in an "eaglerc" file.
     At program start, parameters are read (in the given sequence)
     from the files

         prgdir/eaglerc
         /etc/eaglerc
         $HOME/.eaglerc

     where prgdir means the directory that contains the EAGLE program
     file.

 * Command line options

   - The options '-A' and '-T' are now obsolete (thermal and annulus
     data is now defined in the Design Rules).

   - The options '-B' and '-M' are now obsolete (solder stop and
     cream mask data is now defined in the Design Rules).

   - The option '-C' is now obsolete, since the CAM Processor no
     longer supports matrix printers (all printing is done with the
     PRINT command).

   - The options '-Z' and '-Y' are now obsolete (drill symbols are
     configured in "Options/Set/Drill" and are stored in the user
     specific "eaglerc" file).

 * Miscellaneous

   - The DOS and OS/2 platforms are no longer supported.

   - Due to changes in the file data structure you will most likely
     be asked whether to run the ERC when loading a board/schematic
     pair created with an earlier version of EAGLE.

   - Files from earlier versions of EAGLE may contain library objects
     with the same names. This was caused by PASTE or ADD operations
     with modified devices or packages. Version 4 no longer allows
     this to happen, and therefore needs to make sure updated files
     do not contain multiple objects with the same name. In order to
     assure this, the update routine adds the '@' character and a
     number to the names of such library objects.

   - The library editor can now edit devices and symbols, even if the
      user's license does not contain the schematic module.

   - Avoiding multiple 'Save?' prompts for boards and schematics that
     are connected via f/b annotation.

   - When a file is modified while updating from a previous version
     the resulting update report is now presented in a separate text
     window.


To generate a diff of this commit:
cvs rdiff -r1.2 -r1.3 pkgsrc/cad/eagle/Makefile
cvs rdiff -r1.1 -r1.2 pkgsrc/cad/eagle/distinfo
cvs rdiff -r1.1.1.1 -r1.2 pkgsrc/cad/eagle/pkg/PLIST

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.