ohei / winff

Automatically exported from code.google.com/p/winff
0 stars 0 forks source link

Please - Request For Tar For Binary #177

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Since this is written in Free Pascal and Lazarus does the source actually 
compile against any Linux libraries, dependancies, etc.?

If not could someone PLEASE put up the binary in a tar file?

For people that don't run rpm based distros this would be nice and if doesn't 
compile against anything in the system, then I'm not so sure there's going to 
be any benefit to installing Free Pascal and Lazarus to compile this...

THANKS for your consideration! :)

CHEERS

Original issue reported on code.google.com by das...@gmail.com on 3 Nov 2012 at 11:38

GoogleCodeExporter commented 8 years ago
I have no idea what you want in the tar then.

Do you mean to say that you have a Linux system without a proper distribution?

Just to be clear, even though Winff is compiled in Lazarus, doesn't mean we 
don't need system libraries. There is no way we can provide a sane all 
inclusive binary.

Original comment by poipodec...@hotmail.com on 8 Nov 2012 at 8:47

GoogleCodeExporter commented 8 years ago
So compiling the WinFF source with Lazarus, it's going to compile against 
system libraries, etc.? If so, besides FreePascal, what is it compiling against?

I looked through the source and the site, I don't see anything that lists any 
requirements/dependencies, other than, FreePascal & Lazarus to build this 
with...

THANKS

Original comment by das...@gmail.com on 8 Nov 2012 at 11:57

GoogleCodeExporter commented 8 years ago
Sure, but FreePascal and Lazarus have their dependencies. This means for 
instance that you can build for gtk (gnome) or qt (kde) or... which have 
libraries that are relevant. E.g. looking at the Debian package, it has the 
following dependencies AFTER it is build:

dep: libatk1.0-0 (>= 1.12.4) [not i386, powerpc]

dep: libc6 (>= 2.13-28) [armhf]
dep: libc6 (>= 2.2.5) [amd64]
dep: libc6 (>= 2.3.5) [powerpc]
dep: libc6 (>= 2.3.6-6~) [i386]
dep: libc6 (>= 2.4) [armel]
dep: libc6 (>= 2.6) [sparc]

dep: libcairo2 (>= 1.2.4) [not i386, powerpc]

dep: libgdk-pixbuf2.0-0 (>= 2.22.0)

dep: libglib2.0-0 (>= 2.12.0)

dep: libgtk2.0-0 (>= 2.24.0)

dep: libpango1.0-0 (>= 1.14.0)

dep: libx11-6

dep: xterm
or x-terminal-emulator 

And you still need a version of ffmpeg or avconv.

Original comment by poipodec...@hotmail.com on 9 Nov 2012 at 8:06

GoogleCodeExporter commented 8 years ago
My bad, I forgot about any dependencies that FreePascal and Lazarus might 
need...

Maybe in the future this can be converted to a GTK/QT project, installing 
FreePascal and Lazarus just to compile a small project like this is quite a 
bit, but still a nice project that I appreciate! :)

THANKS

Original comment by das...@gmail.com on 9 Nov 2012 at 11:17

GoogleCodeExporter commented 8 years ago
What would be the gain of converting to GTK/QT project (i.e. what do you 
exactly mean by that)? You still need your dependencies and build yourself 
then, no?

By the way, the Debian package format is a tar-ball (in a tar-ball). If you 
extract that, you might already have what you want? I.e. it should be fairly 
simple to create a winff-qt.tar and winff-gtk.tar from the (set of) Debian 
packages.

Original comment by poipodec...@hotmail.com on 10 Nov 2012 at 6:02

GoogleCodeExporter commented 8 years ago
Just so I start this out on the right foot, I only want to make this 
constructive criticism, I mean no offense, I think this is a great project.

FreePascal, and Lazarus is not common for applications in Linux, GTK & QT are...

So I guess the question would be, if this was a GTK or QT application, would 
there be any need for any other dependencies, other than what is commonly found 
in most distros?

I guess it's hard as they say to compare apples to oranges...

I was hoping that it could be possible to build such an application with only 
GTK or QT and just using gcc or cmake to compile and nothing more...

