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 [!-~]+