You are not logged in.

#1 2021-01-18 11:42:17

mokkurkalve
Member
From: Bergen, Norway
Registered: 2009-08-29
Posts: 60

How to find a package dropped from offical repo?

I currently maintain the package "rubyripper" in AUR. Now I find that the package "ruby-gtk2" are recently dropped from official repos, and rubyripper basically needs this. How do I go about to get a copy of the last PKGBUILD so I can upload this package to the AUR?


"ONLY THOSE WHO ATTEMPT THE IMPOSSIBLE WILL ACHIEVE THE ABSURD"
- Oceania Association of Autonomous Astronauts

Offline

#2 2021-01-18 11:52:39

hcjl
Member
From: berlin
Registered: 2007-06-29
Posts: 330

Re: How to find a package dropped from offical repo?

asp checkout ruby-gtk2

should do the job.

Offline

#3 2021-01-18 12:21:12

eschwartz
Fellow
Registered: 2014-08-08
Posts: 4,097

Re: How to find a package dropped from offical repo?


Managing AUR repos The Right Way -- aurpublish (now a standalone tool)

Offline

#4 2021-01-18 12:47:13

progandy
Member
Registered: 2012-05-17
Posts: 5,184

Re: How to find a package dropped from offical repo?

Or maybe you could port it to the gtk3 binding. I think it shouldn't be too difficult. This gives me the GUI, but I currently have no cd drive available and cannot test further. There are still some deprecation warnings, but they tell you which changes you should make.

diff --git a/../old/rubyripper-0.7.0rc2/bin/rubyripper_gtk2 b/./bin/rubyripper_gtk2
index ea9dcba..d806e0d 100755
--- a/../old/rubyripper-0.7.0rc2/bin/rubyripper_gtk2
+++ b/./bin/rubyripper_gtk2
@@ -35,7 +35,7 @@ end
 
 # Try to load the gtk2 files
 begin
-  require 'gtk2'
+  require 'gtk3'
 rescue LoadError
   puts "The ruby-gtk2 library could not be found. Is it installed?"; exit()
 end
@@ -123,7 +123,7 @@ attr_reader :instances
   
   # setup the central container
   def setupMainContainer
-    @mainHbox = Gtk::HBox.new(false,5)
+    @mainHbox = Gtk::Box.new(:horizontal, 5)
     createButtonsLeftside()
     setButtonsLeftsideSignals()
     @mainHbox.pack_start(@vbuttonbox1,false,false,0)
@@ -166,13 +166,13 @@ attr_reader :instances
   
   # The abort button transforms into exit when the rip is finished or aborted
   def updateAbortButtonToExit
-    @buttontext[4].set_text('_' + _("Exit"), true)
+    @buttontext[4].set_text_with_mnemonic('_' + _("Exit"))
     @buttonicons[4].stock = Gtk::Stock::QUIT
   end
   
   # The exit button transforms into abort when the rip is started
   def updateExitButtonToAbort
-    @buttontext[4].set_text('_' + _("Abort"), true)
+    @buttontext[4].set_text_with_mnemonic('_' + _("Abort"))
     @buttonicons[4].stock = Gtk::Stock::CANCEL
   end
   
@@ -190,12 +190,12 @@ attr_reader :instances
   
   # the leftside menu that is always visible
   def createButtonsLeftside
-    @vbuttonbox1 = Gtk::VButtonBox.new #child of @mainHbox
+    @vbuttonbox1 = Gtk::ButtonBox.new(:vertical) #child of @mainHbox
     @buttons = [Gtk::Button.new, Gtk::Button.new, Gtk::Button.new, Gtk::Button.new, Gtk::Button.new]
     @buttons.each{|button| button.sensitive = false}
     @buttontext = [Gtk::Label.new('_'+_('Preferences'),true), Gtk::Label.new('_'+_("Scan drive"), true), Gtk::Label.new('_'+_("Open tray"),true), Gtk::Label.new('_'+_("Rip cd now!"),true), Gtk::Label.new('_'+_("Exit"),true)]
     @buttonicons = [Gtk::Image.new(Gtk::Stock::PREFERENCES, Gtk::IconSize::LARGE_TOOLBAR), Gtk::Image.new(Gtk::Stock::REFRESH, Gtk::IconSize::LARGE_TOOLBAR), Gtk::Image.new(Gtk::Stock::GOTO_BOTTOM, Gtk::IconSize::LARGE_TOOLBAR), Gtk::Image.new(Gtk::Stock::CDROM, Gtk::IconSize::LARGE_TOOLBAR), Gtk::Image.new(Gtk::Stock::QUIT, Gtk::IconSize::LARGE_TOOLBAR)]