On Slackbuilds.org someone put up the .deb file to build so I edited my build 
script from compiling this from source and packaged it for myself based off 
this...

http://slackbuilds.org/repository/14.0/multimedia/winff/

THANKS for your time! 

Original comment by das...@gmail.com on 10 Nov 2012 at 9:04

GoogleCodeExporter commented 8 years ago
But it is GREAT that you put the download there. Can we link to it from our 
web-page? 

So how are dependencies handled there? I still wonder which distribution you 
are using (is SlackBuild a distribution or more of a centralized repository). 
Couldn't YOU be the one to provide winff for that distribution?

Any reason why it is not the latest version of winff? How do these .deb files 
work? Could you (re)use the .deb files that I create for Debian/Ubuntu?

Just to remind you, I currently create new winff packages for Debian sid, 
Ubuntu Lucid, Ubuntu Precise, Ubuntu Quantal and Ubuntu Razing. And have 
supported earlier versions of Ubuntu in the past. All of these build for each 
release again, as the libraries are different for all these systems, so I could 
not just create one tar ball and install on all these systems.

Original comment by poipodec...@hotmail.com on 11 Nov 2012 at 1:56

GoogleCodeExporter commented 8 years ago
Hi,

Sorry, I couldn't tell you if linking is ok, or frowned upon, I don't run that 
site, I"m sure it's ok, don't see why not, but best just to contact them...

Slackbuilds.org is for Slackware to make Slackware packages from build scripts.

I asked eariler if WinFF compiles against anything else in the system, but you 
didn't mention anything, so all I know is this;

http://slackbuilds.org/repository/14.0/development/lazarus/

That Lazarus requires fpc and fpc-source and WinFF requires ffmpeg.

As far as why it's not the latest version, you'd have to hover over the 
maintainers name, as in this case, Andre Barboza and email this person to ask 
why it's not the latest version and how this .deb works in Slackware, etc...

Slackbuilds.org is just anyone that wants to submit a Slackware build script 
and if approved it's put on the website, it's up to that individual to mantain 
it, some do, some don't, but if you're pretty geek, it's not a problem, you 
grab the build script and update it on your own like I did and compile against 
the latest version of an application.

Slackware does not maintain any official repo for 3rd party packages like this, 
it's all just maintained by individuals contributing to an open source project 
like most open source projects...

I personally couldn't tell you about the .deb and any disadvantage running it 
in Slackware, versus compiling it from source because you didn't tell me what 
all this needs to compile against? So the question remains, what does WinFF 
need to compile against besides Lazarus and Free Pascal, does it compile 
against any other system 
libraries/dependencies?

THANKS

Original comment by das...@gmail.com on 11 Nov 2012 at 8:24

GoogleCodeExporter commented 8 years ago
To answer your dependency question, in Debian I really only
Build-Depends: debhelper (>= 7.0.50~), lcl, lcl-gtk2, lcl-qt4 (>= 0.9.30.4-2),  
fpc (>= 2.2.2-3)
which basically means I only need FPC and Lazarus. That's it. All the run time 
dependencies are generated by the build process, i.e. they are handled 
automatically. As your distribution handles it differently, I CANNOT ANSWER 
your question. It depends on your distribution. One of the advantages of a 
binary distribution is that you don't have to pull in all the build 
dependencies yourself, but only the resulting binary. 

What I understand from SlackBuilds.org now is that it is indeed nearly the same 
as in Debian, somebody just has to create a proper build script, it will be 
build and others can download the result, right? I.e. it is also a binary 
distribution. Than the result should declare its proper dependencies, but I 
don't know how you could determine those in SlackBuild. Maybe as the maintainer 
of lazarus in SlackBuild to help you.

Original comment by poipodec...@hotmail.com on 11 Nov 2012 at 9:15

GoogleCodeExporter commented 8 years ago
I've never seen lcl before, Slackware doesn't use this, so it looks like the 
only things needed to compile WinFF are gtk, qt, fpc and lazarus. I was only 
asking about the building/compiling dependencies, as far as when it runs, I was 
assuming the only other thing it needs is ffmpeg...

