Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package qucs-s for openSUSE:Factory checked 
in at 2025-04-14 12:58:23
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/qucs-s (Old)
 and      /work/SRC/openSUSE:Factory/.qucs-s.new.1907 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "qucs-s"

Mon Apr 14 12:58:23 2025 rev:9 rq:1268992 version:25.1.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/qucs-s/qucs-s.changes    2025-03-17 
22:21:42.028773255 +0100
+++ /work/SRC/openSUSE:Factory/.qucs-s.new.1907/qucs-s.changes  2025-04-14 
12:58:24.768326011 +0200
@@ -1,0 +2,16 @@
+Fri Apr 11 17:52:37 UTC 2025 - Wojciech Kazubski <w...@ire.pw.edu.pl>
+
+- Update to 25.1.2
+  What's Changed
+  + Allow copy and paste ports in symbol editing mode by @wawuwo in
+    #1271
+  + Fix Xyce IC for Tline by @ra3xdh in #1275
+  + Fix crash when coordinates of wire ends are in wrong order by
+    @wawuwo in #1278
+  + Removed innosetup action. by @dsm in #1281
+  + Fix Qt-6.9 QString .arg matching by @ivandi69 in #1286
+  + Change .OPTIONS and .FUNC components to allow free editing of
+    contents. by @iwbnwif in #1262
+  + Allow variables in single pulse sources by @ra3xdh in #1289
+
+-------------------------------------------------------------------

Old:
----
  qucs-s-25.1.1.tar.gz

New:
----
  qucs-s-25.1.2.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ qucs-s.spec ++++++
--- /var/tmp/diff_new_pack.KqYcJA/_old  2025-04-14 12:58:25.408352888 +0200
+++ /var/tmp/diff_new_pack.KqYcJA/_new  2025-04-14 12:58:25.412353056 +0200
@@ -25,7 +25,7 @@
 %endif
 
 Name:           qucs-s
-Version:        25.1.1
+Version:        25.1.2
 Release:        0
 Summary:        Qucs with SPICE
 License:        GPL-2.0-or-later

++++++ qucs-s-25.1.1.tar.gz -> qucs-s-25.1.2.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qucs-s-25.1.1/.github/workflows/deploy.yml 
new/qucs-s-25.1.2/.github/workflows/deploy.yml
--- old/qucs-s-25.1.1/.github/workflows/deploy.yml      2025-03-14 
14:47:08.000000000 +0100
+++ new/qucs-s-25.1.2/.github/workflows/deploy.yml      2025-04-08 
09:03:35.000000000 +0200
@@ -18,7 +18,7 @@
   QUCS_MACOS_BIN: 
${{github.workspace}}/build/qucs/qucs-s.app/Contents/MacOS/bin
   QUCS_MACOS_RESOURCES: 
${{github.workspace}}/build/qucs/qucs-s.app/Contents/MacOS/share/qucs-s
   NGSPICE_URL: 
https://downloads.sourceforge.net/project/ngspice/ng-spice-rework/44.2/ngspice-44.2_64.7z
-  
+
 jobs:
   setup:
     runs-on: ubuntu-latest
@@ -417,12 +417,12 @@
         $zipName = 
"${env:APP_NAME}-${env:VERSION}${env:SHORT_HASH}-MSVC-x64.zip"
         Compress-Archive -Path ./bin, ./share, ./lib, ./misc -DestinationPath 
"${{github.workspace}}\$zipName"
         cd ${{github.workspace}}
+
     
     - name: Compile .ISS to .EXE Installer
-      uses: Minionguyjpro/Inno-Setup-Action@v1.2.5
-      with:
-        path: contrib/InnoSetup/qucs.iss
-        options: /Qp /O"${{github.workspace}}" /DAPPNAME=${{ env.APP_NAME }} 
/DRELEASE="${{ env.VERSION }}${{ env.SHORT_HASH }}-MSVC"
+      shell: pwsh
+      run: |
+        ISCC.exe /Qp /O"${{github.workspace}}" /DAPPNAME=${{ env.APP_NAME }} 
/DRELEASE="${{ env.VERSION }}${{ env.SHORT_HASH }}-MSVC" 
"${{github.workspace}}\contrib\InnoSetup\qucs.iss"
 
     - name: Upload build artifacts
       uses: actions/upload-artifact@v4