-    @vboxes = [Gtk::VBox.new, Gtk::VBox.new, Gtk::VBox.new,  Gtk::VBox.new, Gtk::VBox.new]
+    @vboxes = [Gtk::Box.new(:vertical), Gtk::Box.new(:vertical), Gtk::Box.new(:vertical),  Gtk::Box.new(:vertical), Gtk::Box.new(:vertical)]
 
     index = 0
     @vboxes.each do |vbox|
@@ -238,7 +238,7 @@ attr_reader :instances
 
   def savePreferences
     if @currentInstance == 'GtkPreferences'
-      @buttontext[0].set_text('_'+_('Preferences'),true)
+      @buttontext[0].set_text_with_mnemonic('_'+_('Preferences'))
       @buttonicons[0].stock = Gtk::Stock::PREFERENCES
       @gtkPrefs.save
     end
@@ -273,7 +273,7 @@ attr_reader :instances
     @buttons.each{|button| button.sensitive = false}
     Thread.new do
       if @currentInstance != 'GtkPreferences'
-        @buttontext[0].set_text('_'+_('Disc info'), true)
+        @buttontext[0].set_text_with_mnemonic('_'+_('Disc info'))
         @buttonicons[0].stock = Gtk::Stock::INFO
         startupPreferences()
         @buttons[0..2].each{|button| button.sensitive = true}
@@ -338,12 +338,12 @@ attr_reader :instances
   end
   
   def showClosedTray
-    @buttontext[2].set_text('_'+_("Close tray"), true)
+    @buttontext[2].set_text_with_mnemonic('_'+_("Close tray"))
     @buttonicons[2].stock = Gtk::Stock::GOTO_TOP
   end
   
   def showOpenTray
-    @buttontext[2].set_text('_'+_("Open tray"),true)
+    @buttontext[2].set_text_with_mnemonic('_'+_("Open tray"))
     @buttonicons[2].stock = Gtk::Stock::GOTO_BOTTOM
   end
   
diff --git a/../old/rubyripper-0.7.0rc2/lib/rubyripper/gtk2/gtkDisc.rb b/./lib/rubyripper/gtk2/gtkDisc.rb
index 3317e68..39a7b27 100644
--- a/../old/rubyripper-0.7.0rc2/lib/rubyripper/gtk2/gtkDisc.rb
+++ b/./lib/rubyripper/gtk2/gtkDisc.rb
@@ -237,7 +237,7 @@ class GtkDisc
     @label20 = Gtk::Label.new()
     @frame20 = Gtk::Frame.new()
 
-    @display = Gtk::VBox.new #One VBox to rule them all
+    @display = Gtk::Box.new(:vertical) #One VBox to rule them all
   end
 
   def configDisplayValues()
diff --git a/../old/rubyripper-0.7.0rc2/lib/rubyripper/gtk2/gtkPreferences.rb b/./lib/rubyripper/gtk2/gtkPreferences.rb
index 1a089c0..c259821 100644
--- a/../old/rubyripper-0.7.0rc2/lib/rubyripper/gtk2/gtkPreferences.rb
+++ b/./lib/rubyripper/gtk2/gtkPreferences.rb
@@ -184,7 +184,7 @@ class GtkPreferences
     @prefs.noSpaces = @noSpaces.active?
     @prefs.noCapitals = @noCapitals.active?
     @prefs.maxThreads = @maxThreads.value.to_i
-    preventThreadProblemsOnOlderBindings()
+    #preventThreadProblemsOnOlderBindings()
     @prefs.normalizer = saveNormalizer()
     @prefs.gain = @modus.active == 0 ? "album" : "track"
 #metadata
@@ -339,7 +339,7 @@ It is recommended to enable this option.")
     @table60.attach(@noLog, 0, 2, 2, 3, Gtk::FILL|Gtk::SHRINK, Gtk::SHRINK, 0, 0)
     @frame60 = newFrame(_('Ripping related'), child=@table60)
 #pack all frames into a single page
-    @page1 = Gtk::VBox.new #One VBox to rule them all
+    @page1 = Gtk::Box.new(:vertical) #One VBox to rule them all
     [@frame40, @frame50, @frame60].each{|frame| @page1.pack_start(frame,false,false)}
     @page1_label = Gtk::Label.new(_("Secure Ripping"))
     @display.append_page(@page1, @page1_label)