At SlackBuilds.org the end-user downloads everything and compiles the 
application on their box, it's up to the end-user to know what additional 
dependencies are needed if any... 

Slackware has never had any dependency tracking, the end-user is the dependency 
tracker, hehe, so to speak of...

Original comment by das...@gmail.com on 11 Nov 2012 at 9:28

GoogleCodeExporter commented 8 years ago
lcl is part of lazarus, you don't need everything (but in Slackbuild it is 
probably not seperated).

And you don't need qt AND gtk, but qt OR gtk. And actually that is not even 
true. You could also compile for Windows, or some other widgetset. You just 
need to tell lazbuild (the builder of lazarus) which widgetset you want as 
target. And during compilation, you don't need that widgetset to be present 
even. Lazarus takes care of that.

Original comment by poipodec...@hotmail.com on 11 Nov 2012 at 9:35

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
So what I was getting at before, was that it doesn't sound like someone 
really needs to compile this, since it sounds like it's not going to 
compile against any libraries/dependancies on that particular persons 
system...

If this is true as it sounds like from your last reply, maybe you can 
package this into a tar file... I guess this is going to be mainly for those 
that don't use a .deb based system and just want to package themselves from the 
tar, like myself...

If you look at the build script, you can see the /paths it's using;

http://slackbuilds.org/slackbuilds/14.0/multimedia/winff/winff.SlackBuild

But here it is for you...

# Copy executable program
mkdir -p $PKG/usr/bin
cp -a usr/bin/* $PKG/usr/bin

# Copy libraries program
mkdir -p $PKG/usr/share/winff
cp -a usr/share/winff/* $PKG/usr/share/winff

# Copy compressed man file
mkdir -p $PKG/usr/man/man1
cp -a usr/share/man/man1/* $PKG/usr/man/man1

# Copy desktop entries
mkdir -p $PKG/usr/share/applications
cat usr/share/applications/$PRGNAM.desktop > \
  $PKG/usr/share/applications/$PRGNAM.desktop

# Copy icon
mkdir -p $PKG/usr/share/pixmaps
cat usr/share/icons/hicolor/48x48/apps/winff.png > 
$PKG/usr/share/pixmaps/winff.png

# Copy documentation
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cp -a usr/share/doc/$PRGNAM/* \
  $PKG/usr/doc/$PRGNAM-$VERSION

I don't need a structured tar, just the contents and I'll package it togther 
based off this slackbuild which puts everything where it's needed...

THANKS

Original comment by das...@gmail.com on 13 Nov 2012 at 5:44

GoogleCodeExporter commented 8 years ago
No offense, but I don't agree with your observation that "it's not going to 
compile against any libraries/dependancies". It actually does via dependencies 
of lazarus and fpc.

But, if that is what you want, you/we could just take the .deb files. A deb 
file is a tar file containing three items, of which only data.tar.gz is 
interesting to you. It basically is the tar file that you want, except that you 
want to combine from several deb files. You could easily write a script to do 
that.

If we would provide a tar ball, should we than provide a tar file for each 
architecture that is around? For all possible combinations of libraries? That 
is exactly why you have distributions.

My main point is, as the files in such a tar still have dependencies against 
your system, we can not support this. People will start to complain that it 
does not work on their system, just because they have a different version of a 
library than was available on the build system. As I mentioned before, the 
debian package shows that it has dependencies that you need to fulfill on your 
system. In a tar package I have no way to make sure that they are.

Original comment by poipodec...@hotmail.com on 13 Nov 2012 at 7:01

GoogleCodeExporter commented 8 years ago
No offense taken, I wasn't making an observation, I was still asking what it 
does, if it compiles against anything, from my 2nd reply at the top...

Ok so via dependencies of lazarus and fpc...

No problem, I still wasn't sure what was going on, but now you've made it 
clear...

No worries I can compile it from source and I appreciate your time clarifying 
this...

CHEERS

Original comment by das...@gmail.com on 14 Nov 2012 at 2:33

GoogleCodeExporter commented 8 years ago
As discussed in the comment, we can not support this, so we are not going to do 
it. Therefor tagging Wontfix

Original comment by poipodec...@hotmail.com on 16 Dec 2012 at 5:12