@@ -537,11 +537,10 @@
         cd ../..
 
     - name: Compile .ISS to .EXE Installer
-      uses: Minionguyjpro/Inno-Setup-Action@v1.2.5
-      with:
-        path: contrib/InnoSetup/qucs.iss
-        options: /Qp /O"${{github.workspace}}" /DAPPNAME=${{ env.APP_NAME }} 
/DRELEASE="${{ env.VERSION }}${{ env.SHORT_HASH }}"
-        
+      shell: pwsh
+      run: |
+        ISCC.exe /Qp /O"${{github.workspace}}" /DAPPNAME=${{ env.APP_NAME }} 
/DRELEASE="${{ env.VERSION }}${{ env.SHORT_HASH }}" 
"${{github.workspace}}\contrib\InnoSetup\qucs.iss"
+
     - name: Upload build artifacts
       uses: actions/upload-artifact@v4
       with:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qucs-s-25.1.1/NEWS.md new/qucs-s-25.1.2/NEWS.md
--- old/qucs-s-25.1.1/NEWS.md   2025-03-14 14:47:08.000000000 +0100
+++ new/qucs-s-25.1.2/NEWS.md   2025-04-08 09:03:35.000000000 +0200
@@ -1,3 +1,18 @@
+# Qucs-S 25.1.2
+
+## Bugfixes and general improvemnt
+
+* Fixed crash when dragging overlapping wires #1273
+* Fixed TLine SPICE entry for Xyce #1274
+* Partial fix of unable to modify .OPTIONS component #1260 #1262
+* Allow variables in sungle pulse sources #1289
+* Qucsator updated to v1.0.6
+
+## Known issues
+
+* The .OPTIONS devices works but allows to edit or delete its first property. 
+  It is recommended to use the *INCLUDE SCRIPT* instead. See #1262
+
 # Qucs-S 25.1.1
 
 ## Bugfixes and general improvemnt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qucs-s-25.1.1/VERSION new/qucs-s-25.1.2/VERSION
--- old/qucs-s-25.1.1/VERSION   2025-03-14 14:47:08.000000000 +0100
+++ new/qucs-s-25.1.2/VERSION   2025-04-08 09:03:35.000000000 +0200
@@ -1 +1 @@
-25.1.1
+25.1.2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qucs-s-25.1.1/contrib/io.github.ra3xdh.qucs_s.metainfo.xml 
new/qucs-s-25.1.2/contrib/io.github.ra3xdh.qucs_s.metainfo.xml
--- old/qucs-s-25.1.1/contrib/io.github.ra3xdh.qucs_s.metainfo.xml      
2025-03-14 14:47:08.000000000 +0100
+++ new/qucs-s-25.1.2/contrib/io.github.ra3xdh.qucs_s.metainfo.xml      
2025-04-08 09:03:35.000000000 +0200
@@ -35,6 +35,9 @@
   </screenshots>
 
   <releases>
+    <release version="25.1.2" date="2025-04-08">
+      <url 
type="details">https://github.com/ra3xdh/qucs_s/releases/tag/25.1.2</url>
+    </release>
     <release version="25.1.1" date="2025-03-14">
       <url 
type="details">https://github.com/ra3xdh/qucs_s/releases/tag/25.1.1</url>
     </release>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qucs-s-25.1.1/qucs/components/componentdialog.cpp 
new/qucs-s-25.1.2/qucs/components/componentdialog.cpp
--- old/qucs-s-25.1.1/qucs/components/componentdialog.cpp       2025-03-14 
14:47:08.000000000 +0100
+++ new/qucs-s-25.1.2/qucs/components/componentdialog.cpp       2025-04-08 
09:03:35.000000000 +0200
@@ -328,7 +328,7 @@
   excludeList<<"Diode"<<"MCROSS"<<"MTEE"
               <<"R"<<"C"<<"Buf"<<"Inv";
 
-  // qDebug() << component->Model;
+  // qDebug() << "Component Model text is: " << component->Model;
 
   
restoreGeometry(_settings::Get().item<QByteArray>("ComponentDialog/geometry"));
   setWindowTitle(tr("Edit Component Properties") + " - " + 
component->Description.toUpper());
@@ -352,7 +352,7 @@
   componentNameWidget->setCheck(component->showName);
 
   // Try to work out what kind of component this is.