@@ -375,7 +375,7 @@ It is recommended to enable this option.")
 #pack objects
     @tableToc2.attach(@createCue, 0, 2, 1, 2, Gtk::FILL, Gtk::SHRINK, 0, 0)
     @tableToc2.attach(@image, 0, 2, 2, 3, Gtk::FILL|Gtk::SHRINK, Gtk::SHRINK, 0, 0)
-    @vboxToc = Gtk::VBox.new()
+    @vboxToc = Gtk::Box.new(:vertical)
     @vboxToc.pack_start(@tableToc2,false,false)
     @frameToc2 = newFrame(_('Advanced Toc analysis'), child=@vboxToc)
 # build hbox for cdrdao
@@ -410,7 +410,7 @@ It is recommended to enable this option.")
     @vboxToc.pack_start(@frameToc4,false,false)
 #pack all frames into a single page
     setSignalsToc()
-    @pageToc = Gtk::VBox.new #One VBox to rule them all
+    @pageToc = Gtk::Box.new(:vertical) #One VBox to rule them all
     [@frameToc1, @cdrdaoHbox, @frameToc2].each{|frame| @pageToc.pack_start(frame,false,false)}
     @pageTocLabel = Gtk::Label.new(_("TOC analysis"))
     @display.append_page(@pageToc, @pageTocLabel)
@@ -516,9 +516,9 @@ It is recommended to enable this option.")
   end
   
   def createAddCodecRow
-    @addCodecComboBox = Gtk::ComboBox.new()
+    @addCodecComboBoxText = Gtk::ComboBoxText.new()
     @prefs.allCodecs.each do |codec|
-      @addCodecComboBox.append_text(getLabelForCodec(codec)) unless @codecRows.key?(codec)
+      @addCodecComboBoxText.append_text(getLabelForCodec(codec)) unless @codecRows.key?(codec)
     end
     
     if @addCodecLabel.nil?
@@ -529,7 +529,7 @@ It is recommended to enable this option.")
       # create the signal for the button
       @addCodecButton.signal_connect("button_release_event") do |a, b|
         
-        label = @addCodecComboBox.active_text
+        label = @addCodecComboBoxText.active_text
         if not label.nil?
           createCodecRow(getCodecForLabel(label))
           updateCodecsView()
@@ -540,7 +540,7 @@ It is recommended to enable this option.")
     # put the row into the table
     top = @codecRows.size
     @selectCodecsTable.attach(@addCodecLabel, 0, 1, top, top+1, Gtk::FILL, Gtk::SHRINK, 0, 0)
-    @selectCodecsTable.attach(@addCodecComboBox, 1, 2, top, top+1, Gtk::FILL|Gtk::EXPAND, Gtk::SHRINK, 0, 0)
+    @selectCodecsTable.attach(@addCodecComboBoxText, 1, 2, top, top+1, Gtk::FILL|Gtk::EXPAND, Gtk::SHRINK, 0, 0)
     @selectCodecsTable.attach(@addCodecButton, 2, 3, top, top+1, Gtk::FILL, Gtk::SHRINK, 0, 0)
   end
 
@@ -564,12 +564,12 @@ It is recommended to enable this option.")
   def buildFrameNormalizeToStandardVolume #Normalize audio
     @table85 = newTable(rows=2, columns=1)
 #creating objects
-    @normalize = Gtk::ComboBox.new()
+    @normalize = Gtk::ComboBoxText.new()
     @normalize.append_text(_("Don't standardize volume"))
     @normalize.append_text(_("Use replaygain on audio files"))
     @normalize.append_text(_("Use normalize on WAVE files"))
     @normalize.active=0
-    @modus = Gtk::ComboBox.new()
+    @modus = Gtk::ComboBoxText.new()
     @modus.append_text(_("Album / Audiophile modus"))
     @modus.append_text(_("Track modus"))
     @modus.active = 0
@@ -580,7 +580,7 @@ It is recommended to enable this option.")
     @table85.attach(@modus, 1, 2, 0, 1, Gtk::FILL, Gtk::FILL, 0, 0)
     @frame85 = newFrame(_('Normalize to standard volume'), child=@table85)
 #pack all frames into a single page
