Modify

Ticket #487 (closed task: fixed)

Opened 2 years ago

Last modified 2 years ago

1.2.13 For Windows Any Time Soon?

Reported by: anonymous Owned by: quinox
Priority: normal Milestone: Release 1.2.14
Component: nicotine Version: 1.2.13
Keywords: Cc:

Description

I really wish Windows packages of Nicotine+ had a higher priority...

Attachments

Change History

comment:1 Changed 2 years ago by quinox

I really wish I had a pony. And a boat. I'd ride my pony on my boat.

None of the developers run Windows, so we cannot make Windows binaries. If you want to help you can help out here:

  1. Install a valid GTK toolchain
  2. Install Py2Exe
  3. Run N+ from SVN

Once that's working you can generate the .exe by yourself very easily: Just call the setup.py file with py2exe as parameter and you'll have a Windows installer for the binary. Once completed let us know where to find it and we'll put it up on the front page

comment:2 Changed 2 years ago by anonymous

I'm no developer, but that doesn't sound very difficult. If you could elaborate and give additional details, I'd be glad to provide a Windows binary.

  1. Would that be sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/MinGW%205.1.6/MinGW-5.1.6.exe/download ?
  1. I'm not sure which file on sourceforge.net/projects/py2exe/files/ would be best. Is it sourceforge.net/projects/py2exe/files/py2exe/0.6.9/py2exe-0.6.9.win32-py2.7.exe/download ? I'm on 32-bit Windows, by the way.
  1. Is this step done through one of the above applications?

Also, if you could be specific about how to perform the necessary operations required to creating the Windows binary.

If all this is too much trouble to describe and you don't want to be bothered with it, I understand. I'd really need more info to do this as I don't want to go in blindly though.

comment:3 Changed 2 years ago by OffHand

I will look into it as well. I will let you know if/when I find something useful.

comment:4 Changed 2 years ago by offhand

12:38:06 [MissQuianim] http://py2exe.org/index.cgi/Tutorial
12:38:50 [MissQuianim] step 1 and 2 are already complete
12:38:54 [MissQuianim] so start at #3
12:38:59 [OffHand] # Install a valid GTK toolchain ??
12:39:18 [MissQuianim] if you can run N+ from SVN you got that already sorted
12:39:32 [MissQuianim] toolchain = everything involved with
12:39:40 [OffHand] ah ok
12:39:43 [MissQuianim] ah right, shouldn't have used that word
12:39:53 [MissQuianim] it's just that installing GTK isn't enough
12:40:01 [MissQuianim] you need Cairo, GObjects and all that crap too
12:40:03 [OffHand] sounded like an app or xtra set of libraries  :)
12:40:19 [OffHand] I should be sound
12:40:25 [OffHand] got all that and gtk dev
12:40:37 [MissQuianim] indeed
12:40:55 [OffHand] and
12:40:59 [OffHand] Just call the setup.py file with py2exe as parameter  ??
12:41:32 [MissQuianim] yup
12:41:47 [MissQuianim] the setup.py file is specially made for py2exe and py2app
12:42:10 [OffHand] what would the line of code be?
12:42:36 [MissQuianim] in a dos prompt, "python setup.py py2exe"
12:43:36 [OffHand] cheers

comment:5 Changed 2 years ago by offhand

First try:

*** copy data files ***
copying C:\Python26\lib\site-packages\py2exe\run_w.exe -> C:\Nicotine-Plus\dist\
nicotine.exe
warning: py2exe: Version Info will not be included:
  could not parse version number '1.2.14svn'
The following modules appear to be missing
['GeoIP', '_GeoIP', '_pybsddb', 'bsddb3.dbutils', 'dbus', 'dbus.glib', 'dl', 'du
mmy.Process', 'email.Generator', 'email.Iterators', 'gdk', 'gnome', 'gnomevfs',
'gst', 'gtkmozembed', 'ltihooks', 'miniupnpc', 'procname', 'psyco', 'pygst', 'py
nicotine.trayicon', 'pynotify', 'resource', 'sexy', 'win32api', 'win32con', 'win
32pipe']

*** binary dependencies ***
Your executable(s) also depend on these dlls which are not included,
you may or may not need to distribute them.

Make sure you have the license if you distribute any of them, and
make sure you don't distribute files belonging to the operating system.

   OLEAUT32.dll - C:\Windows\system32\OLEAUT32.dll
   USER32.dll - C:\Windows\system32\USER32.dll
   IMM32.DLL - C:\Windows\system32\IMM32.DLL
   SHELL32.DLL - C:\Windows\system32\SHELL32.DLL
   KERNEL32.dll - C:\Windows\system32\KERNEL32.dll
   COMDLG32.DLL - C:\Windows\system32\COMDLG32.DLL
   WSOCK32.dll - C:\Windows\system32\WSOCK32.dll
   COMCTL32.DLL - C:\Windows\system32\COMCTL32.DLL
   ADVAPI32.DLL - C:\Windows\system32\ADVAPI32.DLL
   msvcrt.dll - C:\Windows\system32\msvcrt.dll
   WS2_32.DLL - C:\Windows\system32\WS2_32.DLL
   WINSPOOL.DRV - C:\Windows\system32\WINSPOOL.DRV
   GDI32.dll - C:\Windows\system32\GDI32.dll
   OLE32.dll - C:\Windows\system32\OLE32.dll

comment:6 Changed 2 years ago by offhand

Note:

py2exe is not an installer builder - it merely assembles the files needed to run your Python program. There are plenty of good installer builders out there including some that are open source (e.g., NSIS) and some that are free (e.g., Inno Setup).

comment:7 Changed 2 years ago by quinox

@anon: That's all I know myself. With GTK toolchain I meant a working GTK environment, including PyGTK, Cairo, GObject etc. Basically if you can run SVN you're good to go.

@Offhand: great work, could you please whip up a short tutorial (list of exec statement should be okay) on the Wiki once you've figured everything out? Thanks

comment:8 Changed 2 years ago by offhand

Will do... eventually :) For now...Enjoy the new N+ Win32 installer.

comment:9 Changed 2 years ago by anonymous

Thanks, offhand. Your work along with quinox and daelstorm on this much-needed alternative to the awful official Soulseek client is much appreciated. I'm glad an experienced Nicotine+ developer with intimate knowledge of it was able to create the Windows binary. I would have been clueless.

comment:10 Changed 2 years ago by quinox

  • Status changed from new to closed
  • Resolution set to fixed
View

Add a comment

Modify Ticket

Action
as closed
The resolution will be deleted. Next status will be 'reopened'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.