-  isEquation = QStringList({"Eqn", "NutmegEq", "SpiceIC", "SpicePar", 
"SpiceCSPar", "SpGlobPar"}).contains(component->Model);
+  isEquation = QStringList({"Eqn", "NutmegEq", "SpiceIC", "SpicePar", 
"SpiceOptions", "SpiceFunc", "SpiceCSPar", 
"SpGlobPar"}).contains(component->Model);
   hasSweep = QStringList({".AC", ".DISTO", ".NOISE", ".SW", ".SP", 
".TR"}).contains(component->Model);
   hasFile = component->Props.count() > 0 && component->Props.at(0)->Name == 
"File";
 
@@ -362,8 +362,8 @@
   // for a given simulation type. Then only create the valid widgets fo
   // sweepParams[".AC"] = QStringList({"Type", "Start", "Stop", "Points"});
 
-  paramsHiddenBySim["Export"] = QStringList{"NutmegEq", "SpiceIC", "SpicePar", 
"SpiceCSPar", "SpGlobPar"};
-  paramsHiddenBySim["Sim"] = QStringList{".AC", ".DISTO", ".SP", ".NOISE", 
".TR", "Eqn", "SpiceIC", "SpicePar", "SpiceCSPar", "SpGlobPar"};
+  paramsHiddenBySim["Export"] = QStringList{"NutmegEq", "SpiceIC", "SpicePar", 
"SpiceOptions", "SpiceFunc", "SpiceCSPar", "SpGlobPar"};
+  paramsHiddenBySim["Sim"] = QStringList{".AC", ".DISTO", ".SP", ".NOISE", 
".TR", "Eqn", "SpiceIC", "SpicePar", "SpiceOptions", "SpiceFunc", "SpiceCSPar", 
"SpGlobPar"};
   paramsHiddenBySim["Param"] = QStringList{".AC", ".DISTO", ".SP", ".NOISE", 
".TR"};
 
   // Setup the dialog according to the component kind.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qucs-s-25.1.1/qucs/components/ipulse.cpp 
new/qucs-s-25.1.2/qucs/components/ipulse.cpp
--- old/qucs-s-25.1.1/qucs/components/ipulse.cpp        2025-03-14 
14:47:08.000000000 +0100
+++ new/qucs-s-25.1.2/qucs/components/ipulse.cpp        2025-04-08 
09:03:35.000000000 +0200
@@ -98,25 +98,16 @@
     s += " " + spicecompat::normalize_node_name(Ports.at(1)->Connection->Name);
     s += " " + spicecompat::normalize_node_name(Ports.at(0)->Connection->Name);
 
-    double T1,T2, TrVal, TfVal, Pw,fac,Per;
-    QString unit;
-
-    QString VL = spicecompat::normalize_value(Props.at(0)->Value); // VL
-    QString VH = spicecompat::normalize_value(Props.at(1)->Value); // VH
+    QString IL = spicecompat::normalize_value(Props.at(0)->Value); // VL
+    QString IH = spicecompat::normalize_value(Props.at(1)->Value); // VH
     QString Tr = spicecompat::normalize_value(Props.at(4)->Value); // Tr 
     QString Tf = spicecompat::normalize_value(Props.at(5)->Value); // Tf
+    QString T1 = spicecompat::normalize_value(getProperty("T1")->Value); // T1
+    QString T2 = spicecompat::normalize_value(getProperty("T2")->Value); // T2
 
-    misc::str2num(Props.at(2)->Value,T1,unit,fac); // Td
-    T1 *= fac;
-    misc::str2num(Props.at(3)->Value,T2,unit,fac); //T2
-    Pw=T2*fac-T1;
-    misc::str2num(Props.at(4)->Value,TrVal,unit,fac); //Value of Tr
-    Pw = Pw - TrVal*fac;
-    misc::str2num(Props.at(5)->Value,TfVal,unit,fac); //Value of Tf   
-    Pw = Pw - TfVal*fac;
-    Per = 1.0e9*Pw;
 