-    @page2 = Gtk::VBox.new #One VBox to rule them all
+    @page2 = Gtk::Box.new(:vertical) #One VBox to rule them all
     [@frame70, @frame80, @frame85].each{|frame| @page2.pack_start(frame,false,false)}
     @page2_label = Gtk::Label.new(_("Codecs"))
     @display.append_page(@page2, @page2_label)
@@ -589,7 +589,7 @@ It is recommended to enable this option.")
   def buildFrameChooseMetadataProvider
     @table90 = newTable(rows=1, columns=2)
     @metadataLabel = Gtk::Label.new(_("Primary metadata provider:"))
-    @metadataChoice = Gtk::ComboBox.new()
+    @metadataChoice = Gtk::ComboBoxText.new()
     @metadataChoice.append_text(_("Freedb"))
     @metadataChoice.append_text(_("Musicbrainz"))
     @metadataChoice.append_text(_("Don't use a metadata provider"))
@@ -653,7 +653,7 @@ It is recommended to enable this option.")
   
   def packMetadataFrames
     @metadataChoice.signal_connect("changed"){updateMetadataProviderView()}
-    @page3 = Gtk::VBox.new #One VBox to rule them all
+    @page3 = Gtk::Box.new(:vertical) #One VBox to rule them all
     [@frame90, @frame91, @frame92].each{|frame| @page3.pack_start(frame,false,false)}
     @page3_label = Gtk::Label.new(_("Metadata"))
     @display.append_page(@page3, @page3_label)
@@ -757,7 +757,7 @@ It is recommended to enable this option.")
   end
 
   def pack_other_frames #pack all frames into a single page
-    @page4 = Gtk::VBox.new()
+    @page4 = Gtk::Box.new(:vertical)
     [@frame100, @frame110, @frame120].each{|frame| @page4.pack_start(frame,false,false)}
     @page4_label = Gtk::Label.new(_("Other"))
     @display.signal_connect("switch_page") do |a, b, page|
diff --git a/../old/rubyripper-0.7.0rc2/lib/rubyripper/gtk2/multipleFreedbHits.rb b/./lib/rubyripper/gtk2/multipleFreedbHits.rb
index b7001f0..47e94d0 100644
--- a/../old/rubyripper-0.7.0rc2/lib/rubyripper/gtk2/multipleFreedbHits.rb
+++ b/./lib/rubyripper/gtk2/multipleFreedbHits.rb
@@ -31,7 +31,7 @@ class MultipleFreedbHits
     @hbox1 = Gtk::HBox.new
     [@image1, @label1].each{|object| @hbox1.pack_start(object)}
 
-    @combobox = Gtk::ComboBox.new(true) # text only
+    @combobox = Gtk::ComboBoxText.new(true) # text only
     value.each{|freedb_hit| @combobox.append_text(freedb_hit)}
     @separator1 = Gtk::HSeparator.new
     @hbox2 = Gtk::HBox.new
diff --git a/../old/rubyripper-0.7.0rc2/lib/rubyripper/gtk2/ripStatus.rb b/./lib/rubyripper/gtk2/ripStatus.rb
index 68ae73c..b75107f 100644
--- a/../old/rubyripper-0.7.0rc2/lib/rubyripper/gtk2/ripStatus.rb
+++ b/./lib/rubyripper/gtk2/ripStatus.rb
@@ -65,7 +65,7 @@ class RipStatus
     @ripBar.pulse_step = 0.01
 
     @hbox1 = Gtk::HBox.new(true,5)
-    @vbox1 = Gtk::VBox.new(false,5)
+    @vbox1 = Gtk::Box.new(:vertical,5)
     @vbox1.border_width = 5
 
     @label1 = Gtk::Label.new

Last edited by progandy (2021-01-18 12:48:46)


| alias CUTF='LANG=en_XX.UTF-8@POSIX ' |

Offline

#5 2021-01-18 14:05:10

mokkurkalve
Member
From: Bergen, Norway
Registered: 2009-08-29
Posts: 60

Re: How to find a package dropped from offical repo?

progandy wrote:

Or maybe you could port it to the gtk3 binding.

Yeah, I probably should look into that. But right now I have no time. So as a solution for now I uploaded ruby-gtk2 "as is" to the AUR.
But I'll appreciate any help in making this package better.  smile


"ONLY THOSE WHO ATTEMPT THE IMPOSSIBLE WILL ACHIEVE THE ABSURD"
- Oceania Association of Autonomous Astronauts

Offline

Board footer

Powered by FluxBB