-    s += QStringLiteral(" DC 0 PULSE(%1 %2 %3 %4 %5 %6 %7) AC 
0\n").arg(VL).arg(VH).arg(T1).arg(Tr).arg(Tf).arg(Pw).arg(Per);
+    s += QStringLiteral(" DC 0 PULSE(%1 %2 %3 %4 %5 {(%6)-(%3)-(%4)-(%5)}) AC 
0\n")
+             .arg(IL).arg(IH).arg(T1).arg(Tr).arg(Tf).arg(T2);
 
     return s;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qucs-s-25.1.1/qucs/components/vpulse.cpp 
new/qucs-s-25.1.2/qucs/components/vpulse.cpp
--- old/qucs-s-25.1.1/qucs/components/vpulse.cpp        2025-03-14 
14:47:08.000000000 +0100
+++ new/qucs-s-25.1.2/qucs/components/vpulse.cpp        2025-04-08 
09:03:35.000000000 +0200
@@ -85,25 +85,15 @@
         s += " "+ nam;   // node names
     }
 
-    double T1,T2, TrVal, TfVal, Pw,fac,Per;
-    QString unit;
-
     QString VL = spicecompat::normalize_value(Props.at(0)->Value); // VL
     QString VH = spicecompat::normalize_value(Props.at(1)->Value); // VH
     QString Tr = spicecompat::normalize_value(Props.at(4)->Value); // Tr 
     QString Tf = spicecompat::normalize_value(Props.at(5)->Value); // Tf
+    QString T1 = spicecompat::normalize_value(getProperty("T1")->Value); // T1
+    QString T2 = spicecompat::normalize_value(getProperty("T2")->Value); // T2
 
-    misc::str2num(Props.at(2)->Value,T1,unit,fac); // Td
-    T1 *= fac;
-    misc::str2num(Props.at(3)->Value,T2,unit,fac); //T2
-    Pw=T2*fac-T1;
-    misc::str2num(Props.at(4)->Value,TrVal,unit,fac); //Value of Tr
-    Pw = Pw - TrVal*fac;
-    misc::str2num(Props.at(5)->Value,TfVal,unit,fac); //Value of Tf   
-    Pw = Pw - TfVal*fac;
-    Per = 1.0e9*Pw;
-
-    s += QStringLiteral(" DC 0 PULSE(%1 %2 %3 %4 %5 %6 %7) AC 
0\n").arg(VL).arg(VH).arg(T1).arg(Tr).arg(Tf).arg(Pw).arg(Per);
+    s += QStringLiteral(" DC 0 PULSE(%1 %2 %3 %4 %5 {(%6)-(%3)-(%4)-(%5)}) AC 
0\n")
+             .arg(VL).arg(VH).arg(T1).arg(Tr).arg(Tf).arg(T2);
 
     return s;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qucs-s-25.1.1/qucs/main.cpp 
new/qucs-s-25.1.2/qucs/main.cpp
--- old/qucs-s-25.1.1/qucs/main.cpp     2025-03-14 14:47:08.000000000 +0100
+++ new/qucs-s-25.1.2/qucs/main.cpp     2025-04-08 09:03:35.000000000 +0200
@@ -773,7 +773,7 @@
         compData << "Category; "          + category;
 
         // 001_data.csv - CSV file with component data
-        QString ID = QStringLiteral("%1").arg(num,3,'d',0,'0');
+        QString ID = QStringLiteral("%1").arg(num,3,10,QChar('0'));
         QString objDataFile;
         objDataFile = QStringLiteral("%1_data.csv").arg( ID  ) ;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qucs-s-25.1.1/qucs/schematic_file.cpp 
new/qucs-s-25.1.2/qucs/schematic_file.cpp
--- old/qucs-s-25.1.1/qucs/schematic_file.cpp   2025-03-14 14:47:08.000000000 
+0100
+++ new/qucs-s-25.1.2/qucs/schematic_file.cpp   2025-04-08 09:03:35.000000000 
+0200
@@ -121,7 +121,7 @@
   s += "<Paintings>\n";
   for(pp = a_Paintings->first(); pp != 0; pp = a_Paintings->next())
     if(pp->isSelected)
-      if(pp->Name.at(0) != '.') {  // subcircuit specific -> do not copy
+      if ((a_isSymbolOnly && pp->Name.startsWith(".PortSym")) || 
pp->Name.at(0) != '.') {  // subcircuit specific -> do not copy
         s += "<"+pp->save()+">\n";  z++; }
   s += "</Paintings>\n";
 
@@ -983,7 +983,26 @@
       List->append(w);
       if(w->Label)  List->append(w->Label);
     }
-    else simpleInsertWire(w);
+    else {
+      // Quick fix for ra3xdh#1273.
+      //
+      // A wire whose (x1,y1) coordinates are not less than (x2,y2)
+      // coordinates somehow deals some damage like crashes or funny behaviour.
+      //
+      // I wasn't able to understand how exactly this happens, i.e. why it's
+      // important to have x1 less than x2 for a wire, so I decided to fix this
+      // in a most straightforward way by "normalizing" the wire before 
installing
+      // it into schematic
+      if (w->x1 > w->x2) {
+        std::swap(w->x1, w->x2);
+        std::swap(w->y1, w->y2);
+      } else if (w->x1 == w->x2 && w->y1 > w->y2) {
+        std::swap(w->x1, w->x2);
+        std::swap(w->y1, w->y2);
+      }
+
+      simpleInsertWire(w);
+    }
   }
 
   QMessageBox::critical(0, QObject::tr("Error"),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qucs-s-25.1.1/qucs/spicecomponents/LTL_SPICE.cpp 
new/qucs-s-25.1.2/qucs/spicecomponents/LTL_SPICE.cpp
--- old/qucs-s-25.1.1/qucs/spicecomponents/LTL_SPICE.cpp        2025-03-14 
14:47:08.000000000 +0100
+++ new/qucs-s-25.1.2/qucs/spicecomponents/LTL_SPICE.cpp        2025-04-08 
09:03:35.000000000 +0200
@@ -121,7 +121,11 @@
         s += QStringLiteral(" NL=%1").arg(Nl);
     }
 
-    s += QStringLiteral(" IC=%5, %6, %7, %8 
\n").arg(V1).arg(I1).arg(V2).arg(I2);
+    if (dialect == spicecompat::SPICEXyce) {
+      s += "\n"; // Xyce doesn't support IC
+    } else {
+      s += QStringLiteral(" IC=%5, %6, %7, %8 
\n").arg(V1).arg(I1).arg(V2).arg(I2);
+    }
 
     return s;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qucs-s-25.1.1/qucsator_rf/NEWS.md 
new/qucs-s-25.1.2/qucsator_rf/NEWS.md
--- old/qucs-s-25.1.1/qucsator_rf/NEWS.md       2025-03-14 14:47:17.000000000 
+0100
+++ new/qucs-s-25.1.2/qucsator_rf/NEWS.md       2025-04-08 09:03:43.000000000 
+0200
@@ -1,3 +1,7 @@
+# QucsatorRF v1.0.6
+
+* Fixed bugs related to VCD files conversion #36
+
 # QucsatorRF v1.0.5
 
 * Fixed bugs related to data files converter #34
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qucs-s-25.1.1/qucsator_rf/VERSION 
new/qucs-s-25.1.2/qucsator_rf/VERSION
--- old/qucs-s-25.1.1/qucsator_rf/VERSION       2025-03-14 14:47:17.000000000 
+0100
+++ new/qucs-s-25.1.2/qucsator_rf/VERSION       2025-04-08 09:03:43.000000000 
+0200
@@ -1 +1 @@
-1.0.5
+1.0.6
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qucs-s-25.1.1/qucsator_rf/src/converter/scan_vcd.lpp 
new/qucs-s-25.1.2/qucsator_rf/src/converter/scan_vcd.lpp
--- old/qucs-s-25.1.1/qucsator_rf/src/converter/scan_vcd.lpp    2025-03-14 
14:47:17.000000000 +0100
+++ new/qucs-s-25.1.2/qucsator_rf/src/converter/scan_vcd.lpp    2025-04-08 
09:03:43.000000000 +0200
@@ -59,7 +59,7 @@
 EXPONENT [Ee][+-]?{DIGIT}+
 INT      [+-]?{DIGIT}+
 REAL     [+-]?{DIGIT}+("."{DIGIT}+)?{EXPONENT}?
-BINARY   [01uUzZ]+
+BINARY   [01xXuUzZ]+
 DECIMAL  {DIGIT}+
 SCALAR   [01uUzZ]
 CODE     [!-~]+

Reply via email to